Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

CD4021 e la porta seriale RS232

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] CD4021 e la porta seriale RS232

Messaggioda Foto Utente3think » 25 apr 2007, 16:42

Sto cercando di interfacciarmi alla porta seriale del PC con un circuito che prevede dei CD4021, che mandano sull'uscita seriale i dati posti in parallelo all'ingresso, ma non riesco a trovare informazioni su come collegarli per comporre il byte comprensivo di dati, parità e bit di stop. Qualcuno sa aiutarmi?
Avatar utente
Foto Utente3think
0 3
 
Messaggi: 12
Iscritto il: 23 apr 2007, 0:05

0
voti

[2]

Messaggioda Foto Utenteg.schgor » 25 apr 2007, 19:19

Il CD4021 e' solo un PISO (Parallel In/Serial Out Shift Register),
quindi mi sembra chiaro che il dato (8 bit) da caricare per
trasmettere poi serialmente debba provenire da altro circuito.

Ma cosa devi trasmettere (cioe' qual'e' la sorgente dei dati)?
Se questi provengono dal calcolatore, la cosa piu' semplice
e' scrivere un programma che aggiunga il bit di parita' (che
ovviamente dipende dal dato), oltre a quelli fissi dt start e stop.
Se invece e' un codice esterno, bisogna fare la stessa cosa con
un circuito logico combinatorio (eventualmente possiamo
svilupparlo assieme).
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[3]

Messaggioda Foto Utente3think » 25 apr 2007, 23:49

Devo semplicemente costruire una pedaliera a 4 pulsanti, che poi andranno a pilotare un' applicazione per la registrazione audio su hard disk. Mi serve solamente una pedaliera che trasmetta un 1 se è stato premuto il pulsante 1, 2 col pulsante 2, etc. Col CD4021 pensavo appunto di fornire un 1 logico all' ingresso relativo al pulsante premuto, e contemporaneamente inviarlo al PC, dove verrà letto e usato di conseguenza, fornendo lo stesso 1 logico al piedino 9 (p/s) del CD4021. Il CD4021 ha 8 ingressi ma il byte ha bisogno di altri bit che sono appunto i bit di stop e parità, quindi ne devo usare 2 in serie per raggiungere il numero di bit necessario. Ho trovato uno schema simile qui.Quello che non riesco a capire bene è la logica con la quale sono connessi gli ingressi del CD4021. Mi sembra che siano: i primi due(in realtà gli ultimi 2 del secondo CD4021) a massa per l' inizio del byte, poi in ordine gli 8 bit del dato vero e proprio, poi tutto a massa per indicare nessuna parità e un bit di stop. E' giusta la mia interpretazione? E se volessi metter 2 bit di stop, o 1 e mezzo? La frequenza di clock usata dal CD4021 per trasferire i dati seriali è la stessa dei baud rate, 9600?
Avatar utente
Foto Utente3think
0 3
 
Messaggi: 12
Iscritto il: 23 apr 2007, 0:05

0
voti

[4]

Messaggioda Foto Utenteg.schgor » 26 apr 2007, 7:26

Dallo schema sembra che la trasmissione sia 001+(bit del dato)+00000
(non vedo controllo di parita').
Proverei a sostituire i bit del dato (D0...D7) con lo stato dei pulsanti
(ovviamente il risultato in ricezione non sara' 1,2,3... ma le rispettive
potenze del 2, facilmente decodificabile dal PC).
Fammi sapere.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[5]

Messaggioda Foto Utente3think » 26 apr 2007, 14:09

Grazie dell' aiuto. Comunque, secondo te, perché il terzo bit è a 1? E' giusta la mia interpretazione del circuito, secondo la quale il secondo IC è il primo a ricevere i dati? La frequenza di clock corrisponde ai baud rate(ovvero devo inviare un clock a 9600 Hz, nel caso di baud a 9600)? Pensavo appunto di mettere i pulsanti collegati agli ingressi D0, D1, D2, D3 e tramite lo stesso pulsante inviare un impulso ottenuto con due flip-flop in configurazione one-shot. Sono bravo?
Avatar utente
Foto Utente3think
0 3
 
Messaggi: 12
Iscritto il: 23 apr 2007, 0:05

0
voti

[6]

Messaggioda Foto Utenteg.schgor » 26 apr 2007, 14:33

il secondo IC è il primo a ricevere i dati?

Ma non li deve trasmettere?
I primi 3 bit sono lo Start, seguono gli 8 bit del dato,
poi i 5 bit dello Stop. (La cosa importante sarebbe vedere
come viene decodificato in ricezione).

Il Baud Rate corrisponde alla frequenza di clock e naturalmente
si devono prevedere tanti impulsi di clock quanti sono i bits
da trasmettere (intendi farlo con un one-shot calibrato?).

Prima di dirti che sei bravo, vorrei la conferma che l'hai
fatto funzionare! :)
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[7]

Messaggioda Foto Utente3think » 26 apr 2007, 17:47

A dire il vero dal datasheet del 4021 avevo inteso che bastava un impulso per cominciare la trasmissione, ma farò delle prove. Intanto non sono affatto bravo, dato che già lo stadio di alimentazione mi crea difficoltà; infatti tra i contatti /DTR o RTS/ e SG (rispettivamente /4 o 7/ e 5 del connetore seriale) ho una tensione negativa di -10V; e come può funzionare??? Forse c'è qualche dettaglio che non conosco o che ho trascurato; ne sai qualcosa??
Avatar utente
Foto Utente3think
0 3
 
Messaggi: 12
Iscritto il: 23 apr 2007, 0:05

0
voti

[8]

Messaggioda Foto Utenteg.schgor » 26 apr 2007, 18:59

Lo standard elettrico dell'RS232 prevede segnali bipolari (+/-25V).

Ti segnalo una specifica completa di questo standard:
http://www.camiresearch.com/Data_Com_Ba ... hor1154232

Verso la fine potrai trovare le specifiche dei segnali che vengono scambiati
(Signal State Voltage Assignments ) fra trasmettitore e ricevitore.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[9]

Messaggioda Foto Utente3think » 27 apr 2007, 1:38

Conosco quella specifica. Bè, io misuro -10V tra massa(pin5) e RTS(pin4)(naturalmente uso il connettore a 9 pin, non a 25!); non misuro mai +10V, su nessun pin. Non c'è un pin che corrisponda alla specifica! A cosa può essere dovuto??? :shock:
Avatar utente
Foto Utente3think
0 3
 
Messaggi: 12
Iscritto il: 23 apr 2007, 0:05

0
voti

[10]

Messaggioda Foto Utenteg.schgor » 27 apr 2007, 7:03

Dovresti indicarmi il tipo di componente utilizzato per
l'RS232 (dallo schema se ne vede solo una piccola parte
e non la sigla).
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 215 ospiti