基于DSP+CPLD的新型智能監測系統設計與開(kāi)發(fā)
3 內置T696 3C液晶顯示模塊的軟件實(shí)現
?。?)、地址分配及定義
.data
LCDC_ADD .equ 820003H;指令通道
LCDD_ADD .equ 820001H;數據通道
?。?)、狀態(tài)字檢測子程序
LCDR_ST: LDI @LCDC_ADD,R0
RETS
由此程序派生出判斷有關(guān)標志位的子程序:
1>判斷狀態(tài)位STA1和STA0子程序,在寫(xiě)指令的讀、寫(xiě)數據之前,這兩個(gè)標志位必須同時(shí)為“1”。
LCDST01: CALL LCDR_ST
LDI R0,R1
AND 01H,R1
BZ LCDST01
AND 02H,R0
BZ LCDST01
RETS
2>判斷狀態(tài)位STA3子程序(數據自動(dòng)寫(xiě)狀態(tài))
LCDST3: CALL LCDR_ST
AND 08H,R0
BZ LCDST3
RETS
?。?)、寫(xiě)指令和寫(xiě)數據子程序
LCDPR1 : CALL LCDST01;雙字節參數指令寫(xiě)入入口
LDI AR1,R0
CALL LCDPR13
LCDPR11: CALL LCDST01 ;單字節參數指令寫(xiě)入入口
LDI AR2,R0
CALL LCDPR13
LCDPR12: CALL LCDST01 ;無(wú)參數指令寫(xiě)入入口
LDI AR3,R0
LCDPR14: STI R0,@LCDC_ADD ;寫(xiě)入指令操作
RETS
LCDPR13: STI R0,@LCDD_ADD;寫(xiě)入數據操作
RETS
?。?)、讀數據子程序
LCDPR2: CALL LCDST01 ;判狀態(tài)位
LDI @LCDD_ADD,R0 ;讀數據操作
RETS
五、 系統在線(xiàn)編程
因系統最終要脫仿真器獨立運行,所以要把程序燒寫(xiě)到掉電非丟失存儲器FLASHROM中。本系統開(kāi)發(fā)所采用的將存儲器安裝到用戶(hù)電路板上進(jìn)行編程的方法將用戶(hù)程序代碼裝入 FLASH存儲器的。它包括現在普遍采用的在系統編程(In System Programming,ISP),通過(guò)系統的微處理器實(shí)現對FLASH存儲器的編程。
1、 FLASH在線(xiàn)編 程實(shí)現
對FLASH的基本操作主要有讀、字節編程、復位、扇區擦除、片擦除等。Am29F010B閃爍存儲器讀操作與普通的存儲器操作相同,不需要特定的時(shí)序,在電路上電或內部編程等操作技術(shù)后,自動(dòng)進(jìn)入讀數據狀態(tài)。而擦除和寫(xiě)操作相對復雜一些。它不能簡(jiǎn)單的直接寫(xiě)入,.OUT文件不能LOAD到FLASH中,CCS和C Source Debugger中的LOAD命令均不能對FLASH寫(xiě)入,需要專(zhuān)門(mén)的程序寫(xiě)入一系列Flash Memory的命令寄存器,然后調用嵌入式算法的內部程序來(lái)完成相應的命令。Am29F010B編程一般步驟是復位、擦除、字節編程等。
2、 系統軟件加載程序設計
系統軟件加載程序的主要作用是在系統上電處理器初始化后,開(kāi)始執行的一段代碼,將用戶(hù)實(shí)時(shí)運行的程序和數據從外部低速FLASH Memory中加載到內部或外部高速靜態(tài)RAM存儲器中,然后跳到程序的進(jìn)入點(diǎn)開(kāi)始全速運行。
TMS320C32 DSP芯片引導裝載程序的執行過(guò)程將復位中斷向量表中存放引導程序的起始地址,上電復位或手動(dòng)復位之后,程序指針將指向引導程序。在運行搬移程序之前,要注意關(guān)中斷。向量如果MC/MP#=1,而且系統沒(méi)有接在仿真器上,那么DSP芯片自動(dòng)運行固化在0h~0fffh中的
引導裝載程序。這一程序會(huì )自動(dòng)判斷是INT0~INT2,還是INT3中斷。如果是INT0~INT2中斷,DSP將存放在BOOT1~BOOT3中的一段程序裝載到片內RAM或片外SRAM中;如果是INT3中斷,則DSP將從串口中把程序裝載到片內RAM或SRAM中。如果沒(méi)有中斷,DSP根據0H單元中的復位矢量,跳到該矢量所指出的單元為首地址,執行一段引導裝載程序。TMS320C32引導裝載程序關(guān)鍵代碼如下:
LDI 01H,AR0
LDI *AR0,AR0
LDI 02H,AR2
LDI *AR2,AR1
LDI 87,RC
RPTB dload
LDI *AR0++,R0
Dload: STI R0,*AR1++
LDI 03H,AR0
LDI *AR0,AR0
LDI 04H,AR2
LDI *AR2,AR1
LDI 4000H,RC
RPTB pload
LDI *AR0++,R0
Pload: STI R0,*AR1++
BR 900000H
六、結束語(yǔ)
上述討論的方法在軟、硬件上都已得到實(shí)現,效果理想。利用了Flash ROM的嵌入式算法,體現了DSP高效性和靈活性。非常適合應用于實(shí)時(shí)控制系統中,解決了只能依賴(lài)于燒錄器的問(wèn)題,也可經(jīng)常調整系統的參數,降低了系統成本、縮短了系統的開(kāi)發(fā)周期。
評論