Sida 1 av 3

Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 11:17:23
av christoferivarsson
Hej, strular med min seriekommunikation. Har köpt en USB->TTL från FTDI(FT232R) där CTS# skall bryggas direkt till RTS#. Varför skall det vara så? Används flow control överhuvudtaget vid 8bitars Asynchront, ingen paritetsbit, 1 stopbit.

Cricke

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 11:26:09
av Nerre
Om flow control med RTS/CTS används eller inte beror helt på applikationen.

8N1 går att köra både helt utan flödeskontroll, med RTS/CTS, med Xon/Xoff eller med nåt annat protokoll. 8N1 säger bara hur datat ser ut när det sänds, det säger inte ett dyft om vilka kriterier som skall vara uppfyllda för att det skall sändas.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 11:37:33
av sodjan
> Används flow control överhuvudtaget.... ?

Det vet bara du. Om du inte vill använda det, så stäng av flödeskontrollen.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 12:25:05
av christoferivarsson
Ok, jag förstår. Flow control har jag stängt av i Terminalen, alltså spelar rts och cts ingen roll. Jag trodde det hade att göra med att jag får fel tecken tillbaka från PICen när jag kör ett enkelt echo-program men det har det alltså inte. Kanske beror det istället på att jag kör den interna oscillatorn på 4MHz, krävs det en extern kristall eller hur känslig är Baudraten?

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 12:31:19
av sodjan
Hurdå "fel tecken" ?

> PICen...

Det finns 2-300 olika...

Är det så svårt att vara *lite* tydligare ?

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 12:44:14
av vfr
Rent nominellt räknat så bör den väl vara ca +-5% (1/2 bittid av ca 10 bitar) rätt gentemot en normalfrekvens för att garantera att sista biten i tecknet läses vid rätt tidpunkt. Sedan får man ju räkna med att även den andra sidan i länken kan vara på fel frekvens. Skall man då dela på felet så landar man på ca 2-3%. Nyare PIC:ar med 1% intern oscillator borde inte vara några problem att köra på detta viset. Äldre varianter kan säkert bli problem.

Så svaret är nog som Sodjan säger, helt omöjligt att veta utan kunskap om vad det egentligen är du kör på.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 12:47:49
av christoferivarsson
PIC16F628. Ekar tillbaka fel tecken ca var 5e gång. Det felande tecknet är alltid samma tecken. Har kört koden tidigare via en traditionell rs232 serieport och det fungerade felfritt. Nu kör jag som sagt med en FT232 och lyckas inte riktigt. Baudrate och antal bitar är kontrollerat och korrekt.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 14:06:56
av vfr
628:an har väl inte 1% interna oscillatorn. Däremot vill jag minnas att man kan kalibrera den för att få mer korrekt frekvens. Jag skulle provat med en kristall för att testa om det verkligen är det som är problemet. Då vet du säkert. I annat fall så får du leta fel någon annanstans. Jag skulle säga att det är avgörande att ta reda på om det verkligen är det som är problemet.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 16:43:46
av sodjan
628'an (eller är det inte igentligen en 628A ?) har den äldre modellen
av intern osc, de säger väl 2% nominellt har jag för mig.
Senare/moderna processorer har den modernare 1%-iga INTOSC.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 17:30:42
av v-g
Hur menar du med alltid samma tecken är det ok när du skickar Tex "aaaaaaaaaa" medans "aaajaaaaa" felar på j:et?

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 17:47:41
av sodjan
> Ekar tillbaka fel tecken ca var 5e gång.

Var 5'e gång av vadå ?

> Det felande tecknet är alltid samma tecken.

Samma som vadå ?

Sluta med att försöka beskriva det med egna ord,
visa hur det ser ut istället !

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 19:48:05
av christoferivarsson
Ok. Jag kör 16f628, det är vad som står på processorn.


> Det felande tecknet är alltid samma tecken.
Jag kan inte kopiera text från terminalen men så här kan det se ut när jag skriver ett tecknet m flera gånger 'mmmmmmmàmmmmmmmmmmàmmàmmmm

Jag har nu kört några olika program typ hello world, compare string mfl och antalet tecken som förväntas av programmet är korrekt men fel teckennästan hela tiden, jävligt skumma tecken dessutom, väldigt få bokstäver från alfabetet. Jag har testat invertera signalerna Rx Tx men utan resultat.

Jag tror att av nån anledning så har jag hamnat fel i ASCII tabellen. Nån som har en idé. Jag garanterar att koden e korrekt skriven så det måste va något med uppkopplingen eller nåt.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 21:34:18
av Nerre
Har du jämfört ascii-värdena för det rätta tecknet och det felaktiga tecknet? Så du kan se vilken bit som skiljer.

Kollar man seriell kommunikation är det värdelöst att veta att "A" blir "C". Det är mycket mer intressant att veta att

01000001 blir
01000011, eftersom då SER man att det troligen är timingfel och att en bit halkar ett snäpp åt sidan.

Tar man även hänsyn till start- och stoppbit blir det

10010000011 som blir
10010000111

Seriekommunikation handlar ju om pulståg.

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 21:36:33
av sodjan
> Jag kör 16f628...

OK, den är inte så vanlig, det var ett tag sedan 628A ersatte den.
Hur som helst, det kanske inte spelar någon roll...

> Jag kan inte kopiera text från terminalen...

Jag tror inte att det har framgått vad "terminalen" är för något !?

> men så här kan det se ut när jag skriver ett tecknet m flera gånger 'mmmmmmmàmmmmmmmmmmàmmàmmmm

Med "skriver", menar du att du skriver ett "m" för hand i den där "terminalen" ?
Och i så fall, spelar det någon roll hur snabbt du skriver dom ?
Eller skrivs de på något annat sätt ? T.ex av ett program av något slag ?
Och som skickas till PIC'en och som den returnerar tillbaka ? Och i så fall,
har du verifierat tecknena i din "eko-rutin" så att du vet i vilken riktning
de förvanskas ? Få du samma fenomen om du bara skickar tecken från
din PIC ?

> Jag har nu kört några olika program typ hello world, compare string mfl

Kört vardå ? Compare som jämför vadå ?

> jävligt skumma tecken dessutom, väldigt få bokstäver från alfabetet.

"Skumma" säger inte mycket om vilka tecken du får. Jag skulle
kolla på hex värderna för att försöka hitta ett system i felen.

> Jag tror att av nån anledning så har jag hamnat fel i ASCII tabellen.

Hur menar du med att "hamna fel" i tabellen ?

> Jag garanterar att koden e korrekt skriven

Hm, jo, kul... :-) Och varför ska vi tro på det ? :-)

Re: Varför kortsluta CTS# till RTS# på ft232?

Postat: 29 januari 2009, 21:47:26
av christoferivarsson
Lugnt jag löser det själv. Tänkte mer om det va någon som var riktigt duktig på PIC och direkt kunde ge några hintar. Tror det är kabeln som jävlas.