CodeSpriteEmbedded software consultancy
specializing in
ARM Powered systems
HomeSite MapClientsContact
Search this site 
powered by FreeFind

CodeSprite Projects

Seijin IR Keyboard Software UART for ARM7500

A set top box email system required a low-cost method for connecting an infra-red wireless keyboard. The microcontroller used in the system did not have an available internal UART, so component cost and circuit board space were going to be adversely affected by the addition of external components.

A software solution was implemented, using a gpio line connected to the output of the IR receiver. This required 10KHz polling, but the timer-based polling was enabled only after an interrupt was raised when a character start-bit arrived at the gpio pin, and the timer was disabled as soon as the end of the character stop-bit was detected.

This dynamic control of the interrupt exception system allowed the keyboard stream to be serviced using around 2% of the 33MHz ARM7500's processing power when keys were pressed on the keyboard, and zero percent when the keyboard was inactive.