ide om RS232 avkodning via logik, synpunkter? (flödesschema)

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Fredrik79
Inlägg: 173
Blev medlem: 18 februari 2012, 00:03:19

ide om RS232 avkodning via logik, synpunkter? (flödesschema)

Inlägg av Fredrik79 »

Tjenare. Efter att ha byggt min logikbaserade pic-programmerare så blev jag sugen på att experimentera vidare med serieporten och logik.

Programmeraren använde ju bit-bang via TX, RTS, DTR, men började fundera lite på hur jag skulle kunna skicka en snabbare signal via enbart TX, och få den parallell med standard cmos-logik.

Vet att det är 1000 ggr enklare med t.ex en pic som har inbyggd uart, men syftet är att experimentera och lära mig mer, inte vara effektiv. :)

Tänkte mig en funktion där TX som ju hålls hög när ingen data skickas, när startbit går ut triggar en flip-flop, som i sin tur via en and-gate låter klocksignalen från en frekvensgenerator gå ut.

frekvensen är 8 ggr rs232-baud rate, och klockar in varje bit 8 ggr i ett skiftregister. en decoder avgör beroende på hur många som är låga/höga om den mottagit en låg eller hög bit (i en perfekt sync borde alla bits vara lika, men försöker vara realistisk), en frekvensdelare klockar sedan in den bestämda biten i ett annat skiftregister. detta upprepas även för bit 3-9. en räknare efter frekvensdelaren nollställer flip flop när stoppbiten skickats.

med lite tur där borde kretsen vara nollställd, och datan ligga i parallell form på skiftregistret. för att slippa använda registerbuffers tänkte jag att flip flop även är kopplad till CTS och håller den låg medan data skickas.

Vill gärna ha synpunkter och feedback på konceptet. :)

Bild
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47720
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av TomasL »

Är du medveten vad RS232 är för något??, verkar inte så.
Fredrik79
Inlägg: 173
Blev medlem: 18 februari 2012, 00:03:19

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av Fredrik79 »

Använder kanske dålig terminologi, jag har inte för avsikt att följa protokoll och funktioner för rs232 till 100 %, utan använda mig av serieporten på datorn på diverse olika sätt. I detta fallet läsa av 1 st 8-bit byte i taget och lägga ut den parallellt.

Men utveckla gärna vad du menar.
Användarvisningsbild
Icecap
Inlägg: 26799
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av Icecap »

RS232 avser egentligen bara att signalerna har spänningsnivåer mellan +3V och +12V ('0') eller -3V och -12V ('1').
Vad du sedan gör med dessa signaler är ganska ospecificerat.

Jag antar att du egentligen menar något med "asynkron kommunikation"...

Och "med lite tur..." finns inte i elektronikvärlden! Om en konstruktion beror på tur är den fel designad från början! Det finns gott om exempel på att en del använder "default" värden "för de är ju ändå korrekt enl. databladet" men skiten fungerar inte för det. När de sedan faktisk sätter rätt värde i rätt plats kommer det hela igång.
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av jesse »

Jag kan inte tolka exakt vad dina olika block egentligen ska göra. Men principen verkar OK.
Borde du inte dragit en linje från rs232-ingången till det övre shiftregistret? Men underförstått så ska signalen in där på Data-in.

Försök gärna använda standardsymboler för olika logikfunktioner istället för boxar med svårtolkad text.

Dekodern: ska vilka fyra bitas som helst kunna vara "etta" eller "nolla" eller måste alla fyra vara lika i en rad för att vara giltiga? I så fall får du tre tillstånd ut: (A): etta, (B) nolla, (C) error = när signalen shiftar tillstånd i fel hastighet.

Kolla hur t.ex. Atmel löst logiken på sin USART-ingång på sina 8-bitars processorer. De har löst det på liknande sätt.
De kollar tre bitar i "mitten" av signalen. "mitten" är då fyra klockcykler efter att startbiten startat + var åttonde cykel.

Bild

Deras logik liknar ditt tänk, men är mer komplicerat då det finns fler valmöjligheter etc.
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7245
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av psynoise »

Jag tycker grindnät med logikfunktioner är dåligt sätt att presentera eller dokumentera större kretsar. Till en början hade tillståndsdiagram eller tillstånd/flödestabell varit bra. Sedan är det viktigt att göra detta på standardiserat sätt för att det ska vara lätt att tolkat. För den intresserade är läsning om synkrona och asynkrona tlllståndsmaskiner en bra början.
Fredrik79
Inlägg: 173
Blev medlem: 18 februari 2012, 00:03:19

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av Fredrik79 »

Icecap: Jo, använder nog lite dålig terminologi som sagt, ska försöka tänka på det i fortsättningen så jag beskriver vad jag menar på ett bättre sätt. Menade "med lite tur" att jag förhoppningsvis tänkt rätt. :)

Jesse: Jag tänkte från början ta in alla 8, och helt enkelt använda någon form av medelvärde för att läsa ut 0/1 för att hantera eventuella förskjutningar, var osäker på om sampla från mitten skulle ge exakt nog data, men verkar ju vara det sätt de flesta löst det på. Tack för bra information. :)

Psynoise: Tack för kommentaren, ska titta lite på bättre och mer standardiserade sätt att göra detta i fortsättningen, är ju ganska grön på elektronikområdet, så finns mycket jag inte har koll på än.

Tack för era kommentarer, som sagt ganska ny på detta, uppskattas.

Mvh
Fredrik
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av jesse »

psynoise skrev:Jag tycker grindnät med logikfunktioner är dåligt sätt att presentera eller dokumentera större kretsar.
Jo, givetvis menade jag inte på grind-nivå. Men instället för t.ex. "shiftregister läser samma bit 8 gånger" kan man rita en fyrkant som är ett shiftregister och sedan märka ut alla in- och utgångar. Data-in, data-ut, klocka (och med symboler som visar att klockan är flanktriggad, inverterad etc., om det finns latch och "output enable" på utgångarna osv.) På så vis får man se den exakta funktionen (välj gärna också en existerande krets så kan man kolla databladet vid osäkerhet).

När man ser den exakta funktionen är det lättare att se exakt vad som sker genom att man ritar upp ett tidsdiagram på de olika signalerna. Ofta måste t.ex. flanker på klocka och data förskjutas 180 grader för att data säkert ska shiftas in , t.ex. Sådant kan man inte ha koll på med så diffusa rutor som ovan.

T.ex. fattar jag noll om hur den där flip-flop'en är tänkt att fungera (nederst i bild).
Schemat är dock säkert en bra utgångspunkt för TS att jobba vidare på.
Fredrik79
Inlägg: 173
Blev medlem: 18 februari 2012, 00:03:19

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av Fredrik79 »

Har väl kanske inte jättestor betydelse, men förklarar ändå :)

R på flipflop kopplat till datalinje, S kopplat med inverter till räknaren, R sätts låg av startbit, S ligger hög på räknaren, bitarna klockas ut, när räknaren fått 10 pulser sätts S låg, medan R går upp med datalinjen som nu står i idle/hög. Q går till en AND-gate som antingen låter klocksignalen passera eller inte.

Jag har ett grundschema med logikkretsar jag gjorde innan det där schemat, men då jag inte klurat ut decoder-funktionen helt så försökte jag istället beskriva funktionen/flödet istället för att lägga upp en halv krets.
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av jesse »

Jo, men det ska nog fungera. Då är det bara att lura ut hur du får dekodern att avgöra om minst tre eller fyra bitar i "mitten" är lika. Dessutom förflyttar sig väl bitarna hela tiden, eller tar du en "ögonblicksbild" av shiftregistret vid rätt ögonblick (74HC595 har ju "latchar" på utgången vilka passar för det ändamålet)
Fredrik79
Inlägg: 173
Blev medlem: 18 februari 2012, 00:03:19

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av Fredrik79 »

Jag kör på snapshot-varianten, Men har inte riktigt funderat ut hur jag ska dekoda det, kom på nu dock att det vore betydligt enklare att använda en AND på datasignalen mot Klockan till en räknares klocka. räknar den till 4 eller mer = hög, annars låg.
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: ide om RS232 avkodning via logik, synpunkter? (flödessch

Inlägg av jesse »

Det var ju en smidig lösning :tumupp:
Skriv svar