Interfacing the MAX1169 ADC to a PIC Microcontroller
This application note consists of an example application circuit and software using the PIC18F442. The software contains function calls to interface the MAX1169 to the PIC using the internal MSSP I²C port at 400kHz. Since other microcontrollers have similar on-chip peripherals, the example I²C communication routines provided were purposely broken down into single I²C function calls so that the code can be quickly implemented with other microcontrollers. Table 1 shows the single I²C compatible function calls used in the assembly program example.
The application circuit uses the MAX1169EVKIT, which consists of the MAX1169, an input buffer (MAX4430) and a proven PCB layout. The PIC and RS-232 transceiver IC (MAX3232) are not present on the MAX1169EVKIT. The SCL and SDA pads on the MAX1169EVKIT allow an easy connection for the I²C compatible serial interface. Install 1.5kΩ pull-up resistors on R3 and R4 for 400kHz I²C operation.
The pinout of the MAX1169 allows easy isolation of the analog section from the digital section. The analog section is grouped together on pins 8-13 on the right side of the IC and the digital section is located on pins 1-7 on the left side of the IC. Pin 14 is also part of the digital section but can be easily grouped with the left side of the IC. For optimum performance it is recommended to use separate analog and digital supplies as shown in the schematic in Figure 1.
Figure 1. MAX1169 application schematic.
Separate the analog and digital grounds as shown in Figure 2. Connect both ground planes near the MAX1169 through a ferrite bead. Using a ferrite bead such as the TDK MMZ1608B601C to connect both grounds prevents the microcontroller's system clock and its harmonics from feeding into the analog ground. The MMZ1608B601C was chosen for its specific impedance versus frequency characteristics knowing the system clock of the PIC18F442 is 40MHz. Figure 3 shows the impedance versus frequency curve for the MMZ1608B601C.
Figure 2. Separating the analog and digital grounds.
Figure 3. Impedance versus frequency curve for the TDK MMZ1608B601C ferrite bead.
The example assembly program reads continuous conversions from the MAX1169 16-bit ADC to the PIC at a 2-Wire interface frequency of 400kHz. Once the digitized analog voltage representation of the data is received by the PIC, it is immediately transmitted out by a software UART at 115kbps. The RS-232 transceiver allows the data to be captured by a personal computer with a standard serial port.
Table 1. Single I²C compatible function calls.
|Single I²C compatible function calls||Description|
|HWI²C_start||Performs an I²C compatible start condition.|
|HWI²C_repeatedStart||Performs an I²C compatible repeated start condition.|
|HWI²C_W_slaveAddr||Performs all I²C compatible write operations including the initial slave address write frame.|
|HWI²C_readMore_W||Performs an I²C compatible read operation with Master ACK.|
|HWI²C_readLast_W||Performs an I²C compatible read operation with Master NACK.|
|HWI²C_stop||Performs an I²C compatible stop condition.|
Download an assembly example program that interfaces the MAX1169 to the PIC18F442's internal MSSP I²C peripheral.