當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]引言近年來(lái),DSP芯片在高速數(shù)據(jù)處理中得到了廣泛的應(yīng)用。TMS320F2812是美國(guó)德州儀器公司(TI公司)專門(mén)為工業(yè)應(yīng)用而設(shè)計(jì)的新一代DSP處理器。該芯片采用了高性能的32位中央處理器、哈佛總線結(jié)構(gòu),高性能靜態(tài)CMOS技術(shù),

引言

近年來(lái),DSP芯片在高速數(shù)據(jù)處理中得到了廣泛的應(yīng)用。TMS320F2812是美國(guó)德州儀器公司(TI公司)專門(mén)為工業(yè)應(yīng)用而設(shè)計(jì)的新一代DSP處理器。該芯片采用了高性能的32位中央處理器、哈佛總線結(jié)構(gòu),高性能靜態(tài)CMOS技術(shù),主頻最高可達(dá)150MHZ(時(shí)鐘周期6.67ns);具有外部存儲(chǔ)器接口XINTF,可擴(kuò)展多達(dá)1MB的存儲(chǔ)空間。但是這種高速器件與慢速外設(shè)之間的接口產(chǎn)生了問(wèn)題。一般來(lái)說(shuō),DSP與慢速外設(shè)的接口訪問(wèn)有兩種方式:直接訪問(wèn)方式和間接訪問(wèn)方式。間接訪問(wèn)是用DSP的數(shù)字I/O口來(lái)控制慢速外設(shè),用軟件編程來(lái)模擬外設(shè)的接口時(shí)序,加入相應(yīng)的等待延時(shí)來(lái)實(shí)現(xiàn);而直接訪問(wèn)是將慢速外設(shè)與DSP特定的XINTF區(qū)相連,通過(guò)增加相應(yīng)的內(nèi)部等待狀態(tài)來(lái)實(shí)現(xiàn)時(shí)序上的匹配。TMS320F2812有多達(dá)56個(gè)獨(dú)立的可編程、多用途雙向數(shù)字I/O口,本文將利用這些I/O口,通過(guò)軟件編程模擬慢速液晶控制器ST7920的讀寫(xiě)時(shí)序,實(shí)現(xiàn)與液晶通信。

1  FYD12842-0402B液晶顯示模塊簡(jiǎn)介 

點(diǎn)陣式液晶顯示模塊是一種集顯示、控制與驅(qū)動(dòng)為一體的顯示器件,在設(shè)計(jì)中我們采用的是成都市飛宇達(dá)實(shí)業(yè)有限公司生產(chǎn)的液晶顯示模塊FYD12864-0402B,內(nèi)置ST7920液晶控制器。

FYD12864-0402B是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊。其顯示分辨率為128 64,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集,強(qiáng)大的字庫(kù)省去了很多自行編碼的麻煩;該模塊不僅可以顯示8 行16 16點(diǎn)陣的漢字,利用其靈活的接口方式和簡(jiǎn)單、方便的操作指令,還可構(gòu)成全中文人機(jī)交互圖形界面;其內(nèi)置了DC~DC轉(zhuǎn)換電路,無(wú)需外加負(fù)電壓,無(wú)需片選信號(hào),簡(jiǎn)化了軟件設(shè)計(jì)。

總之,由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,具體可以參看FYD12864-0402B的使用手冊(cè)。

2  TMS320F2812與ST7920的硬件接口設(shè)計(jì)

2.1  間接硬件接口設(shè)計(jì)

TMS320F2812與ST7920的間接硬件接口設(shè)計(jì)如圖1所示。ST7920并、串口方式可選,當(dāng)PSB置高時(shí)為并行方式,置低時(shí)為串口方式。本例在實(shí)際應(yīng)用中僅使用8位并口的通訊模式,故將PSB接固定高電平。RESET為液晶復(fù)位引腳,低電平有效。V0與VOUT以圖1中方式相連可以調(diào)節(jié)LCD的對(duì)比度。本設(shè)計(jì)用TMS320F2812的GPIOA0~7作為數(shù)據(jù)接口,GPIOB0、GPIOB1分別與RS、R/W相連作為控制信號(hào),其具體控制功能如表1所示。E為ST7920的使能信號(hào),將其與GPIOB2相連,E=1時(shí),配合R進(jìn)行讀數(shù)據(jù)或指令;當(dāng)E=1 時(shí),配合/W進(jìn)行寫(xiě)數(shù)據(jù)或指令。

圖1  TMS320F2812與ST7920的硬件接口電路

另外,在本設(shè)計(jì)中,TMS320F2812的I/O口只能接受最大3.3V的電壓,而液晶的輸出電壓有5V,因此在兩者之間需要進(jìn)行電平轉(zhuǎn)換。

2.2  DSP與ST7920的軟件接口設(shè)計(jì)

DSP和液晶模塊的接口包括2部分操作:DSP讀液晶模塊狀態(tài)的操作;DSP向液晶模塊寫(xiě)數(shù)據(jù)和指令的操作。這些操作的實(shí)現(xiàn)是參考液晶模塊的時(shí)序圖,產(chǎn)生滿足這些時(shí)序的接口控制邏輯。液晶的時(shí)序圖如圖2所示。

(b)  ST7920讀資料時(shí)序圖

圖2  ST7920讀寫(xiě)時(shí)序圖

其中,TC=1200(MIN),TPW=140(MIN),TR=TF=25(MAX),TAS=10(MIN),TAH=20(MIN),TDSW=40(MIN),TH=20(MIN),TDDR=100(MAX)(單位均為ns)

從時(shí)序圖可以看出,ST7920的RS、R/W可以同步操作,讀寫(xiě)操作是由使能信號(hào)E完成的,因此,在軟件設(shè)計(jì)中關(guān)鍵是要設(shè)計(jì)出合理的E信號(hào),以滿足ST7920的讀/寫(xiě)時(shí)序。要實(shí)現(xiàn)對(duì)ST7920的正確讀寫(xiě)必須使F2812的I/O口模擬時(shí)序注意滿足以下條件:

(1)       在讀寫(xiě)時(shí),必須使E信號(hào),即IOPB2保持高信號(hào)140ns以上

(2)       在寫(xiě)操作時(shí)IOPA0~IOPA7的數(shù)據(jù)必須在E信號(hào)變?yōu)榈碗娖角氨3?0ns以上

(3)       在讀、寫(xiě)兩個(gè)數(shù)據(jù)之間的間隔必須大于1200ns。

此外,ST7920有內(nèi)部標(biāo)志忙標(biāo)志BF,BF=1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù);BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。因此,在送出一個(gè)指令前需檢查BF標(biāo)志位,如不檢查,則在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長(zhǎng)的時(shí)間,等待前一個(gè)指令確定執(zhí)行完成。從程序的可移植性和通用性方面考慮,本設(shè)計(jì)選用了C語(yǔ)言進(jìn)行軟件模塊的設(shè)計(jì)實(shí)現(xiàn)。另外,在軟件的編寫(xiě)上采用了結(jié)構(gòu)體、共用體的方法,以結(jié)構(gòu)體成員的形式來(lái)訪問(wèn)寄存器的某一位或者某幾位。相比以前使用的宏定義方式,這種方式實(shí)現(xiàn)了對(duì)寄存器位域的獨(dú)立訪問(wèn),為寄存器提供了更加靈活和高效的訪問(wèn)手段,也大大提高了代碼的可讀性、可靠性和可維護(hù)性?,F(xiàn)給出程序如下:

void writeINS (int INS )  //DSP向液晶寫(xiě)入命令

{

checkBF();//測(cè)試BF位是否忙

EALLOW;

GpioMuxRegs. GPADIR.all=0x00ff;//設(shè)GPIOA0~7為輸出引腳

EDIS;

GpioDataRegs. GPBDAT.bit.GPIOB0=0;

GpioDataRegs. GPBDAT.bit.GPIOB1=0;//寫(xiě)指令到LCD,RS=0,R/W=0

GpioDataRegs. GPADAT.all=INS;//輸出指令

GpioDataRegs. GPBDAT.bit.GPIOB2=1;//E=1

Delay1();//延時(shí)140ns以上

GpioDataRegs. GPBDAT.bit.GPIOB2=0;//E=0,指令寫(xiě)入LCD

}

void  writeDATA(int data) //向液晶寫(xiě)入數(shù)據(jù)

{

checkBF();//測(cè)試BF位是否忙

EALLOW;

GpioMuxRegs. GPADIR.all=0x00ff;//設(shè)GPIOA0~7為輸出引腳

EDIS;

GpioDataRegs. GPBDAT.bit.GPIOB0=1;

GpioDataRegs. GPBDAT.bit.GPIOB1=0;//寫(xiě)數(shù)據(jù)到LCD,RS=1,R/W=0

GpioDataRegs. GPADAT.all=data;//輸出數(shù)據(jù)

GpioDataRegs. GPBDAT.bit.GPIOB2=1;//E=1

Delay1();//延時(shí)140ns以上

GpioDataRegs. GPBDAT.bit.GPIOB2=0;//E=0,數(shù)據(jù)寫(xiě)入LCD

}[!--empirenews.page--]

void  checkBF()//檢查BF位,判斷LCD 是否忙

{

unsigned int check

EALLOW;

GpioMuxRegs.GPAMUX.all=0xff00;//設(shè)EVA前8腳為通用I/O口,其他為保留功能

GpioMuxRegs.GPBMUX.all=0xff00;//設(shè)GPIOB0~2為通用I/O口,其他為保留功能

GpioMuxRegs. GPBDIR.all=0x00ff;// 設(shè)GPIOB0~2為輸出引腳

EDIS;

GpioDataRegs. GPBDAT.bit.GPIOB0=0;

GpioDataRegs. GPBDAT.bit.GPIOB1=1;//讀BF的狀態(tài),RS=0,R/W=1

do {

GpioDataRegs. GPBDAT.bit.GPIOB2=1;//E=1

Check=GpioDataRegs. GPADAT.all;

Delay1();//延時(shí)140ns以上

GpioDataRegs. GPBDAT.bit.GPIOB2=0;//E=0

check=0x80✓//當(dāng)?shù)?位,即BF為0時(shí)才可以操作

}while(!check= =0x00);

}

void InitialLCD()//液晶初始化

{

writeINS(0x30);//LCD選擇為8位并行數(shù)據(jù)傳輸,不擴(kuò)充指令

Delay2(5);//延時(shí)大于100us

writeINS(0x0E);//開(kāi)顯示,開(kāi)游標(biāo),關(guān)反白

Delay2(5);//延時(shí)大于100us

writeINS(0x01);//清屏顯示

Delay2(500);//延時(shí)大于10ms

writeINS(0x06);//DDRAM的地址計(jì)數(shù)器(AC)加1

Delay2(5);//延時(shí)大于100us

}

void  Delay1()//延時(shí)子程序

{

Int i;

for ( i=0;i<5;i++ );

}

void  Delay2(unsigned int nTime)

{

int ii,jj,kk=0;

for ( ii=0;ii<nTime;ii++ )

{

for ( jj=0;jj<215;jj++ )

{

kk++;

}

}

}

欲在ST7920中某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫(xiě)入中文字符編碼。當(dāng)字符編碼為兩字節(jié)時(shí),應(yīng)先寫(xiě)入高位字節(jié),再寫(xiě)入低位字節(jié)。ST7920的字符顯示地址RAM地址從80H到9FH,與4行8列共32個(gè)字符顯示區(qū)域一一對(duì)應(yīng)。另外,顯示ASCII字符過(guò)程與顯示中文字符過(guò)程相同,不過(guò)在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示位置,有模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置。本文以從字庫(kù)中顯示“液晶”字樣為例,給出顯示“液晶”字符的主程序如下:

main()

{

InitialLCD();//初始化液晶

writeINS(0x80);//設(shè)定顯示地址為首行首列

writeDATA (0xD2);

writeDATA (0xBA);//顯示“液”

writeDATA (0xBE);

writeDATA (0xA6);//顯示“晶”

for(;;);

}

3 結(jié)論

從上面的應(yīng)用介紹可看出,本文所采用的方法不需要增加硬件,電路結(jié)構(gòu)簡(jiǎn)單,只占用了TMS320F2812的多達(dá)56個(gè)I/O引腳中的11個(gè)。所以,對(duì)剩余較多不用I/O引腳的DSP系統(tǒng)完全可以采用這種接口控制方法,絕大多數(shù)下是可以滿足要求的。通過(guò)該設(shè)計(jì)我們可以說(shuō),采用TMS320F2812模擬外部慢速設(shè)備的時(shí)序?qū)崿F(xiàn)與其外設(shè)的接口這種方法是一種簡(jiǎn)單有效的方法,并為各種系統(tǒng)顯示、慢速外設(shè)的接口設(shè)計(jì)提供了一種可以借鑒的方法。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉