Hoi mensen,
Ik zit met een probleem.
De standaard (interne) clock instelling van de tiny2313 is 1Mhz. Dat is op basis van een RC combinatie.
Is deze 1 Mhz net zo hard als een Xtal externe clock?
Ik probeer namelijk een Midi Interface te bouwen en stel daartoe UBRRL in op 01H waarmee de Baudrate op 31250 Hz staat.
De verzending van een byte is dan 320 usec. Als ik op de scoop kijk kom ik op circa 500usec. Vandaar mijn vraag of de 1Mhz intern (default meegeleverd) wel betrouwbaar?
Dank voor jullie antwoord.
Nico
Zeker niet zo betrouwbaar als een kristal. Volgens de datasheet is de tolerantie indien juist gecalibreerd (is standaard zo voor 1MHz) 10%. Dat is niet nauwkeurig genoeg voor een seriele interface. Hier heb je dus een kristal voor nodig. En dan ook zorgen dat de baudrate die je instelt door afronden niet te veel afwijkt van de baudrate die je wilt (binnen 1% is aan te raden geloof ik).
RES
RES
ldi temp, high(UBRRVAL)
out UBRRH, temp
ldi temp, low(UBRRVAL)
out UBRRL, temp
[Bericht gewijzigd door RES op ]
Dank voor jullie hulp.
Ik heb nu de fuses zodanig ingesteld dat ik met 4 Mhz kristal werk. De UBRRH en UBRRL is ook goed ingesteld.
Maar het lukt nog steeds niet.
Op de (echte) scoop zie ik in de proefopstelling nu wel een goed midi signaal. Maar op een of andere wijze wordt dit signaal door de midi ontvanger niet goed vertaald.
De achtergrond waarmee ik bezig ben...
Ik wil een interface maken waarmee ik bijvoorbeeld een los klavier (toetsenbord) via een diode matrix kan uitlezen om daarna midi signalen te genereren waarmee je dan een midi apparaat, of geluidskaart kan bespelen. Dat is me al gelukt met een 90AT2051 van Atmel. Dat werkt goed. Nu wilde ik hetzelfde kunstje proberen met een ATTiny2313. Dus het programma omgeschreven met behulp van deAVRStudio. en in theorie werkt dat goed. Ook nog VMLAB er bij gebruikt, en de signalen bekeken op de vituele scoop. Alles OK. Maar de praktijk is weerbarstig...........snik, snik....
Ik ga wel verder zoeken en laat een en ander even rusten. Soms komt het dan wel weer goed.
Of heeft de calibratie ook nog een rol bij het instellen van de clock van de ATTiny2313?
Zijn er nog meer midi-mensen in dit forum???
RES
RES
Ik heb wel eens wat met MIDI gedaan met een ATtiny2313 en een ATmega8, geen probleem die interne RC oscillator. (bij kamertemp alleen getest dat wel.)
Misschien heb je hier wat aan.
sbi UCR, TXEN ;enable UART transmitter
ldi temp, 7 ;baudrate = 4000000/(31250*16)-1 = 7
out UBRR, temp ;set MIDI baud rate @ 31250 baud
Dit is voor een AT90S2313.
[Bericht gewijzigd door RES op ]
Beste RES, madwizard,
We hebben MIDI signaal dat werkt.
Oorzaak, ik had de uitgang via een dubbele buffer geinverteerd. Dat moest via een enkele buffer.
Daarnaast is de signaal overdracht blijkbaar gevoelig voor wat lek via "weet ik veel", want toen ik de laptop waar ik normaal op werk uitschakelde en de computer waarmee ik midi signalen wil afspelen opnieuw opstartte kreeg ik plotsklaps wat geluid.
Dank voor jullie medeleven.
Weer wat geleerd over de clock en de fuses van ATtiny2313