新聞中心

MAX6956編程指南

作者: 時間:2012-03-12 來源:網(wǎng)絡(luò) 收藏
摘要:本指南給出了 LED顯示驅(qū)動器以及I/O擴展器的詳細信息。同時還討論了類似器件(MAX6957、MAX7300以及MAX7301)的一些技巧。

概述

LED驅(qū)動器和I/O擴展器無需外部限流電阻,即可為全部20或28個LED驅(qū)動端口(取決于采用何種封裝類型)提供并維持所期望的恒定電流。所有端口可以同時設(shè)置,具有十六級恒定電流(從1.5mA至24mA);或者可以分別將各個端口設(shè)置為不同的恒定電流。不僅僅具有LED亮度控制,同時器件的端口匹配精度確保了色度更將一致。除了恒流LED驅(qū)動器,MAX6956的各個獨立端口還可以作為帶有瞬態(tài)檢測功能的輸入端口,或者具有10mA吸入電流和4.5mA源出電流的推挽輸出端口。

MAX6957與MAX6956類似,但采用SPI?而不是I2C兼容接口。MAX7300是一款與MAX6956相類似的通用I/O (GPIO)端口擴展器,但該器件不帶恒流LED驅(qū)動功能。MAX7301則是一款類似MAX7300的GPIO端口擴展器,但器件采用SPI接口而不是I2C兼容接口。

圖1給出了在沒有限流電阻的情況下,采用MAX6956驅(qū)動十路白光和RGB LED的簡單應(yīng)用范例。

MAX6956編程指南
圖1. MAX6956應(yīng)用電路

MAX6956配置寄存器

MAX6956的具體操作受控于對89個寄存器的寫入。除了數(shù)據(jù)資料里所描述的四個寄存器(全局電流、配置、瞬態(tài)檢測屏蔽以及顯示測試),MAX6956還具有其它三個寄存器組:
  1. 端口配置(0x09至0x0F)
    端口配置寄存器中每個端口分為兩個位。這兩個位可以將各個端口定義為LED驅(qū)動器、輸出端口或帶/不帶上拉電阻的輸入端口。對應(yīng)28個端口具有7個端口配置寄存器。
  2. 獨立電流(0x12至0x1F)
    獨立電流寄存器中每個端口分為四個位。這四個位可以將各個獨立端口定義到期望的恒定電流。最小的步長為連接在ISET引腳的外部電阻所設(shè)置的最大電流值的1/16。
  3. 端口I/O值(0x20至0x5F)
    器件具有29個端口I/O值寄存器對應(yīng)各個獨立端口(端口31有兩個寄存器)。有21個端口I/O值寄存器可用于同時定義8個不同端口為一組的I/O值。其他端口I/O值寄存器可以用于同時定義2、3、4、5、6或7個不同端口為一組。

MAX6956 I2C命令

下面給出了上電時,將所有端口設(shè)置到24mA最大恒定電流(采用39kΩ外部電阻)的一半的I2C命令。當(dāng)AD0和AD1引腳均連接到地時,MAX6956的I2C器件地址為0x80。I2CWrite例程利用寄存器地址自動遞增特性,向一個MAX6956寄存器寫入一個特定字節(jié)或向一系列連續(xù)的寄存器寫入多個字節(jié)的命令。

I2CWrite(0x80, 0x02, 0x07);  // Set a half global constant currentI2CWrite(0x80, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);  // Set all ports to LED drive modeI2CWrite(0x80, 0x04, 0x01); // Set the shutdown/run bit of the configuration register

作為參考檢查點,設(shè)置關(guān)斷/運行位寫命令的等效二進制數(shù)在下面列出來。
I2CWrite(0x80, 0x04, 0x01);1 0 0 0 0 0 0 0  	0 0 0 0 0 1 0 0  	0 0 0 0 0 0 0 1  

下面給出了上電時,將一個端口(本例為P4)設(shè)置到滿量程恒定電流的I2C命令。
I2CWrite(0x80, 0x12, 0x07);  // Set a half port P4 constant currentI2CWrite(0x80, 0x09, 0xA8); // Set P4 to LED drive modeI2CWrite(0x80, 0x04, 0x01); // Set the shutdown/run bit of the configuration register

上電時,所有端口均被設(shè)置為不帶上拉電阻的邏輯輸入。僅需下列I2C命令即可將MAX6956設(shè)置到所有上電默認狀態(tài)工作。
I2CWrite(0x80, 0x04, 0x01); // Set the shutdown/run bit of the configuration register

MAX6957 SPI命令

MAX6957的任意一個寄存器可以通過SPI接口發(fā)送包含寄存器地址以及緊接數(shù)據(jù)字節(jié)的16位字對其進行寫入或讀出。地址字節(jié)的第一位決定是寫(0)命令還是讀(1)命令。所有16位字可以與其他字排放在一起。

下面給出了MAX6957 DIN輸入引腳上的數(shù)據(jù)字節(jié),用于將所有端口設(shè)置到24mA最大恒定電流的一半。這些命令與MAX6956相似,除了需要指定器件地址。對于SPI接口,通過將低有效的CS輸入引腳設(shè)為低電平可以選擇特定的器件。MAX6957沒有寄存器地址自動遞增功能。
0x02, 0x07;  	// Set a half global constant current0x09, 0x00;	// Set ports P4 through P7 to LED drive mode0x0A, 0x00;	// Set ports P8 through P11 to LED drive mode0x0B, 0x00;	// Set ports P12 through P15 to LED drive mode0x0C, 0x00;	// Set ports P16 through P19 to LED drive mode0x0D, 0x00;  	// Set ports P20 through P23 to LED drive mode0x0E, 0x00;	// Set ports P24 through P27 to LED drive mode0x0F, 0x00;  	// Set ports P28 through P31 to LED drive mode0x04, 0x01; 	// Set the shutdown/run bit of the configuration register

MAX7300/MAX7301配置寄存器

MAX7300和MAX7301沒有恒流LED驅(qū)動能力。通過寫73個寄存器控制器件的詳細工作狀態(tài)。此外,除了配置和瞬態(tài)檢測屏蔽寄存器以外,還有另外兩組寄存器:
  1. 端口配置(0x09至0x0F)
  2. 端口I/O值(0x20至0x5F)

MAX7300 I2C命令

上電時,所有端口均被設(shè)置為不帶上拉電阻的邏輯輸入。下面給出了輸出為邏輯高時,將P14至P23設(shè)置為端口滿電流一半,以及使芯片由初始關(guān)斷進入工作狀態(tài)的I2C命令。當(dāng)AD0和AD1引腳連接到地時,MAX7300的I2C器件地址為0x80。
I2CWrite(0x80, 0x0B, 0x5A, 0x55, 0x55);  	// Set P14 through P23 to outputI2CWrite(0x80, 0x4E, 0xFF);  			// Set P14 through P21 to logic highI2CWrite(0x80, 0x56, 0x03);  			// Set P22 through P23 to logic highI2CWrite(0x80, 0x04, 0x01); 			// Set the shutdown/run bit 

MAX7301 SPI命令

MAX7301的任意一個寄存器可以通過SPI接口發(fā)送包含寄存器地址以及緊接數(shù)據(jù)字節(jié)的16位字對其進行寫入或讀出。地址字節(jié)的第一位決定是寫(0)命令還是讀(1)命令。所有16位字可以與其他字排放在一起。

下面給出了MAX7301 DIN輸入引腳上的數(shù)據(jù)字節(jié),當(dāng)輸出處于邏輯高時,將P14至P23設(shè)置到端口電流的一半,并且使芯片由初始關(guān)斷進入工作狀態(tài)。這些命令與MAX7300相似,除了需要指定器件地址。對于SPI接口,通過將低有效的CS輸入引腳設(shè)為低電平可以選擇特定的器件。MAX7300沒有寄存器地址自動遞增功能。
0x0B, 0x5A; 		// Set P14 and P15 to output0x0C, 0x55; 		// Set P16 through P19 to output0x0D, 0x55;  		// Set P20 through P23 to output0x4E, 0xFF;  		// Set P14 through P21 to logic high0x56, 0x03;  		// Set P22 and P23 to logic high0x04, 0x01; 		// Set the shutdown/run bit 


關(guān)鍵詞: MAX6956 編程

評論


技術(shù)專區(qū)

關(guān)閉