Abstract: This application note provides an example of interfacing an A/D converter to a PC using a standard serial port. The CS lines and SCLK lines are emulated by the RTS and DTR lines respectively. Conversion data appears on the data-set-ready (DSR) line. Example C code is given to demostrate the application circuit.
The circuit shown in Figure 1 performs a task usually carried out by a microcontroller—that of driving a 12-bit A/D converter (ADC) from the serial port of a PC. Power consumption is low: The 2mA operating current drops to only 15μA in shutdown.
Figure 1. This micropower circuit enables a PC's RS-232 serial port to control a 12-bit A/D converter (IC3).
Interface to the PC is an RS-232 port rather than the transmitter/receiver lines of a UART. The port's request-to-send (RTS) line provides a chip-select signal, and its data-terminal-ready (DTR) line provides a synchronous-clock signal. A single-supply RS-232 interface chip (IC1) converts these signals from RS-232 levels to CMOS-logic levels (and inverts them in the process). Conversion data appears on the data-set-ready (DSR) line.
IC3 is an 8-pin DIP that includes a 12-bit ADC, voltage reference, track/hold, serial interface, and clock generator, plus a 3-wire digital interface consisting of chip select (active-low CS), serial clock (SCLK), and data out (DOUT). Conversions are initiated by a high-to-low transition on active-low CS and take less than 8.5μs. The end of conversion, indicated by a high level on DOUT, leaves the 12-bit result stored in the converter's output shift register. The PC reads this result by clocking DTR while sampling DSR 12 times.
As a low-power version of the venerable (10mA) MAX232, the MAX220 draws only 0.5mA. If power is not a concern, either device is suitable for level-shifting the converter's SCLK, DOUT, and active-low CS signals to RS-232 levels. Power is supplied by a 9V battery via the linear regulator (IC2), whose output capacity is 40mA. This circuit draws only 2mA, so the extra capacity is available for powering an external sensor or amplifier.
When DTR is high, Q1 turns on and allows the circuit to operate normally. Charge on C3 allows Q1 to remain on during DTR's brief negative clock pulses. When DTR goes low for more than 100ms, C3 discharges and turns Q1 off, allowing IC2 to enter shutdown. For that condition, the circuit's supply current is essentially that of IC2—15μA maximum and 5μA typical.
The circuit is controlled by a simple C routine on the PC (download EJ22 Listing ZIP file). The code drives DTR high to wake the converter and then starts a conversion, waits for completion, clocks out the data, displays the data, and puts the circuit back to sleep. You can then quit by pressing "Q" or trigger another conversion by pressing any key. The software is easily modified for particular applications.
Figure 2. Timing relationships for Figure 1.
The circuit shown in Figure 1 performs a task usually carried out by a microcontroller—that of driving a 12-bit A/D converter (ADC) from the serial port of a PC. Power consumption is low: The 2mA operating current drops to only 15μA in shutdown.
Figure 1. This micropower circuit enables a PC's RS-232 serial port to control a 12-bit A/D converter (IC3).
Interface to the PC is an RS-232 port rather than the transmitter/receiver lines of a UART. The port's request-to-send (RTS) line provides a chip-select signal, and its data-terminal-ready (DTR) line provides a synchronous-clock signal. A single-supply RS-232 interface chip (IC1) converts these signals from RS-232 levels to CMOS-logic levels (and inverts them in the process). Conversion data appears on the data-set-ready (DSR) line.
IC3 is an 8-pin DIP that includes a 12-bit ADC, voltage reference, track/hold, serial interface, and clock generator, plus a 3-wire digital interface consisting of chip select (active-low CS), serial clock (SCLK), and data out (DOUT). Conversions are initiated by a high-to-low transition on active-low CS and take less than 8.5μs. The end of conversion, indicated by a high level on DOUT, leaves the 12-bit result stored in the converter's output shift register. The PC reads this result by clocking DTR while sampling DSR 12 times.
As a low-power version of the venerable (10mA) MAX232, the MAX220 draws only 0.5mA. If power is not a concern, either device is suitable for level-shifting the converter's SCLK, DOUT, and active-low CS signals to RS-232 levels. Power is supplied by a 9V battery via the linear regulator (IC2), whose output capacity is 40mA. This circuit draws only 2mA, so the extra capacity is available for powering an external sensor or amplifier.
When DTR is high, Q1 turns on and allows the circuit to operate normally. Charge on C3 allows Q1 to remain on during DTR's brief negative clock pulses. When DTR goes low for more than 100ms, C3 discharges and turns Q1 off, allowing IC2 to enter shutdown. For that condition, the circuit's supply current is essentially that of IC2—15μA maximum and 5μA typical.
The circuit is controlled by a simple C routine on the PC (download EJ22 Listing ZIP file). The code drives DTR high to wake the converter and then starts a conversion, waits for completion, clocks out the data, displays the data, and puts the circuit back to sleep. You can then quit by pressing "Q" or trigger another conversion by pressing any key. The software is easily modified for particular applications.
Figure 2. Timing relationships for Figure 1.
評論
查看更多