基于NiosⅡ處理器的TFT-LCD圖形顯示設計
接下來(lái)就是給LCD的RAM分配地址,把要顯示的圖片的數據信息以數據指針的方式從左到右依次寫(xiě)入目的地址。而SdCmd()函數為自己編寫(xiě)的發(fā)送數據命令的子函數。
addr=Y*5;
addr=addr7;
addr=addr+X*2; //same as addr=X*2+Y*320*2
p=0; //Data ROM pointer
for(j=0;j10;j++) //sprit one line data to 8 packet
{
SdCmd(0x84);
//send data packet,送一個(gè)像素的數據到內存
SdCmd(40);
//no of byte in one packet,結束一個(gè)命令包
for(k=0;k20;k++) //no of pixels in one packet
{
SdCmd(pic[p+1]); //low byte
SdCmd(pic[p]); //high byte
p+=2;
}
CmdEnd();
}
addr+=640; //next line
}
}
對于漢字以及字符的顯示也是通過(guò)定義PrintGB()函數,類(lèi)似上述程序以命令包的形式把要顯示的信息送入目的地址,在后面的程序中直接調用該子函數來(lái)進(jìn)行顯示。
隨著(zhù)LCD顯示越來(lái)越多地應用于生產(chǎn)生活的各個(gè)方面,各種各樣的處理器控制LCD顯示的方案也相繼出現,本文通過(guò)整個(gè)系統設計和在硬件平臺上實(shí)驗提出了一種基于FPGA的SoPC方案,并最終在平臺上面驗證了其可行性。該方案的優(yōu)勢在于系統功能改進(jìn)的靈活性, 在不改變硬件平臺的情況下對系統進(jìn)行增刪和優(yōu)化,降低了系統成本,這是傳統ARM方案無(wú)法達到的。由于微處理器和用戶(hù)邏輯接口都集成在一塊Cyclone芯片上, 編程人員可以靈活地定義I/O接口, 基于FPGA有更好的靈活性和可靠性[9]。對基于NiosⅡ的微處理器, 用戶(hù)能根據顯示屏的大小靈活調整硬件邏輯設計以實(shí)現對顯示屏的控制,而不需要改變其原有硬件構成。但是16位微控制器卻只能對固定大小的顯示屏進(jìn)行控制。從長(cháng)遠來(lái)看,基于NiosⅡ的微處理器, 可以通過(guò)更改其硬件邏輯配置方便地進(jìn)行版本升級,節省了成本。開(kāi)發(fā)人員通過(guò)處理器[10]指令集中增加定制指令, 可以加速軟件算法, 定制指令可以在一個(gè)周期的時(shí)間內完成復雜的處理任務(wù),為系統優(yōu)化提供了一種高性?xún)r(jià)比的解決方案。
評論