近年來(lái),,隨著低價(jià)格、高性能DSP芯片的出現(xiàn),,DSP已越來(lái)越多地被應(yīng)用于高速信號(hào)采集,、語(yǔ)音處理、圖像分析處理等領(lǐng)域中,,并顯示出巨大的優(yōu)越性,。智能彩色液晶顯示器具有顯示直接美觀、便于操作的特點(diǎn),,被用作各種便攜式系統(tǒng)的顯示前端,。它一般采用工業(yè)級(jí)的高頻CPU可以自行對(duì)接收的命令和數(shù)據(jù)進(jìn)行處理因而能夠提高用戶端接口的軟件開發(fā)效率。
一般的液晶顯示往往采用單片機(jī)控制但在系統(tǒng)需要大量高速實(shí)時(shí)數(shù)據(jù)的情況下,,單片機(jī)由于受處理速度的限制就顯得力不從心而且一般的液晶顯示仍采用煩瑣的點(diǎn)陣操作來(lái)顯示漢字和圖形,,而這又增加了軟件開發(fā)的難度。為了解決這些問題,,本文將提出一種基于DSP控制的智能彩色液晶顯示器的接口設(shè)計(jì)方法,,從而有效地解決了上述問題。
智能彩色液晶顯示器(以下簡(jiǎn)稱LCD)VK63是上海廣電集團(tuán)北京分公司的產(chǎn)品,,它具有體積小,、功耗低,、無(wú)輔射,、壽命長(zhǎng),、超薄、防振及防爆等特點(diǎn),。該顯示器的顯示顏色為256色,,可顯示字符為ASCII的二級(jí)字庫(kù),中文顯示為15行×20列,,圖形點(diǎn)陣320×RGB×240,。
該
LCD采用大規(guī)模門陣列集成電路,從而避免了用煩瑣的點(diǎn)陣操作來(lái)顯示漢字和圖形,,減輕了軟件開發(fā)人員的負(fù)擔(dān),,提高開發(fā)效率;由于采用全數(shù)字化設(shè)計(jì),,因而顯示穩(wěn)定可靠,,抗強(qiáng)電磁干擾;該LCD采用工業(yè)級(jí)的CPU(89C51),,機(jī)內(nèi)配置有二級(jí)字庫(kù),,可通過串口或三態(tài)數(shù)據(jù)總線并口接收控制命令數(shù)據(jù),,并自行對(duì)接收的命令和數(shù)據(jù)進(jìn)行處理,以實(shí)時(shí)顯示用戶所要顯示的各種曲線、圖形和中西文字體,。其原理框圖如圖1所示。
?。蹋茫牡拿畲a為十六進(jìn)制碼格式,,每個(gè)命令均以十六進(jìn)制碼的“1B”開頭,后面為命令代碼和所需要的參數(shù),。其中XH表示X坐標(biāo)的高8位,,XL表示X坐標(biāo)的低8位,YH表示Y坐標(biāo)的高8位,,YL表示Y坐標(biāo)的低8位,。
LCD的圖形方式以光點(diǎn)為最小點(diǎn)陣顯示單位,,每個(gè)光點(diǎn)包含RGB三個(gè)色點(diǎn),。字符方式以8×16點(diǎn)陣為最小顯示塊單位。西文字符占一個(gè)顯示塊,,16×16點(diǎn)陣的漢字占兩個(gè)顯示塊,。本機(jī)每顯示一個(gè)字符或漢字后光標(biāo)自動(dòng)右移一個(gè)字符或漢字位所以在同一行里順序?qū)懭霛h字或字符時(shí)不用再加光標(biāo)定位命令,即可連續(xù)送入內(nèi)碼,。 如圖形操作為畫一實(shí)心矩形,,那么,其命令代碼為:1B 41 color XH1 XL1 YH1 YL1 XH2 XL2 YH2 YL2,,其中,,color?yàn)轭伾a,,X1 Y1為左上角坐標(biāo),X2 Y2為右下角坐標(biāo),。其具體操作是以點(diǎn)(X1,,Y1)為左上角坐標(biāo),以點(diǎn)(X2,,Y2)為右下角坐標(biāo),,使用指定的顏色畫實(shí)心矩形。
?。玻?串行通訊的硬件設(shè)計(jì)
?。蹋茫倪x用標(biāo)準(zhǔn)RS-232通訊接口,按串口方式工作,。一幀信息為10位,,內(nèi)含1位起始位(0),8位數(shù)據(jù)位(先低位后高位),,1位停止位(1),。
為了提高通訊速度,顯示器內(nèi)設(shè)置了一個(gè)128字節(jié)的輸入緩沖區(qū),。發(fā)送數(shù)據(jù)前應(yīng)先檢查DTR信號(hào)(RS232電平),,若DTR為負(fù)電平(對(duì)應(yīng)COMS高電平),則表示緩沖區(qū)滿,,要等到DTR信號(hào)變?yōu)檎娖剑▽?duì)應(yīng)COMS低電平)后再發(fā)送數(shù)據(jù),。如果每組的數(shù)據(jù)量少于128字節(jié),同時(shí)每組之間又有足夠的間隔,,則不用判斷DTR信號(hào)就可連續(xù)發(fā)送數(shù)據(jù),。圖2所示是其硬件接口原理框圖。
?。玻?串行通訊軟件設(shè)計(jì)
此設(shè)計(jì)是一個(gè)具體工程項(xiàng)目(無(wú)功與諧波補(bǔ)償裝置)的液晶顯示部分程序,主要完成顯示“系統(tǒng)是否投入工作以及工作是否正常”的各種彩色圖形曲線和文字,,其中顯示標(biāo)志寄存器和COUNT數(shù)據(jù)寄存器的值都由相關(guān)應(yīng)用程序給定。通過設(shè)置等待寄存器WSGR(賦值為0)和檢測(cè)I/O的DTR信號(hào)可以防止數(shù)據(jù)發(fā)送丟失,從而實(shí)現(xiàn)高速DSP與外部低速LCD的通信,。由于篇幅有限,,這里只給出了串行初始化和數(shù)據(jù)發(fā)送部分的程序。其程序流程框圖如圖3所示,。
(1)串行通訊初始化程序
?。蹋模?# 0E0H ;設(shè)置串行通訊口各寄存器
SPLK # 0017H,SCICCR ;SCI使能,空閑線喚醒模式,8位數(shù)據(jù),無(wú)奇偶校驗(yàn)位
?。樱校蹋?# 0013H,SCICTL1 ;接收,、發(fā)送、內(nèi)部時(shí)鐘使能,,SLEEP=0
?。樱校蹋?# 0000H,SCICTL2 ;接收和發(fā)送中斷禁止
?。樱校蹋?# 0000H,SCIHBAUD
SPLK # 0082H,SCILBAUD ;波特率為9600
?。樱校蹋?# 0020H,SCIPC2 ;設(shè)置SCITXD為串行發(fā)送功能,SCIRXD為I/O口功能
SPLK #0033H,SCICTL1 ;串口初始化完成
?。蹋粒?AR0,#SCITXBUF ;發(fā)送緩沖寄存器地址
(2)數(shù)據(jù)串行發(fā)送程序
?。樱茫桑樱?
LDP #0E0H
?。拢桑?SCIPC2,BIT3 ;檢測(cè)DTR信號(hào),判斷輸入緩沖區(qū)是否滿
?。拢茫危?SCISS,TC ;若緩沖區(qū)滿,繼續(xù)查詢等待
LDP #4H ;DP指向用戶定義數(shù)據(jù)頁(yè)4(0200H-0280H)
?。蹋粒茫?SCITEMP
?。停粒?*,AR0 ;數(shù)據(jù)送SCITXBUF發(fā)送緩沖區(qū)
SACL *
?。兀停桑訽RDY:
?。蹋模?# 0E0H
BIT SCICTL2BIT7 ;判發(fā)送器是否空
?。拢茫危?XMIT_RDY,NTC
?。遥牛裕?DSP與LCD的并行通訊設(shè)計(jì)
3.1 并行通訊硬件設(shè)計(jì)
?。蹋茫淖陨砭哂幸粋€(gè)三態(tài)數(shù)據(jù)總線并口(并口為COMS電平),,可以同主機(jī)進(jìn)行通訊。它的外部有12條線同DSP相連,,即D0~D7,、WRCS、BUSY,、INT和GND,。其中WRCS為片選信號(hào)和寫信號(hào)的邏輯或非,上升沿有效,。BUSY信號(hào)為高(COMS電平)表示忙,。INT為中斷申請(qǐng)信號(hào),低電平有效,。圖4所示是其并行接口的硬件原理圖,。圖5所示是LCD的時(shí)序圖。其中TW為WRCS信號(hào)的脈沖寬度,,TSU為數(shù)據(jù)建立時(shí)間,,TH為數(shù)據(jù)保持時(shí)間。這些參數(shù)的具體要求為:
?。裕撞恍∮冢保叮睿?;TSU不小于12ns,;T大于0ns ;TH不小于5ns,;TI不小于2μs,。
3.2 并行通訊軟件設(shè)計(jì)
并行通訊的編程思想與串行通訊軟件的設(shè)計(jì)基本相同,。但并行通訊是通過設(shè)置等待寄存器WSGR賦值為0和檢測(cè)IOPC5的BUSY忙信號(hào)來(lái)防止發(fā)送數(shù)據(jù)丟失,,以實(shí)現(xiàn)高速DSP與外部低速LCD的通信。圖3所示的流程圖也適用于并行通訊,。
(1)并行通訊初始化程序
?。蹋模?# 0E1H
LACL OCRB
?。粒危?# 00CFH ;IOPC(4-5)配置為一般I/O功能
?。樱粒茫?OCRB
LACL PCDATDIR
?。希?# 1000H ;IOPC4口為輸出方式
?。樱粒茫?PCDATDIR
LACL PCDATDIR
?。粒危?# 0DFFFH ;IOPC5口為輸入方式
?。樱粒茫?PCDATDIR
(2)數(shù)據(jù)并行發(fā)送程序
SCISS:;判斷IOPC5口的BUSY信號(hào)是否忙
?。蹋模?# 0E1H
?。蹋粒茫?PCDATDIR
LDP # 4H
?。樱粒茫?BUSYDATA
?。拢桑?BUSYDATA,BIT5
BCND SCISS, TC ;若BUSY為高,繼續(xù)查詢等待
?。蹋模?# 4H ;若BUSY為低, 把數(shù)據(jù)送到端口8000H.
?。希眨?PARALTEMP,8000H
LDP # 0E1H
?。蹋粒茫?PCDATDIR
?。粒危?# 0FFEFH ;將IOPC4口的INT信號(hào)置低
SACL PCDATDIR
?。遥校?# 50 ;延時(shí)2.5μs
?。危希?/p>
LDP # 0E1H
?。蹋粒茫?PCDATDIR
?。希?#0010H ;將IOPC4口的INT信號(hào)置高
SACL PCDATDIR
RET4 結(jié)束語(yǔ)
本文提出的基于DSP控制的智能彩色液晶顯示器接口設(shè)計(jì)能夠很好地解決高速DSP與外部低速設(shè)備的通信問題,,本設(shè)計(jì)嘗試采用了串行和并行兩種通訊方案,,其中前者DSP只需用3根線即可實(shí)現(xiàn)數(shù)據(jù)串行通信,因而節(jié)約了DSP的外部資源,雖然傳輸速度稍低,但能滿足大多數(shù)實(shí)際工程的需要而后者采用并行通訊雖然數(shù)據(jù)傳輸速度較快,但會(huì)受到LCD所帶CPU(89C51)解釋命令速度的限制,雖然液晶顯示速度比前者稍快20%左右,但要占用DSP外部資源的12根線。通過對(duì)上述兩種方案的比較,最終設(shè)計(jì)項(xiàng)目采用了串行通訊方案,并在實(shí)際應(yīng)用中取得了很好的效果,。