Patent ID: 7526579

Claim:
A configurable input/output interface for use with a product having at least a first bus, comprising: a configurable controller coupleable to said at least first bus to transfer data between said product and a peripheral unit, said configurable controller comprising: a microcontroller operable to provide program control of said configurable controller and operable to define a selected predetermined communication protocol, said microcontroller comprising: a program memory, said program memory being programmably arranged into a plurality of program thread sections, said program memory being allocated for said program thread sections based upon a number of said program thread sections, each of said program thread sections being programmably selectable in size; said number of said plurality of program thread sections and the size of said program thread sections being programmed in accordance with at least the selected predetermined communication protocol for said peripheral unit; a micro sequencer operable iii accordance with each of said program thread sections to provide the program control of said configurable controller; a first bus interface unit coupleable to said first bus and coupled to said microcontroller for transferring the data between said controller and said first bus; a configuration manager coupleable to said first bus and coupled to said program memory to load predetermined programs received via said first bus into said program thread sections; a plurality of registers coupled to said first bus interface unit; and a multiplexer circuit coupled to a plurality of input/output terminals and to said plurality of registers; said multiplexer circuit being programmably operable to selectively couple each terminal of said plurality of input/output terminals to said plurality of registers based upon said predetermined communication protocol.