一、背景及DSP+CPLD系統優(yōu)越性 作為電氣主設備,電動(dòng)機是數量最多的一種,電動(dòng)機及其保護的運行正常與否,直接關(guān)系到國計民生。據統計,可靠的保護每年可減少約20萬(wàn)臺(次)以上的電動(dòng)機燒毀,減少經(jīng)濟損失數億元。 傳統智能儀器大多數都是在單片機系統基礎上開(kāi)發(fā)的;趩纹瑱C的保護裝置受其內部結構、時(shí)鐘和總線(xiàn)的限制,運算能力弱,實(shí)時(shí)性差,軟硬件通用性不強,系統靈活性不高,日益不能滿(mǎn)足上述需要。DSP處理器因內部采用了區別于傳統單片機馮·諾依曼結構的哈佛結構而克服了取指令和數據都通過(guò)同一條總線(xiàn)完成而造成的傳輸通道瓶頸效應的問(wèn)題?删幊踢壿嬈骷≒LD)經(jīng)歷了從PROM、PLA、PAL、GAL等低密度的PLD,發(fā)展到CPLD和FPGA兩種大規模的PLD,開(kāi)發(fā)工具越來(lái)越完善,應用越來(lái)越普及。將CPLD/FPGA和DSP技術(shù)的結合起來(lái)實(shí)現DSP器件系統的解決方案,為測控儀器向高層次智能化方向發(fā)展提供了充分的現實(shí)可行性。 為實(shí)現對電力系統大型設備智能在線(xiàn)監測,本文以WSM2000 DSP智能電動(dòng)機保護裝置項目為背景,對一種DSP+CPLD新型的智能儀器結構進(jìn)行了研究和設計。 二、系統結構 本系統采用美國TI 公司生產(chǎn)的浮點(diǎn)DSP器件TMS320C32作為底層主處理器件,實(shí)現對A/D采集得到的數字信號進(jìn)行處理,并且把所有控制電路、地址分配等設計在EPM7128S中,使整個(gè)系統結構簡(jiǎn)單化,體積小型化,功能多樣化。AD1674用來(lái)進(jìn)行信號的采集,FLASH Memory用來(lái)存放軟件代碼、主要功能參數、故障數據記錄等;SRAM的功能一是程序仿真時(shí)使用,二是在系統脫機運行時(shí),將FLASH Memory中的軟件搬運到SRAM中運行,提高軟的運行效率。系統功能模塊圖1所示。 三、 CPLD開(kāi)發(fā)流程 CPLD的開(kāi)發(fā)是指用利用CPLD芯片并借助于其開(kāi)發(fā)系統,按照開(kāi)發(fā)系統的工作步驟,將用戶(hù)設計轉化成CPLD配置數據并下載到CPLD芯片中實(shí)現用戶(hù)設計要求的全過(guò)程。其設計流程圖如圖2所示。 四、液晶顯示(LCD)模塊設計 1 硬件接口設計內置 T6963C控制器型液晶顯示模塊接口,由指令鎖存器、數據鎖存器、數據緩沖器、狀態(tài)寄存器以及數據控制電路、數據棧區等組成。接口部實(shí)現了CPU和T6963C內部寄存器及其所管理的顯示存儲器的存取操作,實(shí)現了CPU操作時(shí)序與T6963C內部工作時(shí)序的轉換。CPU對T6963C的每次操作時(shí),接口部的鎖存器保留了其發(fā)來(lái)的指令代碼或顯示數據,并立即封鎖了接口部的對外電路,將后續的處理過(guò)程轉換到T6963C控制部的工作時(shí)序上,直到處理完成,方釋放接口部對外電路,等待下一次訪(fǎng)問(wèn)。T6963C與TMS320C32和EPM7128S接口如圖3所示: TMS320C32的/IOSTROB 、A1、A0、引腳進(jìn)行地址譯碼,參與系統的統一編址。/IOSTROB=0時(shí),DSP對應有效地址為810000H--82FFFFH,當地址線(xiàn)A0為1時(shí)選通LCD,地址線(xiàn)A1用來(lái)實(shí)現液晶的數據通道和指令通道的區分,A1=1時(shí)為指令通道,A1=0時(shí)為數據通道。LCD接口地址為: 818003H為指令通道818001H 為數據通道。 2 軟件設計 本系統T6963C接口部設計了一個(gè)數據棧,在寫(xiě)帶有參數的指令時(shí),先向數據通道寫(xiě)入參數,接口部將其存在數據棧中,然后通道寫(xiě)入指令代碼。T6963C將根據指令代碼的含義將數據棧內最近的數據作為其參數一同進(jìn)行處理。讀顯示數據時(shí),先寫(xiě)入操作的指令代碼,T6963C將所需的顯示數據放入數據棧中,然后讀數據操作將數據棧中的數據讀出。 3 內置T696 3C液晶顯示模塊的軟件實(shí)現 (1)、地址分配及定義 .data LCDC_ADD .equ 820003H;指令通道 LCDD_ADD .equ 820001H;數據通道 (2)、狀態(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 (3)、寫(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 (4)、讀數據子程序 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ā)周期。 |