Two questions really:
1) Is it even advisable to run a 4800 Baud UART using the internal baud rate generator and operating on the internal 8 MHz RC oscillator (which is specified at +/- 2.5%)
My 4800 baud rates are all over the place (generally within 5%), but vary from one part to the next.
This design originally used an external crystal oscillator, and the 4800 was spot on.
I'm concerned about other equipment being able to understand what we're sending out on the serial port (which is converted to RS-485 after it leaves the upc.
I'll most likely go back to a crystal (for other reasons), but would like to know if slow-ish serial baud rates are "do-able" with the internal RC oscillator, and still be reliable (or do you have to use a crystal?)
2) Supposedly, address 0180h in the User Signature Array is the internal RC clock oscillator offset/adjustment value. The datasheet doesn't say much about this, only that the value is inverse to the frequency: so higher values mean a slower internal clock. The value in the array is a copy of one in the Atmel bootloader, not that it matters. My problem is I can't seem to reliably write a value to this location. How do you adjust the internal clock?! Somehow, I manged to get a 00h written to this location and apparently that just bricks the part. (Well, OK, the part still works fine - as far as I can tell, but there's no way to undo the 00h value -- and that threw my whole 4800 baud off so far I could no longer decode it - went to a much slower baud rate, probably something around 4350 Baud or so.
Frustrated after two days of tinkering with this.
I'm very familiar with the part generally, but don't usually run designs on the internal osc.
My setup is Keil uVision (C & Assembler), and a B&K 867C programmer.
Thanks in advance for any guidance.
1) Is it even advisable to run a 4800 Baud UART using the internal baud rate generator and operating on the internal 8 MHz RC oscillator (which is specified at +/- 2.5%)
My 4800 baud rates are all over the place (generally within 5%), but vary from one part to the next.
This design originally used an external crystal oscillator, and the 4800 was spot on.
I'm concerned about other equipment being able to understand what we're sending out on the serial port (which is converted to RS-485 after it leaves the upc.
I'll most likely go back to a crystal (for other reasons), but would like to know if slow-ish serial baud rates are "do-able" with the internal RC oscillator, and still be reliable (or do you have to use a crystal?)
2) Supposedly, address 0180h in the User Signature Array is the internal RC clock oscillator offset/adjustment value. The datasheet doesn't say much about this, only that the value is inverse to the frequency: so higher values mean a slower internal clock. The value in the array is a copy of one in the Atmel bootloader, not that it matters. My problem is I can't seem to reliably write a value to this location. How do you adjust the internal clock?! Somehow, I manged to get a 00h written to this location and apparently that just bricks the part. (Well, OK, the part still works fine - as far as I can tell, but there's no way to undo the 00h value -- and that threw my whole 4800 baud off so far I could no longer decode it - went to a much slower baud rate, probably something around 4350 Baud or so.
Frustrated after two days of tinkering with this.
I'm very familiar with the part generally, but don't usually run designs on the internal osc.
My setup is Keil uVision (C & Assembler), and a B&K 867C programmer.
Thanks in advance for any guidance.