(RSS) Software scheme for determining I/O connector configuration
Original Publication Date: 2004-Sep-21
Included in the Prior Art Database: 2004-Sep-21
Problem solved: the ability for software to determine which (and how many) I/O connectors are installed in a system. Typical boxes solve this by tying a specific connector mix to machine type/model type of info.
(RSS) Software scheme for determining I /O connector configuration
I/O panel design including software ID
Point of sale systems typically provide many I/O connectors to connect various I/O devices such as printers, displays, keyboards, etc. For a variety of reasons, there is a requirement for software (drivers, OS, applications and diagnostics) to understand the I/O capabilities of any particular machine. In the past, the matrix of I/O connectors has been fixed at the time of manufacture, and a specific machine type of model had a specific mix of connectors. Software could know the I/O connector mix simply by determining the specific machine that it was running in.
In the new ASPEN POS product, we are proposing a new tailgate architecture that allows for I/O connector subassemblies (or panels) to be features. These I/O panels will have different combinations of connectors (for example, RS232, USB, RS-485, all with different voltages present in the connectors.) Since these I/O connector panels are now features, different I/O panels can be installed at the time of manufacture, as well as changed or upgraded in the field. There will likely be many different specific I/O panels, because they will be easy to design, and change/customized for specific customer requests (based on specific customer I/O requirements). A new scheme needs to be devised that will allow software to know the specific connector matrix that is installed in a given machine.
Aspen will implement a scheme in which a very small (128 bit) programmable memory (EEROM) is installed on each I/O panel card. These EEROMs can be read/written in a serial fashion and are used in many other parts of systems (for example, they are used to define the type/amount of memory on a DIMM). We have defined an extendable architecture for a structure in a EEROM that will define to software the specific connector implementation on a given I/O panel. This memory module (which is installed on each I/O panel card) is programmed at the time of manufacture based on the specific I/O connectors installed on the I/O panel.. Once the I/O panel is installed in the machine, the contents of the EEROM is read by the software and tells the software the exact I/O connector configuration for that particular I/O panel.
This architecture could be easily extended to any type of system. As I/O connectors are added/removed, the contents of memory somewhere in the system are updated to indicate the I/O connector mix. This does not need to be tied to any specific mechanical implementation (I/O panel, etc.) For example, a PC could have the I/O mix stored in on board flash memory, in an EEROM, or in the non-volatile CMOS data area. As I/O connectors are changed, simple utility programs could be run that would update the contents of memory to accurately reflect the installed I/O mix.
It is important to note that there is no "automatic" way to define the contents of this EEROM module...this is done at the time the c...