RS232

Sezione dedicata alle logiche programmabili

RS232

Postby flz47655 » 15 Mar 2012, 15:06

Ciao a tutti,
Volevo utilizzare i pin di IO della mia DE0-Nano per realizzare una comunicazione seriale col PC come primo esperimento di utilizzo dei pin di IO.

Dispongo di un MAX232IN http://www.ti.com/lit/ds/symlink/max232.pdf per convertire il segnale alla tensione di linea richiesta. Il mio integrato però richiede un'alimentazione di 5 Volt ma fortunatamente dispongo di un pin VCC_SYS che mi fornisce 5 Volt (provenienti dal regolatore on-board).

Posso comandare l'integrato tramite le linee T1IN e R1OUT direttamente dalla FPGA impostando come tensione 3.3 Volt LVTTL?

Provo a rispondermi da solo per vedere se inizio a capirci qualcosa, vi pregherei di correggermi però:

Allora dal datasheet del MAX232IN abbiamo:

VIH High-level input voltage (T1IN,T2IN) 2 V min, siamo al limite perchè VIH del LVTTL è proprio 2V
VIL Low-level input voltage (T1IN, T2IN) 0.8 V max, siamo al limite perchè VIL del LVTTL è proprio 0.8V

per la sezione ricevente abbiamo invece:

VOH High-level output voltage R1OUT, R2OUT 3.5 V min, abbiamo 2.4V non va bene
VOL Low-level output voltage‡ R1OUT, R2OUT 0.4 V max, siamo al limite abbiamo 0.4V

Quindi sulla porta per trasmettere i dati non dovrei avere problemi, il problema sorge durante la ricezione o sbaglio qualcosa? Usando LVCMOS non penso cambi molto purtroppo in quanto il VOH di 3.5 V è difficilmente raggiungibile...

Domanda: posso trasmettere solamente? Non mi interessa ricevere per il momento ma non so bene se il tutto funziona lasciando scollegato il pin ROUT

Come corrente assorbita dal datasheet ho visto che c'è un massimo di 10mA quindi i problemi da questo punto di vista non dovrebbero esserci.

Se come ho capito il chip che ho non va bene quale mi potete consigliare?
Ciao e grazie a tutti
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: RS232

Postby deluca » 15 Mar 2012, 19:28

In alcune versione di vecchie FPGA/CPLD alcuni pins erano 5V tollerant !!
Di norma, le vecchie CPLD/FPGA erano 5V tollerant per retrocompatibilità.

Ti consiglio vivamente di non utilizzare MAX232 per collegarti al PC.
Problemi di loop di massa e di alimentazione potrebbero irrimediabilmente danneggiare l'FPGA.

Usa un convertitore USB-RS232 della FTDI con tensione di alimentazione / IO di 3.3V.
Prova a vedere qui:

http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm

Attenzione .............. !!!! come ti dicevo attenzione alle interfacce con l' IO della FPGA.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: RS232

Postby flz47655 » 15 Mar 2012, 21:21

Non ho ancora sperimentato nulla con i pin di IO perchè più che sperimentare bisogna andare sempre a colpo sicuro altrimenti addio schedina e finisce subito l'avventura con l'FPGA..

Proprio per questo prima di fare qualsiasi collegamento preferisco chiedere nella mia insicurezza del principiante a degli esperti.

Non sapevo di questi problemi dell'RS232.. mi hai salvato!

Ho notato che a bordo c'è un FT245BL che purtroppo non è citato in alcun modo nella documentazione... peccato sarebbe stato interessante usarlo visto che ce n'è uno on-board.

Ho visto i cavi con la conversione uart e sembrano interessanti, peccato che costano parecchio (16£ + quasi altrettanti di spedizione...).
Rapidamente ho cercato in giro e schedine come http://www.hobbytronics.co.uk/ft232rl-breakout potrebbero essere buone sostitute?

Ho letto che l'USB lavora con segnali a 3.3 Volt e 5 volt di tensione, sarebbe possibile quindi prendere i segnali direttamente da un cavo USB e lasciare scollegata l'alimentazione e comunicare usando non l'UART ma con un transceiver USB (preso da opencores) implementato su FPGA? Si avrebbero credo velocità maggiori a fronte però dell'implementazione più complicata del transceiver che occupa più macrocelle.

Cosa ne pensi?

Ciao e grazie
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: RS232

Postby deluca » 15 Mar 2012, 21:42

L'FT245 è un convertitore USB->parallelo e penso venga usato per implementare il protocollo J-tag sulla nano (credo !).

La schedina che hai menzionato va benissimo.
Per adesso ti consiglio di non imbellicarti sulla implementazione di core di terze-parti-free "opencores".

Il debug diverrebbe complicatissimo se non lo hai scritto tu.

Il TB (testbench) ancora peggio !!
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: RS232

Postby flz47655 » 16 Mar 2012, 02:30

Giustamente meglio procedere per gradi, l'USB puro sarà per il futuro..
Cercherò di procurarmi la schedina USB->UART nel frattempo e di scrivere un'interfaccia con l'aiuto di qualche tutorial.

Grazie per il momento
A presto
Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: RS232

Postby flz47655 » 04 Apr 2012, 15:34

I modulini UART stanno arrivando
http://www.aliexpress.com/product-gs/492071325-CP2102-Serial-Converter-USB-2-0-To-TTL-UART-6PIN-Module-OT814-wholesalers.html ma ormai sarà per dopo pasqua.

Nel frattempo mi è arrivato però un modulino bluetooth industriale che avevo ordinato
http://www.aliexpress.com/product-fm/449673391-New-arrived-Serial-Bluetooth-RF-Transceiver-Module-RS232-free-shipping-wholesalers.html
che lavora a 3.3 volt e che ho utilizzato con successo con Arduino, posso utilizzarlo con la FPGA senza rischiare di fare danni per fare pratica con i segnali seriali e LVTTL?

Provando ad autorispondermi vedendo i dettagli del modulo noto che può assorbire 35mA in fase di pairing, siamo quindi abbastanza al limite (che se non sbaglio è 40mA), è meglio quindi usare un transistor per il segnale TX?

Qualcuno ha esperienza con moduli ricetrasmettitori bluetooth (che alla fine hanno un segnale TX e uno RX come qualsiasi UART) ed FPGA?

C'è qualche buon libro che parla della problematiche di interfacciamento con LVTTL o LVCMOS con esempi pratici? Sinceramente tutti i libri su FPGA che ho visto negli ultimi tempi (e sono tanti tanti) parlano molto di logica digitale con qualche esempio VHDL, di come costruire processori, etc.. ma nessuno si sofferma su questo importante argomento.

Ciao e grazie a tutti
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: RS232

Postby deluca » 04 Apr 2012, 17:44

Il pairing è il momento in cui due moduli BT cercano di sincronizzarsi (come quando il telefonino cerca di aggangiare la rete).
Proprio in questo momento il modulo assorbe un pò di più. Ma la corrente che viene menzionata nelle specifiche (35mA) è
la corrente assorbita dal ramo PowerSupply e non dai pin TXD o RXD. Quindi vai sicuro......

A proposito dei libri............ hai proprio ragione !! non esiste nulla o forse poco.
Le specifiche le trovi solamente nei PDF del componente specifico.....

Ciao
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: RS232

Postby flz47655 » 04 Apr 2012, 20:15

Ti ringrazio, il mio dubbio era che il pin TX assorbisse i 35mA ma in effetti è più logico che vengano assorbiti dal pin VCC e quindi spero non dovrebbero esserci problemi.

Per il codice credo che inizierò da http://www.fpga4fun.com/SerialInterface.html, sembra fatto bene

Prima di accendere la scheda probabilmente chiederò altre cose però :? sono molto "timido e insicuro" nel collegare qualsiasi cosa alla schedina per il momento.

Mi ha ad esempio un pò (molto) spaventato l'application notes http://www.altera.com/literature/an/an447.pdf dove si parla di preucazione come "Apply series termination or use driver selection table" con l'uso di 3.3-V LVTTL e che un diodo è preposto per le sovratensioni e abilitato di default MA può sopportare solamente 10mA DC.... devo disabilitarlo o ho capito male?

Ciao e grazie

PS: un addendum nerd per presentarmi: FLZ è una sorta di acronimo per Fourier, Laplace e Z, le tre trasformate
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16


Return to FPGA & CPLD

Who is online

Users browsing this forum: No registered users and 8 guests