Go Down

Topic: 3 Mbaud/Megabaud (Read 2741 times) previous topic - next topic

ChrisS

Code: [Select]
At least you will miss some samples due huffman search.

Interrupt trigger? No.

Code: [Select]
It increases complexity and this also increases error rates.
you invented fire, but don't use it... you could burn your hands....
better use a stone as using an microcontroller... a stone has less errorrates... No. If there are errors... then in communication, not in math... so use a checksum, and there couldn't be errors... or use better wires, shielding, and drive ur hardware within the specs.

So no.

Hum?

tried a lot with 20Mhz the last days... but i can't get the bootloader to upload... rewired everything while modified bootloaderfiles to freq 20 and baudrate calculations... (.c) can't get it uploading... 16Mhz works fine... this problem is not related to wiring.c i think....

Greetings ChrisS
Sturmfabrik - mediale Dienstleistungen
www.sturmfabrik.de

gabebear

#16
Oct 07, 2010, 06:04 pm Last Edit: Oct 07, 2010, 11:59 pm by gabebear Reason: 1
The fastest async setting is 1/8th the CPU_Mhz, so 2Mbaud for 16Mhz(2.5Mbaud for 20Mhz)... the problem is this isn't a setting on the FTDI serial adapter(I think only 1Mbaud and 3Mbaud are available). The fastest I've done is 1Mbaud async.

As far as missing samples... yes, it would be very easy to miss some samples while off doing other stuff. Triggers/interrupts aren't very good for what I was doing because they add extra cycles( ~4 cycles per interrupt ) to interrupt the code that is currently running and jump to the new code... then you have another 5 cycles to leave the interrupt. When you have 53 total cycles you don't want to waste several on an interrupt for serial and several on an interrupt for analog input.

E.U.A.

#17
Oct 08, 2010, 12:31 am Last Edit: Oct 08, 2010, 07:58 pm by E.U.A.. Reason: 1
ChrisS, you might be good on letters but when it comes to stable programs, simple is better. Yes we can use every feature of MCU for this job. A standard developer couldn't understand what I made with code even If I put lots of explanation string due complex nature of code for using every property of MCU... Do you wanted to try to understand such a code? I mean, you don't need fire for drink your cold soda. If you love drinking it on opposite of the fireplace you can, but it's not required for standard people and this will be add some cost for burning wooden for people just wanted to drink soda... ;) Some says my grammar is bad but I think you understand what I trying to tell.

gabebear, What? I think you talking about ADC sampling, not RS232 sending capacity right?... I am just sending constant value in loop, so not sampling ADC, on test purposes and setup gives me exactly 2Mbps nothing more. I wanted to have little higher speed than actual ADC speed. Weird thing is windows only could give ~37KB/s. I try it on WinXP on Real HW and than on VM too. Nothing changed...

If I use prescaler value of 2 (0x1 or 0x0 for ADPS[2-0] ) I got nothing meaningful, but using prescaler 4 (0x2 for ADPS[2-0]) gives meaningful values.  So it's okey for me 2Mbaud for now. But I wanted to have 3Mbaud on Async too.I think it's better to have 2,5Mbaud connection because of losses and overheads.  At least to know why it doesn't support 2,5 and 3Mbaud. It's due driver or chip or ATmel... who knows.....

I think it's better to produce a good program that uses OpenGL to display data (Yes, it's really needed for displaying 200Kpsp).
Thanks.

Edit: Yeah, I look ATmega datasheet and see the truth, CPU cannot handle >2Mbaud with 16Mhz CPU. So you mean RS232 port, not ADC sampling. :)  So I need synchronized mod for 3Mbaud. Thanks. You save my life, I will try to understand for a weeks why my FTDI 232R cannot work > 2Mbaud :)

Go Up