TMS320C5402 DSP在嵌入式測控系統(tǒng)中的應(yīng)用
盡管從一般意義上講, 基于MCU(單片機(jī))與DSP(數(shù)字信號(hào)處理器)這兩類器件的系統(tǒng)都有各自的用途,但現(xiàn)在很多新興的嵌入式應(yīng)用,尤其是那些大型的復(fù)雜系統(tǒng),在系統(tǒng)內(nèi)同時(shí)實(shí)現(xiàn)信號(hào)與控制兩種處理,它們既需要DSP的功能又需要MCU的功能。筆者正是基于這種嘗試,在PID溫度控制系統(tǒng)中,將DSP 應(yīng)用到MCU的應(yīng)用場合,取得了較好的控制效果。隨著DSP(數(shù)字信號(hào)處理器)制造技術(shù)的發(fā)展,其成本已經(jīng)下降到較低水平;而DSP的處理速度可滿足控制的實(shí)時(shí)性需求。本設(shè)計(jì)中選用了性價(jià)比高、運(yùn)算能力強(qiáng)、實(shí)時(shí)性好的TMS320C5402 DSP來實(shí)現(xiàn)PID溫度控制算法。C5402DSP相對(duì)于單片機(jī)的主要優(yōu)勢在于:首先,C5402DSP采用的是哈佛結(jié)構(gòu),有多組總線分別連接到程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間結(jié)構(gòu),片內(nèi)有三組16bit數(shù)據(jù)總線CB、DB、EB和一組程序總線PB以及對(duì)應(yīng)的4組地址線CBA、DBA、EBA、PBA;其次,具有硬件乘加器,包括一個(gè)17*17bit乘法器和一個(gè)40bit專用加法器,可以在單周期內(nèi)完成乘、加運(yùn)算各一次,運(yùn)算能力很強(qiáng);還有,采用了流水線技術(shù),指令具有6級(jí)流水線,相對(duì)于單片機(jī)而言,速度大大提高;另外,還具有串行口和并行口等外設(shè),可滿足控制的輸入輸出要求。
2 系統(tǒng)硬件結(jié)構(gòu)與工作原理
系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。本設(shè)計(jì)主要分為溫度采集和PID控制兩部分。DSP檢查所得溫度是否超過上下限值,若超過則報(bào)警并轉(zhuǎn)入相應(yīng)處理;否則根據(jù)所要求的標(biāo)準(zhǔn)溫度值計(jì)算采集溫度與標(biāo)準(zhǔn)值的偏差e(n),轉(zhuǎn)入PID算法程序進(jìn)行處理,得到輸出控制信號(hào)y(n),通過y(n)來控制加熱/降溫裝置進(jìn)行工作,達(dá)到控溫的效果。
圖1 系統(tǒng)結(jié)構(gòu)原理框圖
3 軟件設(shè)計(jì)
本設(shè)計(jì)主要包括主程序、溫度采集子程序、上下限溫度值查詢子程序、PID子程序等。其中,溫度采集子程序和PID子程序是核心,本文將著重介紹。
3.1 溫度采集程序
DSP芯片通過串口0與單總線溫度傳感器DS18B20的數(shù)據(jù)線相連,對(duì)現(xiàn)場溫度進(jìn)行采集,DSP芯片TMS320C5402通過串口0讀出采集到的溫度并對(duì)它進(jìn)行濾波處理;通過串口1寫中斷,調(diào)用顯示程序進(jìn)行溫度顯示。為便于讀者參考,下面給出DS18B20的DSP溫度讀寫程序。
?。?)DSP寫數(shù)據(jù)子程序
TX0 STM #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ù)子程序
RX STM #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
STL A,TMP
PORTW TMP,7H
STM #PCR0,SPSA0
LD McBSP0,A
AND #0001H,A
BC RX1, ANEQ
RSBX C
B RX2
RX1 SSBX C
RX2 ROR B
LD #02H,A
STL A,TMP
PORTW TMP,7H
RET
3.2 PID算法在DSP上的實(shí)現(xiàn)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論