BACKGROUND OF THE INVENTION
A pulse oximeter is a physiological instrument that provides noninvasive measurements of arterial oxygen saturation along with pulse rate. To make these measurements, a pulse oximeter performs a spectral analysis of the pulsatile component of arterial blood so as to determine the relative concentration of oxygenated hemoglobin, the major oxygen carrying constituent of blood. Pulse oximeters provide early detection of decreases in the arterial oxygen supply, reducing the risk of accidental death and injury. As a result, these instruments have gained rapid acceptance in a wide variety of medical applications, including surgical wards, intensive care units, general wards and home care.
FIG. 1 illustrates a pulse oximetry system 100 having a sensor 110 and a monitor 120. The monitor 120 may be a multi-parameter patient monitor or a standalone, portable or handheld pulse oximeter. Further, the monitor 120 may be a pulse oximeter 200, such as an OEM printed circuit board (PCB), integrated with a host instrument including a host processor 122, as shown. The sensor 110 attaches to a patient and receives drive current from, and provides physiological signals to, the pulse oximeter 200. An external computer (PC) 130 may be used to communicate with the pulse oximeter 200 via the host processor 122. In particular, the PC 130 can be used to download firmware updates to the pulse oximeter 200 via the host processor 122, as described below.
FIG. 2 illustrates further detail of the pulse oximetry system 100. The sensor 110 has emitters 112 and a detector 114. The emitters 112 typically consist of a red light emitting diode (LED) and an infrared LED that project light through blood vessels and capillaries underneath a tissue site, such as a fingernail bed. The detector 114 is typically a photodiode positioned opposite the LEDs so as to detect the emitted light as it emerges from the tissue site. A pulse oximetry sensor is described in U.S. Pat. No. 6,088,607 entitled “Low Noise Optical Probe,” which is assigned to Masimo Corporation, Irvine, Calif. and incorporated by reference herein.
As shown in FIG. 2, the pulse oximeter 200 has a preamp 220, signal conditioning 230, an analog-to-digital converter (ADC) 240, a digital signal processor (DSP) 250, a drive controller 260 and LED drivers 270. The drivers 270 alternately activate the emitters 112 as determined by the controller 260. The preamp 220, signal conditioning 230 and ADC 240 provide an analog front-end that amplifies, filters and digitizes the current generated by the detector 114, which is proportional to the intensity of the light detected after tissue absorption in response to the emitters 112. The DSP 250 inputs the digitized, conditioned detector signal 242 and determines oxygen saturation, which is based upon the differential absorption by arterial blood of the two wavelengths projected by the emitters 112. Specifically, a ratio of detected red and infrared intensities is calculated by the DSP 250, and arterial oxygen saturation values are empirically determined based upon the ratio obtained. Oxygen saturation and calculated pulse rate values are communicated to the host processor 122 for display by the monitor 120 (FIG. 1). A pulse oximeter is described in U.S. Pat. No. 6,236,872 entitled “Signal Processing Apparatus,” which is assigned to Masimo Corporation, Irvine, Calif. and incorporated by reference herein.
Further shown in FIG. 2, the pulse oximeter 200 has a sensor port 210 and a communications port 280. The sensor port 210 includes a connector and associated input and output signals and provides an analog connection to the sensor 110. In particular, the sensor port 210 transmits a drive signal 212 to the LED emitters 112 from the LED drivers 270 and receives a physiological signal 214 from the photodiode detector 114 in response to the LED emitters 112, as described above. The communication port 280 also includes a connector and associated input and output signals and provides a bi-directional communication path 282 between the pulse oximeter 200 and the host processor 122. The communication path 282 allows the DSP 250 to transmit oxygen saturation and pulse rate values to the monitor 120 (FIG. 1), as described above. The communication path 282 also allows the DSP firmware to be updated, as described below.
Additionally shown in FIG. 2, the pulse oximeter 200 has a micro-controller 290 and a flash memory 255. The flash memory 255 holds the stored program or firmware that executes on the DSP 250 to compute oxygen saturation and pulse rate. The micro-controller 290 controls data transfers between the DSP 250 and the host processor 122. In particular, to update the DSP firmware, the firmware is uploaded into the PC 130 (FIG. 1), which downloads the firmware to the host processor 122. In turn, the host processor 122 downloads the firmware to the micro-controller 290, which downloads it to the DSP 250. Finally, the DSP 250 writes the firmware to the flash memory 255.
SUMMARY OF THE INVENTION
To update the firmware in a pulse oximeter, particularly firmware on an OEM PCB integrated into a host instrument, requires a circuitous path using multiple protocols and multiple processors developed by different companies. Some of the protocols and processor interfaces are non-standard, requiring custom programming for different instruments. This is particularly problematic when the instruments are part of an installed base at various medical facilities. Further, some pulse oximeter products, such as handheld products, may not have a communications port for connecting to an external computer, and firmware upgrades would typically require returning the instrument to the factory.
Every pulse oximeter has a sensor port, which provides access to a DSP via one or more signal paths. Therefore, it is desirable to utilize a sensor port for downloading pulse oximetry firmware to the DSP. It is also desirable to provide this sensor port capability in existing instruments without hardware modification. Utilizing a sensor port in this manner would alleviate an instrument manufacturer from having to provide download communication capability between a host processor and an OEM PCB and would allow easy field upgrades of all instruments, including handhelds.
One aspect of a multipurpose sensor port is a physiological measurement method comprising a sensor port adapted to connect with an analog sensor, and a digital data source connected to the sensor port. An identifier associated with said data source is read, where the identifier is indicative that the data source is connected to the sensor port in lieu of the analog sensor. Digital data is then received over the sensor port. In one embodiment, the digital data is compiled in a signal processor. Where the digital data are instructions executable by the signal processor, the data may then be written from the signal processor into a firmware memory. The instructions may be uploaded to a PC, which is attached to a PC interface that is attached to the sensor port. Alternatively, the instructions are stored into a nonvolatile memory that is in communications with the sensor port. In another embodiment, the digital data is processed as a physiological signal.
Another aspect of a multipurpose sensor port is a physiological measurement system having a sensor port adapted to connect to a sensor and a data source. A reader is configured to identify which of the sensor and the data source is connected to the sensor port. A data path is configured to communicate an analog signal associated with the sensor and digital data associated with the data source to a signal processor according to the reader. In one embodiment, a firmware memory is configured to provide instructions to the signal processor. The signal processor is programmed to download the instructions from the data source and store the instructions in the memory. The instructions are executable by the signal processor so as to extract a physiological measurement from the analog signal. The data source may be a PC interfaced to the sensor port, where the instructions are uploaded to the PC. Alternatively, the data source is a nonvolatile memory adapted to communicate with the sensor port, where the instructions being stored in a nonvolatile memory.
In another embodiment, a first physiological measurement is derivable by the signal processor from the analog signal, and a second physiological measurement is derivable by the signal processor from the digital data. In yet another embodiment, a drive path is configured to communicate stored data associated with a physiological measurement to a digital device connected to the sensor port. The stored data may be trend data and/or log data maintained in memory that can be accessed by the signal processor. In a further embodiment, a drive path is configured to communicate acknowledgement data in conjunction with the communication of the digital data.
Yet another aspect of a multipurpose sensor port is a physiological measurement method where a drive path is provided that is adapted to activate emitters so as to transmit optical radiation through a fleshy medium having flowing blood. A signal path is provided that is adapted to communicate a detector response to the optical radiation after attenuation by the fleshy medium, where the response is indicative of optical characteristics of the flowing blood. Output digital data is transmitted over at least a portion of the drive path. In one embodiment, the output digital data is read from a memory having trend data and/or log data. In another embodiment, input digital data is received over at least a portion of the signal path, and receipt of that input digital data is acknowledged with the output digital data. In a particular embodiment, the input digital data is stored for use as signal processing instructions.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a general block diagram of a prior art pulse oximeter system utilizing an OEM printed circuit board (PCB);
FIG. 2 is a detailed block diagram of a prior art pulse oximeter system;
FIGS. 3A-D are general block diagrams of a multipurpose sensor port connected to an analog sensor, a digital data source, or both;
FIG. 4 is a general block diagram of a multipurpose sensor port having various digital data source inputs;
FIG. 5 is a block diagram of a multipurpose sensor port configured to download pulse oximeter firmware;
FIG. 6 is a DSP firmware memory map;
FIG. 7 is a detailed block diagram of a multipurpose sensor port embodiment and associated signal and data paths;
FIG. 8 is a flowchart of a digital data receiver routine; and
FIGS. 9A-B is a schematic of a RS232 interface for a multipurpose sensor port.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Overview
FIGS. 3A-B illustrate a pulse oximeter 300 having a multipurpose sensor port 301 connected to an analog sensor 310 and a digital data source 320, respectively. As shown in FIG. 3A, if the pulse oximeter 300 determines that an analog sensor 310 is attached to the multipurpose sensor port 301, the multipurpose sensor port 301 is operated in an analog mode and functions as a typical sensor port, described above. As shown in FIG. 3B, if the pulse oximeter 300 determines that a digital data source 320 is attached to the multipurpose sensor port 301, the multipurpose sensor port 301 is operated in a digital mode and functions as a digital communications device. The data source 320 may connect to a sensor port interface 330 which, in turn, connects to the sensor port 301. The sensor port interface 330 may be used, for example, to present a standard communications interface, such as RS-232, to the data source 320. In one embodiment, when the pulse oximeter 300 is powered up, it reads an information element or other means of identification (ID) for the device connected to the sensor port 301. The ID identifies the device as either an analog sensor 310 or a data source 320. A sensor information element is described in U.S. Pat. No. 6,397,091 entitled “Manual and Automatic Probe Calibration,” which is assigned to Masimo Corporation, Irvine, Calif. and incorporated by reference herein.
FIG. 3C illustrates a sensor port embodiment where a resistor value is a device ID. A resistor 303 is located in a device 302, which includes a sensor 310 (FIG. 3A), data source 320 (FIG. 3B) or interface 330 (FIG. 3B). The sensor port 301 has a reader 304 that measures the resistor value. The reader 304 includes a voltage source 305 and a current measurement device 307, such as a current-to-voltage converter. The voltage source 305 has a known voltage, which is applied to the resistor 303 when the device 302 is connected to the sensor port 301. The current measurement device 307 senses the magnitude of the resulting current flowing through the resistor 303 so as to determine the resistor value and, hence, the device ID.
FIG. 3D illustrates a pulse oximeter 300 having an analog sensor 310, a digital data source 320 and a switch 360 connected to a multipurpose sensor port 301. If the pulse oximeter 300 reads an ID that identifies mixed analog and digital, then the multipurpose sensor port 301 functions to transfer either an analog signal or digital data, as determined by the switch 360. The state of the switch 360 may be determined by the data source 320, the pulse oximeter 300 or both. In one embodiment, the pulse oximeter 300 transmits an identifiable waveform over an LED drive path 510 (FIG. 5) that is recognized by the switch 360 as a change state command. In this manner, the pulse oximeter 300 may occasionally receive digital data from, or transmit digital data to, the data source 320.
Applications
FIG. 4 illustrates various digital data source 320 and sensor port interfaces 330 that connect to a multipurpose sensor port 301. In one application, a preprogrammed module 405 connects directly to the sensor port 301. The module 405 has nonvolatile memory preprogrammed with, for example, upgrade firmware for the pulse oximeter 300. The module 405 also has the associated electronics to readout the memory data and communicate that data to the sensor port 301. In particular, the module 405 provides mechanical, signal level, and communication protocol compliance with the sensor port 301.
As shown in FIG. 4, in another application, a PC 410 connects to the sensor port 301 via a PC interface 450. For example, the PC 410 can be used to download firmware to the pulse oximeter 300, as described with respect to FIG. 5, below. As another example, the PC 410 can be used to upload information from the pulse oximeter 300, as described with respect to FIG. 6, below. In one embodiment, the PC interface 450 provides mechanical and signal level compliance with RS-232 on the PC side and mechanical and signal level compliance with the sensor port 301 on the pulse oximeter side, as described with respect to FIGS. 9A-B, below.
Also shown in FIG. 4, a physiological sensor 420 other than a conventional pulse oximeter sensor is attached to the multipurpose sensor port 301. A physiological sensor interface 460 drives the physiological sensor 420 and generates raw digital data to the sensor port 301. In this manner, a pulse oximeter 300 can be advantageously extended to provide physiological measurements in addition to oxygen saturation and pulse rate.
Further shown in FIG. 4, a wireless data device 430 is attached to the multipurpose sensor port 301 via a wireless interface 470. In this manner, the pulse oximeter can be advantageously extended to wireless data I/O and wireless networks. In one embodiment, the wireless interface 470 provides mechanical and signal level compliance with a wireless standard, such as IEEE-802.11, on one side and mechanical and signal level compliance with the sensor port 301 on the pulse oximeter side.
Additionally shown in FIG. 4, networked digital I/O devices 440 are attached to the multipurpose sensor port 301 via a network interface 480. In one embodiment, the network interface 480 provides mechanical and signal level compliance with a network standard, such as Ethernet, on one side and mechanical and signal level compliance with the sensor port 301 on the pulse oximeter side.
Firmware Upgrade Port
FIG. 5 illustrates a multipurpose sensor port 301 configured to download pulse oximeter firmware 501. The firmware 501 is uploaded to a PC 410 and downloaded over a standard communications bus 503 to a target pulse oximeter 300. The standard bus 503 may be, for example, RS-232, IEEE-488, SCSI, IEEE-1394 (FireWire), and USB, to name just a few. A PC interface 450 translates the signal levels on the sensor port 301 to the signal levels of the standard bus 503, and vice-a-versa. In particular, an output signal on the standard bus 503 is translated to a sensor port input signal 522, and a sensor port output signal 512 is translated to an input signal on the standard bus 503.
As shown in FIG. 5, the pulse oximeter 300 has a detector signal path 520, a DSP 530, a flash memory 540 or other nonvolatile memory and a LED drive path 510, such as described with respect to FIG. 2, above. Data transmitted from the PC 410 is carried on the sensor port input 522, over the detector signal path 520 to the DSP 530, which loads the data into a flash memory 540. Acknowledgement data is transmitted from the DSP 530, over the LED drive path 510, and is carried on the sensor port output 512.
FIG. 6 illustrates a memory map 600 for the DSP flash memory 540 (FIG. 5). The memory map 600 illustrates partitions for DSP executable instructions such as boot firmware 610, signal processing firmware 620 and sensor port communications firmware 630 in addition to application data 640. The boot firmware 610 executes upon DSP power-up. The boot firmware 610 initializes the DSP and loads either the signal processing firmware 620 or the communications firmware 630 into DSP program memory, depending on the device ID, as described with respect to FIGS. 3A-D, above. The signal processing firmware 620 contains the oxygen saturation and pulse rate measurement algorithms, referred to with respect to FIGS. 1-2, above. The communications firmware 630 contains communications protocol algorithms, such as described with respect to FIG. 8, below. After completing its task of downloading firmware and/or uploading the applications data 640, the communications firmware 630 loads the signal processing firmware 620 so that the DSP can perform pulse oximetry measurements.
Also shown in FIG. 6, the application data 640 includes trend data 632, operational logs 634 and manufacturer's logs 638, which can be advantageously uploaded to a PC 410 (FIG. 5) or other digital device connected to the sensor port 301 (FIG. 5). Trend data 632 contains oxygen saturation and pulse rate measurement history. Operational logs 634 contain, for example, failure codes and event information. Failure codes indicate, for example, pulse oximeter board failures and host failures. Event information includes alarm data, such as the occurrence of probe off and low saturation events. Manufacturer's logs 638 contains, for example, service information.
FIG. 7 illustrates a multipurpose sensor port embodiment 301 incorporating an LED drive path 510, a detector signal path 520 and a DSP 530, which function generally as described with respect to FIG. 5, above. The LED drive path 510 has a shift register 710, a red LED drive 720 and an IR LED drive 730. The shift register 710 has a data input 712, a red control output 714 and an IR control output 718. The DSP 530 provides serial control data on the shift register input 712 that is latched to the shift register outputs 714, 718 so as to turn on and off the LED drives 720, 730 according to a predetermined sequence of red on, IR on and dark periods. The detector signal path 520 has a preamp 740, signal conditioning 750 and an ADC 760 that perform amplification, filtering and digitization of the detector signal 522. The detector signal path 520 also has a comparator 770 that compares the preamp output 742 to a fixed voltage level and provides an interrupt output 774 to the DSP 530 accordingly. The comparator 770 allows the DSP to control the preamp voltage as a function of the level of the preamp signal output 742, as described in U.S. patent application Ser. No. 10/351,961 entitled “Power Supply Rail Controller,” filed Jan. 24, 2003, which is assigned to Masimo Corporation, Irvine, Calif. and incorporated by reference herein. Advantageously, the comparator signal path also allows the DSP to accept serial digital data, as described with respect to FIG. 8, below.
FIG. 8 illustrates a serial data receiver 800 embodiment of one aspect of the communications firmware 630 (FIG. 6). The data receiver 800 utilizes the detector signal path 520 (FIG. 7) described above. A DSP internal timer is initialized to generate an interrupt at the incoming data baud rate. The timer interrupt periodically starts the data receiver 800 to determine and store a single bit. The data receiver 800 polls the status of the DSP interrupt input 774 (FIG. 7), which is initialized to be level-sensitive and disabled. Thus, whenever the comparator 770 (FIG. 7) is triggered, it will latch into a DSP interrupt pending register but will not generate an interrupt event. The timer service routine 800 polls the interrupt pending register 820. The pending register value is determined 830. If the value is a “1,” then a zero bit has been received 840, else a one bit has been received 850. The received bit is stored 860 and the timer reset 870.
FIGS. 9A-B illustrate an RS-232 PC interface embodiment 450 having an RS-232 connector 910, a sensor connector 920, a voltage regulator 930 and a transceiver 940. The voltage regulator 930 draws power from either the RS-232 910 RTS (request to send) or DTR (data terminal ready) signal lines and provides regulated VCC power to transceiver 940. The transceiver 940 operates on either of the sensor 920 red or IR drive signal lines to generate an RS-232 910 RXD (receive data) signal. The transceiver 940 further operates on the RS-232 TXD (transmit data) signal line to generate a sensor 920 detector signal.
A multipurpose sensor port has been disclosed in detail in connection with various embodiments. These embodiments are disclosed by way of examples only and are not to limit the scope of the claims that follow. One of ordinary skill in the art will appreciate many variations and modifications.