新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320C5402 DSP在嵌入式測控系統(tǒng)中的應(yīng)用

        TMS320C5402 DSP在嵌入式測控系統(tǒng)中的應(yīng)用

        作者: 時(shí)間:2009-04-02 來源:網(wǎng)絡(luò) 收藏

          經(jīng)典控制算法的表達(dá)式為:

          y(t)=KP*[e(t)+1/ TI *∫e (t)dt+TD *de(t)/dt] (3.1)

          式中:

          y(t)―調(diào)節(jié)器的輸出信號

          e(t) ―調(diào)節(jié)器的偏差信號,它等于給定值與測量值之差

          KP―調(diào)節(jié)器的比例系數(shù)

          TI―調(diào)節(jié)器的積分系數(shù)

          TD―調(diào)節(jié)器的微分時(shí)間

          為了用實(shí)現(xiàn)上式,必須將其離散化,用數(shù)字形式描述為:

          y(n)-y(n-1)=KP[e(n)-e(n-1)]+KI*e(n)+KD[e(n)-2e(n-1)+e(n-2)] (3.2)

          其中:

          KI=KP*T/TI ;

          KD=KP*TD/T

          T―采樣周期

          e (n) ―第n次采樣的偏差;

          e(n-1) ―第n-1次采樣時(shí)的偏差;

          e(n-2) ―第n-2次采樣時(shí)的偏差。

          由式(3.2)可知,要計(jì)算第n次輸出值y(n),只要知道y(n-1),e(n)、e(n-1)、e(n-2)即可。

          式(3.2)還可以表示為下式:

          y(n)- y(n-1)=d0*e(n)+d1*e(n-1)+d2*e(n-2) (3.3)

          式中:

          d0 = KP(1+T/TI+TD/T)

          d1 = -KP(1+2TD/T)

          d2 = KP*TD/T

          將式(3.3)代入(3.2)得:

          y(n)=d0*e(n)+d1*e(n-1)+d2*e(n-2)+y(n-1)

          上述式子是典型的乘加算式,而具有專門的乘加指令,在上非常容易實(shí)現(xiàn);所以,該式成為算法在DSP上實(shí)現(xiàn)的依據(jù)。

          在C5402DSP上實(shí)現(xiàn)的算法程序包括:PID各參量的初始化,計(jì)算偏差值e(n),PID算法處理,e(n) 、y(n)參數(shù)更新等。這些功能在DSP上實(shí)現(xiàn)較之單片機(jī)而言,顯得非常方便。

          在DSP上實(shí)現(xiàn)的程序代碼如下。

          (1)PID初始化

          startpid: SSBX FRCT ;小數(shù)方式標(biāo)志位

          STM #en+1, AR1 ;取e(n-1)地址送AR1

          RPT #1 ;重復(fù)2次

          MVPD #table,*AR1+ ;傳送初始數(shù)據(jù)e(n-2),e(n-1)

          STM #yn, AR1 ;取y(n-1)地址送AR1

          MVPD #table+2,*AR1 ;傳送初始數(shù)據(jù)y(n-1))

          STM #Kpid,AR1

          RPT #2 ;重復(fù)3次

          MVPD #table+3,*AR1+ ;傳送初始數(shù)據(jù)d2,d1,d0

         ?。?)PID算法程序

          STM #en, AR1 ;取e(n)地址送AR1

          LD @Tx, A ;調(diào)入

          SUB #TSTD, A ;計(jì)算值與標(biāo)準(zhǔn)值的偏差

          STH A, *AR1+ ;輸入偏差e(n)

          STM #en+2, AR1

          STM # Kpid+2, AR2

          STM #2, AR0

          LD *AR1-, T ;e(n-2)送T

          MPY *AR2-, A ;d2* e(n-2)

          LTD *AR1- ; e(n-1)送T, e(n-1)送e(n-2)

          MAC *AR2-, A ;A+ d1*e(n-1)

          LTD *AR1+0 ; e(n)送T, e(n)送e(n-1)

          MAC *AR2+0, A

          ADD A, @yn, A

          STH A, @yn ;保存y(n)

          PORTW @yn, PA1

          RET

        4 結(jié)語

          在過去的設(shè)計(jì)中我們選用了80C51 實(shí)現(xiàn)了PID控制,但由于單片機(jī)的運(yùn)算功能較差,程序?qū)崿F(xiàn)的效率不夠高,實(shí)時(shí)性不好。本設(shè)計(jì)中由于選用了性價(jià)比高、運(yùn)算能力強(qiáng)、實(shí)時(shí)性好的 DSP來實(shí)現(xiàn)PID溫度控制算法,取得了較好的控制效果。目前,許多制造廠家在它們的體系結(jié)構(gòu)中增加或擴(kuò)充了各種 DSP 功能,例如增加了 MAC(乘法累加)指令等。同樣,一些 DSP 體系結(jié)構(gòu)也增加了像集成的外圍設(shè)備、可編程的外部芯片選擇連線、中斷驅(qū)動(dòng)的 I/O、定時(shí)器以及較大的外部存儲(chǔ)器等功能部件。將來,對復(fù)雜的,可能不會(huì)再明確地區(qū)分DSP還是。因此,DSP與MCU融合的時(shí)代即將到來。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 福泉市| 石河子市| 策勒县| 安丘市| 建湖县| 盐亭县| 青田县| 焦作市| 特克斯县| 寻乌县| 安远县| 桐城市| 齐河县| 福鼎市| 紫金县| 神农架林区| 鄂尔多斯市| 达拉特旗| 凌源市| 根河市| 化隆| 礼泉县| 仙桃市| 津市市| 宁国市| 根河市| 乡城县| 广灵县| 电白县| 玉树县| 鹤岗市| 苍梧县| 龙里县| 浑源县| 文登市| 临澧县| 沂水县| 祁门县| 焦作市| 新昌县| 聊城市|