基于F2812的監測系統的設計
1. 引言
本文引用地址:http://dyxdggzs.com/article/173824.htm傳統的監測系統大多都是在單片機基礎上開(kāi)發(fā)的。單片機由于速度慢,運算能力弱,實(shí)時(shí)性差,在需要處理大量高速實(shí)時(shí)數據的情況下,往往不能達到要求,而DSP則非常擅長(cháng)進(jìn)行高速信號采集和數據處理。因此,本文將討論一種基于F2812并使用液晶顯示的監測系統的設計方案。
2. 系統總體硬件結構
本系統采用TI公司推出的32位定點(diǎn)DSP芯片TMS320F2812作為底層主處理器件,利用其片上16通道A/D轉換模塊將采集得到的數字信號進(jìn)行處理,并將所有控制電路和地址譯碼,分配等功能設計在CPLD中,通過(guò)CPLD來(lái)控制讀寫(xiě)液晶顯示模塊等外圍器件,其中,液晶顯示模塊采用臺灣晶采光電股份有限公司生產(chǎn)的一款內嵌SED1335控制器的AT-320240Q1FIEW-33H型液晶模塊(320x240點(diǎn)陣)。此外,在DSP芯片外還擴展了RAM和FLASH。硬件結構框圖如下:
在上圖中,RAM和FLASH ROM是F2812的外擴存儲器,CPLD是用來(lái)作為地址譯碼產(chǎn)生片選信號的,它們都映射到F2812的XINTF區域。F2812的XINTF包括5個(gè)存儲區域:
Zone0 存儲區域: 0x002000―0x003FFF,8K x 16位
Zone1 存儲區域: 0x004000―0x005FFF,8K x 16位
Zone2 存儲區域: 0x080000―0x0FFFFF,512K x 16位
Zone6 存儲區域: 0x100000―0x17FFFF,512K x 16位
Zone7 存儲區域: 0x3FC000―0x3FFFFF,16K x 16位
其中,Zone0和Zone1共用1個(gè)片選線(xiàn)XZCS0AND1,Zone6和Zone7共用1個(gè)片選線(xiàn)XZCS6AND7,Zone2單獨使用1個(gè)片選線(xiàn)XZCS2.如上圖所示。CPLD映射到Zone0(地址0x2000―0x3FFF),即當訪(fǎng)問(wèn)Zone0區域時(shí),XZCS0AND1有效(CS1有效),此時(shí)選中CPLD;同樣,RAM和FLASH分別映射到Zone6和Zone2,當訪(fǎng)問(wèn)Zone6(0x100000―0x17FFFF)或Zone2(0x080000―0x0FFFFF),則XZCS6AND7(CS6)或XZCS2(CS2)有效,表明選中了RAM或FLASH。
可以注意到CPLD使用了F2812的4位地址線(xiàn)A12…A9作為譯碼信號,通過(guò)CPLD譯碼來(lái)實(shí)現LCDCS信號有效。在本系統中通過(guò)CPLD編程實(shí)現當A12…A9為1100時(shí)經(jīng)CPLD譯碼后LCDCS有效,但應注意前提是CPLD必須被選中。因為CPLD映射到Zone0,只有訪(fǎng)問(wèn)0x2000―0x3FFF這個(gè)區域時(shí),才能選中CPLD。這就要求A15…A13必須為001,其余A8…A1不參與譯碼,可取任意值,在此全部取為0。如此一來(lái),只有A15…A0為0x3800和0x3801時(shí)LCDCS有效,此時(shí)F2812可以訪(fǎng)問(wèn)LCD.
在液晶模塊接口中,A0腳為數據/指令寄存器的選擇信號.A0=1,訪(fǎng)問(wèn)指令寄存器,A0=0,訪(fǎng)問(wèn)數據寄存器。在硬件圖中我們可以看到液晶模塊接口的A0腳直接接F2812的XA0腳,再綜合上面所述,就可以確定0x3800為液晶模塊數據寄存器地址,0x3801為液晶模塊指令寄存器地址
4. 液晶模塊內嵌控制器及其指令介紹
SED-1335是整個(gè)320x240液晶模塊的核心部分,接下來(lái)將簡(jiǎn)要介紹一下其指令集。為便于瀏覽,特將SED-1335的所有指令列表如下。
帶有參數的指令代碼的作用之一就是選通相應參數的寄存器,任一條指令的執行(除SLEEP IN, CSRDIR, CSRR和MREAD外)都產(chǎn)生在附屬參數的輸入完成之后。MPU可用寫(xiě)入新的指令代碼來(lái)結束上一條指令參數的寫(xiě)入,此時(shí)已寫(xiě)入的新參數與余下的舊參數有效地組合成新的參數組,需要注意的是雖然參數可以不必全部寫(xiě)入,但所寫(xiě)的參數順序不能改變,也不能省略。
評論