Definiera "inkonsekventa" ?
Inverterade tecken ?
Eller helt fel ("skräp") ?
När jag läste av koderna binärt kunde ibland 0 bytas ut mot 1 i talföljden. Det hände lite för ofta för att kunna skylla på att irsignalen blivit avbruten.
Hur skulle jag kunna utveckla det här mot något som funkar?
björn skrev:Vad gör en max232 om den får -5 volt? räknas det som nolla eller är det ospecificerat?
En max232 eller liknande skulle jag tro att man behöver för att få +/-15 V nivåer iallafall.
Kan inte riktigt svara på vad den gör vid -5V.
Allt vi diskuterat hittills är anledningen till min fråga om usb. Jag vill inte behöva använda en extern strömkälla utan helst dra ström (om behövs) via porten.
En MAX232'a vill ha normala TTL/CMOS nivåer. alltså 0V och 5V. -5V får nok "clampas" till jord med em diod. Man det går väll att se på den andra kopplingen. Sedan inverterar ju en MAX232 nivåerna, men det gör ju öven den enkla transistorkretsen, så det bör inte vara något problem.
sodjan skrev:En MAX232'a vill ha normala TTL/CMOS nivåer. alltså 0V och 5V. -5V får nok "clampas" till jord med em diod. Man det går väll att se på den andra kopplingen. Sedan inverterar ju en MAX232 nivåerna, men det gör ju öven den enkla transistorkretsen, så det bör inte vara något problem.
Skulle jag möjligtvis kunna be dig om en skiss över en krets? Det hade uppskattats mycket... Du menar alltså att det skull vara möjligt att driva kretsen utan extern strömkälla... eller behöver den kanske inte tillfäras någon?
MAX232 behöver 5V matning. Den kan du hämta från USB kontakten. Vad finns i andra änden? finns det spänning där? Men jag tror att du kan glömma att använda USB för att kommunicera med datorn. Det är mycket mer avancerat än RS232. Jag skulle rekomendra dig att läsa på lite mer. Frågorna du ställer visar att du vet väldigt lite om vad du pratar om. Kolla tex. i databladet till MAX232
Skippa MAX232 lösningen. Köp en USB-serieport modul som använder FTDI kretsen FT232 eller liknande.
Programmeringsmässigt kommer den att funka som en serieport men elektriskt kan du få den att acceptera standard RS232 signaler eller om du vill (genom att löda bort en interface krets) att ta emot seriesignalerna i TTL nivåer.
Jag har lekt lite med att skriva protokoll etc. detta var då för ett pcikort inte usb men tillvägagångs sättet är ganska snarlikt. Först och främst så skriver man ej drivrutiner själv utan man använder mjukvara som skapa drivrutiner och sedan får man skriva ett protokoll.
Jag kan säga att detta är inte speciellt lätt och väldigt tidsödande, så om man nu vill köra usb så använder man nått chip som omvandlar USB till rs232 kommunikation. FTDI utvecklar sådan chip och har även färdiga drivrutiner. Det lättaste är ju dock och gå till en datoraffär och köpa en färdig usb->rs232 kabel, de flesta sådana kablar använder FTDI:s chip.
Men om man nu behöver jättehöga överföringshastigheter så har man ju dock inte så stort val. Men kan säga av egen erfarenhet att skriva egna protokoll och få hårdvaran att funka är inte lätt.
Kjell har en (38885) USB->RS232 som bygger på en FTDI FT232BM krets som omvandlar USB till serial (TTL nivåer ut) och sedan använder en ADM213 för att konvertera till RS232 nivåer (+- 12V eller liknande)
(Har öppnat en som jag har precis framför mig just nu...)
Det bör inte vara allt för svårt att löda bort ADM213 och ta ut TTL signalerna direkt.
Etnica, det beror på vad man menar men jättehöga hastigheter. FT232 klarar överföringshastigheter på 1Mbit/s (eller om det var 3Mbit/s) vilket är en faktor 10 högre än vad man normalt kan få via en serieport.