<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > TMS320C5402 DSP在嵌入式測控系統中的應用

TMS320C5402 DSP在嵌入式測控系統中的應用

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

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

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

  式中:

  y(t)―調節器的輸出信號

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

  KP―調節器的比例系數

  TI―調節器的積分系數

  TD―調節器的微分時(shí)間

  為了用實(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)可知,要計算第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)

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

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

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

 ?。?)PID初始化

  startpid: SSBX FRCT ;小數方式標志位

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

  RPT #1 ;重復2次

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

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

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

  STM #Kpid,AR1

  RPT #2 ;重復3次

  MVPD #table+3,*AR1+ ;傳送初始數據d2,d1,d0

 ?。?)PID算法程序

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

  LD @Tx, A ;調入

  SUB #TSTD, A ;計算值與標準值的偏差

  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 結語(yǔ)

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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>