Problem med FTDI

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Problem med FTDI

Inlägg av HMG »

Jag får bara skräp när jag skickar text från ATtiny2313. "øx€xxþ€xþxþx€xx€xÿxxüxþ€x‡xpüxþøxàøx€€€xà"

Har en ATtiny2313 där tx är kopplat direkt till rx på ftdi-kabeln. Kretsen matas från ftdi-kabelns vcc med en 5V spänningsregulator emellan.

När jag testar att tända och släcka en liten lampa och ber kretsen vila i 1 sekund vilar den istället i ca 3 sekunder. För att komma ner till 1 sekund måste jag sätta vilotiden lägre.

Har kollat baud osv...

vad kan vara fel?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Hur ser koden ut? Kristall eller intern oscillator? Skiss på inkoppling?
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Inlägg av HMG »

skrivit en mycket enkel basic kod till att börja med

Kod: Markera allt

$regfile = "ATtiny2313.dat"
$baud = 9600

Main:
   Print "Hej"
   Waitms 500
   Goto Main
Ska försöka få upp en bild men det är bara en avr som försörjs med 5V från usb porten och portd.1 kopplad till ftdi-kabelns rx.

vad jag har förstått ska det inte behövas någon max232 för att det ska funka.
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Inlägg av HMG »

vad är det som avgör om det fungerar eller inte?

Viktigast kanske är hur jag får det at fungera.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31440
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Haha! Så tokigt... Nu tog jag bort mitt inlägg, precis innan du hann svara. :P
Jag vet inte riktigt vad det är som avgör om det funkar till serieporten eller inte, men nu har ju inte det något att göra med ditt bygge vad jag förstår.

Jag tog bort inlägget för jag kom ju på att FTDI-chip inte kopplas till seroeporten, utan till USB-porten, och mellan AVR och FTDI-chip ska man definitivt inte ha någon max232.

Ang. serieporten (com1 t.ex) så har jag hört att det inte funkar med TTL-nivåer till laptops och andra datorer som har 3,3V-nivåer...

Kan man ställa in den virtuella serieporten på datorn? Är den isf inställd på 9600 baud, helt utan någon handskakning?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Kolla att du kör Tinyn på rätt frekvens.
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Inlägg av HMG »

Man kan ställa den virituella porten och den är rätt men det borde väl inte spela någon roll egentligen eftersom den agerar precis som en rs232 när program lyssnar till den. fel?

har kollat frekvensen och även provat olika frekvenser men det är ingen skillnad.
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Inlägg av HMG »

hur vet jag förresten vilken som är "rätt" frekvens i det här fallet

är det avgörande för hur datorn kan läsa av det som skickas?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Koppla ihop RX och TX på FTDI:n och skicka data från PC så ska det komma tillbaka, då vet du att det fungerar så långt.

Använd gärna Bray terminal http://braypp.googlepages.com/terminal

Vad som är rätt frekvens anger man i koden och genom att programmera fuses, annars kommer det aldrig fungera, om du inte har tur förstås. Har inte en aning om hur man gör detta i din utvecklingsmiljö. Det verkar som du kör nån basic-variant :?
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

Jag brukar få samma problem med RS232 kommunikation. Då brukar det vara den interna klockan som måste kalibreras.

Hur man enkelt gör det finns beskrivethär.
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Inlägg av HMG »

Testade med den rekomenderade terminalen och "hej" skickas och kommer tillbaka precis som det ska.

Ska ta en till på interna klockan och hoppas på en lösning.
micke.prag
Inlägg: 79
Blev medlem: 22 juni 2006, 16:11:17
Ort: Lund
Kontakt:

Inlägg av micke.prag »

Finns bitar i configen att invertera datat som skickas. Testa att sätta dom med MProg.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Oki bra, då vet du att kommunikationen fungerar från PC till FTDI. Då är det troligen klockan som är felinställd.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

För att seriekommunikationen ska funka måste ATtiny2313 köras på rätt frekvens och ganska stabilt. Så kör man med intern RC-oscillator kommer det inte funka om man inte kalibrerat den via OSCCAL.
Klockfrekvensen måste vara rätt inom ca 2% för att seriell kommunikation ska funka. De 2% ska även inkludera det fel som beror på nerdelningen för aktuell baudrate. Se tabell 56 och 57

Kan det vara fel upsatt antal databitar eller stoppbitar?
HMG
Inlägg: 54
Blev medlem: 29 juli 2005, 18:52:47

Inlägg av HMG »

Tack för alla tips.
Lyckades få rätt på osccal till sist.
Ett problem som jag sprang på är att det verkar som om jag bara kan få rätt på UART vid 1Mhz. Jag tycker att det är märkligt att jag sätter fuses till att använda intern rc på 4 Mhz men att den frekvensen inte kan användas för UART sedan.
Skriv svar