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