李海富,熊本波,吳旭志
(長(zhǎng)春大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
基于FPGA的LED全彩顯示屏控制系統(tǒng)設(shè)計(jì)
李海富,熊本波,吳旭志
(長(zhǎng)春大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
系統(tǒng)對(duì)LED全彩屏掃描控制板做了一個(gè)全新的架構(gòu)設(shè)計(jì),即采用C8051F340單片機(jī)+FPGA作為主控模塊實(shí)現(xiàn)逐點(diǎn)控制和全彩畫面顯示。運(yùn)用單片機(jī)的靈活性和多功能性特點(diǎn),完成了顯示屏內(nèi)溫濕度采集、供電電壓監(jiān)測(cè)、屏外環(huán)境亮度監(jiān)測(cè)、與上位機(jī)通信和對(duì)FPGA的配置和控制。FPGA作為高速器件完成顯示數(shù)據(jù)收發(fā)和掃描。采用恒流驅(qū)動(dòng)芯片MBI5036實(shí)現(xiàn)LED恒流驅(qū)動(dòng)。
C8051F340;FPGA;全彩顯示;逐點(diǎn)控制;高速傳輸
LED顯示屏最早出現(xiàn)在1970年代,隨著電子工業(yè)技術(shù)的發(fā)展和人民生活水平的提高,LED顯示屏已被用到交通信息引導(dǎo)、廣告?zhèn)鞑?、建筑裝飾、舞臺(tái)背景、廣場(chǎng)大屏幕等方面。LED顯示屏也從簡(jiǎn)單的文字信息屏發(fā)展到高清全彩的視頻播放顯示屏,可以直接接收DVI、VGA和有線電視視頻信號(hào)。全彩LED顯示屏作為節(jié)能產(chǎn)品一直存在成本高,自我監(jiān)測(cè)能力弱,亮度不均勻的缺點(diǎn)。本論文就這些方面提出解決方案。
1.1.1 CPU 選擇
由于CPU要完成與上位機(jī)通信,進(jìn)行溫濕度、電壓、亮度采集,對(duì)FPGA進(jìn)行配置和控制。因此要求選用的單片機(jī)有AD模塊,串行通信、I2C、和多路I/O。因此本系統(tǒng)選用C8051F340,C8051F340有一個(gè)10位ADC模塊,ADC模塊17個(gè)外部輸入,64KB的閃存,一個(gè)I2C,40個(gè)I/O,最高總線時(shí)鐘達(dá)48MHz,同時(shí)它的I/O為多功能復(fù)用管腳,有交叉開關(guān)可以靈活配置個(gè)個(gè)模塊接口。
1.1.2 FPGA配置程序存儲(chǔ)器選擇
FPGA選擇工作在被動(dòng)狀態(tài),為了節(jié)省成本和充分利用單片機(jī)資源,由單片機(jī)配置FPGA,因此要一個(gè)穩(wěn)定可靠的存儲(chǔ)器存儲(chǔ)FPGA配置程序。為此選擇存儲(chǔ)芯片M25P80,M25P80為SPI串行Flash存儲(chǔ)器,容量為64Kbit具有先進(jìn)的寫保衛(wèi)機(jī)制。M25P80在配置程序下裝后寫保護(hù),可保證FPGA每次上電被正確配置。
1.1.3 FPGA 選擇
FPGA選用Altera公司Cyclone系列EP1C3T144。EP1C3T144有2910個(gè)邏輯門、13K RAM、1個(gè)鎖相環(huán)、104個(gè)用戶I/O。
EP1C3T144為低端系列FPGA,因?yàn)榕c單片機(jī)配合工作,因此完全能滿足要求。一個(gè)EP1C3T144可掃描多達(dá)12個(gè)LED顯示模塊。外接25MHz時(shí)鐘電路通過鎖相環(huán)即可為FPGA提供100MHz以上的工作頻率,足夠滿足顯示數(shù)據(jù)接收、讀寫外擴(kuò)存儲(chǔ)器、掃描LED顯示模塊。13K RAM作為各種數(shù)據(jù)輸入輸出的緩沖區(qū)。
1.1.4 LED 驅(qū)動(dòng)芯片選擇
目前市場(chǎng)上顯示屏存在亮度不均,色彩不穩(wěn)定往往是由于驅(qū)動(dòng)芯片不能恒流驅(qū)動(dòng)造成的,在本系統(tǒng)中選用MBI5036作為驅(qū)動(dòng)芯片。MBI5036恒流輸出范圍值:3~60mA,電流輸出極為精確,通道間一般差異值:<±1.5%,芯片間一般差異值:<±3%,因此可以改善顯示屏的這種缺點(diǎn)。同時(shí)MBI5036可以具有線路開路及線路短路偵測(cè)能力,為顯示屏的保護(hù)維修提供方便。
本系統(tǒng)電路分為兩部分:掃描控制板和LED顯示屏。掃描控制板主要分為兩塊即單片機(jī)系統(tǒng)和FPGA系統(tǒng)。單片機(jī)系統(tǒng)將溫濕度、環(huán)境亮度、供電電壓信號(hào)采集換算后傳送給上位機(jī),同時(shí)接收上位機(jī)指令控制FPGA工作。FPGA通過網(wǎng)絡(luò)接收顯示數(shù)據(jù)存入SRAM,并按顯示模塊布線規(guī)則將數(shù)據(jù)掃描出去。掃描控制板系統(tǒng)結(jié)構(gòu)如圖1。
圖1 掃描控制板系統(tǒng)結(jié)構(gòu)圖
單片機(jī)系統(tǒng)電路處理器為C8051F340,復(fù)位芯片用TCM809SENB713,當(dāng)供電電壓低于1.8V是便會(huì)輸出低電平復(fù)位單片機(jī)。溫濕度傳感器、光電池傳回的電壓和供電電壓通過放大器LM358進(jìn)行放大射隨后送入單片機(jī)。RS485電平轉(zhuǎn)換選用SN65HVD3082ED,這樣可以省去隔離電源。SN65HVD3082ED的RO、DI接到單片機(jī)的RX、TX上,RE接到單片機(jī)I/O上使能RS485發(fā)送。24C04用來存儲(chǔ)控制數(shù)據(jù)和顯示屏大小等。SDA、SCL接到單片機(jī)I2C接口上,以便直接用單片機(jī)I2C總線讀寫24C04。FPGA配置程序存儲(chǔ)器M25P80接到單片機(jī)SPI接口上。
FPGA系統(tǒng)電路主要有網(wǎng)絡(luò)接口、外擴(kuò)SRAM、掃描驅(qū)動(dòng)接口等。在鎖相環(huán)輸入接口上接25MHz有源晶振為FPGA提供時(shí)鐘源。網(wǎng)絡(luò)接口采用網(wǎng)絡(luò)收發(fā)器VT6013,VT6013收發(fā)數(shù)據(jù)速度可達(dá)100M bps速率。數(shù)據(jù)接口為TTL電平,直接接到FPGA的I/O口上。在收發(fā)器與接口間采用網(wǎng)絡(luò)隔離變壓器11F-05NL。用SLVU2.8-4防護(hù)靜電放電(ESD),閃電。它可滿足單向路線的要求,以及雙向要求無(wú)論是在一個(gè)共同的模式或差分模式配置。一幅畫面的顯示數(shù)據(jù)很多,EP1C3T144內(nèi)部沒有足夠的RAM空間存儲(chǔ)數(shù)據(jù),因此要外擴(kuò)SRAM存儲(chǔ)顯示數(shù)據(jù)。在此外擴(kuò)SRAM采用IS63LV1024,將IS63LV1024的數(shù)據(jù)總線DATA、地址總線ADDR、讀寫和控制信號(hào)接到FPGA的I/O口上,由FPGA硬件產(chǎn)生控制信號(hào)讀寫數(shù)據(jù)。在FPGA掃描數(shù)據(jù)輸出接口上加驅(qū)動(dòng)器74HC244更大驅(qū)動(dòng)能力和距離。
LED顯示模塊大小為16*16像素,LED驅(qū)動(dòng)芯片為MBI5036,驅(qū)動(dòng)芯片分為三組,驅(qū)動(dòng)燈的顏色順序?yàn)樗{(lán)綠紅。每組由16個(gè)驅(qū)動(dòng)芯片,數(shù)據(jù)線Do0送入Din,然后從UB0的Dout到UB1的Din,依次連接,最后從UR15的Dout輸出接到接口的Di0,這樣由FPGA的兩個(gè)I/O口就可以完成一個(gè)顯示模塊數(shù)據(jù)掃描和錯(cuò)誤偵測(cè)。驅(qū)動(dòng)芯片上的數(shù)據(jù)控制端LE和輸出鎖存器使能端OE分別接到FPGA的LE0和OE0上FPGA的統(tǒng)一使能輸出。MBI5036的R-RXT引腳上接1%的電阻選擇芯片最大驅(qū)動(dòng)電流。
單片機(jī)由定時(shí)器2作為定時(shí)控制進(jìn)行亮度、溫濕度、供電電壓采集,其它時(shí)間單片機(jī)不停的查詢串口數(shù)據(jù)緩存區(qū),如串口數(shù)據(jù)緩存區(qū)有新數(shù)據(jù),則根據(jù)協(xié)議處理。定時(shí)器2定時(shí)中斷時(shí)間為1mS。定時(shí)到1S時(shí)采集亮度、1.1S采集溫度、1.2S采集濕度、1.2采集電壓。每次采集的數(shù)據(jù)都做平均后存入buffer。串行數(shù)據(jù)接收,每次查詢串口時(shí),單片機(jī)先從串口接收環(huán)形緩沖區(qū)讀數(shù)據(jù)。根據(jù)協(xié)議判斷是否為協(xié)議內(nèi)的數(shù)據(jù),是則存入串口數(shù)據(jù)緩存區(qū),每次接收到貞尾后對(duì)數(shù)據(jù)進(jìn)行處理。程序流程圖如圖2所示。數(shù)據(jù)協(xié)議:
貞頭:0x02(一個(gè)字節(jié));
地址:0x01(一個(gè)字節(jié));
命令:0x00(一個(gè)字節(jié));
數(shù)據(jù):0x04,0x05……(小于1000個(gè)字節(jié));
校驗(yàn):0x33,0x33(兩個(gè)字節(jié)CRC校驗(yàn));
貞尾:0x03(一個(gè)字節(jié))。
FPGA中各個(gè)模塊是并行工作的,每個(gè)信號(hào)好的傳輸和狀態(tài)的轉(zhuǎn)變都由時(shí)鐘的上升沿或下降沿啟動(dòng)。
FPGA接收RGB數(shù)據(jù),由時(shí)鐘控制FPGA不斷的讀網(wǎng)絡(luò)接口芯片數(shù)據(jù)到接收緩沖區(qū)(FIFO)。如果緩沖區(qū)數(shù)據(jù)不為零,則對(duì)數(shù)據(jù)進(jìn)行判斷,是自己的數(shù)據(jù)送入SRAM輸入緩沖區(qū),不是則送入網(wǎng)絡(luò)發(fā)送緩沖區(qū)轉(zhuǎn)發(fā)數(shù)據(jù)。
RGB數(shù)據(jù)存儲(chǔ),F(xiàn)PGA跟據(jù)IS63LV1024寫時(shí)序?qū)?shù)據(jù)存入IS63LV1024。
本系統(tǒng)主要完成了LED顯示屏底層的掃描和驅(qū)動(dòng)系統(tǒng)設(shè)計(jì),如果使其產(chǎn)品化可形成一套完整的顯示屏系統(tǒng)。因其有低成本優(yōu)勢(shì)和高性能在市場(chǎng)一定會(huì)有競(jìng)爭(zhēng)力,同時(shí)也可滿足人民生活的高要求。
圖2 單片機(jī)軟件流程圖
[1] 王誠(chéng),吳繼華.Altera FPGA/CPLD設(shè)計(jì)(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005.
[2] 張慶玲,楊勇.FPGA原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2006.
[3] 林志賢,薛紅,郭太良.一種大屏幕彩色 FED顯示系統(tǒng)的研制[J].電視技術(shù),2006(6):12.
[4] 施齊云.一種 LED漢字信息動(dòng)態(tài)顯示可控系統(tǒng)的設(shè)計(jì)[J].信息技術(shù),2002(12):47-49.
[5] 趙雅興.FPGA原理、設(shè)計(jì)與應(yīng)用[M].天津:天津大學(xué)出版社,2000.
A design of LED full color display screen control system based on FPGA
LI Hai-fu,XIONG Ben-bo,WU Xu-zhi
(College of Electronic Information Engineering,Changchun University,Changchun 130022,China)
This system designs a new architecture for LED full color scanning controller board by using C8051F340 MCU+FPGA module as the main control module to implement point-to-point control and full color screen display.It completes the acquisition of temperature and humidity within the display screen,power supply voltage monitoring,environmental luminosity monitoring outside the screen,the communication with upper computer and the FPGA configuration and control by using the flexibility and versatility of MCU.FPGA,as a high-speed device,is used to deal with data receiving and scanning,and constant current driver chip MBI5036IC is used to achieve LED constant drive.
C8051F340;FPGA;full color display;point-to-point control;high-speed transmission
TP338.7
A
1009-3907(2011)06-0001-03
2011-03-25
李海富(1964-),男,吉林長(zhǎng)春人,副教授,碩士,主要從事嵌入式及智能控制方向的研究。
責(zé)任編輯:吳旭云