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