《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于CPLD和Embedded System的LED點(diǎn)陣顯示系統(tǒng)的實(shí)現(xiàn)
基于CPLD和Embedded System的LED點(diǎn)陣顯示系統(tǒng)的實(shí)現(xiàn)
謝 敏 黃海星 陳廣賢 覃
摘要: 采用自頂向下的設(shè)計(jì)思想,綜合運(yùn)用EDA技術(shù)、CPLD技術(shù)和共享式雙口RAM,解決了大屏幕LED點(diǎn)陣顯示屏無(wú)閃爍顯示的技術(shù)難題。給出了系統(tǒng)設(shè)計(jì)方法及實(shí)際電路。
Abstract:
Key words :

    摘 要: 采用自頂向下的設(shè)計(jì)思想,綜合運(yùn)用EDA技術(shù)、CPLD" title="CPLD">CPLD技術(shù)和共享式雙口RAM" title="雙口RAM">雙口RAM,解決了大屏幕LED點(diǎn)陣顯示屏無(wú)閃爍顯示的技術(shù)難題。給出了系統(tǒng)設(shè)計(jì)方法及實(shí)際電路。
    關(guān)鍵詞: CPLD  雙口RAM  掃描" title="掃描">掃描  大屏幕LED點(diǎn)陣顯示屏

 

    LED點(diǎn)陣顯示屏是顯示公共信息的一種重要顯示終端,其中大屏幕LED點(diǎn)陣顯示屏在許多場(chǎng)合得以應(yīng)用。大屏幕顯示所采用的技術(shù)比中小屏幕顯示難度更大,因?yàn)槠淦聊淮蟆ED點(diǎn)數(shù)多,要求在極短的時(shí)間內(nèi)刷新每個(gè)點(diǎn),使得其掃描速率必須非常高,所以只有設(shè)計(jì)合理的控制電路才能達(dá)到這個(gè)要求。本文著重解決大屏幕LED點(diǎn)陣顯示這一技術(shù)難題。通過(guò)采用自頂向下的設(shè)計(jì)思想,綜合運(yùn)用高速CPLD、雙口RAM等技術(shù)和芯片,設(shè)計(jì)出了大、小屏幕皆適合的顯示控制電路。特別是利用單片機(jī)、CPLD與雙口RAM的無(wú)縫結(jié)合,將復(fù)雜的任務(wù)分配給不同的硬件處理,滿(mǎn)足了對(duì)實(shí)時(shí)性的要求。本系統(tǒng)不僅給大屏幕LED點(diǎn)陣顯示提供了優(yōu)良的控制電路,而且為CPLD器件和EDA技術(shù)提供了切實(shí)的應(yīng)用實(shí)例。其中,共享雙口RAM的應(yīng)用,為高速總線與低速總線的通信提供了一個(gè)新的解決方案。
1 硬件設(shè)計(jì)
    顯示系統(tǒng)由信號(hào)處理電路和掃描電路兩大塊構(gòu)成,其系統(tǒng)原理框圖如圖1所示,實(shí)際電路框圖如圖2所示。微處理器MCU采用8位單片機(jī)AT89C51,它通過(guò)串口接收來(lái)自PC機(jī)的待顯示數(shù)據(jù)。由于PC機(jī)串行總線標(biāo)準(zhǔn)RS232的邏輯電平與單片機(jī)電路使用的TTL電平不同,所以PC機(jī)與MCU之間的通信數(shù)據(jù)必須經(jīng)過(guò)RS232電平轉(zhuǎn)換芯片MAX232進(jìn)行轉(zhuǎn)換。從PC機(jī)接收到的數(shù)據(jù)存放在8K字節(jié)的電可擦寫(xiě)存儲(chǔ)器EEPROM 28C64中,這樣可方便地隨時(shí)修改待顯示的信息,并且在掉電情況下不至于丟失數(shù)據(jù)。由于系統(tǒng)軟件要進(jìn)行大批量的數(shù)據(jù)處理,所以擴(kuò)充了單片機(jī)緩存區(qū)大小,采用了8K字節(jié)的外部靜態(tài)RAM 6264。

 

 


1.1 雙口RAM的應(yīng)用
    采用雙口RAM是本設(shè)計(jì)的一個(gè)主要特色。一般的RAM(如6116)只有一套地址總線、數(shù)據(jù)總線和控制總線,在同一時(shí)間只能執(zhí)行同一總線操作。而標(biāo)準(zhǔn)雙口RAM有左側(cè)和右側(cè)兩套地址總線、數(shù)據(jù)總線和控制總線,可供兩套總線對(duì)其進(jìn)行訪問(wèn)。在本系統(tǒng)中,單片機(jī)通過(guò)共享的雙口RAMIDT7132與CPLD通信,單片機(jī)將數(shù)據(jù)寫(xiě)入IDT7132中,而CPLD則從IDT7132中讀取數(shù)據(jù)并通過(guò)掃描邏輯電路輸出出去。
    由于CPLD掃描模塊可以達(dá)到很高的掃描速率,而單片機(jī)的運(yùn)行速度則相對(duì)較低,并且兩個(gè)模塊間需要有大量的數(shù)據(jù)交換,為此選擇雙口RAM芯片IDT7132SA35JS,它的速度等級(jí)是35ns,完全滿(mǎn)足兩個(gè)模塊實(shí)時(shí)通信的要求。雙口RAM是兩個(gè)數(shù)據(jù)模塊間的數(shù)據(jù)通道,必須是共享的,它在本設(shè)計(jì)中起到了關(guān)鍵作用。
1.2  基于CPLD的獨(dú)立掃描模塊
    顯示部分的點(diǎn)陣模塊采用雙色LED共陰點(diǎn)陣模塊(實(shí)際上可顯示紅、黃、綠三色)。8塊8×8點(diǎn)陣模塊連接成32×32點(diǎn)陣。為易于控制,將公共接口作為行控制,且行的接地引腳經(jīng)過(guò)一個(gè)開(kāi)關(guān)三極管接地(設(shè)計(jì)中簡(jiǎn)稱(chēng)行掃描管),實(shí)現(xiàn)對(duì)相應(yīng)列的控制。因?yàn)橐粋€(gè)行掃描管同時(shí)控制著一行中多個(gè)LED的通斷,所以它承載較大電流。以每個(gè)發(fā)光二極管流過(guò)的電流為10mA計(jì)算,一個(gè)128列的點(diǎn)陣屏中,每個(gè)行掃描管所承受的電流是10mA×128=1.28A,為此選用高速中功率達(dá)林頓管TIP127,它的集電極吸收電流最大可達(dá)5A,保證了行的驅(qū)動(dòng)能力。由于顯示點(diǎn)陣的每一行都需要用一個(gè)三極管來(lái)控制,所以32×32點(diǎn)陣共需要32個(gè)TIP127。
    行掃描電路采用通用數(shù)字電路譯碼輸出來(lái)控制。在32×32點(diǎn)陣顯示時(shí),掃描輸出需要大量的I/O端口,而ATMEL公司生產(chǎn)的CPLD芯片ATF1508AS15JC84(與ALTERA公司的MAX7128SLC84-15功能及封裝等完全兼容)的外部I/O端口不夠用,所以采用兩片CPLD,一片專(zhuān)用于行掃描,另一片用于讀取雙口RAM IDT7132中的數(shù)據(jù)并進(jìn)行列掃描。
    列掃描電路的功能是在選中某行時(shí)送該行對(duì)應(yīng)的列數(shù)據(jù),由于采用的是8位微處理器,一次只能送一個(gè)字節(jié)的數(shù)據(jù),即每次只能掃描8列。本設(shè)計(jì)中,采用8550三極管矩陣驅(qū)動(dòng)方式,從而節(jié)省了大量控制信號(hào)引腳資源。
    獨(dú)立掃描模塊的功能是以雙口RAM為中介將單片機(jī)送來(lái)的數(shù)據(jù)在LED點(diǎn)陣顯示屏上顯示出來(lái),其電路原理圖如圖3所示。單片機(jī)總線將處理好的待顯示數(shù)據(jù)存放在U5(雙口RAM IDT7132SA35JS)中,然后U6(CPLD芯片ATF1508AS15JC84,用Verilog HDL語(yǔ)言編寫(xiě)其總線讀邏輯)讀取存放在U5中的待顯示數(shù)據(jù)并驅(qū)動(dòng)顯示屏。整個(gè)顯示屏為128×32點(diǎn)陣,一次掃描一個(gè)字節(jié)即8位,為此全屏顯示需要128×32÷8=512字節(jié)。將地址線A9R、A10R接地,這樣只允許訪問(wèn)U5中的低512K字節(jié)。CA0~CA8是CPLD輸出到U5中的地址總線,CD0~CD7是從U5讀出數(shù)據(jù)的數(shù)據(jù)總線。J1是行掃描信號(hào)接口,CH0~CH4為行掃描計(jì)數(shù)器輸出信號(hào),時(shí)鐘信號(hào)可從CLK輸出給行掃描計(jì)數(shù)器。J2為列掃描控制信號(hào)V0~V7輸出接口。DR0~DR15為一色的列選通控制信號(hào)輸出,由于I/O端口引腳不夠,所以另一色的列選通信號(hào)采用譯碼電路譯碼輸出,用J3的四線輸出。CON1為JTAG接口,J6為時(shí)鐘源選擇接口,可接單片機(jī)的ALE信號(hào),也可接有源晶振CR2的輸出。有源晶振CR2相當(dāng)于一信號(hào)產(chǎn)生電路,只要其2腳接地,4腳接電源,3腳就有額定的輸出波形。

 


    由于采用CPLD設(shè)計(jì)掃描邏輯,所以?huà)呙柽壿嫷年P(guān)鍵不再取決于硬件連接,而是取決于芯片的設(shè)計(jì)。
1.3 基于單片機(jī)的通信與信號(hào)處理電路
    本系統(tǒng)采用ATMEL公司的8位單片機(jī)AT89C52,主要完成數(shù)據(jù)處理、存儲(chǔ)和通信功能,其原理圖如圖4所示。

 


    U4是AT89C51單片機(jī);U3是地址鎖存器,用來(lái)鎖存單片機(jī)的低8位地址信號(hào)。因?yàn)橐@示的數(shù)據(jù)量很大,特別是當(dāng)設(shè)計(jì)復(fù)雜的顯示效果時(shí)需要處理的數(shù)據(jù)量更大,而AT89C51內(nèi)部緩存容量不足,所以擴(kuò)展外部RAM,采用容量為8K字節(jié)的HM6264,即U7。U2是容量為8K字節(jié)的EEPROM 28C64,用來(lái)存儲(chǔ)字模數(shù)據(jù),而不用作程序存儲(chǔ)器。U5是雙口RAM,U1是將RS232電平轉(zhuǎn)換為T(mén)TL電平的電平轉(zhuǎn)換器。
    PC機(jī)將欲顯示的字或圖形的點(diǎn)陣數(shù)據(jù)通過(guò)串口送到單片機(jī),單片機(jī)將其存儲(chǔ)在EEPROM(U2)中,然后再根據(jù)顯示要求對(duì)這些數(shù)據(jù)進(jìn)行特定的處理,處理完后存儲(chǔ)在雙口RAM(U5)的特定地址,供掃描模塊掃描取數(shù)進(jìn)行顯示。為了便于編寫(xiě)串行通信程序,使用振蕩頻率為11.0592MHz的晶振CR1和C5、R1及SW1組成的復(fù)位電路。
2 軟件設(shè)計(jì)和編寫(xiě)
2.1 主控電路CPLD芯片設(shè)計(jì)與調(diào)試
    主控電路的功能是讀取雙口RAM中的數(shù)據(jù)并通過(guò)譯碼邏輯電路將數(shù)據(jù)顯示在LED點(diǎn)陣顯示屏的特定位置上。因?yàn)橹挥玫絾纹瑱C(jī)的一部分功能,所以使用CPLD芯片將MCU中的總線讀控制器及其外圍譯碼邏輯電路集成在一起。如若采用傳統(tǒng)方案,就必須采用多片芯片;而使用CPLD后,只用一片芯片就可以實(shí)現(xiàn)所要的功能。總線讀控制器是產(chǎn)生時(shí)序的電路,需根據(jù)存儲(chǔ)器的讀時(shí)序進(jìn)行設(shè)計(jì),只有保證正確的時(shí)序才能讀出數(shù)據(jù)。雙口RAM的讀寫(xiě)時(shí)序和普通RAM的讀寫(xiě)時(shí)序基本相同,如圖5所示。在片選信號(hào)從高變低之前必須輸出地址信號(hào)給雙口RAM,然后再用讀信號(hào)去控制數(shù)據(jù)總線上的數(shù)據(jù)有效,即可控制讀出數(shù)據(jù)并譯碼輸出。

 


    復(fù)雜的時(shí)序電路用硬件描述語(yǔ)言描述,一般是用有限狀態(tài)機(jī)來(lái)描述。有限狀態(tài)機(jī)是時(shí)序電路通用模型,任何時(shí)序電路都可以表示成有限狀態(tài)機(jī)。從本質(zhì)上講,有限狀態(tài)機(jī)是由寄存器與組合邏輯構(gòu)成的時(shí)序電路,各個(gè)狀態(tài)之間的轉(zhuǎn)移總是在時(shí)鐘的觸發(fā)下進(jìn)行的。針對(duì)圖5所示的讀時(shí)序,可列出如圖6所示的各種狀態(tài)的轉(zhuǎn)換圖。用Verilog HDL語(yǔ)言描述時(shí)可用帶有always語(yǔ)句的case語(yǔ)句建模,狀態(tài)信息存儲(chǔ)在寄存器中,case語(yǔ)句的多個(gè)分支包含每個(gè)狀態(tài)的行為。在這里將讀時(shí)序分為S0、S1、S2、S3四個(gè)狀態(tài),其工作方式如下:
    步驟S0 在RAM的片選CE使能之前輸出地址;
    步驟S1 選中RAM,輸出讀信號(hào);
    步驟S2 行計(jì)數(shù)器輸出,讀出RAM的數(shù)據(jù)并反相輸出;
    步驟S3 片選禁止,讀禁止,地址計(jì)數(shù)器加1。
    譯碼輸出邏輯電路主要是提取地址計(jì)數(shù)器的計(jì)數(shù)輸出。在某個(gè)狀態(tài)下,行地址計(jì)數(shù)器輸出低5位數(shù)據(jù),位譯碼輸出高4位數(shù)據(jù)并譯碼輸出16個(gè)位選信號(hào)。
    時(shí)序電路中一般留有復(fù)位信號(hào),當(dāng)復(fù)位端為1時(shí),地址計(jì)數(shù)器復(fù)零,地址輸出復(fù)零,片選、讀控制信號(hào)置1,使?fàn)顟B(tài)機(jī)回到狀態(tài)S0。
2.2 行譯碼CPLD芯片設(shè)計(jì)
    行譯碼器的功能較主控電路來(lái)講相對(duì)簡(jiǎn)單,它是將主控電路的行計(jì)數(shù)器輸出的5位二進(jìn)制數(shù)據(jù)譯成32行的行選通信號(hào),去控制行驅(qū)動(dòng)管驅(qū)動(dòng)行輸出。這是一個(gè)純組合邏輯電路,使用Verilog HDL語(yǔ)言描述的always語(yǔ)句和case多分支語(yǔ)句即可實(shí)現(xiàn)此功能。
2.3 單片機(jī)的C程序設(shè)計(jì)
    在本系統(tǒng)中,單片機(jī)的功能主要是負(fù)責(zé)通信與數(shù)據(jù)處理。通信即通過(guò)串口接收來(lái)自PC機(jī)的數(shù)據(jù)并存儲(chǔ)在EEPROM中;數(shù)據(jù)處理即從EEPROM中取出數(shù)據(jù)并根據(jù)要顯示的效果進(jìn)行軟件處理,再存放在雙口RAM中。在本系統(tǒng)中,因單片機(jī)及外圍電路只負(fù)責(zé)通信和數(shù)據(jù)處理,對(duì)實(shí)時(shí)性要求不高,因此用前后臺(tái)系統(tǒng)進(jìn)行軟件設(shè)計(jì)就能達(dá)到要求。本系統(tǒng)采用嵌入式操作系統(tǒng)RTX51TNY(KEIL C平臺(tái)自帶的免費(fèi)的微實(shí)時(shí)內(nèi)核)。軟件主要由PROCESS.C和SERIAL.C兩個(gè)文件組成。PROCESS.C包含三個(gè)任務(wù):任務(wù)0,初始化;任務(wù)1,靜態(tài)顯示;任務(wù)2,左移顯示。SERIAL.C是串口中斷程序。靜態(tài)顯示的算法較簡(jiǎn)單,只要將EEPROM中的字模數(shù)據(jù)存放到雙口RAM中的特定位置即可。左移顯示則需要將字模數(shù)據(jù)每個(gè)字節(jié)左移,然后存放在雙口RAM的特定位置。
    注:本項(xiàng)目是廣西大學(xué)科研基金資助項(xiàng)目
參考文獻(xiàn)
1 王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL.北京:電子工業(yè)出版社,2002.1
2 林明權(quán). VHDL控制系統(tǒng)設(shè)計(jì)范例. 北京:電子工業(yè)出版社,2003.1
3 袁俊泉.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)及其應(yīng)用.西安:西安電子科技大學(xué)出版社,2002.11
4 何立民.單片機(jī)應(yīng)用技術(shù)選編5.北京:北京航空航天大學(xué)出版社,1997.10
5 馬忠梅. 單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1999.1

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美有码视频| 亚洲国产网站| 在线日本高清免费不卡| 国产精品theporn| 欧美精品 日韩| 免费观看在线综合| 久久久www免费人成黑人精品| 亚洲欧美电影在线观看| 亚洲视频在线看| 亚洲每日更新| 99精品国产福利在线观看免费 | 久久国产福利| 欧美在线高清| 久久精品一区二区三区四区| 欧美一区二区三区在线免费观看| 午夜日韩激情| 欧美一区二区三区视频| 性欧美1819sex性高清| 先锋影音一区二区三区| 欧美在线1区| 亚洲激情视频在线播放| 亚洲国产日本| 99国产精品久久久久久久成人热| 欧美成人亚洲| 亚洲国内精品| 国产日韩欧美a| 久久夜色精品国产亚洲aⅴ| 久久久久国产一区二区三区四区 | 欧美成人免费全部| 欧美日韩国产大片| 欧美午夜久久| 国产人久久人人人人爽| 国产一区二区精品久久99| 狠狠入ady亚洲精品| 亚洲高清在线精品| 亚洲美女精品久久| 亚洲视频在线观看视频| 午夜视频在线观看一区二区| 午夜性色一区二区三区免费视频 | 亚洲第一视频| 一区二区高清在线观看| 亚洲欧美精品在线观看| 久久久精彩视频| 欧美大胆成人| 欧美亚洲第一区| 国产亚洲精品成人av久久ww| 一区国产精品| 9色porny自拍视频一区二区| 午夜欧美电影在线观看| 亚洲黄一区二区三区| 国产精品99久久不卡二区| 欧美一区二区三区啪啪| 免播放器亚洲一区| 欧美午夜女人视频在线| 狠狠噜噜久久| 国产精品99久久久久久有的能看 | 亚洲国产第一| 亚洲尤物在线视频观看| 久久免费国产精品1| 欧美日韩精品免费看| 国产欧美亚洲精品| 91久久嫩草影院一区二区| 亚洲图片欧洲图片av| 亚洲风情亚aⅴ在线发布| 亚洲午夜极品| 久久亚洲综合网| 国产精品a久久久久久| 在线播放日韩| 亚洲欧美日本视频在线观看| 亚洲美女在线国产| 久久精品理论片| 欧美少妇一区| 亚洲高清免费视频| 香蕉视频成人在线观看 | 久久久久久穴| 国产精品高清在线观看| 亚洲高清视频一区二区| 亚洲欧美在线x视频| 一区二区三区|亚洲午夜| 久久久国产精品亚洲一区| 欧美日韩一区精品| 亚洲国产电影| 欧美在线3区| 欧美亚洲一区在线| 欧美日韩亚洲一区二区三区在线 | 久久中文在线| 国产精品视频免费在线观看| 91久久黄色| 久久精品免视看| 午夜亚洲激情| 欧美四级在线观看| 亚洲精品国产日韩| 最近中文字幕日韩精品| 久久久99国产精品免费| 国产精品丝袜91| 一本大道久久a久久综合婷婷 | 日韩视频第一页| 久久综合伊人77777| 国产亚洲欧美中文| 亚洲免费视频一区二区| 亚洲午夜视频| 欧美日韩国产小视频在线观看| 精品51国产黑色丝袜高跟鞋| 性做久久久久久免费观看欧美| 亚洲资源在线观看| 欧美日韩国产专区| 亚洲美女免费视频| 日韩一级精品| 欧美国产日韩一区二区三区| 在线观看日产精品| 亚洲国产成人精品久久| 久久亚洲欧美| 一区二区在线观看av| 久久大逼视频| 久久久久久久激情视频| 国产日韩一区二区三区在线播放| 亚洲性人人天天夜夜摸| 亚洲综合色激情五月| 欧美偷拍另类| 一区二区高清| 亚洲欧美在线一区二区| 国产精品久久久久毛片软件| 亚洲视频欧美视频| 亚洲欧美激情精品一区二区| 国产精品免费观看视频| 亚洲综合另类| 久久精品国产一区二区三区免费看| 国产日韩高清一区二区三区在线| 午夜精品www| 久久国产一区| 狠狠久久亚洲欧美专区| 亚洲高清资源| 欧美14一18处毛片| 亚洲精品中文字| 亚洲一区二区三区午夜| 国产精品美女视频网站| 亚洲欧美日韩一区二区三区在线| 欧美在线亚洲一区| 红桃视频国产精品| 亚洲日本电影在线| 欧美日韩精品高清| 亚洲欧美成人一区二区在线电影| 欧美亚洲三级| 黄色成人av| 日韩午夜电影| 欧美性做爰猛烈叫床潮| 亚洲欧美视频在线| 久久影视精品| 亚洲精品国产精品乱码不99 | 国产人成精品一区二区三| 亚洲国产91精品在线观看| 欧美成人精品一区二区| 亚洲美女免费视频| 欧美专区福利在线| 在线免费观看欧美| 亚洲午夜久久久| 国内成人精品视频| 日韩西西人体444www| 国产精品v欧美精品v日本精品动漫| 亚洲欧美激情视频| 另类尿喷潮videofree| 亚洲精选成人| 久久国产精品久久国产精品| 亚洲高清av| 午夜精品久久久久久久久久久| 国内精品久久久久久| 在线亚洲观看| 国产一区二区三区四区在线观看| 亚洲国产日韩欧美在线99| 欧美性开放视频| 久久99伊人| 欧美三级视频| 亚洲国产人成综合网站| 国产精品久久999| 亚洲精美视频| 国产精品爽黄69| 亚洲伦伦在线| 国产视频一区在线观看| 一区二区三区鲁丝不卡| 国产亚洲一区二区精品| 艳女tv在线观看国产一区| 国产午夜久久| 在线亚洲美日韩| 黄色成人av| 欧美一区二区视频97| 亚洲精品四区| 久久手机免费观看| 亚洲一区二区精品视频| 欧美激情91| 久久av一区二区三区漫画| 欧美日韩在线播放一区二区| 亚洲高清自拍| 国产日韩免费| 亚洲欧美日韩在线综合| 亚洲欧洲一区二区在线观看 | 欧美va日韩va| 欧美一级久久久| 国产精品久久国产愉拍| 日韩五码在线| 亚洲国产精品va|