![]() | Embedded software consultancy specializing in ARM Powered systems | Home | Site Map | Clients | Contact |
CodeSprite Projects | |||||
| |||||
Seijin IR Keyboard Software UART for ARM7500A 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. |