??? 02/14/07 15:33 Modified: 02/14/07 15:41 Read: times |
#132919 - put some load on the hardware Responding to: ???'s previous message |
David Lewis said:
I know that to get a required baud rate of 115,000 Actually, it's 115,200 - just for the record. David Lewis said:
However, although that makes 115k baud possible, how viable is it to actually do any other processing at the same time? You will receive a character every 160 instruction cycle (so you have around 100 instructions between each character), when running in 12-clock mode. However, note, that the S8253 (although you will get very bad references on this particular chip on this forum) does have a 6-clock ("x2") mode. Note also, that there are many faster '51s on the market today - <shameless advertisement>you might want to have a look at the table of selected fast '51 derivatives at my 8052.com homepage</shameless advertisement>. David Lewis said:
I need to sit on a very busy 115k multi-drop 485 line, and be able to receive variable length packets, and respond accordingly, whilst also monitoring various other inputs. Usually, some of the processing can be put onto the hardware. The '51's UART can ignore bytes with the 9th bit unset (assuming the multidrop protocol is designed wisely enough to use this feature). Then the interrupt rate is relatively low; only when a particularly addressed you need to receive a packet - but that might be manageable as it will be only in bursts ocassionally (you'll need to do the maths for your application of course). Also, you might want to consider using an external UART with an appropriate FIFO, and/or (Erik's favourite) a small slave micro for dedicated processing of the 485 stream. David Lewis said: OOoooooh, forget the 12/6-clockers, then... C will eat up your processing time considerably...
Especially when I plan on doing this in C so cannot optimize the assembly code apart from Keil's creation. JW |