新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > MAX6960大LED顯示屏編程指南

MAX6960大LED顯示屏編程指南

作者: 時(shí)間:2011-12-24 來源:網(wǎng)絡(luò) 收藏

器件概要

驅(qū)動(dòng)芯片無需使用外圍電路,通過其8行、16列端口可直接驅(qū)動(dòng)兩組單色8 × 8點(diǎn)陣顯示模塊。每個(gè)集電極開路的行端口可以從16個(gè)列端口吸取最大40mA的固定電流。8個(gè)行端口在時(shí)間上可以復(fù)用;某一時(shí)刻,只有一個(gè)行端口吸取電流。因此,從每個(gè)列端口吸取的平均電流為5mA。

也可以驅(qū)動(dòng)一組雙色(紅、綠) 8 × 8點(diǎn)陣顯示模塊。點(diǎn)陣的每個(gè)節(jié)點(diǎn)都可以獨(dú)立控制開、關(guān),或支持4級的亮度調(diào)節(jié)(包括關(guān)閉)。所有顯示模塊的亮度由PWM信號控制,共有256個(gè)亮度級。能夠?qū)⒆疃?56個(gè)級聯(lián)在一起,組成一個(gè)大規(guī)模顯示控制系統(tǒng);而主控制器可通過4線串口(DIN、DOUT、CLK和/CS)對所有顯存進(jìn)行尋址訪問。所有級聯(lián)芯片通過3線串口(ADDCLK、ADDIN和ADDOUT)連接,無需主控制器介入即可完成芯片間級聯(lián)的自行配置。

該系列的其它驅(qū)動(dòng)芯片和MAX6960功能相似。MAX6961只能對點(diǎn)陣中節(jié)點(diǎn)進(jìn)行開、關(guān)操作;MAX6962只能驅(qū)動(dòng)單色顯示模塊;MAX6963可對點(diǎn)陣節(jié)點(diǎn)進(jìn)行開、關(guān)操作,只能驅(qū)動(dòng)單色顯示模塊。

應(yīng)用示例

圖1所示電路采用兩片MAX6960驅(qū)動(dòng)4個(gè)單色顯示模塊,LDM-24288NI是由Lumex?公司生產(chǎn)的8 × 8點(diǎn)陣、綠色顯示模塊。4個(gè)顯示模塊(D1、D2、D3和D4)由左到右排列,組成一個(gè)8行32列的。因?yàn)閁1和U2的RISET0和RISET1均連接到GND,所以,所有列的電流都設(shè)置成固定40mA。

U1和U2的4線接口采用并行連接而不是由DIN和DOUT進(jìn)行串行級聯(lián)。每個(gè)芯片指令都只能選中一個(gè)芯片,這是因?yàn)樯想姾笸ㄟ^3線接口配置每個(gè)芯片的專有地址。當(dāng)兩個(gè)或多個(gè)MAX6960級聯(lián)到一起時(shí),全局命令可同時(shí)控制所有MAX6960。所有芯片的4線接口都以并聯(lián)方式連接。

每個(gè)MAX6960都有一個(gè)3線接口,所有MAX6960通過這個(gè)3線接口級聯(lián)。通常,會(huì)有一個(gè)MAX6960被選為主芯片。這個(gè)主芯片的地址為0,并為其余MAX6960提供時(shí)鐘信號。所有MAX6960的ADDCLK引腳連接在一起。只有主芯片的ADDIN引腳連接到V+,其余MAX6960的ADDIN引腳連接到前一芯片的ADDOUT引腳,而芯片地址較前一級聯(lián)芯片加1。最后一個(gè)芯片的ADDOUT引腳懸空。

MAX6960大LED顯示屏編程指南
圖1. 多個(gè)MAX6960驅(qū)動(dòng)4個(gè)單色

上電時(shí),所有MAX6960的0x00驅(qū)動(dòng)器地址寄存器被初始化為全0,ADDOUT引腳被置成邏輯低。因?yàn)樵跊]有時(shí)鐘信號輸入時(shí),主芯片的ADDIN引腳為邏輯高電平,所以MAX6960主芯片需要自檢測其狀態(tài)。上電后,主芯片生成時(shí)鐘信號,并將其ADDOUT引腳置為邏輯高。主芯片其后級聯(lián)的每一片MAX6960在其ADDIN引腳變成邏輯高之前,會(huì)通過計(jì)數(shù)時(shí)鐘周期數(shù)設(shè)置芯片地址,然后將ADDOUT引腳設(shè)置成邏輯高。因此,所有MAX6960驅(qū)動(dòng)地址寄存器將在256個(gè)ADDCLK時(shí)鐘周期內(nèi)完成初始化。

顯存地址的配置

每個(gè)MAX6960內(nèi)有64字節(jié)顯存,顯存可以劃分為2層或4層。某一時(shí)刻,只選中一層驅(qū)動(dòng)芯片端口。這種多層結(jié)構(gòu)使用戶可以在某一層驅(qū)動(dòng)LED時(shí)更新其它層;也可在多層之間切換,實(shí)現(xiàn)動(dòng)畫功能。

當(dāng)應(yīng)用配置為4層時(shí),每層包含16字節(jié);如果每一像素占用1位,那么16列、8行像素將占用128位。應(yīng)用配置為2層時(shí),每層包含32字節(jié);如果每像素占用2位,那么16列、8行像素將占用256位。一個(gè)單色顯示模塊有8行、8列;一個(gè)雙色顯示模塊有8行、16列,因此,一層可支持2個(gè)單色顯示模塊或一個(gè)雙色顯示模塊。

顯存一次僅支持8位訪問。對1位/像素的應(yīng)用,顯存執(zhí)行寫操作的第一個(gè)8位數(shù)據(jù)是寫第一列,第二個(gè)8位的數(shù)據(jù)是寫第二列,以此類推。因此,一個(gè)8 × 8像素的1位/像素的顯示模塊,需要寫入8字節(jié)。這就是說,第一個(gè)顯示模塊的第一列地址是0,第一個(gè)顯示模塊的第二列地址是1,第二個(gè)顯示模塊的第一列地址是8,以此類推。當(dāng)使用多個(gè)MAX6960芯片時(shí),所有的顯存組合在一起,而顯存地址由下式確定:

顯存地址 = (驅(qū)動(dòng)器數(shù) - 1) × 16 + (顯示模塊數(shù) - 1) × 8 + (列數(shù) - 1)

對于2位/像素應(yīng)用,一個(gè)8位顯存訪問只能更新半個(gè)列的顯存。如上所述,驅(qū)動(dòng)芯片數(shù)在上電后由3線接口自動(dòng)完成配置并存儲在0x00寄存器。其中,有14位用來區(qū)分組合顯存的哪一個(gè)字節(jié)。對于1位/像素的應(yīng)用,開始的2位用來標(biāo)識哪一層,其余12位用來定位256個(gè)MAX6960的2048個(gè)列中的哪一列。對于2位/像素應(yīng)用,開始的1位用來標(biāo)識哪一層,其余13位用來定位256個(gè)MAX6960的4096個(gè)半列中的哪一列。

MAX6960的4線接口只能識別8位、16位或24位傳輸命令,完成寄存器尋址訪問。因此,在片選信號/CS有效期間,如果傳輸數(shù)據(jù)不是8位、16位或24位格式,數(shù)據(jù)都將被忽略。

間接訪問寄存器的方法

使用8位傳輸命令間接訪問顯存時(shí)無需顯存地址。在每片MAX6960中,都有兩個(gè)全局間接地址寄存器(0x09和0x0A)。每個(gè)這樣的寄存器都能跟蹤同一個(gè)全局間接顯存地址。上電時(shí),這些寄存器地址的初始值都為0。在每個(gè)8位間接顯存訪問完成后,所有MAX6960寄存器值都加1。使用間接訪問顯存時(shí),每片MAX6960會(huì)將這兩個(gè)間接地址寄存器的值與自己芯片的地址進(jìn)行比較,以確定顯存是否需要更新。

用戶也可以用24位傳輸命令直接訪問組合顯存中的某一個(gè)字節(jié)。24位中,第一個(gè)位表示寫操作(0)還是讀操作(1);第二位無意義,可忽略;接下來的14位用來確定是顯存中的哪個(gè)字節(jié);而最后8位是數(shù)據(jù)字節(jié)。

16位傳輸命令用來訪問MAX6960的16個(gè)寄存器。16位中,第一位表示寫操作(0)還是讀操作(1);第二位用來確定是否激活地址自動(dòng)增加功能;第三位標(biāo)識寄存器訪問是本地訪問(0)還是全局訪問(1);第四位始終為0;隨后四位確定要訪問的是哪個(gè)寄存器;最后八位是數(shù)據(jù)字節(jié)。對本地寄存器訪問,驅(qū)動(dòng)芯片的地址被存儲在全局驅(qū)動(dòng)間接地址寄存器0x08。所有MAX6960的0x08寄存器在上電后默認(rèn)為0,其值可通過16位傳輸命令更改。如果設(shè)置了第二位,這些0x08寄存器的值可在每個(gè)16位傳輸命令后同時(shí)自動(dòng)增加。

如果上電時(shí)默認(rèn)值不能滿足顯示屏尺寸、顏色和亮度的要求,所有的MAX6960都需進(jìn)行初始化。對256個(gè)MAX6960,寄存器上電默認(rèn)狀態(tài)是單色、1位/像素、全屏顯示、50%的面板亮度。

使用間接訪問時(shí),一次只能從左列像素至右列像素訪問一個(gè)顯示模塊(8 × 8)的顯存。然后,從左至右,逐個(gè)訪問顯示模塊(8 × 8),直到訪問完該行最后一個(gè)MAX6960驅(qū)動(dòng)的顯示模塊為止。依照同樣方式,間接訪問會(huì)從上至下、按照行掃描的順序訪問所有MAX6960驅(qū)動(dòng)芯片。間接方法會(huì)先訪問整個(gè)顯示屏的紅色顯存部分,然后再訪問綠色顯存部分。地址為0x0E的全局驅(qū)動(dòng)器件寄存器需要首先進(jìn)行初始化,這樣顯示屏間接地址計(jì)數(shù)器才能夠自復(fù)位至正確值。以上過程如圖2和圖3所示,其中,DAN代表顯示模塊的訪問順序數(shù)。每個(gè)顯示模塊需更新8字節(jié)的顯存(8 × 8顯示點(diǎn)陣對應(yīng)1位/像素或4 × 8的顯示點(diǎn)陣對應(yīng)2位/像素)。需初始化的全局驅(qū)動(dòng)器件寄存器的總數(shù)為系統(tǒng)中MAX6960的總數(shù)減去1。

MAX6960大LED顯示屏編程指南
圖2. 單色、1位/像素、顯存訪問序列

MAX6960大LED顯示屏編程指南
圖3. 雙色、1位/像素、顯存訪問序列

同樣,如果像素的分辨率是2位,那也需要初始化地址為0x0F的全局驅(qū)動(dòng)行寄存器。這個(gè)初始化過程能夠確保MAX6960的某一行能夠在訪問下一行之前被訪問,如圖4和圖5所示。需要初始化的全局驅(qū)動(dòng)行寄存器的總數(shù)為系統(tǒng)中MAX6960的總數(shù)減去1。

MAX6960大LED顯示屏編程指南
圖4. 單色、2位/像素、顯存訪問序列

MAX6960大LED顯示屏編程指南
圖5. 雙色、2位/像素、顯存訪問序列

亮度控制寄存器

MAX6960有16個(gè)寄存器,可通過寫這些寄存器完成各種操作。這些寄存器包括像素亮度比例(0x01)、面板亮度(0x02)、顯示模塊0的亮度(0x03)、顯示模塊1的亮度(0x04)、故障寄存器(0x05)和全局面板配置寄存器(0x0D)。每個(gè)亮度控制寄存器包含8位。

初始化全局驅(qū)動(dòng)器件

以下列出了一些16位傳輸命令,用來初始化圖1所示應(yīng)用電路的全局驅(qū)動(dòng)器件寄存器和全局驅(qū)動(dòng)行寄存器。

0x0E, 0x01,   // Write to global driver devices register with two total devices.0x0F, 0x01,   // Write to global driver rows register with two MAX6960s in a row. 

以下列出的8位和16位傳輸命令,用來點(diǎn)亮顯示屏的邊沿。顯示屏由4個(gè)8 × 8顯示模塊構(gòu)成一個(gè)8 × 32顯示點(diǎn)陣,電路配置如圖1所示。

0xFF,   // Light up the left edge.0x81,   // Light up top and bottom pixels of the second column.0x81,   // Light up top and bottom pixels of the third column....0x81,   // Light up top and bottom pixels of the fourteenth column.0x81,   // Light up top and bottom pixels of the fifteenth column.0xFF,   // Light up the right edge.0x0D, 0x31,  // Turn on the shutdown bit.


關(guān)鍵詞: MAX6960 LED 顯示屏

評論


相關(guān)推薦

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

關(guān)閉