the uarts and the microcontrollers…

a long long time ago there lived a universal asynchronous receiver transmitter, whose friends knew him as simply ‘uart’. Now uart was a very normal uart. He used to send and receive data like a normal uart, and always followed handshaking like a proper port would…
One fine day, this uart got a job in a microcontroller and was informed that he would be working with the controller on embedded projects. this uart was overjoyed as it was his dream come true to work on an embedded project…

so time passed and the uart got a chance to prove himself. Now there were 2 uarts in this project along with our uart, named uart1 and uart2. Uart0 and uart1 were involved in the project but uart2 was a buffer or in serial port terminology, a null modem connection (or on bench)…

days passed and it was time for the new uart to be tested. uart0 passed the role based certification (19200,N,8,1) tests with flying colours. now it was time for uart1 to be tested. He got the (9600,N,8,1) test. He had some trouble coping with the new proocols. Now the microcontroller asked the uart whether he had any problems working in the embedded environment. He briefed the uart that this was not like other serial projects. This one would involve more of a dedication and more than a 100% effort on his part. So time passed and the uart was working longer shifts and at higher baud rates. The stress was visible on uarts face. He started bumbling sending out junk characters every now and then and had no serial life other than work. He had trouble coping up with the other uarts and was expected to work a double shift , i.e. 57600,8,N,1. Now this was not enough for the microcontroller. The uC was a high profile uC and expected a very high level of performance from the uarts on his die. He wanted the uart to give a 120%. He told the uart that he thought it was not working at 100% of its capability. So the uart set its baudrate higher and strived to perform at the higher baud rates and failed miserably. How could one uart work at double the baudrate for twice as long and still transmit/receive data like a normal uart? in the second handshaking between the uC and the uart,the uart told the uC of his problem and was greeted with a slew of below the belt requirements specs… “just because your datasheet specifies 19200,8,N,1 , do you mean to say that you can perform only at these settings? Why, a new uart like yourself should not have any problems with performing at much higher baud rates… And he recollected a story of how when this microcontroller was used in legacy applications, (apparently a print controller) , it used to execute code in ring 3, and did not have permissions to send print commands even to a printer… It needed to request the processor leader to execute the comnand on its behalf…. And so our uart understood the vicious automatic gain control loopback null modem salesman problem he was in. Since uarts in that time worked at 2400 bps with lousy 14” crt displays at odd refresh rates, and took longer to transmit the same data, all uarts in the future would be succumbed to the same injustice?

the uart remains heartbroken, and refuses to communicate with his inlaws (aka ext. Dual serial ). Why they are not on speaking terms is unknown, but it might have something to do with the fact that the ext dual serials are duarts (superior to uarts) and expect the legacy uart to perform major data transfers with many simultaneous clock signals…..

tta on E61.


One Response to “the uarts and the microcontrollers…”

  1. Polaris Says:

    LOL. I got a chuckle out of that one. And then some.

    Is this just a story, or do I read the travails of a grad student’s research between the lines? I worked (bumbled would be more appropriate) on the ubiquitous 8051 and the newer 80320 long long ago and have tried to keep away from them since ;).

    Blog on!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: