??? 01/31/09 13:18 Read: times |
#161875 - a), but maybe some of b) too... :-) Responding to: ???'s previous message |
Joe Gold said:
The CPU is an NXP ARM7[...] What a heresy, on 8052.com... ;-) Joe Gold said:
I am somewhat famillar with autobaud techniques... Oh, sorry for the "tutorial" then... The NXP user manuals describe two hardware methods of auto baud detecting. Joe Gold said:
Can you please clarify you reply in regards to when to initiate auto baud.
a. After <cr>... get ready to auto baud detect, and detect an 'a' or 'A' (ignore if not 'a' or 'A') then stay on the auto baud rate detect baud rate..... until the next <cr> b. other.. I am interested in emulating the auto baud rate detection procedures of a modem. a) is what I remember from the manuals etc. But, you know what, I took out a modem (a Rockwell-chipset based one), and found out an interesting thing: it has two modes, after-A and after-CR. In the after-CR mode, when one would expect it is in autobaud mode and waiting for 'a', it was able to autobaud on ANY reasonable character (' '-'z') and echo it properly (but of course, it performed nothing until I typed "at"). In the after-A mode, surprisingly it was able to detect SOME change in baudrate (say, from 115200 to 9600, but from 115200 to 4800 it echoed some garbage) and echoed properly, but again it did not do anything, so effectively it fell back to the after-CR mode after the first such out-of-baudrate character. I can't quite see how this could be accomplished using an autobaud hardware you have. I could do some of it in software, but I expect that the modem chipsed did have a dedicated hardware helping out in this regard: these last-generation hardware modem chipsets were pretty sophisticated, with firmware occupying hundreds of kilobytes of ROM etc. You might consider at least autobauding after a timeout (if it does not interfere with normal character reception), if you expect sudden changes in baudrate, as otherwise after a baudrate change happening amidst a command the interface might get stuck. A good idea might be also to autobaud after unexpected characters (say, outside ' '-'z' and CR/LF (and perhaps XON/XOFF if you plan software handshake)), after frame errors (also indicating possible baudrate change); and maybe employ an external edge-triggered interrupt (for detecting upwards baudrate change, when the "normal" UART stops receiving completely, rejecting the short bits as noise). €0.02 ;-) JW |
Topic | Author | Date |
Auto buad detect operation | 01/01/70 00:00 | |
what sort of modem? | 01/01/70 00:00 | |
Thanks Jan | 01/01/70 00:00 | |
a), but maybe some of b) too... :-) | 01/01/70 00:00 | |
Thanks again Jan | 01/01/70 00:00 | |
Does V.250 help? | 01/01/70 00:00 | |
not likely | 01/01/70 00:00 |