Patent Publication Number: US-2004049610-A1

Title: Interchangeable and configurable input / output module

Description:
RELATED APPLICATION  
     [0001] This application is a continuation of U.S. patent application Ser. No. 09/765,840 filed Jan. 18, 2001 which is incorporated by reference herein. 
    
    
     
       TECHNICAL FIELD  
       [0002] This invention relates to interchangeable input/output blocks for computing devices.  
       BACKGROUND  
       [0003] A computing device is typically designed with a limited number of I/O (input/output) ports. The increasing availability of the types of input and/or output devices that can be interfaced with a computer requires more space on a computer to provide a full-range of input/output connectors for every possible I/O device, and combination of I/O devices. Such input and/or output devices include printers, scanners, external data storage drives, a mouse or other pointing devices, audio and/or video players, joysticks, keyboards, and the like. Furthermore, limited system resources have to be allocated and shared to support a computer configured to accommodate the increasing number of I/O devices.  
       [0004] Limited space for I/O device connectors is particularly a problem with portable computing devices such as a laptop computer or a PDA (personal digital assistant) where the physical size of the computing device limits the available space to integrate input/output connectors for the many possible I/O devices. Additionally, providing input/output connectors for every possible I/O device, and the associated computer system resources, is a substantial expense and impractical.  
       [0005] The following description discusses systems and methods to provide input/output connectors and system resources for the ever increasing number of I/O devices when constrained to a limited space, such as with a portable computing device.  
       SUMMARY  
       [0006] Interchangeable and configurable input/output module is described herein.  
       [0007] In an implementation, a computing device includes one or more components that each perform a function in response to an input from an associated external device. An input/output module is configured for installation within a housing of the computing device and includes one or more input/output connectors that interface one or more associated external devices with the one or more components in the computing device. The input/output module is further configured to pass one or more unmodified signals between the one or more components and the one or more associated external devices. 
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0008] The same numbers are used throughout the drawings to reference like features and components:  
     [0009]FIG. 1 illustrates a front view of a portable computing device.  
     [0010]FIG. 2 illustrates a back view of the portable computing device shown in FIG. 1.  
     [0011]FIG. 3 illustrates the portable computing device shown in FIG. 2 and interchangeable input/output modules.  
     [0012]FIG. 4 is a block diagram that illustrates components of a computing device and an interchangeable input/output module.  
     [0013]FIG. 5 is a block diagram that illustrates components of a computing device and an interchangeable input/output module.  
     [0014]FIG. 6 is a block diagram that illustrates components of a computing device and an interchangeable input/output module.  
     [0015]FIG. 7 is a block diagram that illustrates components of a computing device and an interchangeable input/output module.  
     [0016]FIG. 8 is a block diagram that illustrates components of a computing device and an interchangeable input/output module.  
     [0017]FIG. 9 is a flow diagram that describes a method to configure a computing device with interchangeable input/output modules having different input/output connectors.  
     [0018]FIG. 10 is a flow diagram that describes a method to receive signals at an interchangeable input/output module having different input/output connectors, and pass unmodified signals and/or processed signals to a computing device. 
    
    
     DETAILED DESCRIPTION  
     [0019] A computing device can be configured to perform various functions when connected with external devices such as printing devices, scanning devices, external data storage drives, a mouse or other pointing devices, an audio and/or video player, joysticks, keyboards, and the like. The following discussion describes systems and methods to configure a computing device with interchangeable input/output modules each having a different combination of input/output connectors. The input/output module connectors connect the external devices to the computing device.  
     [0020] In the described embodiments, the computing device is illustrated and described as a portable computer. However, the interchangeable input/output modules, and other related aspects of the described embodiments, are applicable to other types of devices such as servers, desktop computers, and the many different types of mobile computing devices of varying sizes and designations. Such mobile computing devices include laptop computers, handheld computers, notebook computers, sub-notebook computers, palm-top computers, palm-sized computers, pocket computers, personal digital assistants, personal organizers, and the like. Although the context of this disclosure describes a portable computer, the pertinent aspects are applicable to computing devices in general.  
     [0021]FIG. 1 shows a computing device  10 , embodied in the form of a portable computer having a housing base  12  and a housing lid  14 . The housing base  12  and the housing lid  14  are connected together via a hinge or other flexible joint (not shown) to permit the housing lid  14  to fold down atop the housing base  12 . A keyboard assembly  16  is mounted within the housing base  12  and a flat panel display  18  is mounted within the housing lid  14 .  
     [0022]FIG. 2 shows the back of portable computer  10  with the housing lid  14  closed onto the housing base  12 . An interchangeable input/output module  20  is installed into the computer housing base  12  and is electrically connected with the portable computer  10 . The input/output module  20  has input/output connectors  22  through  30  designed to connect external devices (not shown) to the portable computer  10 . The combination of connectors  22  through  30  are typically identified as a legacy input/output block of connectors where “legacy” identifies a commonplace technology or traditional standard. Any suitable number and/or types of connectors can be provided on input/output module  20 . Specific non-limiting examples are given below.  
     [0023] A CRT/DVI connector  22  connects a computer CRT monitor, flat panel monitor, projection monitor, and the like to the portable computer  10 . A parallel connector  24  is typically used to connect such peripherals as printing devices and external data storage drives. A serial connector  26  is typically used to connect such peripherals as a mouse pointing device or a modem. A USB (universal serial bus) connector  28  is an interface between the portable computer  10  and external devices such as audio players, joysticks, keyboards, telephones, scanners, and printers. A PS/2 (personal system) connector  30  can also connect a mouse or pointing device to the portable computer  10 .  
     [0024]FIG. 3 shows the back of portable computer  10  and the interchangeable input/output module  20  removed from the computer housing base  12 . The housing base  12  has an input/output module inset  32  (or channel, cutout, recessed section, receptacle configuration, etc.) that an interchangeable input/output module is inserted into when installed in the portable computer  10 .  
     [0025] The input/output module  20  has a module connector  34  to electrically connect the input/output connectors  22  through  30  with portable computer  10  when the input/output module is installed in the computer. The input/output module inset  32  in the computer housing base  12  has a connector receptacle  36  to plug in module connector  34  when installing an input/output module into the input/output module inset  32 .  
     [0026] The input/output module inset  32  has fastener receptacles  38  to interlock fasteners  40  and secure an input/output module in the input/output module inset  32 . The input/output module  20  has fastener openings  42  that align with the fastener receptacles  38  when the input/output module  20  is installed in the inset  32 . As illustrated, the fasteners  40  are installed through the input/output module fastener openings  42  and into the fastener receptacles  38  to secure the input/output module into the inset  32 .  
     [0027] Any combination of inset configurations and fasteners to secure an interchangeable input/output module in a computing device can be used. Fasteners include screws, snaps, nuts and bolts, interlocking components, and the like. The illustrated configuration facilitates sliding an input/output module into the inset  32  such that the module connector  34  slides into the connector receptacle  36 . The input/output module is then secured in place so that the module connector  34  will not inadvertently disengage from the connector receptacle  36 .  
     [0028]FIG. 3 also illustrates two other interchangeable input/output modules  50  and  70 . Both input/output modules  50 ,  70  have fastener openings  42  that align with the fastener receptacles  38  in the input/output module inset  32  when the input/output modules  50 ,  70  are installed in the inset  32  in the computer housing base  12 . Each input/output module  50 ,  70  also has a module connector  62  and  82  respectively, that plugs into the connector receptacle  36  in the computer housing base  12 .  
     [0029] Input/output module  50  has connectors  52  through  60  designed to connect external devices (not shown) to the portable computer  10 . The combination of connectors  52  through  60  are referred to as a legacy-free input/output block of connectors where “legacy-free” identifies a new and emerging or recently developed technology standard. The terms “legacy” and “legacy-free” do not define absolutes with regards to traditional input/output connectors and emerging technology input/output connectors, as evidenced by the commonality of a CRT/DVI connector  22  and  52  on modules  20  and  50 , respectively.  
     [0030] The input/output module  50  also has an IEEE 1394 connector  54  that is a serial bus interface to support high-performance data rates for mass storage devices and digital video equipment such as digital video recorders, DVD, camcorders, and high-speed/high-resolution printers and scanners. A TV-out connector  56  outputs a television signal to an external device. An S-Video out connector  58  outputs a video signal to an external device. A plurality of USB connectors  60  are also shown as input/output connectors on input/output module  50 .  
     [0031] The input/output module  70  has connectors  72  through  80  that are a combination, or mixed-mode, of legacy and legacy-free connectors, each of which are described above in connection with the description of input/output modules  20  and  50 . Input/output module  70  has a CRT/DVI connector  72 , a parallel connector  74 , a serial connector  76 , multiple USB connectors  78 , and an S-Video out connector  80 . As illustrated, any combination and number of input/output connectors can be incorporated into an input/output module.  
     [0032]FIG. 4 shows components of portable computer  10  and interchangeable input/output module  20  in a block diagram. Computer  10  has a motherboard  100  that supports the computer&#39;s basic circuitry and components. The motherboard  100  has a microprocessor  102 , a system BIOS  104 , and bus circuitry  106  that is an electronic interface between the microprocessor  102 , the system BIOS  104 , and the other components within the computer  10 . An operating system  108  executes on the microprocessor  102 .  
     [0033] The motherboard  100  also supports components that send and/or receive inputs and outputs from external devices. The components include a graphics controller  110 , a cardbus controller  112 , a keyboard/embedded controller  114 , serial transceivers  116 , and a super I/O component  118 . The graphics controller  110  supports an S-video out component  120  and a TV-out component  122 . Alternatively, the S-video out and TV-out components can be integrated with the graphics controller  110  to form a single component. The motherboard  100  also supports an I/O system controller  123  that can be implemented with an Intel PIIX4 or an Intel ICH3, for example.  
     [0034] The super I/O component  118  can be implemented with a National PC87388 or a SMSC FDC37C869, for example. The cardbus controller  112 , such as a TI1420 or a TI1450 for example, supports an IEEE 1394 controller  124 . A TI1420 cardbus controller supports an IEEE 1394 standard with an external IEEE 1394 controller and an external IEEE 1394 IC (integrated component) such as a TI TSB41Abx Phy (physical layer) IC. A TI1450 has an IEEE 1394 controller integrated within it to support an the IEEE 1394 standard.  
     [0035]FIG. 4 also illustrates the common input/output module connector receptacle  36 . The module connector receptacle  36  has pass-thru connections A through H that interface with associated connections in the module connector  34  on the input/output module  20 . Module connector  34  has associated connections A through E for the five input/output connectors on the input/output module  20 .  
     [0036] The connection designations A through H and J are illustrated for the reader&#39;s benefit and are intended to clarify the routing of inputs from external devices to components within the computer. Furthermore, it is to be understood that the connection designations and signal routing illustrations are diagrammatic and not intended to accurately reflect the actual number of cables, wiring, bus connections, component connections and features, and the like.  
     [0037] The CRT/DVI connector  22  interfaces an external video device (not shown) and passes through a video output from the graphics controller  110  via the bus circuitry  106 , connector receptacle  36 , connection A, and module connector  34 , associated connection A. Similarly, an input at parallel connector  24  is input to the super I/O  118  (connection B), an input at serial connector  26  is input to the serial transceivers  116  and on to the super I/O  118  (connection C), an input at USB connector  28  is input to the I/O system controller  123  (connection D), and an input at the PS/2 connector  30  is input to the keyboard/embedded controller  114  (connection E) in the computer  10 . The input/output module  20  passes each signal from the input/output connectors  22  through  30  to the module connector  34  unmodified. That is to say that a signal from an external device is simply passed through the input/output module  20  without being processed or otherwise altered by a component in the input/output module.  
     [0038] Input/output module  20  can include a memory component such as EEPROM  126  (electrically erasable programmable read-only memory) to store an encoded description of the configuration of the input/output connectors  22  through  30  on the input/output module  20 . The EEPROM  126  communicates the configuration of the input/output connectors to the computer  10  via connection J in the module connector  34  and associated connection J in the connector receptacle  36 .  
     [0039] With the configuration information, the computer  10  reserves system resources that would otherwise be allocated for one of the computer components  110 - 124  if a particular input/output connector were present on the input/output module  20 . This enhances proper resource allocation for only those external devices that may be present or provide an input to the computer  10 . For instance, the computer  10  does not allocate system resources to support the IEEE 1394 controller  124  because input/output module  20  does not have an IEEE 1394 input/output connector. Similarly, the computer  10  de-allocates previously allocated resources from the computer components upon determining, or being informed, that a newly installed interchangeable input/output module does not have a particular input/output connector that was present on a previously installed interchangeable input/output module.  
     [0040] Most external input/output devices require PC system resource assignments. These include I/O address ranges in memory to exchange data via the memory range, system interrupts to gain attention of the CPU to allow data transfer, and DMA (direct memory access) channels to allow for the fastest data transfer. For example, a serial port requires an I/O address range in memory plus a system interrupt. A parallel port requires two I/O address ranges plus a DMA channel. A mouse (internal or external) requires a system interrupt. A floppy disk drive requires two I/O address ranges, a system interrupt, plus a DMA channel.  
     [0041] A computer model establishes a limited set of resources that are demanded by a large set of I/O devices. Sharing is often required and functionality, or system functional reliability, is sometimes compromised. This means that a user will often have to take action with the assignments to get some functions to work.  
     [0042] To allow a system to have the versatility it needs to support many different I/O types, resources have to be planned in advance for all of the possible resource needs. If the I/O is configurable, as with the interchangeable input/output modules described above, the BIOS or operating system can be informed that some of the external input/output devices are not, or will not be, present and thereby reserve resources by not assigning and/or sharing resources for any particular device that will not be present.  
     [0043] An alternative to having the EEPROM  126  to store an encoded description of the I/O configuration for input/output module  20  is to encode a series of pins in the module connector  34  that describe the I/O configuration for the input/output module. The pin configuration can be decoded at the computer  10  and converted to a description of the I/O configuration for any one particular interchangeable input/output module.  
     [0044]FIG. 5 shows components for an alternative embodiment of portable computer  10  and input/output module  20  shown in the block diagram in FIG. 4. The serial transceivers  116  and the super I/O component  118  are removed from the computer motherboard  100  and relocated to an input/output module  20 (A). In this configuration, an input at parallel connector  24  is input to the super I/O  118  in the input/output module  20 (A). Similarly, an input at serial connector  26  is input to the serial transceivers  116  and on to the super I/O  118  in the input/output module  20 (A). The serial and parallel inputs are processed at the input/output module  20 (A) before being passed on to the computer  10 .  
     [0045]FIG. 6 shows components of portable computer  10  (described above with reference to FIG. 4) and interchangeable input/output module  50  in a block diagram. Computer  10  has an alternate implementation of the IEEE 1394 controller  124  from that shown in FIG. 4.  
     [0046] The IEEE 1394 controller  124  is implemented as a separate device from the cardbus controller  112 . In this configuration, the cardbus controller  112  can be implemented with a TI1420 and the IEEE 1394 controller  124  with a TI TSB12LV26 IEEE 1394 controller, for example. An additional component, IEEE 1394 IC (integrated component)  125 , is implemented with the IEEE 1394 controller  124  when the controller  124  is implemented as a separate device from the cardbus controller  112 . The IEEE 1394 IC  125  can be implemented with a TI TSB41Abx Phy (physical layer) IC.  
     [0047] The input/output module  50  has a module connector  62 . The module connector  62  has associated connections A, D, and F through H for the five input/output connectors  52  through  60  on the input/output module  50 .  
     [0048] The CRT/DVI connector  52  interfaces an external video device (not shown) and passes through a video output from the graphics controller  110  via the bus circuitry  106 , connector receptacle  36 , connection A, and module connector  62 , associated connection A. Similarly, an input at the IEEE 1394 connector  54  is input to the IEEE 1394 controller  124  (connection F), a TV signal generated at the TV-out component  122  is output to an external video device via the TV-out connector  56  (connection G), an S-video signal generated at the S-video out component  120  is output to an external video device via the S-Video out connector  58  (connection H), and an input at one of the USB connectors  60  is input to the I/O system controller  123  (connection D).  
     [0049] The input/output module  50  passes each signal from the input/output connectors  52  through  60  to the module connector  62 , or vice-versa, unmodified. That is to say that an input or output signal is simply passed through the input/output module  50  without being processed or otherwise altered by a component in the input/output module.  
     [0050] The input/output module  50  has an EEPROM  128  to store an encoded description of the configuration of the input/output connectors  52  through  60  on the input/output module  50 . The EEPROM  128  communicates the configuration of the input/output connectors to the computer  10  via connection J in the module connector  62  and associated connection J in the connector receptacle  36 . The computer  10  reserves system resources that would otherwise be allocated for one of the computer components  110 - 124  if a particular input/output connector were present on the input/output module  50 . For example, the computer  10  does not allocate system resources to support that portion of the Super I/O  118  that supports serial and parallel signal inputs because input/output module  50  does not have either a serial or a parallel input/output connector.  
     [0051]FIG. 7 shows components for an alternative embodiment of portable computer  10  and input/output module  50  shown in the block diagram in FIG. 6. The S-Video out component  120 , the TV-out component  122 , and the IEEE 1394 IC  125  are removed from the computer motherboard  100  and relocated to an input/output-module  50 (A). In this configuration, an input at the IEEE 1394 connector  54  is input to the IEEE 1394 IC  125  in the input/output module  50 (A) before the input is passed on to the computer  10 .  
     [0052]FIG. 8 shows components of portable computer  10  (described above with reference to FIG. 4) and interchangeable input/output module  70  in a block diagram. The input/output module  70  has a module connector  82 . The module connector  82  has associated connections A through D and H for the five input/output connectors  72  through  80  on the input/output module  70 .  
     [0053] The CRT/DVI connector  72  interfaces an external video device (not shown) and passes through a video output from the graphics controller  110  via the bus circuitry  106 , connector receptacle  36 , connection A, and module connector  82 , associated connection A. Similarly, an input at parallel connector  74  is input to the super I/O  118  (connection B), an input at serial connector  76  is input to the serial transceivers  116  and on to the super I/O  118  (connection C), an input at one of the multiple USB connectors  78  is input to the I/O system controller  123  (connection D), and an S-video signal generated at the S-video out component  120  is output to an external video device via the S-Video out connector  80  (connection H).  
     [0054] The input/output module  70  has an EEPROM  130  to store an encoded description of the configuration of the input/output connectors  72  through  80  on the input/output module  70 . The EEPROM  130  communicates the configuration of the input/output connectors to the computer  10  via connection J in the module connector  82  and associated connection J in the connector receptacle  36 .  
     [0055] The computer  10  reserves system resources that would otherwise be allocated for one of the computer components  110 - 124  if a particular input/output connector were present on the input/output module  70 . For example, the computer  10  does not allocate system resources to support the IEEE 1394 controller  124  because input/output module  70  does not have an IEEE 1394 input/output connector.  
     [0056]FIG. 9 illustrates a method to provide interchangeable input/output modules with differing input/output connectors. At block  200 , an interchangeable input/output module is provided. The input/output module can be attached to, integrated with, or installed into a computing device having multiple components that are interfaced with external devices. Input/output connectors are provided to interface an external device with an associated computing device component.  
     [0057] At block  202 , a legacy input/output block of connectors, as described above, is provided. Alternatively, a legacy-free input/output block of connectors, as described above, is provided at block  204 . Alternatively, a mixed mode of input/output connectors can be provided at block  206 . The input/output connectors are supported by the input/output module(s).  
     [0058]FIG. 10 illustrates a method to utilize an interchangeable input/output module having different input/output connectors. At block  210 , the input/output connector configuration is communicated to a computing device having the interchangeable input/output module installed, or integrated, with the computing device.  
     [0059] At block  212 , system resources are reserved that would otherwise be allocated to interface an external device with the computing device via the interchangeable input/output module if the interchangeable input/output module does not have an input/output connector for the particular external device. That is, system resources are not allocated for an external device that is not, or will not be, connected to the computing device.  
     [0060] At block  214  an input or output signal is received at the interchangeable input/output module from either an external device or from a component within the computing device. The interchangeable input/output module has an input/output connector to receive the input signal from an external device. At block  216 , the input or output signal is passed through the input/output module in an unmodified form. That is to say, the input signal is not processed or modified as it is passed from the input/output connector to the module connector on the interchangeable input/output module, or vice-versa.  
     [0061] At block  218 , a second input or output signal is received at the input/output module from either an external device at a second input/output connector on the interchangeable input/output module, or from a component within the computing device. The second input or output signal is processed with a signal processing component in the interchangeable input/output module to form a processed signal at block  220 . At block  222 , the processed input is passed from the signal processing component to the module connector. The module connector interfaces the signal processing component with the computing device and/or an external device.  
     [0062] The systems and methods described herein can allow a single computing platform to support different input/output requirements. The interchangeable modules can be user replaceable and/or factory and tech-support configurable to accommodate and support users with different input/output and computing needs.  
     [0063] Although interchangeable and configurable input/output module has been described in language specific to structural features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary implementations of interchangeable and configurable input/output module.