《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于DSP+CPLD的新型智能監(jiān)測系統(tǒng)設(shè)計與開發(fā)
基于DSP+CPLD的新型智能監(jiān)測系統(tǒng)設(shè)計與開發(fā)
摘要: 將CPLD/FPGA和DSP技術(shù)的結(jié)合起來實現(xiàn)DSP器件系統(tǒng)的解決方案,,為測控儀器向高層次智能化方向發(fā)展提供了充分的現(xiàn)實可行性,。為實現(xiàn)對電力系統(tǒng)大型設(shè)備智能在線監(jiān)測,,本文以WSM2000 DSP智能電動機保護裝置項目為背景,,對一種DSP+CPLD新型的智能儀器結(jié)構(gòu)進行了研究和設(shè)計,。
Abstract:
Key words :

  一,、背景及DSP+CPLD系統(tǒng)優(yōu)越性

  作為電氣主設(shè)備,,電動機是數(shù)量最多的一種,,電動機及其保護的運行正常與否,,直接關(guān)系到國計民生。據(jù)統(tǒng)計,,可靠的保護每年可減少約20萬臺(次)以上的電動機燒毀,,減少經(jīng)濟損失數(shù)億元,。

  傳統(tǒng)智能儀器大多數(shù)都是在單片機系統(tǒng)基礎(chǔ)上開發(fā)的?;趩纹瑱C的保護裝置受其內(nèi)部結(jié)構(gòu),、時鐘和總線的限制,運算能力弱,,實時性差,,軟硬件通用性不強,系統(tǒng)靈活性不高,,日益不能滿足上述需要,。DSP處理器因內(nèi)部采用了區(qū)別于傳統(tǒng)單片機馮·諾依曼結(jié)構(gòu)的哈佛結(jié)構(gòu)而克服了取指令和數(shù)據(jù)都通過同一條總線完成而造成的傳輸通道瓶頸效應(yīng)的問題??删幊踢壿嬈骷≒LD)經(jīng)歷了從PROM,、PLA、PAL,、GAL等低密度的PLD,,發(fā)展到CPLD和FPGA兩種大規(guī)模的PLD,開發(fā)工具越來越完善,,應(yīng)用越來越普及,。將CPLD/FPGA和DSP技術(shù)的結(jié)合起來實現(xiàn)DSP器件系統(tǒng)的解決方案,為測控儀器向高層次智能化方向發(fā)展提供了充分的現(xiàn)實可行性,。

  為實現(xiàn)對電力系統(tǒng)大型設(shè)備智能在線監(jiān)測,,本文以WSM2000 DSP智能電動機保護裝置項目為背景,對一種DSP+CPLD新型的智能儀器結(jié)構(gòu)進行了研究和設(shè)計,。

 二,、系統(tǒng)結(jié)構(gòu)

  

        系統(tǒng)功能模塊

本系統(tǒng)采用美國TI 公司生產(chǎn)的浮點DSP器件TMS320C32作為底層主處理器件,實現(xiàn)對A/D采集得到的數(shù)字信號進行處理,,并且把所有控制電路、地址分配等設(shè)計在EPM7128S中,,使整個系統(tǒng)結(jié)構(gòu)簡單化,,體積小型化,功能多樣化,。AD1674用來進行信號的采集,,F(xiàn)LASH Memory用來存放軟件代碼、主要功能參數(shù),、故障數(shù)據(jù)記錄等,;SRAM的功能一是程序仿真時使用,二是在系統(tǒng)脫機運行時,,將FLASH Memory中的軟件搬運到SRAM中運行,,提高軟的運行效率,。系統(tǒng)功能模塊圖1所示。

  三,、 CPLD開發(fā)流程

                                          設(shè)計流程圖

  CPLD的開發(fā)是指用利用CPLD芯片并借助于其開發(fā)系統(tǒng),,按照開發(fā)系統(tǒng)的工作步驟,將用戶設(shè)計轉(zhuǎn)化成CPLD配置數(shù)據(jù)并下載到CPLD芯片中實現(xiàn)用戶設(shè)計要求的全過程,。其設(shè)計流程圖如圖2所示,。

四、液晶顯示(LCD)模塊設(shè)計

 

  1  硬件接口設(shè)計內(nèi)置

  T6963C控制器型液晶顯示模塊接口,,由指令鎖存器,、數(shù)據(jù)鎖存器、數(shù)據(jù)緩沖器,、狀態(tài)寄存器以及數(shù)據(jù)控制電路,、數(shù)據(jù)棧區(qū)等組成。接口部實現(xiàn)了CPU和T6963C內(nèi)部寄存器及其所管理的顯示存儲器的存取操作,,實現(xiàn)了CPU操作時序與T6963C內(nèi)部工作時序的轉(zhuǎn)換,。CPU對T6963C的每次操作時,接口部的鎖存器保留了其發(fā)來的指令代碼或顯示數(shù)據(jù),,并立即封鎖了接口部的對外電路,,將后續(xù)的處理過程轉(zhuǎn)換到T6963C控制部的工作時序上,直到處理完成,,方釋放接口部對外電路,,等待下一次訪問。T6963C與TMS320C32和EPM7128S接口如圖3所示:

  TMS320C32的/IOSTROB ,、A1,、A0、引腳進行地址譯碼,,參與系統(tǒng)的統(tǒng)一編址,。/IOSTROB=0時,DSP對應(yīng)有效地址為810000H--82FFFFH,,當(dāng)?shù)刂肪€A0為1時選通LCD,,地址線A1用來實現(xiàn)液晶的數(shù)據(jù)通道和指令通道的區(qū)分,A1=1時為指令通道,,A1=0時為數(shù)據(jù)通道,。LCD接口地址為: 818003H為指令通道818001H 為數(shù)據(jù)通道。

                             T6963C與TMS320C32和EPM7128S接口

  2  軟件設(shè)計

  本系統(tǒng)T6963C接口部設(shè)計了一個數(shù)據(jù)棧,,在寫帶有參數(shù)的指令時,,先向數(shù)據(jù)通道寫入?yún)?shù),接口部將其存在數(shù)據(jù)棧中,,然后通道寫入指令代碼,。T6963C將根據(jù)指令代碼的含義將數(shù)據(jù)棧內(nèi)最近的數(shù)據(jù)作為其參數(shù)一同進行處理,。讀顯示數(shù)據(jù)時,先寫入操作的指令代碼,,T6963C將所需的顯示數(shù)據(jù)放入數(shù)據(jù)棧中,,然后讀數(shù)據(jù)操作將數(shù)據(jù)棧中的數(shù)據(jù)讀出。

 


  3  內(nèi)置T696 3C液晶顯示模塊的軟件實現(xiàn)

 

 ?。?),、地址分配及定義

           .data

        LCDC_ADD   .equ   820003H;指令通道

  LCDD_ADD   .equ   820001H,;數(shù)據(jù)通道

 ?。?)、狀態(tài)字檢測子程序

        LCDR_ST:  LDI  @LCDC_ADD,,R0

                     RETS

  由此程序派生出判斷有關(guān)標(biāo)志位的子程序:

          

 

<1>判斷狀態(tài)位STA1和STA0子程序,,在寫指令的讀、寫數(shù)據(jù)之前,,這兩個標(biāo)志位必須同時為“1”,。

 

              LCDST01:   CALL  LCDR_ST

                          LDI   R0,R1

                          AND   01H,R1

                          BZ    LCDST01

                          AND   02H,R0

                          BZ    LCDST01

                          RETS

           <2>判斷狀態(tài)位STA3子程序(數(shù)據(jù)自動寫狀態(tài))

              LCDST3:    CALL  LCDR_ST

  AND   08H,R0

  BZ    LCDST3

  RETS

 


 

  (3),、寫指令和寫數(shù)據(jù)子程序

        LCDPR1 :     CALL  LCDST01,;雙字節(jié)參數(shù)指令寫入入口

 

                     LDI   AR1,R0   

                     CALL  LCDPR13 

        LCDPR11:    CALL  LCDST01  ;單字節(jié)參數(shù)指令寫入入口

               

 

      LDI   AR2,R0    

 

                     CALL  LCDPR13  

        LCDPR12:    CALL  LCDST01  ,;無參數(shù)指令寫入入口

                     LDI   AR3,R0     

        LCDPR14:    STI   R0,@LCDC_ADD ,;寫入指令操作

                     RETS            

        LCDPR13:    STI   R0,@LCDD_ADD;寫入數(shù)據(jù)操作

  RETS

 ?。?),、讀數(shù)據(jù)子程序

          LCDPR2:    CALL  LCDST01       ;判狀態(tài)位

                      LDI   @LCDD_ADD,R0  ,;讀數(shù)據(jù)操作

          RETS

  五,、  系統(tǒng)在線編程

  因系統(tǒng)最終要脫仿真器獨立運行,所以要把程序燒寫到掉電非丟失存儲器FLASHROM中,。本系統(tǒng)開發(fā)所采用的將存儲器安裝到用戶電路板上進行編程的方法將用戶程序代碼裝入 FLASH存儲器的,。它包括現(xiàn)在普遍采用的在系統(tǒng)編程(In System Programming,ISP),,通過系統(tǒng)的微處理器實現(xiàn)對FLASH存儲器的編程,。

 


 

  1,、  FLASH在線編 程實現(xiàn)

  對FLASH的基本操作主要有讀,、字節(jié)編程、復(fù)位,、扇區(qū)擦除,、片擦除等,。Am29F010B閃爍存儲器讀操作與普通的存儲器操作相同,不需要特定的時序,,在電路上電或內(nèi)部編程等操作技術(shù)后,,自動進入讀數(shù)據(jù)狀態(tài)。而擦除和寫操作相對復(fù)雜一些,。它不能簡單的直接寫入,,.OUT文件不能LOAD到FLASH中,CCS和C Source Debugger中的LOAD命令均不能對FLASH寫入,,需要專門的程序?qū)懭胍幌盗蠪lash Memory的命令寄存器,,然后調(diào)用嵌入式算法的內(nèi)部程序來完成相應(yīng)的命令。Am29F010B編程一般步驟是復(fù)位,、擦除,、字節(jié)編程等。

 

  2,、  系統(tǒng)軟件加載程序設(shè)計

  系統(tǒng)軟件加載程序的主要作用是在系統(tǒng)上電處理器初始化后,,開始執(zhí)行的一段代碼,將用戶實時運行的程序和數(shù)據(jù)從外部低速FLASH Memory中加載到內(nèi)部或外部高速靜態(tài)RAM存儲器中,,然后跳到程序的進入點開始全速運行,。

  TMS320C32 DSP芯片引導(dǎo)裝載程序的執(zhí)行過程將復(fù)位中斷向量表中存放引導(dǎo)程序的起始地址,上電復(fù)位或手動復(fù)位之后,,程序指針將指向引導(dǎo)程序,。在運行搬移程序之前,要注意關(guān)中斷,。向量如果MC/MP#=1,,而且系統(tǒng)沒有接在仿真器上,那么DSP芯片自動運行固化在0h~0fffh中的

 

引導(dǎo)裝載程序,。這一程序會自動判斷是INT0~INT2,還是INT3中斷,。如果是INT0~INT2中斷,DSP將存放在BOOT1~BOOT3中的一段程序裝載到片內(nèi)RAM或片外SRAM中,;如果是INT3中斷,,則DSP將從串口中把程序裝載到片內(nèi)RAM或SRAM中。如果沒有中斷,,DSP根據(jù)0H單元中的復(fù)位矢量,,跳到該矢量所指出的單元為首地址,執(zhí)行一段引導(dǎo)裝載程序,。TMS320C32引導(dǎo)裝載程序關(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


  六,、結(jié)束語

  上述討論的方法在軟、硬件上都已得到實現(xiàn),,效果理想,。利用了Flash ROM的嵌入式算法,,體現(xiàn)了DSP高效性和靈活性。非常適合應(yīng)用于實時控制系統(tǒng)中,,解決了只能依賴于燒錄器的問題,,也可經(jīng)常調(diào)整系統(tǒng)的參數(shù),降低了系統(tǒng)成本,、縮短了系統(tǒng)的開發(fā)周期,。

  參考文獻:

  【1】         戴逸民,梁曉文等.基于DSP的現(xiàn)代電子系統(tǒng)設(shè)計.北京:電子工業(yè)出版,,2002.5 P1-2

  【2】         王道憲.CPLD/FPGA可編程邏輯器件應(yīng)用與開發(fā).北京:國防工業(yè)出版社,,2004.1.P60-68

  馮濤,王程.可編程邏輯器件開發(fā)技術(shù)及MAX+plusⅡ入門與提高.北京:人民郵電出版社,,2002.10


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。