Part Number Hot Search : 
TE28F CXD117 16F20C3 C475M9RA 1N6016A 15KPA45A TOP245R 2M100
Product Description
Full Text Search
 

To Download MAX1499EVKIT Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 19-3400; Rev 0; 8/04
MAX1499 Evaluation Kit/MAX1499 Evaluation System
General Description
The MAX1499 evaluation system (EV system) consists of a MAX1499 evaluation kit (EV kit) and a Maxim 68HC16MODULE-DIP microcontroller (C) module. The MAX1499 is a low-power, 4.5-digit analog-to-digital converter (ADC) with integrated LED display drivers. The evaluation software runs under Windows (R) 95/98/2000/XP, providing a convenient user interface for exercising the features of the MAX1499. Order the complete EV system (MAX1499EVC16) for a comprehensive evaluation of the MAX1499 using a personal computer. Order the EV kit (MAX1499EVKIT) if the 68HC16MODULE has already been purchased with a previous Maxim EV system, or for custom use in other C-based systems. This system can also evaluate the MAX1498ECJ. Contact factory for free samples. See the Detailed Description of Hardware section for more details. Proven PC Board Layout Complete Evaluation System Convenient On-Board Test Points Data-Logging Software Fully Assembled and Tested
Features
Evaluate: MAX1498/MAX1499
Ordering Information
PART MAX1499EVKIT MAX1499EVC16 TEMP RANGE 0C to +70C 0C to +70C INTERFACE TYPE User supplied Windows software
MAX1499 Stand-Alone EV Kit
The MAX1499 EV kit provides a proven PC board layout to facilitate evaluation of the MAX1499. It must be interfaced to appropriate timing signals for proper operation. Connect 6V to 26VDC and ground return to terminal block TB1 (see Figure 7). Refer to the MAX1499 data sheet for timing requirements.
Note: The MAX1499 evaluation software is designed for use with the complete evaluation system MAX1499EVC16 (includes 68HC16MODULE-DIP module together with MAX1499EVKIT). If the MAX1499 evaluation software will not be used, the MAX1499EVKIT board can be purchased by itself, without the C.
MAX1499EVC16 System Component List
PART MAX1499EVKIT 68HC16MODULE-DIP QTY 1 1 DESCRIPTION MAX1499 EV kit 68HC16 C module
MAX1499 EV System
The MAX1499 EV system operates from a user-supplied 7VDC to 20VDC power supply. The evaluation software runs under Windows 95/98/2000/XP on a PC, interfacing to the EV system board through the computer's serial communications port. See the Quick Start section for setup and operating instructions.
MAX1499 EV Kit Component List
DESIGNATION AIN+, AIN-, REF+, REFQTY 4 DESCRIPTION Noninsulated banana jacks Mouser 530-108-0740-1 10F 20%, 10V X7R ceramic capacitors (1210) TDK C3225X7R1C106M Taiyo Yuden LMK325BJ106MN 0.1F 20%, 16V X7R ceramic capacitors (0603) TDK C1608X7R1C104K Taiyo Yuden EMK107BJ104MA DESIGNATION C6 QTY 1 DESCRIPTION 4.7F 10%, 16V X7R ceramic capacitor (1206) TDK C3216X7R1C475K BNC 50 PC board vertical mount A/D Electronics 580-002-00 Bicolor seven-segment LED displays, common cathode (DIP-10-0.600in) Kingbright Corporation SBC56-21EGWA 2 x 20 right-angle socket
C1, C2, C11
3
CLK
1
DIG0-DIG4
5
C3, C4, C5, C7-C10, C12
8
J1
1
Windows is a registered trademark of Microsoft Corp. ________________________________________________________________ Maxim Integrated Products 1
For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at 1-888-629-4642, or visit Maxim's website at www.maxim-ic.com.
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
MAX1499 EV Kit Component List (continued)
REFERENCE JU10-JU14 JU1-JU9 R1 R2, R12 R3-R7 R8, R9 R10 R11 R13, R14 TB1 TP1-TP4 U1 U2 U3, U4 U5 -- -- QTY 5 9 1 2 5 0 1 1 2 1 4 1 1 2 1 1 13 3 pins 2 pins 133k 1% resistor (1206) 100k 1% resistors (1206) 1k 5% resistors (1206) Do not install--shorted trace on PC board (1206) 500k potentiometer 24k 5% resistor (1206) 10 5% resistors (1206) 0.200in two-circuit screw terminal block 8 pins MAX1499ECJ MAX1659ESA MAX1840EUB or MAX1841EUB MAX6062AEUR-T, FZFY PC board, MAX1499 EV kit Shunts DESCRIPTION
Procedure
Do not turn on the power until all connections are made. 1) Ensure that JU1-JU8 and JU10-JU14 have shunts installed, and that JU9 is open. See the jumper settings in Table 2. 2) Carefully connect the boards by aligning the 40-pin header of the MAX1499 EV kit with the 40-pin connector of the 68HC16MODULE-DIP module. Gently press them together. The two boards should be flush against one another. 3) Connect a +7VDC to +20VDC power source to the C module at the terminal block located next to the on/off switch, along the top edge of the C module. Observe the polarity marked on the board. 4) Connect a cable from the computer's serial port to the C module. If using a 9-pin serial port, use a straight-through, 9-pin female-to-male cable. If the only available serial port uses a 25-pin connector, a standard 25-pin to 9-pin adapter is required. The EV kit software checks the modem status lines (CTS, DSR, and DCD) to confirm that the correct port has been selected. 5) Install the evaluation software on your computer by running the INSTALL.EXE program on the disk. The program files are copied and icons are created for them in the Windows Start menu. 6) Turn on the power supply. 7) Start the MAX1499 program by opening its icon in the Start menu. 8) The program will prompt you to connect the C module and to turn its power on. Slide SW1 to the ON position. Select the correct serial port, and click OK. The program automatically downloads its software to the module.
Quick Start
Required Equipment
Before you begin, you need the following equipment: * MAX1499EVC16 (contains MAX1499EVKIT board and 68HC16MODULE-DIP) * DC power supply, +7VDC to +20VDC at 0.5A * Windows 95/98/2000/XP computer with an available serial (COM) port * 9-pin I/O extension cable
Component Suppliers
SUPPLIER Kingbright Corporation Taiyo Yuden TDK PHONE 909-468-0500 (ext 126) 800-348-2496 847-803-6100 FAX 909-468-0505 847-925-0899 847-390-4405 WEBSITE www.kingbright.com www.t-yuden.com www.component.tdk.com
Note: Indicate you are using the MAX1499 when contacting these component suppliers.
2
_______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System
9) Apply an input signal in the range -2V to +2V between AIN+ and AIN-. Observe the readout on the screen. 10) To view a graph of the measurements, pull down the View menu and click Graph. RESULT1, ADC RESULT2, and PEAK RESULT, which are read only. Reading the ADC RESULT1 or ADC RESULT2 register automatically updates the LED display, regardless of the seg_sel control register setting. Writing to the ADC OFFSET register affects ADC RESULT1 and ADC RESULT2, regardless of the offset_cal1 control register setting.
Evaluate: MAX1498/MAX1499
Detailed Description of Software
Measurement
The Measurement tab of the evaluation software mimics the behavior of a digital voltmeter (DVM). The status bits are polled approximately once per second. Whenever the Data status bit is one, the ADC result register is read and displayed as Analog Input Code. The MAX1499 also displays the result on its own LED display. The EV kit is not a complete DVM. Additional input scaling and protection circuitry might be required. Whenever the Measurement tab is activated, the software offers to clear the spi/adc and seg_sel control bits to zero if they are not already clear.
LED Segment Registers
The LED Segments tab lets the user turn individual LED segments on and off by clicking them with the mouse. Whenever the LED Segments tab is activated, the software offers to set the seg_sel control bit to one if it is not already set. The Write LED Text button translates a text string into approximate seven-segment characters, and then writes the character patterns to the LED display.
Graph
The evaluation software has two options for graphing data. A graph of recent data can be displayed by selecting the View menu and then Graph. Data can be viewed as a time sequence plot, a histogram plot, or as a table of raw numbers. To control the size and timing of the data runs, activate the sampling tool by clicking the main window's Collect Samples button. Sampled data can be saved to a file in comma-delimited or tab-delimited format. Line numbers and a descriptive header line are optional. Channel zero plots raw 16-bit ADC result data. Channel one plots LED display data, if math processing is enabled. If extended resolution is enabled, channel two plots raw 20-bit ADC result data.
Math Processing
The evaluation software implements several math functions found in physical systems. Whenever the Math tab is activated, the software offers to set the spi/adc control bit to one if it is not already set. The software also offers to clear the seg_sel control bit to zero if it is not already clear. The evaluation software intercepts the ADC result prior to display, calculating a new LED display value whenever the Measurement or Math tab is active and the spi/adc control bit is set to one. Math results are graphed as channel one data, alongside the raw ADC result as channel zero data. The Type K Thermocouple function can be used along with a suitable cold junction connection to convert a type K thermocouple's measured Seebeck voltage into temperature in degrees centigrade. The a0 coefficient 230 represents a cold junction temperature of +23C.
Diagnostics Window
The diagnostics window is used for factory testing prior to shipping the evaluation kit. It is not intended for customer use.
Control Register
The Control Register tab provides access to all control register bits. Drop down the appropriate combo-box and then click write.
Detailed Description of Hardware
The MAX1499 device under test (U1) is a low-power, 4.5-digit ADC with integrated LED display drivers. The MAX6062 (U5) provides on-board 2.048V reference voltage. See the MAX1499 EV kit schematic in Figure 7 and refer to the MAX1499 data sheet. The EV kit includes a MAX1659 high-current 5V linear regulator (U2) and a set of MAX1840/MAX1841 level shifters (U3 and U4) to support the use of 3V logic.
3
Limit Registers, ADC Offset, ADC Result, LED Display, and Peak
The Results, Displays, Limits tab provides access to the two's-complement data registers. Each register has a read button and a write button, except for ADC
_______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Table 1. Graph Tool Buttons
TOOL FUNCTION Show the entire available input range. TOOL FUNCTION Show sum of the samples in tabular view. Show sum of the squares of the samples in tabular view. Show arithmetic mean in tabular view:

Expand the graph data to fill the window. Move the view left or right. Move the view up or down. Expand or contract the x-axis. Expand or contract the y-axis. Load data from a file. Save data to a file. Option to write a header line when saving data. Option to write line numbers when saving data. View code vs. time plot. View histogram plot (cumulative frequency of each code). View table. Show minimum in tabular view. Show maximum in tabular view. Show span in tabular view. Span = maximum - minimum. Show number of samples in tabular view.
Mean =
( x ) n
Show standard deviation in tabular view:
S tandard deviation =
n x 2 - x n n (n -1)n
()
2
Show root of the mean of the squares (RMS) in tabular view: x2 RMS = n
()
Channel 0 enable (16-bit ADC result). Channel 1 enable (math result). Channel 2 enable (20-bit ADC result).
4
_______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Table 2. Jumper Functions Table
JUMPER SHUNT POSITION Closed* JU1 Open Closed* Open Closed* JU3 Open Closed* JU4 Open JU5 JU6 JU7 Closed* Open Closed* Open Closed* Open Closed* JU8 Open Closed JU9 Open* JU10- JU14 1-2* 2-3 LED_EN = high; LED displays are enabled. Display color = red. Display color = green. Insert custom filtering between JU4 pins 1 and 2. REF- = GND. REF- must be provided by user. REF+ = 2.048V from U5, MAX6062. REF+ must be provided by user. REF+ is bypassed by C6. C6 is disconnected. GLED return current flows to DVDD. GLED return current flows to external power source. LED_EN = low; LED displays are blanked. Insert custom filtering between JU3 pins 1 and 2. Banana jack AIN- connects to AINinput pin. FUNCTION LED displays are powered by U2. VLED must be supplied by an external power source. VDISP = GND. Apply VDISP voltage at VDISP pad. Banana jack AIN+ connects to AIN+ input pin.
Table 3. Stand-Alone Interface Pin Functions
U1 PIN 8 9 10 11 12 13 30 MAX1499 FUNCTION CLK EOC CS DIN SCLK DOUT LOWBATT MAX1498 FUNCTION INTREF RANGE DPSET1 DPSET2 PEAK HOLD DPON
JU2
Evaluating the MAX1498
The MAX1499EVKIT supports stand-alone operation of the MAX1498; however, the evaluation software cannot be used because there is no C interface. The MAX1498 is the standalone version of the MAX1499. Refer to MAX1498/MAX1499 data sheet. Request a free sample of MAX1498ECJ. 1) The MAX1499EVKIT must be disconnected from the 68HC16MODULE. 2) With power disconnected, replace U1 with the MAX1498. 3) Connect DC power supply at terminal block TB1. 4) Turn on the power supply. The LED display should begin indicating measurement data. After replacing U1 with the MAX1498, some of the pin functions are different. See Table 3.
Example Code
Listings 1 shows the variable declarations needed in the EV kit software. Listing 2 contains the functions used in the EV kit software.
*Asterisk indicates default configuration.
_______________________________________________________________________________________
5
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 1. MAX1499 Evaluation Software--Measurement Tab 6 _______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 2. MAX1499 Evaluation Software--Math Tab
_______________________________________________________________________________________
7
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 3. MAX1499 Evaluation Software--Control Register Tab 8 _______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 4. MAX1499 Evaluation Software--Results, Display, Limits Tab
_______________________________________________________________________________________
9
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 5. MAX1499 Evaluation Software--LED Segments Tab 10 ______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 6. MAX1499 Evaluation Software--Graph
______________________________________________________________________________________
11
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
LOWBATT
C6 4.7F
BANANA +2.048V REF+ BANANA
R1 133k 1% R2 100k 1%
R12 DVDD 100k 1% JU9 SEGDP SEGG SDGF
VLED VLED TP4 2 1 C10 0.1F 25 VLED SEGE 24 1 2 3 4 5 6 7 8 TP3 26 SEGF SEGG
JU7
JU6
REF-
C12 0.1F
8
7
6
5
JU5 DGND C7 0.1F TP1 R8 SHORT R9 SHORT 1 2 C3 0.1F C4 0.1F 1 2 REF+ AIN+
C8 0.1F
32 REF-
31 VNEG
30 LOWBATT
29 LED_EN
4 28 SEGDP
27
AIN+ AIN+ BANANA JU3
3
SEGE SEGD SEGC SEGB SEGA DIG4 DIG3 DIG2
SEGD 23 SEGC 22 U1 SEGB 21 SEGA 20
BANANA AIN-
JU4 AINR11 24k
3
3
AIN-
4 3 2 R10 500k DVDD 7 CLK BNC 2 JU2 1 AVDD 6 5
4 5 6
ISET GND AVDD
MAX1499
DIG4 19 DIG3 18 DIG2 17 DOUT SCLK DIG1 15 7 DIG1 EOC DIN CS GLED 16 8 DIG0 14 6 DIG0
C5 0.1F C9 0.1F
7
DVDD
1
8
8
CLK
9
10
11
12
13
1
2
3
TP2
4 SCLK
EOC
CS
DIN
5 DOUT
JU8
GLED
Figure 7a. MAX1499 EV Kit Schematic (Sheet 1 of 2) 12 ______________________________________________________________________________________
SEGE E DIG0 G KRED A SEGA J1 CONNECTOR NC J1-5 J1-6 J1-1 J1-2 J1-3 J1-4 J1-36 1 +5V 2 DVCC CIN RIN RST J1-31 +5V SHDN GND RST CLK 9 +5V 10 VCC I/O U4 6 7 8 5 GND SHDN RIN U3 VCC CLK 3 4 DATA I/O 9 8 7 6 5 4 R6 1k R4 1k R5 1k CS 10 J1-7 J1-8 R3 1k DIN DVDD SCLK 1 SET GND 8 R14 10 C11 10F 10V U2 R13 10 C2 10F 10V C1 10F 10V OUT 5 4 OUT 7 IN 6 IN 3 IN 2 SHDN DVDD JU1 AVDD SEGB TB1-2 B 6 7 8 VLED DGND TB1-1 9 SEGG TB1 D KGREEN C DP 2 3 4 5
1 F SEGF
10
JU10
DIG0
1 2 3
SEGD
SEGC
SEGDP
SEGE E DIG1 G KRED A SEGA SEGB B 6 7 8 9 SEGG D KGREEN C DP 2 3 4 5
1 F SEGF
10
MAX1659
JU11
DIG1
1 2 3
SEGD
Figure 7b. MAX1499 EV Kit Schematic (Sheet 2 of 2)
MAX1840
1 E DIG2 G KRED A SEGA J1-25 SEGB B 6 7 8 9 SEGG J1-38 D KGREEN C DP F SEGF J1-37 2 3 4 5 10 J1-9 NC J1-10 NC J1-11 NC J1-12 NC J1-13 NC J1-14 NC J1-15 NC J1-16 NC J1-17 NC J1-18 NC J1-19 NC J1-20 NC J1-21 NC J1-22 NC J1-23 DVDD EOC
SEGC
SEGDP
SEGE
JU12
DIG2
1 2 3
SEGD
SEGC
SEGDP
MAX1840
CIN DVCC DATA
SEGE E DIG3 G KRED A SEGA SEGB B 6 7 8 9 SEGG D KGREEN C DP 2 3 4 5
1 F SEGF
10
3 2 1
R7 1k DOUT DVDD
JU13
J1-24 NC J1-35 NC J1-27 NC J1-26 NC J1-29 J1-28 NC NC J1-34 J1-30 NC J1-39 NC J1-32 NC NC J1-40 J1-33
DIG3
1 2 3
SEGD
SEGC
AVDD 1
SEGDP
IN
U5
1 E DIG4 G KRED A B 6 SEGB 7 8 9 SEGG D KGREEN C DP F 2 3 4 5
10 +2.048V 2 OUT
MAX6062
GND
3
JU14
DIG4
1 2 3
SEGC
MAX1499 Evaluation Kit/MAX1499 Evaluation System
Evaluate: MAX1498/MAX1499
______________________________________________________________________________________
SEGDP
13
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 8. MAX1499 EV Kit Component Placement Guide--Component Side 14 ______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 9. MAX1499 EV Kit PC Board Layout--Component Side
______________________________________________________________________________________
15
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
Figure 10. MAX1499 EV Kit PC Board Layout--Solder Side 16 ______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
// Drv1499.h // MAX1499-specific driver. // mku 01/07/2004 // (C) 2004 Maxim Integrated Products // For use with Borland C++ Builder 3.0 //--------------------------------------------------------------------------// Revision history: // 01/07/2004: modify drv 1 4 9 4 driver to become drv1499 // 12/04/2003: fix indentation // 09/15/2003: add double Voltage(void) // 09/12/2003: add SPI_Transfer_After_EOC() // 09/09/2003: add class MAX1499 dependent on external SPI_Interface() // 08/13/2003: preliminary draft of reusable code //--------------------------------------------------------------------------#ifndef drv1499H #define drv1499H //--------------------------------------------------------------------------//--------------------------------------------------------------------------// The following interface protocols must be provided by // the appropriate low-level interface code. // /* SPI interface: ** byte_count = transfer length ** mosi[] = array of master-out, slave-in data bytes ** miso_buf[] = receive buffer for master-in, slave-out data bytes */ extern bool SPI_Transfer(int byte_count, const unsigned __int8 mosi[], unsigned __int8 miso_buf[]); /* SPI interface, with data transfer immediately after EOC is asserted: ** byte_count = transfer length ** mosi[] = array of master-out, slave-in data bytes ** miso_buf[] = receive buffer for master-in, slave-out data bytes */ extern bool SPI_Transfer_After_EOC(int byte_count, const unsigned __int8 mosi[], unsigned __int8 miso_buf[]); //--------------------------------------------------------------------------// Define the bits in the COMMS register. // START R/W RS4 RS3 RS2 RS1 RS0 0 #define MAX1499_COMMS_START 0x80 #define MAX1499_COMMS_RW_MASK 0x40 #define MAX1499_COMMS_RW_WRITE 0x00 #define MAX1499_COMMS_RW_READ 0x40 #define MAX1499_COMMS_RS_MASK 0x3E #define MAX1499_COMMS_RS_00000 0x00 #define MAX1499_COMMS_RS_STATUS 0x00 #define MAX1499_COMMS_RS_00001 0x02 #define MAX1499_COMMS_RS_CONTROL 0x02 #define MAX1499_COMMS_RS_00010 0x04 #define MAX1499_COMMS_RS_OVERRANGE 0x04 #define MAX1499_COMMS_RS_00011 0x06 #define MAX1499_COMMS_RS_UNDERRANGE 0x06 #define MAX1499_COMMS_RS_00100 0x08 #define MAX1499_COMMS_RS_LED_SEG_1 0x08 #define MAX1499_COMMS_RS_00101 0x0A #define MAX1499_COMMS_RS_LED_SEG_2 0x0A #define MAX1499_COMMS_RS_00110 0x0C #define MAX1499_COMMS_RS_LED_SEG_3 0x0C #define MAX1499_COMMS_RS_00111 0x0E #define MAX1499_COMMS_RS_ADC_OFFSET 0x0E #define MAX1499_COMMS_RS_01000 0x10 #define MAX1499_COMMS_RS_ADC_RESULT1 0x10 #define MAX1499_COMMS_RS_01001 0x12 #define MAX1499_COMMS_RS_LED_DATA 0x12 #define MAX1499_COMMS_RS_01010 0x14 #define MAX1499_COMMS_RS_PEAK 0x14 #define MAX1499_COMMS_RS_10100 0x28 #define MAX1499_COMMS_RS_ADC_RESULT2 0x28 //--------------------------------------------------------------------------// Define the bits in the STATUS register. // POL OVR_RNG UNDR_RNG LOW_BATT ADD(data available) 0 0 0
Listing 1 (Sheet 1 of 4) ______________________________________________________________________________________ 17
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
#define #define #define #define #define #define #define MAX1499_STATUS_POL_MASK MAX1499_STATUS_POL_POSITIVE MAX1499_STATUS_POL_NEGATIVE MAX1499_STATUS_OVER_RANGE MAX1499_STATUS_UNDER_RANGE MAX1499_STATUS_LOW_BATTERY MAX1499_STATUS_DATA_READY 0x80 0x00 0x80 0x40 0x20 0x10 0x08
//--------------------------------------------------------------------------// Define the bits in the CONTROL register. // SPI_ADC EXTCLK INTREF DPON DPSET2 DPSET1 PD_DIG PD_ANA // HOLD PEAK RANGE CLR LED OFFSET_CAL1 OFFSET_CAL2 ENABLE #define MAX1499_CONTROL_SPI_ADC 0x8000 #define MAX1499_CONTROL_EXTCLK 0x4000 #define MAX1499_CONTROL_INTREF 0x2000 #define MAX1499_CONTROL_DPMASK 0x1C00 #define MAX1499_CONTROL_DPON 0x1000 #define MAX1499_CONTROL_DPSET2 0x0800 #define MAX1499_CONTROL_DPSET1 0x0400 // (DPSET2 is the LSB and DPSET1 is the MSB) #define MAX1499_CONTROL_DP1ON 0x1000 /* -1888.8 */ #define MAX1499_CONTROL_DP2ON 0x1800 /* -188.88 */ #define MAX1499_CONTROL_DP3ON 0x1400 /* -18.888 */ #define MAX1499_CONTROL_DP4ON 0x1C00 /* -1.8888 */ #define MAX1499_CONTROL_PD_DIG 0x0200 #define MAX1499_CONTROL_PD_ANA 0x0100 #define MAX1499_CONTROL_PD_ALL 0x0300 #define MAX1499_CONTROL_HOLD 0x0080 #define MAX1499_CONTROL_PEAK 0x0040 #define MAX1499_CONTROL_RANGE_200mV 0x0020 #define MAX1499_CONTROL_CLR 0x0010 #define MAX1499_CONTROL_SEG_SEL 0x0008 #define MAX1499_CONTROL_OFFSET_CAL1 0x0004 #define MAX1499_CONTROL_OFFSET_CAL2 0x0002 #define MAX1499_CONTROL_ENABLE 0x0001 //--------------------------------------------------------------------------// Define the bits in the LED SEGMENT 1 register. // A2 G2 D2 F2 E2 DP2 0 B1 // C1 A1 G1 D1 F1 E1 DP1 0 // #define MAX1499_LED_SEG1_A1 0x8000 #define MAX1499_LED_SEG1_G1 0x4000 #define MAX1499_LED_SEG1_D1 0x2000 #define MAX1499_LED_SEG1_F1 0x1000 #define MAX1499_LED_SEG1_E1 0x0800 #define MAX1499_LED_SEG1_DP2 0x0400 #define MAX1499_LED_SEG1_B0 0x0100 #define MAX1499_LED_SEG1_C0 0x0080 #define MAX1499_LED_SEG1_A0 0x0040 #define MAX1499_LED_SEG1_G0 0x0020 #define MAX1499_LED_SEG1_D0 0x0010 #define MAX1499_LED_SEG1_F0 0x0008 #define MAX1499_LED_SEG1_E0 0x0004 #define MAX1499_LED_SEG1_DP1 0x0002 //--------------------------------------------------------------------------// Define the bits in the LED SEGMENT 2 register. // F4 E4 DP4 G4 B3 C3 A3 G3 // D3 F3 E3 DP3 0 B2 C2 0 // #define MAX1499_LED_SEG2_F3 0x8000 #define MAX1499_LED_SEG2_E3 0x4000 #define MAX1499_LED_SEG2_DP4 0x2000 #define MAX1499_LED_SEG2_MINUS 0x1000 /* TODO: is this documented? minus sign */ #define MAX1499_LED_SEG2_B2 0x0800 #define MAX1499_LED_SEG2_C2 0x0400 #define MAX1499_LED_SEG2_A2 0x0200 #define MAX1499_LED_SEG2_G2 0x0100 #define MAX1499_LED_SEG2_D2 0x0080 #define MAX1499_LED_SEG2_F2 0x0040 #define MAX1499_LED_SEG2_E2 0x0020
Listing 1 (Sheet 2 of 4) 18 ______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
#define MAX1499_LED_SEG2_DP3 #define MAX1499_LED_SEG2_B1 #define MAX1499_LED_SEG2_C1 0x0010 0x0004 0x0002
//--------------------------------------------------------------------------// Define the bits in the LED SEGMENT 3 register. // 0 0 BC5 B4 C4 A4 G4 D4 // #define MAX1499_LED_SEG3_BC_ 0x20 #define MAX1499_LED_SEG3_B3 0x10 #define MAX1499_LED_SEG3_C3 0x08 #define MAX1499_LED_SEG3_A3 0x04 #define MAX1499_LED_SEG3_G3 0x02 #define MAX1499_LED_SEG3_D3 0x01 //--------------------------------------------------------------------------class MAX1499 { public: MAX1499(void); // Enumerated type describing the register select bits. enum RegisterSelect_t { RS_STATUS = MAX1499_COMMS_RS_STATUS, RS_CONTROL = MAX1499_COMMS_RS_CONTROL, RS_OVERRANGE = MAX1499_COMMS_RS_OVERRANGE, RS_UNDERRANGE = MAX1499_COMMS_RS_UNDERRANGE, RS_LED_SEG_1 = MAX1499_COMMS_RS_LED_SEG_1, RS_LED_SEG_2 = MAX1499_COMMS_RS_LED_SEG_2, RS_LED_SEG_3 = MAX1499_COMMS_RS_LED_SEG_3, RS_ADC_OFFSET = MAX1499_COMMS_RS_ADC_OFFSET, RS_ADC_RESULT1 = MAX1499_COMMS_RS_ADC_RESULT1, RS_LED_DATA = MAX1499_COMMS_RS_LED_DATA, RS_PEAK = MAX1499_COMMS_RS_PEAK, RS_ADC_RESULT2 = MAX1499_COMMS_RS_ADC_RESULT2 }; // Reference voltage // double vref; //---------------------------------------// Status Register // POL OVR_RNG UNDR_RNG LOW_BATT ADD(data available) 0 0 0 int STATUS_REG; // bool Read_STATUS(void); //---------------------------------------// Control Register // SPI_ADC EXTCLK INTREF DPON DPSET2 DPSET1 PD_DIG PD_ANA // HOLD PEAK RANGE CLR LED OFFSET_CAL1 OFFSET_CAL2 ENABLE int CONTROL_REG; // bool Write_CONTROL(int data); bool Read_CONTROL(void); //---------------------------------------// Data Registers int ADC_RESULT1; unsigned int ADC_RESULT2; // bool Read_ADC_RESULT1(void); bool Read_ADC_RESULT2(void); long int DATA_REG; // 16-bit or 24-bit result from A/D converter bool extended_resolution; long Read_DATA(void); double Voltage(void); //---------------------------------------// Other registers, having 16-bit 2's complement data format bool Write_2s_complement(int reg, int data); int Read_2s_complement(int reg);
Listing 1 (Sheet 3 of 4) ______________________________________________________________________________________ 19
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
//---------------------------------------// Other registers, having 8 bit data format bool Write_8bit_reg(int reg, int data); int Read_8bit_reg(int reg); }; //--------------------------------------------------------------------------#endif
Listing 1 (Sheet 4 of 4) 20 ______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
// Drv1499.cpp // MAX1499-specific driver. // mku 09/15/2003 // (C) 2003 Maxim Integrated Products // For use with Borland C++ Builder 3.0 //--------------------------------------------------------------------------// Revision history: // 09/15/2003: add double Voltage(void) // 09/09/2003: add class MAX1499 dependent on external SPI_Interface() // 08/13/2003: preliminary draft of reuseable code #include "drv1499.h" //--------------------------------------------------------------------------MAX1499::MAX1499(void) { vref = 2.048; extended_resolution = false; } //--------------------------------------------------------------------------bool MAX1499::Read_STATUS(void) { const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | MAX1499_COMMS_RS_STATUS), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); if (result) { int data = miso_buf[1]; STATUS_REG = data; // remember the value we just received } return result; } //--------------------------------------------------------------------------bool MAX1499::Write_CONTROL(int data) { data = data & 0xFFFF; // validate the data const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_WRITE | MAX1499_COMMS_RS_CONTROL), (unsigned __int8)( (data >> 8) & 0xFF), (unsigned __int8)( data & 0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); CONTROL_REG = data; // remember the value we just wrote // The CLR bit is self-clearing, and should not be kept high. CONTROL_REG &=~ MAX1499_CONTROL_CLR; return result; } //--------------------------------------------------------------------------bool MAX1499::Read_CONTROL(void) { const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | MAX1499_COMMS_RS_CONTROL), (unsigned __int8)(0xFF), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); if (result) { int data = miso_buf[1] * 0x100 + miso_buf[2]; CONTROL_REG = data; // remember the value we just wrote } return result; } //--------------------------------------------------------------------------bool MAX1499::Read_ADC_RESULT1(void) { const unsigned __int8 mosi[] = {
Listing 2 (Sheet 1 of 4) ______________________________________________________________________________________ 21
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
(unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | MAX1499_COMMS_RS_ADC_RESULT1), (unsigned __int8)(0xFF), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer_After_EOC(sizeof(mosi), mosi, miso_buf); if (result) { ADC_RESULT1 = (miso_buf[1] * 0x100L) + miso_buf[2]; long data = (miso_buf[1] * 0x100L) + miso_buf[2]; if (data >= 32768) { data -= 65536; } DATA_REG = data; // remember the value we just received } return result; } //--------------------------------------------------------------------------bool MAX1499::Read_ADC_RESULT2(void) { const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | MAX1499_COMMS_RS_ADC_RESULT2), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); if (result) { ADC_RESULT2 = miso_buf[1]; long data_24 = ((long)ADC_RESULT1 * 0x100L) + ADC_RESULT2; DATA_REG = data_24; } return result; } //--------------------------------------------------------------------------long MAX1499::Read_DATA(void) { // Read the DATA register const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | MAX1499_COMMS_RS_ADC_RESULT1), (unsigned __int8)(0xFF), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; if (SPI_Transfer_After_EOC(sizeof(mosi), mosi, miso_buf) == false) { return 0; // failure } ADC_RESULT1 = (miso_buf[1] * 0x100L) + miso_buf[2]; long data = (miso_buf[1] * 0x100L) + miso_buf[2]; if (data >= 32768) { data -= 65536; } DATA_REG = data; // remember the value we just received if (extended_resolution) { // Read the ADC_RESULT2 register const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | MAX1499_COMMS_RS_ADC_RESULT2), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; if (SPI_Transfer(sizeof(mosi), mosi, miso_buf) == false) { return 0; // failure } ADC_RESULT2 = miso_buf[1]; long data_24 = ((long)ADC_RESULT1 * 0x100L) + ADC_RESULT2; double data_16 = data_24 / 256.0; if (data_16 >= 32768) { data_16 = data_16 - 65536; } DATA_REG = data_24;
Listing 2 (Sheet 2 of 4) 22 ______________________________________________________________________________________
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
} return DATA_REG; } //--------------------------------------------------------------------------double MAX1499::Voltage(void) { if ((CONTROL_REG & MAX1499_CONTROL_RANGE_200mV) == 0) { // Input range 2V return DATA_REG * (vref / 2.048) * 10e-6 * 10; } else { // Input range 200mV return DATA_REG * (vref / 2.048) * 10e-6; } } //--------------------------------------------------------------------------bool MAX1499::Write_2s_complement(int reg, int data) { // Write one of the 2's complement registers reg = (reg & MAX1499_COMMS_RS_MASK); // validate the data data = data & 0xFFFF; const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_WRITE | reg), (unsigned __int8)((data >> 8) & 0xFF), (unsigned __int8)(data & 0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); return result; } //--------------------------------------------------------------------------int MAX1499::Read_2s_complement(int reg) { // Read one of the 2's complement registers reg = (reg & MAX1499_COMMS_RS_MASK); const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | reg), (unsigned __int8)(0xFF), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); if (result == false) { return 0; // failure } int data = miso_buf[1] * 0x100 + miso_buf[2]; if (data >= 32768) { data -= 65536; } if (data >= 32768) { data -= 65536; } return data; } //--------------------------------------------------------------------------bool MAX1499::Write_8bit_reg(int reg, int data) { // Write one of the 8 bit registers reg = (reg & MAX1499_COMMS_RS_MASK); const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_WRITE | reg), (unsigned __int8)(data & 0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); return result; } //--------------------------------------------------------------------------int MAX1499::Read_8bit_reg(int reg) { // Read one of the 8 bit registers reg = (reg & MAX1499_COMMS_RS_MASK);
Listing 2 (Sheet 3 of 4) ______________________________________________________________________________________ 23
MAX1499 Evaluation Kit/MAX1499 Evaluation System Evaluate: MAX1498/MAX1499
const unsigned __int8 mosi[] = { (unsigned __int8)(MAX1499_COMMS_START | MAX1499_COMMS_RW_READ | reg), (unsigned __int8)(0xFF) }; unsigned __int8 miso_buf[sizeof(mosi)]; bool result = SPI_Transfer(sizeof(mosi), mosi, miso_buf); if (result == false) { return 0; // failure } int data = miso_buf[1]; return data; } //---------------------------------------------------------------------------
Listing 2 (Sheet 4 of 4)
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
24 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 (c) 2004 Maxim Integrated Products Printed USA is a registered trademark of Maxim Integrated Products.


▲Up To Search▲   

 
Price & Availability of MAX1499EVKIT

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X