基于Blackfin DSP的TFT LCD液晶接口設計
TFT LCD液晶顯示器與數碼管和點(diǎn)陣液晶相比具有體積小巧、控制簡(jiǎn)單、可以顯示豐富多彩的圖像視頻信息。文中以ADSP_BF532為例介紹了一種Blackfin DSP處理器與TFT LCD液晶顯示器的接口設計,在Blackfin DSP的系統設計中具有一定的參考價(jià)值。
1 Blackfin DSP處理器與TFT LCD液晶屏簡(jiǎn)介
Blackfin DSP處理器是基于A(yíng)DI公司和Intel公司聯(lián)合開(kāi)發(fā)的微信號架構(MSA)的一種16位定點(diǎn)DSP處理器,具有較強的數據處理能力,能夠完成視頻、圖像、音頻和通信數據的數字化處理等。同時(shí)還具有綜合控制能力,單芯片即可完成通常由DSP+控制器完成的功能。Blackfin DSP處理器可廣泛應用在各種嵌入式設備、儀器中,完成系統控制和數據處理。
PPI(Parallel Port Interface)接口是Blackfin DSP處理器的并行數據接口,主要用于數據的高速傳輸。它包括16位數據線(xiàn),3個(gè)同步信號和一個(gè)時(shí)鐘信號。PPI接口直接與DMA通道整合,數據傳輸寬度可靈活配置,支持8位、10~16位等多種數據寬度。PPI的工作模式有兩種:通用模式(GP模式)和ITU-656模式,其中通用模式下可方便地與數字液晶屏連接。
Blaekfin DSP處理器的DMA傳輸可以是內部與外部存儲器之間,也可以是內部或外部存儲器與SPI口、SPORT口、UART口、PPI口之間。
Blackfin DSP處理器的DMA傳輸可基于描述符配置,也可基于寄存器配置?;诿枋龇腄MA傳輸使用存放在存儲器內的一組參數來(lái)初始化一個(gè)DMA傳輸?;诿枋龇腄MA傳輸允許多個(gè)DMA序列鏈接在一起,一個(gè)DMA傳輸完成后緊接著(zhù)進(jìn)行下一個(gè)DMA傳輸?;诩拇嫫鞯腄MA傳輸允許處理器通過(guò)對控制寄存器編程來(lái)啟動(dòng)一個(gè)DMA傳輸。一次DMA傳輸完成后,可以用原來(lái)設置的值自動(dòng)更新控制寄存器,連續傳輸數據。
Blackfin DSP處理器支持二維DMA傳輸,特別適合于視頻數據傳輸。二維DMA的相關(guān)控制寄存器如下:
配置寄存器(DMAx_CONFIG/MDMA_yy_CONFIG):設置二維DMA使能方式,中斷產(chǎn)生方式。
內部循環(huán)計數寄存器(DMAx_X_COUNT/MDMA_yy_X_COUNT):保存二維DMA內層循環(huán)的數目(應≥2)。
內層循環(huán)地址增量寄存器(DMAx_X_MODIFY/MDMA_yy_X_MODIFY):保存每一次內層循環(huán)計數器加1后DMA操作地址在內存中的增量,此增量應該是二維DMA操作的數據單元長(cháng)度的整數倍。
外層循環(huán)計數寄存器(DMAx_Y_COUNT/MDMA_yy_Y_COUNT):保存外層循環(huán)的數目。
外層循環(huán)地址增量寄存器(DMAx_Y_MODIFY/MDMA_yy_Y_MODIFY):保存每一次外層循環(huán)計數器加1后DMA操作地址在內存中的增量,可以是負值,此增量應該是二維DMA操作的數據單元長(cháng)度的整數倍。
AT070TN83 V.1是群創(chuàng )生產(chǎn)的一款數字液晶顯示屏,屏幕尺寸為7英寸(17.78 cm),分辨率800×480,23行消隱行。采用5 V(背光)和3.3 V(I/0)雙電源供電。該液晶具有DE模式和HV模式,考慮Blackfin PPI的接口特點(diǎn),本系統采用HV模式進(jìn)行數據傳輸。
液晶時(shí)序如圖1和圖2所示。
圖l和圖2中相應的參數參照AT070TN83 V.1手冊。液晶同步時(shí)序可以看做是滿(mǎn)足一定要求的PWM波,可利用Blackfin DSP的定時(shí)器支持PWM輸出的特性輸出此信號。
2 系統總體設計
該液晶屏的輸入格式為RGB666格式,而ADSPBF532的PPI接口數據線(xiàn)只有16位,根據人眼的視覺(jué)特性(對綠色最敏感),將紅色和藍色的最高位和最低位分別接在一起,其他數據線(xiàn)對應連接。
液晶所需的同步信號HS和VS分別由ADSPBF532的定時(shí)器1和定時(shí)器2產(chǎn)生。通過(guò)配置ADSPBF532定時(shí)器的相關(guān)寄存器可以精確地控制輸出PWM
波的有效沿,周期和占空比,完全匹配液晶時(shí)序。
顯示所用的時(shí)鐘信號可以由外部的獨立晶振產(chǎn)生,分別輸入液晶和DSP的PPI口。也可以由DSP的輸出時(shí)鐘分頻產(chǎn)生,再分別輸入液晶和DSP的PPI口。本系統使用獨立的25 MHz晶振將時(shí)鐘信號直接輸給液晶和PPI。
該液晶內部沒(méi)有顯存,因此在使用時(shí)系統需要擴展SDRAM,在SDRAM中開(kāi)辟一塊區域作為顯示緩存,將需要顯示的數據寫(xiě)入緩存,再由DMA傳送到PPI口進(jìn)行顯示。
系統總體設計框圖如圖3所示。
在外部25MHz時(shí)鐘的驅動(dòng)下DSP按照寄存器的配置輸出相應的同步信號,同時(shí)將SDRAM對應區域中的數據從PPI口輸出。
3 軟件設計
(1)顯示緩存數據的存儲。
該液晶每行800點(diǎn),每個(gè)點(diǎn)對應16位數據,因此每行需要800×2 bit。每屏需要525行,包括前消隱23行,中間480行有效數據,后消隱22行,因此開(kāi)辟顯示緩存大小為525×800×2 bit。為了操作方便,可定義一個(gè)二維數組,二維數組中的數據與TFTLCD上的點(diǎn)具有對應關(guān)系(數組中每?jì)蓚€(gè)字節對應LCD上的一個(gè)點(diǎn))。由于需要將顯示緩存定義在SDRAM中,因此在工程中需要添加ldf文件,將顯示緩存指定存儲在SDRAM中。
緩存數組的定義如下
section(“SDRAM0”)char DisplayBuffer[525][800*2]
(2)定時(shí)器初始化。
使用定時(shí)器1和定時(shí)器2分別作為行同步信號和場(chǎng)同步信號,根據液晶時(shí)序配置定時(shí)器寄存器,包括輸出時(shí)鐘周期,脈沖寬度,有效沿,PWM模式輸出等。為了與液晶同步,使用PPI的輸入時(shí)鐘驅動(dòng)定時(shí)器。
Blackfin定時(shí)器寄存器設置如下
(3)PPI初始化。
使用通用模式(GP模式)輸出數據,兩個(gè)外部幀同步信號,PPI_FS1和PPI_FS2下降沿有效,PPI_DEIAY設置延時(shí)時(shí)鐘個(gè)數(行同步變高到數據輸出間的時(shí)鐘個(gè)數)。
Blackfin PPI寄存器設置如下
* pPPI_DELAY=45;//輸出數據前的延時(shí)
* pPPI_COUNT=800*2-1;//每行傳輸字節數,比實(shí)際值小1
注意:AT070TN83 V.1手冊中給出的輸出數據前的延時(shí)參數為40個(gè)時(shí)鐘周期,但實(shí)際使用中發(fā)現設為40時(shí)屏幕顯示圖像左偏,說(shuō)明延時(shí)不夠,經(jīng)試驗應為45個(gè)時(shí)鐘周期。
(4)DMA初始化。
使用PPI輸出數據時(shí)必須使用DMA傳輸。采用寄存器配置模式,配置DMA傳輸的起始地址、傳輸的數據個(gè)數、地址增量和傳輸方式。本系統設置為二維傳輸方式,行地址增量設置為2(16位傳輸,2 bit),縱向地址增量設置為2(上一行最后傳輸的地址與下一行起始地址差,2 bit),DMA傳輸模式設置為自動(dòng)緩沖模式。
Blackfin DMA寄存器設置如下
(5)主程序流程圖,如圖4所示。
主程序中首先初始化DSP(包括SDRAM,EBIU等),定時(shí)器,PPI寄存器和PPI DMA寄存器配置的先后順序要求不是絕對的,但是PPI DMA和定時(shí)器的使能必須在最后,因為定時(shí)器使能后將觸發(fā)DMA開(kāi)始傳輸數據,所以必須在使能PPI DMA之后再使能定時(shí)器。需要改變顯示內容時(shí)改變對應數組中數據即可。
4 結束語(yǔ)
經(jīng)調試,液晶正確顯示,并且屏幕穩定無(wú)閃爍,成功應用在某儀器系統中。由于Blackfin系列處理器的內核都是相同的,接口操作類(lèi)似,因此文中介紹的方法對Blackfin系列處理器的液晶接口設計具有參考價(jià)值。
評論