TMS320C5402 DSP在嵌入式測控系統(tǒng)中的應(yīng)用
發(fā)布時間:2008/8/22 0:00:00 訪問次數(shù):523
關(guān)鍵詞:mcupiddsp溫度
1c5402dsp的應(yīng)用特點
盡管從一般意義上講,基于mcu(單片機(jī))與dsp(數(shù)字信號處理器)這兩類器件的系統(tǒng)都有各自的用途,但現(xiàn)在很多新興的嵌入式應(yīng)用,尤其是那些大型的復(fù)雜系統(tǒng),在系統(tǒng)內(nèi)同時實現(xiàn)信號與控制兩種處理,它們既需要dsp的功能又需要mcu的功能。筆者正是基于這種嘗試,在pid溫度控制系統(tǒng)中,將dsp應(yīng)用到mcu的應(yīng)用場合,取得了較好的控制效果。隨著dsp(數(shù)字信號處理器)制造技術(shù)的發(fā)展,其成本已經(jīng)下降到較低水平;而dsp的處理速度可滿足控制的實時性需求。本設(shè)計中選用了性價比高、運算能力強(qiáng)、實時性好的tms320c5402dsp來實現(xiàn)pid溫度控制算法。c5402dsp相對于單片機(jī)的主要優(yōu)勢在于:首先,c5402dsp采用的是哈佛結(jié)構(gòu),有多組總線分別連接到程序存儲空間和數(shù)據(jù)存儲空間結(jié)構(gòu),片內(nèi)有三組16bit數(shù)據(jù)總線cb、db、eb和一組程序總線pb以及對應(yīng)的4組地址線cba、dba、eba、pba;其次,具有硬件乘加器,包括一個17*17bit乘法器和一個40bit專用加法器,可以在單周期內(nèi)完成乘、加運算各一次,運算能力很強(qiáng);還有,采用了流水線技術(shù),指令具有6級流水線,相對于單片機(jī)而言,速度大大提高;另外,還具有串行口和并行口等外設(shè),可滿足控制的輸入輸出要求。
2系統(tǒng)硬件結(jié)構(gòu)與工作原理
系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。本設(shè)計主要分為溫度采集和pid控制兩部分。dsp檢查所得溫度是否超過上下限值,若超過則報警并轉(zhuǎn)入相應(yīng)處理;否則根據(jù)所要求的標(biāo)準(zhǔn)溫度值計算采集溫度與標(biāo)準(zhǔn)值的偏差e(n),轉(zhuǎn)入pid算法程序進(jìn)行處理,得到輸出控制信號y(n),通過y(n)來控制加熱/降溫裝置進(jìn)行工作,達(dá)到控溫的效果。
圖1系統(tǒng)結(jié)構(gòu)原理框圖
3軟件設(shè)計
本設(shè)計主要包括主程序、溫度采集子程序、上下限溫度值查詢子程序、pid子程序等。其中,溫度采集子程序和pid子程序是核心,本文將著重介紹。
3.1溫度采集程序
dsp芯片通過串口0與單總線溫度傳感器ds18b20的數(shù)據(jù)線相連,對現(xiàn)場溫度進(jìn)行采集,dsp芯片tms320c5402通過串口0讀出采集到的溫度并對它進(jìn)行濾波處理;通過串口1寫中斷,調(diào)用顯示程序進(jìn)行溫度顯示。為便于讀者參考,下面給出ds18b20的dsp溫度讀寫程序。
(1)dsp寫數(shù)據(jù)子程序
tx0stm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
rpt#100
nop
stm#pcr0,spsa0
stm#0011001000000000b,mcbsp0
rpt#1500
nop
stm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
ret
。2)dsp讀數(shù)據(jù)子程序
rxstm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
rpt#120
nop
stm#pcr0,spsa0
stm#0011001000000000b,mcbsp0
rpt#120
stm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
rpt#120
nop
ld#04h,a
stla,tmp
portwtmp,7h
stm#pcr0,spsa0
ldmcbsp0,a
and#0001h,a
bcrx1,aneq
rsbxc
brx2
rx1ssbxc
rx2rorb
ld#02h,a
stla,tmp
portwtmp,7h
ret
3.2pid算法在dsp上的實現(xiàn)
經(jīng)典pid控制算法的表達(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é)器的微分時間
為了用dsp實現(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次采樣時的偏差;
e(n-2)—第n-2次采樣時的偏差。
由式(3.2)可知,要計算第n次輸出值y(n),
關(guān)鍵詞:mcupiddsp溫度
1c5402dsp的應(yīng)用特點
盡管從一般意義上講,基于mcu(單片機(jī))與dsp(數(shù)字信號處理器)這兩類器件的系統(tǒng)都有各自的用途,但現(xiàn)在很多新興的嵌入式應(yīng)用,尤其是那些大型的復(fù)雜系統(tǒng),在系統(tǒng)內(nèi)同時實現(xiàn)信號與控制兩種處理,它們既需要dsp的功能又需要mcu的功能。筆者正是基于這種嘗試,在pid溫度控制系統(tǒng)中,將dsp應(yīng)用到mcu的應(yīng)用場合,取得了較好的控制效果。隨著dsp(數(shù)字信號處理器)制造技術(shù)的發(fā)展,其成本已經(jīng)下降到較低水平;而dsp的處理速度可滿足控制的實時性需求。本設(shè)計中選用了性價比高、運算能力強(qiáng)、實時性好的tms320c5402dsp來實現(xiàn)pid溫度控制算法。c5402dsp相對于單片機(jī)的主要優(yōu)勢在于:首先,c5402dsp采用的是哈佛結(jié)構(gòu),有多組總線分別連接到程序存儲空間和數(shù)據(jù)存儲空間結(jié)構(gòu),片內(nèi)有三組16bit數(shù)據(jù)總線cb、db、eb和一組程序總線pb以及對應(yīng)的4組地址線cba、dba、eba、pba;其次,具有硬件乘加器,包括一個17*17bit乘法器和一個40bit專用加法器,可以在單周期內(nèi)完成乘、加運算各一次,運算能力很強(qiáng);還有,采用了流水線技術(shù),指令具有6級流水線,相對于單片機(jī)而言,速度大大提高;另外,還具有串行口和并行口等外設(shè),可滿足控制的輸入輸出要求。
2系統(tǒng)硬件結(jié)構(gòu)與工作原理
系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。本設(shè)計主要分為溫度采集和pid控制兩部分。dsp檢查所得溫度是否超過上下限值,若超過則報警并轉(zhuǎn)入相應(yīng)處理;否則根據(jù)所要求的標(biāo)準(zhǔn)溫度值計算采集溫度與標(biāo)準(zhǔn)值的偏差e(n),轉(zhuǎn)入pid算法程序進(jìn)行處理,得到輸出控制信號y(n),通過y(n)來控制加熱/降溫裝置進(jìn)行工作,達(dá)到控溫的效果。
圖1系統(tǒng)結(jié)構(gòu)原理框圖
3軟件設(shè)計
本設(shè)計主要包括主程序、溫度采集子程序、上下限溫度值查詢子程序、pid子程序等。其中,溫度采集子程序和pid子程序是核心,本文將著重介紹。
3.1溫度采集程序
dsp芯片通過串口0與單總線溫度傳感器ds18b20的數(shù)據(jù)線相連,對現(xiàn)場溫度進(jìn)行采集,dsp芯片tms320c5402通過串口0讀出采集到的溫度并對它進(jìn)行濾波處理;通過串口1寫中斷,調(diào)用顯示程序進(jìn)行溫度顯示。為便于讀者參考,下面給出ds18b20的dsp溫度讀寫程序。
。1)dsp寫數(shù)據(jù)子程序
tx0stm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
rpt#100
nop
stm#pcr0,spsa0
stm#0011001000000000b,mcbsp0
rpt#1500
nop
stm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
ret
(2)dsp讀數(shù)據(jù)子程序
rxstm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
rpt#120
nop
stm#pcr0,spsa0
stm#0011001000000000b,mcbsp0
rpt#120
stm#pcr0,spsa0
stm#0011001000000010b,mcbsp0
rpt#120
nop
ld#04h,a
stla,tmp
portwtmp,7h
stm#pcr0,spsa0
ldmcbsp0,a
and#0001h,a
bcrx1,aneq
rsbxc
brx2
rx1ssbxc
rx2rorb
ld#02h,a
stla,tmp
portwtmp,7h
ret
3.2pid算法在dsp上的實現(xiàn)
經(jīng)典pid控制算法的表達(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é)器的微分時間
為了用dsp實現(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次采樣時的偏差;
e(n-2)—第n-2次采樣時的偏差。
由式(3.2)可知,要計算第n次輸出值y(n),
熱門點擊
- 瑞薩推出具有1Mbyte片內(nèi)SRAM的32位
- 基于ARM9處理器的智能導(dǎo)游儀設(shè)計
- ARM、DSP、FPGA的特點和區(qū)別
- ucos-ii在嵌入式智能視覺監(jiān)控系統(tǒng)中的應(yīng)
- 統(tǒng)一建模語言UML在嵌入式系統(tǒng)設(shè)計中的應(yīng)用
- 嵌入式中C和匯編的一些技巧
- 基于ARM平臺的GPRS CQT測試系統(tǒng)的設(shè)
- 嵌入式系統(tǒng)軟件及編程語言
- 基于ARM7的LCD設(shè)計與實現(xiàn)
- Altium一體化電子設(shè)計方案Altium
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]