The design of monitoring system based on F2812
摘要:本文提出了一種基于F2812并使用液晶顯示的監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)方案,給出了系統(tǒng)的總體硬件結(jié)構(gòu)框圖,并詳細(xì)介紹了F2812與液晶顯示屏的接口設(shè)計(jì)以及液晶顯示的程序設(shè)計(jì)。
關(guān)鍵字:F2812 DSP CPLD 液晶顯示 SED-1335
Abstract: A design scheme about monitoring system that is based on F2812 and displayed with LCD is brought forward, the hardware architecture figure of the system is given, the design of hardware interface between F2812 and LCD ,and software design of LCD is discussed in detail in the paper.
Keywords: F2812 DSP CPLD LCD SED-1335
1. 引言
傳統(tǒng)的監(jiān)測(cè)系統(tǒng)大多都是在單片機(jī)基礎(chǔ)上開(kāi)發(fā)的。單片機(jī)由于速度慢,運(yùn)算能力弱,實(shí)時(shí)性差,在需要處理大量高速實(shí)時(shí)數(shù)據(jù)的情況下,往往不能達(dá)到要求,而DSP則非常擅長(zhǎng)進(jìn)行高速信號(hào)采集和數(shù)據(jù)處理。因此,本文將討論一種基于F2812并使用液晶顯示的監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)方案。
2. 系統(tǒng)總體硬件結(jié)構(gòu)
本系統(tǒng)采用TI公司推出的32位定點(diǎn)DSP芯片TMS320F2812作為底層主處理器件,利用其片上16通道A/D轉(zhuǎn)換模塊將采集得到的數(shù)字信號(hào)進(jìn)行處理,并將所有控制電路和地址譯碼,分配等功能設(shè)計(jì)在CPLD中,通過(guò)CPLD來(lái)控制讀寫(xiě)液晶顯示模塊等外圍器件,其中,液晶顯示模塊采用臺(tái)灣晶采光電股份有限公司生產(chǎn)的一款內(nèi)嵌SED1335控制器的AT-320240Q1FIEW-33H型液晶模塊(320x240點(diǎn)陣)。此外,在DSP芯片外還擴(kuò)展了RAM和FLASH。硬件結(jié)構(gòu)框圖如下:

1. F2812與液晶顯示模塊接口設(shè)計(jì)
在上圖中,RAM和FLASH ROM是F2812的外擴(kuò)存儲(chǔ)器,CPLD是用來(lái)作為地址譯碼產(chǎn)生片選信號(hào)的,它們都映射到F2812的XINTF區(qū)域。F2812的XINTF包括5個(gè)存儲(chǔ)區(qū)域:
Zone0 存儲(chǔ)區(qū)域: 0x002000—0x003FFF,8K x 16位
Zone1 存儲(chǔ)區(qū)域: 0x004000—0x005FFF,8K x 16位
Zone2 存儲(chǔ)區(qū)域: 0x080000—0x0FFFFF,512K x 16位
Zone6 存儲(chǔ)區(qū)域: 0x100000—0x17FFFF,512K x 16位
Zone7 存儲(chǔ)區(qū)域: 0x3FC000—0x3FFFFF,16K x 16位
其中,Zone0和Zone1共用1個(gè)片選線(xiàn)XZCS0AND1,Zone6和Zone7共用1個(gè)片選線(xiàn)XZCS6AND7,Zone2單獨(dú)使用1個(gè)片選線(xiàn)XZCS2.如上圖所示。CPLD映射到Zone0(地址0x2000—0x3FFF),即當(dāng)訪(fǎng)問(wèn)Zone0區(qū)域時(shí),XZCS0AND1有效(CS1有效),此時(shí)選中CPLD;同樣,RAM和FLASH分別映射到Zone6和Zone2,當(dāng)訪(fǎng)問(wèn)Zone6(0x100000—0x17FFFF)或Zone2(0x080000—0x0FFFFF),則XZCS6AND7(CS6)或XZCS2(CS2)有效,表明選中了RAM或FLASH。
可以注意到CPLD使用了F2812的4位地址線(xiàn)A12…A9作為譯碼信號(hào),通過(guò)CPLD譯碼來(lái)實(shí)現(xiàn)LCDCS信號(hào)有效。在本系統(tǒng)中通過(guò)CPLD編程實(shí)現(xiàn)當(dāng)A12…A9為1100時(shí)經(jīng)CPLD譯碼后LCDCS有效,但應(yīng)注意前提是CPLD必須被選中。因?yàn)镃PLD映射到Zone0,只有訪(fǎng)問(wèn)0x2000—0x3FFF這個(gè)區(qū)域時(shí),才能選中CPLD。這就要求A15…A13必須為001,其余A8…A1不參與譯碼,可取任意值,在此全部取為0。如此一來(lái),只有A15…A0為0x3800和0x3801時(shí)LCDCS有效,此時(shí)F2812可以訪(fǎng)問(wèn)LCD.
在液晶模塊接口中,A0腳為數(shù)據(jù)/指令寄存器的選擇信號(hào).A0=1,訪(fǎng)問(wèn)指令寄存器,A0=0,訪(fǎng)問(wèn)數(shù)據(jù)寄存器。在硬件圖中我們可以看到液晶模塊接口的A0腳直接接F2812的XA0腳,再綜合上面所述,就可以確定0x3800為液晶模塊數(shù)據(jù)寄存器地址,0x3801為液晶模塊指令寄存器地址
2. 液晶模塊內(nèi)嵌控制器及其指令介紹
SED-1335是整個(gè)320x240液晶模塊的核心部分,接下來(lái)將簡(jiǎn)要介紹一下其指令集。為便于瀏覽,特將SED-1335的所有指令列表如下。

帶有參數(shù)的指令代碼的作用之一就是選通相應(yīng)參數(shù)的寄存器,任一條指令的執(zhí)行(除SLEEP IN, CSRDIR, CSRR和MREAD外)都產(chǎn)生在附屬參數(shù)的輸入完成之后。MPU可用寫(xiě)入新的指令代碼來(lái)結(jié)束上一條指令參數(shù)的寫(xiě)入,此時(shí)已寫(xiě)入的新參數(shù)與余下的舊參數(shù)有效地組合成新的參數(shù)組,需要注意的是雖然參數(shù)可以不必全部寫(xiě)入,但所寫(xiě)的參數(shù)順序不能改變,也不能省略。
在下面將列出部分初始化程序來(lái)說(shuō)明指令的使用,但對(duì)于CSRDIR和CSRW指令,有必要詳細(xì)解釋一下。CSRDIR指令是用來(lái)設(shè)置光標(biāo)移動(dòng)方向的,有上,下,左,右四個(gè)移動(dòng)方向(4EH,4FH,4DH,4CH),CSRW指令則是用來(lái)設(shè)置光標(biāo)地址的。要特別注意這里的光標(biāo)是對(duì)應(yīng)顯存里面的一個(gè)字節(jié)(byte),而不是對(duì)應(yīng)字節(jié)里的一個(gè)位(bit),當(dāng)設(shè)置光標(biāo)向右移動(dòng)時(shí),每寫(xiě)完一個(gè)字節(jié)數(shù)據(jù)到顯存,光標(biāo)地址就會(huì)加一,此時(shí)對(duì)應(yīng)顯存的字節(jié)地址加一;同理,設(shè)置光標(biāo)向左移動(dòng)時(shí),對(duì)應(yīng)顯存的字節(jié)地址減一。而當(dāng)設(shè)置光標(biāo)向下移動(dòng)時(shí),目標(biāo)光標(biāo)地址(字節(jié)地址)=當(dāng)前光標(biāo)地址(字節(jié)地址)+AP(液晶屏一行所對(duì)應(yīng)顯存的字節(jié)數(shù)),注:一般AP設(shè)置為完整顯示液晶屏一行所用字節(jié)數(shù)加1,即40+1=41. 如下圖所示,如果當(dāng)前光標(biāo)在字節(jié)地址Add1處,則寫(xiě)完一個(gè)字節(jié)數(shù)據(jù)后光標(biāo)則移到了字節(jié)地址Add42處;同理,設(shè)置光標(biāo)向上移動(dòng)時(shí),如果當(dāng)前光標(biāo)在A(yíng)dd81處,則寫(xiě)完一個(gè)字節(jié)數(shù)據(jù)后光標(biāo)則移到了Add40處






