Collegamento di una cassetta per computer in stile anni '80 a un FPGA


9

Sto implementando nuovamente un computer Microbee degli anni '80 su un FPGA (vedi qui ) e sto cercando di capire come fare la porta della cassetta. Ecco gli schemi per l'interfaccia originale della cassetta Microbee:

MicrobeeSchematic
(fonte: toptensoftware.com )

Ho anche trovato questa descrizione in un manuale tecnico:

L'uscita dei dati della cassetta consiste semplicemente in una rete RC che accetta un segnale da DB1, pin 28 del PIO. Il segnale viene attenuato e quindi disaccoppiato prima di inviarlo all'ingresso MIC del registratore di cassette. Questo segnale appare sul pin 3 della presa DIN a 5 pin.

Il circuito di input dei dati della cassetta è leggermente più complicato. L'ingresso dal pin 5 della presa DIN passa prima a un disaccoppiatore attenuatore. Di seguito è presente un amplificatore operazionale CA3140, che consente di quadrare un'ampia gamma di livelli di ingresso prima che il segnale venga passato al pin 27 del PIO, DBO. I due diodi attraverso gli ingressi invertenti e non invertenti verso l'amplificatore operazionale tagliano qualsiasi segnale di ingresso maggiore della tensione diretta dei diodi in entrambe le direzioni. Il condensatore 47pF è richiesto dall'op-amp CMOS per la precompensazione.

Le mie domande:

  1. Che cosa significa "disaccoppiato" nella descrizione?
  2. Lo stesso circuito funzionerebbe se collegato a due dei pin I / O su un FPGA Xilinx Spartan 6 (tramite il connettore PMod su un Nexys3) e, in caso contrario, potrebbe essere adattato per farlo funzionare?

Primo tentativo, basato sui commenti nelle risposte, ma il resistore di uscita non dovrebbe essere in serie.

Lascio questo qui per motivi contestuali e istruttivi, per favore vedi il prossimo schema

MicrobeeSchematic2 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic2.png

Nuove domande:

  1. La polarità del comparatore è corretta?
  2. Per l' MCP6546 , Vss va a terra e Vdd a 3.3V?
  3. Non sono sicuro di cosa fare del resistore "punteggiato" attraverso gli ingressi nastro nel circuito originale.

Incorporando feedback sull'output del comparatore essendo open-drain:

MicrobeeSchematic3 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic3.png

Quali alternative potrei usare per l'MCP6546, che non sono stato in grado di trovare nei negozi al dettaglio qui in Australia. Posso ottenere LM311 o LM393 che, da quello che posso dire, sono simili. Funzioneranno altrettanto bene?

Risposte:


6
  1. I condensatori di disaccoppiamento sono noti negli alimentatori dei circuiti, dove servono a mantenere la tensione di alimentazione pulita dal rumore (ad alta frequenza). Ma ho l'impressione che qui la rimozione del contenuto DC del tuo segnale sia intesa, per mezzo di un condensatore in serie, come fa C24 per l'ingresso. Che, a seconda del punto di vista (CC o CA), può essere chiamato condensatore di accoppiamento. Ma non c'è condensatore che lo fa sulla tua uscita. Anche il valore di C23 è sospettosamente basso. La frequenza di taglio con i resistori R23 e R24 è di 12 kHz, il che è inutile, perché sarà comunque circa la gamma di frequenza della cassetta. Preferirei aspettarmi 5 kHz qui. Anche il testo parla dell'ingresso MIC, ma per questo il livello di uscita è troppo alto. Lo schema menziona l'ingresso di linea.

  2. Il CA3140 non va bene. La sua tensione di funzionamento minima è di 4 V e a 5 V l'uscita in alto non supera i 3 V, quindi per un'alimentazione a 4 V che può essere inferiore a 2 V e che potrebbe non essere sufficiente per lo Spartan. Utilizzare invece un opamp Rail-to-Rail o, ancora meglio, un comparatore.

modifica le tue nuove domande

  1. La polarità è OK, poiché non importa :-). Hai un segnale CA che va sopra e sotto terra. Come hai disegnato, i semicicli positivi faranno andare l'output in Vcc, il negativo a terra. Se cambi gli ingressi avrai il contrario, ma entrambi i segnali avranno lo stesso aspetto.

  2. Sì.

  3. Lo ignorerei. Non sembra avere una funzione diversa dal caricamento dell'output e, inoltre, se lo evidenzi, stai chiedendo di essere ignorato :-).

Cosa importante su R1: questo dovrebbe andare a Vcc, il tuo 3.3 V, non in serie con l'uscita. L'uscita open-drain significa che c'è solo un FET che commuta l'uscita a terra, quindi può solo renderla bassa, non alta. La resistenza di pull-up renderà alta l'uscita quando il FET è spento.


"Disaccoppiare normalmente significa rimuovere il contenuto CC del segnale mediante un condensatore in serie" - un condensatore in serie non è un condensatore di accoppiamento? Un limite di disaccoppiamento rimuove il contenuto CA.
Kellenjb,

@Kellen - Oh caro. Sì, hai ragione, soprattutto se pensi di disaccoppiare le linee di alimentazione. Qui stavo pensando di disaccoppiare la DC dal segnale :-).
Stevenvh,

@stevenvh Grazie per la risposta dettagliata, anche se parte di quello che dici va oltre la mia testa. Ho una conoscenza elettronica limitata, ma sto provando a farla crescere, quindi ho appena letto su circuiti RC, amplificatori operazionali e comparatori. Probabilmente dovrei postarle come domande separate, ma: 1) come hai fatto a 12Hz e 2) potresti consigliare un comparatore? In realtà spero di scacciare questo 3.3V disponibile sul PMod, se possibile.
Brad Robinson,

Inoltre, hai ragione, Microbee aveva un'uscita a livello di linea, non a livello di microfono. Il che mi incuriosisce: come potresti modificarlo per funzionare a livello di microfono (sto pensando di inviarlo a un iPhone per la registrazione).
Brad Robinson,

Ω

3

I condensatori della serie sono normalmente chiamati condensatori di "accoppiamento" poiché accoppiano il componente ca del segnale sorgente alla destinazione. I condensatori di disaccoppiamento sono condensatori di derivazione progettati per impedire l'accoppiamento dei segnali in ca dalla sorgente alla detinazione.

In questo contesto, C23 disaccoppia a massa i componenti ad alta frequenza del PIO in modo che l'uscita dell'onda quadra venga arrotondata, cioè approssimativamente sinusoidale (l'articolo citato fa riferimento al "disaccoppiamento" nel descrivere l'uscita alla porta del nastro e quindi deve fare riferimento a C23).


Si riferisce anche a un "attenuatore-disaccoppiatore" nell'input dal registratore, che è ciò che mi ha fatto meravigliare sul fatto che lo usassero per significare due cose diverse.
Oli Glaser,

1

Il circuito così disegnato dovrebbe probabilmente funzionare con un FPGA se IC35 emette un segnale da 0 a 3,3 volt. Un leggero avvertimento è che, poiché l'ingresso della cassetta non ha alcuna isteresi, è possibile che un segnale che dovrebbe apparire come un singolo fronte di salita o di discesa possa apparire come una rapida sequenza di fronti di salita e di discesa che poi si deposita in alto o in basso pochi microsecondi dopo . Questo non dovrebbe essere un problema se si progetta il proprio FPGA in modo che ignori le modifiche di input che durano meno di 10 microsecondi e che si ignori qualsiasi modifica di input che si verifica entro 20 microsecondi da una modifica rilevata, ma se la logica tenta di misurare le lunghezze degli impulsi in ingresso senza imporre una lunghezza minima potrebbe avere problemi.


1
  1. Il "disaccoppiamento" in questo scenario probabilmente si riferisce sia al condensatore serie che blocca DC (C24), sia alla parte C dell'RC (C23) sebbene dovrebbe essere "condensatore di accoppiamento" per C24 (il disaccoppiamento viene anche usato per riferirsi al Funzione di blocco CC, ma penso che diventi confuso in questo modo, poiché di solito significa "altro tipo" che sposta CA a terra) e "disaccoppiamento" per C23 (se non altro)
    Il cappuccio di accoppiamento viene utilizzato comunemente nei circuiti di amplificazione audio per consentire l'ingresso di uno stadio in modo indipendente dal livello di uscita CC degli stadi precedenti.

  2. Sì, purché fornisca all'opamp la stessa tensione dei pin FPGA (ad es. 3,3 V, 2,5 V, ecc.) Anziché i 5 V mostrati. Dovresti essere in grado di usare praticamente qualsiasi opamp per la funzione di confronto (rail to rail è preferibile per rendere le cose facili, come dice Steven, ma non essenziale finché incontri FPGA min-high max-low)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.