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