The present invention relates generally to input/output ports on computing devices and specifically to a system and method for sharing a port among devices using different communication protocols.
Given the proliferation of handheld mobile computing devices, it is desirable to make them more convenient and easier to use. As the technology improves, there is a drive to provide a smaller form factor to ensure that the computing device is not a burden on the user. Therefore, the past several years have noticed a decline in form factor while maintaining and even increasing the processing power of such device.
However, although the technology exists to provide a small form factor, other mechanical factors need to be considered. For example, in order to interface with peripheral devices, connectors often need to be provided by a housing of the computing device. However, as computing devices shrink in size, physical space available to provide such connectors is decreasing.
Accordingly, it is desirable to be able to connect to peripheral devices using different communication protocols while using minimal physical space on the housing.
In accordance with an aspect of the present invention, there is provided a computing device configured to communicate with a peripheral via a connector, the connector having a predefined physical configuration and a predefined number of pins, the computing device comprising: memory for storing instructions; and a processor for executing the instructions to implement the steps of: initializing communication with the peripheral using a predefined initialization protocol via at least one predefined pin; receiving, from the peripheral, information relating to a pinout configuration defining a logical configuration of the pins, assigning the pinout configuration to the pins; and communicating with the peripheral using the pinout configuration.
An embodiment of the present invention will now be described by was of example only with reference to the following drawings in which:
For convenience, like numerals in the description refer to like structures in the drawings. Referring to
Referring to
Operating system software used by the microprocessor 238 may be stored in a persistent store such as the flash memory 224, which may alternatively be a read-only memory (ROM) or similar storage element (not shown). Those skilled in the art will appreciate that the operating system, specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as RAM 226.
The microprocessor 238, in addition to its operating system functions, enables execution of software applications on the mobile computer 100. A predetermined set of applications, which control basic device operations, may be installed on the mobile computer 100 during its manufacture. These basic operations typically include data and voice communication applications, for example. Additionally, applications may also be subsequently loaded onto the handheld device 100 through the communication subsystem 211, an auxiliary I/O subsystem 228, serial port 230, USB port 242, short-range communications subsystem 240, or any other suitable subsystem, and installed by a user in RAM 226, or the persistent store 224, for execution by the microprocessor 238. Such flexibility in application installation increases the functionality of the handheld device 100 and may provide enhanced on-device features, communication-related features, or both.
The radio frequency (RF) communication subsystem 211, includes a receiver 212, a transmitter 214, and associated components, such as one or more embedded or internal antenna elements 216 and 218, local oscillators (LOs) 213, and a processing module such as a digital signal processor (DSP) 220. As will be apparent to those skilled in field of communications, the particular design of the RF communication subsystem 211 depends on the communication network in which mobile computer 100 is intended to operate, but may include communication functionalities such as radio-frequency identification (RFID), Wi-Fi WLAN based on 802.11 standards, and the like.
The display module 222 is used to visually present an application's graphical user interface (GUI) to the user. Depending on the type of mobile computer 100, the user may have access to various types of input devices, such as, for example, a scroll wheel, trackball, light pen and/or a touch sensitive screen.
Referring to
Further, each of the connector plates 302 is assigned a predefined identification plate number from 1 to 20. As will be appreciated by a person of ordinary skill in the art, the particular plate numbering scheme does not matter, as long it is used consistently so that peripheral device makers can assign corresponding pin numbers to the spring contacts.
The microprocessor 238 is configured to initialize connection of the peripheral via at least one connector pad 110 and its corresponding spring contact using a predefined communication protocol. In the present embodiment, only two connector pads and their corresponding spring contacts are used and communication is established using the 1-Wire communication protocol. As is known in the art, the 1-Wire protocol uses only one wire to transmit data. A second wire is provide as a ground.
As is well known in the art, a peripheral is a device that can be attached to the mobile computer 100 but not part of it, and is more or less dependent on the mobile computer 100. The peripheral expands the mobile computer's capabilities, but does not form part of its core architecture. Examples of peripherals include, for example, printers, image scanners, RFID readers, charging devices, drives, microphones, speakers, cameras and the like.
In accordance with the present embodiment, the peripheral device includes memory for storing a pinout configuration of its spring contacts. As is known in the art, a pinout configuration is a logical configuration of the pins that provides a cross-reference between the pins of an electrical connector and their functions. The configuration pinout of the spring contacts depends on the pin assignment standard on which the peripheral is based. Examples of pin assignment standards include RS-232 interface, serial peripheral interface (SPI), general purpose interface (GPI) and the like.
The memory may be provided with in the peripheral for the express purpose of storing the spring contact pinout configuration. Alternatively, if the peripheral already includes memory, then a portion the already included memory may be used to store the pinout configuration.
The peripheral is further configured to initialize connection to the handheld computer via at least one spring contact and its corresponding connector pad 302 using the predefined communication protocol.
Accordingly, in operation, once the peripheral device is connected to the mobile computer 100, the 1-Wire communication protocol is used to transmit the spring contact pinout configuration from the peripheral to the mobile computer 100. The mobile computer 100 assigns the pinout configuration to the corresponding connector plates 302, thus allowing the peripheral to communicate with the mobile computer 100 using the predefined pinout configuration.
Thus it will be appreciated by a person of ordinary skill in the art that the pad interface 110 provides the ability for a single port to be shared amongst a plurality of different peripherals, even though the peripherals may have different pinout configurations.
Although the previous embodiment teaches the microprocessor 238 as the device controlling the communication with the peripheral, other devices may control the communication instead. For example, a generic input/output controller or a specific pad connector controller may be provided.
Further, although the previous embodiment is described with specific reference to a pad interface 110, other type of connectors, either known or proprietary, can be used. For example, traditional interface ports such as D-sub connectors can be used. In general, the type of connector itself is less relevant than the fact that is has a predefined configuration and a sufficient number of pins to accommodate the desired communication protocols.
Yet further, although the previous embodiments are described with specific reference to a mobile computer, the invention could be implemented on other computing devices that connect to peripherals, such as notebook computers, desktop computers and the like.
Yet further, the previous embodiments recite a peripheral that includes memory for storing a pinout configuration of its pins. The pinout configuration is communicated to the mobile computer 100, which assigns the pinout to the connector accordingly. In an alternate embodiment, the peripheral includes memory for storing an identifier. The identifier is communicated to the mobile computer 100. The mobile computer 100 includes a information in the persistent store 224 correlating different pinout configurations with corresponding identifiers. Accordingly, the mobile computer 100 retrieves a pinout based on the identifier received from the peripheral device and assigns the pinout configuration to the corresponding connector plates 302.
Therefore, although the invention has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the scope of the invention as defined by the appended claims.