工業(yè)控制技術(shù)的不斷發(fā)展,,使得各種應用領(lǐng)域?qū)ひ部刂葡到y(tǒng)的要求越來越高。更快的響應速度,,更高的控制精度,,更好的實時性是用戶不斷的要求和控制系統(tǒng)廠商不斷追求的目標。作為控制系統(tǒng)的重要環(huán)節(jié),,模擬量輸出控制器的主要功能是接受PC機和各類通信設備發(fā)出的指令信號,,通過內(nèi)部邏輯算法和硬件電路得到相應的模擬量值,用來控制伺服閥的開度,從而控制工藝運行狀態(tài),。模擬量輸出控制器的執(zhí)行速度,、輸出精度關(guān)系著整個控制系統(tǒng)的控制質(zhì)量。目前模擬量輸出控制器主要是通過單片機和各種專用的芯片/電路,,如專用的定時器,,D/A轉(zhuǎn)換電路,通信模塊等配合實現(xiàn)的,。但是由于單片機存在運行速度較慢,、數(shù)據(jù)處理能力較弱以及內(nèi)部資源不夠豐富等固有的缺點,使得利用單片機所得到模擬量輸出控制器的性能越來越達不到要求,。
為從根本上解決此問題,。本文以TI公司DSP芯片TMS320F2801為核心,結(jié)合DSP豐富的片內(nèi)外設功能,、流水線結(jié)構(gòu)以及高效的特殊指令等優(yōu)點,,設計出模擬量輸出控制器。
一 基于TMS320F280x的模擬量輸出控制器的系統(tǒng)方案
數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎,,與通用微處理器相比,,DSP有以下優(yōu)點:
(1)存儲器結(jié)構(gòu):DSP采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)存儲器在兩個分開的空間中,,因此取指令和執(zhí)行能完全重疊運行,,進一步提高運行速度和靈活性。
(2)流水線結(jié)構(gòu):將指令的執(zhí)行分解為取指令,、譯碼,、取操作數(shù)和執(zhí)行等幾個階段。在程序運行過程中,,不同指令的不同階段在時間上是重疊的,。流水線結(jié)構(gòu)提高了指令執(zhí)行的整體速度。
(3)硬件乘法累加單元:DSP處理器適用專門的硬件來實現(xiàn)單周期乘法,,并使用累計器寄存器來處理多個乘積的累加,,同時DSP的指令集都包含有MAC指令。
(4)零開銷循環(huán):DSP有專門支持循環(huán)結(jié)構(gòu)的硬件,,使得在循環(huán)計數(shù),、條件轉(zhuǎn)移等循環(huán)機制處理時無需花費任何時間。
(5)特殊的尋址方式:DSP支持特殊的尋址方式,,從而減小遇到此部分尋址方式時的處理時間,。
(6)高效的特殊指令:DSP指令集設計了特殊的DSP指令用于專門的數(shù)字信號處理操作。提高指令執(zhí)行的并行度,,加快完成此操作的速度,。
(7)豐富的片內(nèi)外設:根據(jù)應用領(lǐng)域的不同,,DSP芯片內(nèi)集成了多種類型的內(nèi)外設。豐富的內(nèi)外設提高了處理速度和數(shù)據(jù)吞吐能力,、簡化了接口設計,同時降低了系統(tǒng)功耗并節(jié)約了電路板空間,。
本次設計中應用的芯片為TMS 320F2801,。芯片內(nèi)部具有16kB的Flash, 12kB的SARAM,。由于采用哈佛結(jié)構(gòu),、指令流水線操作、硬件乘法/累加器功能以及多種尋址方式使得芯片的操作速度大大增加,。芯片提供PLL鎖相環(huán)模塊用來控制DSP內(nèi)核的工作頻率,,使得芯片內(nèi)核的執(zhí)行速度可達到100Mb/s。同時,,TMS320F2801提供豐富的PWM資源,,包括6路的EPWM波和2路的APMW波,從而實現(xiàn)8路PWM的模擬量輸出功能,。
二 模擬量輸出控制器的硬件設計與實現(xiàn)
本模擬量輸出控制器的系統(tǒng)結(jié)構(gòu)如圖1,。
系統(tǒng)主要由DSP TMS320F2801、PWM轉(zhuǎn)換D/A電路,、自檢信號轉(zhuǎn)換電路,、電源電路、看門狗電路,、CAN接收器等幾部分組成,。考慮到模擬信號對數(shù)字信號的干擾,,需要對模擬信號進行隔離,,故硬件電路中加入光電耦合電路和高精度線性光耦電路對模擬側(cè)信號和數(shù)字側(cè)信號進行隔離。模擬量輸出控制器的工作原理如下:控制器通過CAN通信接收到外部設備(包括PC機和支持通信協(xié)議的各種設備)下發(fā)的輸出指令信號,,DSP經(jīng)過邏輯分析和運算設定8路PWM輸出,,然后通過PWM轉(zhuǎn)換D/A電路得到現(xiàn)場信號所需要的模擬量輸出值。同時,,控制器會對產(chǎn)生的模擬量輸出值進行自檢,,通過自檢信號轉(zhuǎn)換電路傳送至DSP的A/D采樣通道。這樣,,形成閉環(huán)控制,,實時有效地控制模擬量輸出信號。
三 電源供電電路的設計
TMS320F2801供電為兩部分:內(nèi)核供電1.8V和外核供電3.3V,。芯片對于上電次序有著比較嚴格的要求,要求內(nèi)核上電的時間必須提前于或者同時于外核上電的時間。
此次設計中,,為滿足TMS320F2801的上電要求,,電源芯片選用TPS70151帶上電次序的雙電源管理芯片。TPS70151芯片輸入電壓為+5V,,提供雙電源輸出,,分別為3.3V和1.8V。通過電源管理芯片,,用戶可通過控制芯片上的SEQ端改變兩路電源的上電順序,。在本次設計中,TPS70151芯片的SEQ端上拉,,使得Vout2(1.8V)先上電,,然后Vout1(3.3V)后上電,從而滿足DSP芯片上電順序的要求,。
四 PWM輸出產(chǎn)生方式及D/A轉(zhuǎn)換電路的設計
TMS320F2801芯片提供大量外設功能供用戶滿足不同的要求,。通過對芯片內(nèi)部的增強型脈寬調(diào)制模塊(EPWM)的設置可得到6路EPWM波形。同時,,增強型捕獲模塊可以產(chǎn)生2路APWM波形,。這樣,模擬量輸出控制器可產(chǎn)生8路PWM輸出波形,。
本設計中,,通過光電耦合芯片將數(shù)字側(cè)和模擬側(cè)信號完全隔離。轉(zhuǎn)換后的PWM波形經(jīng)過RC濾波穩(wěn)壓和電流串聯(lián)負反饋電路維持負載上的恒定電流,。PWM經(jīng)過二級RC濾波,,穩(wěn)壓成平均電壓Vi。Vi經(jīng)過電壓跟隨電路以及電流串聯(lián)負反饋電路產(chǎn)生最終的電流輸出,。
五 DSP及總線擴展電路的設計
由于TMS320F2801芯片上包含35根GPIO口線,,其中很大一部分為復用口線。TMS320F2801的GPIO端口為單方向端口,,即只能配置為數(shù)字量輸入功能和數(shù)字量輸出功能,。這樣就導致了在實際應用中,GPIO的數(shù)量不足帶來很大的設計缺陷,。故此次設計通過外擴74HC139,、74HC245和74HC574來彌補GPIO數(shù)量不足的缺點。
六 自檢電路的設計
由于模擬量輸出控制器是現(xiàn)場回路的中心部件,,控制器所提供的輸出電流和輸出電壓的大小和穩(wěn)定性直接關(guān)系著現(xiàn)場用電設備的工作,。故對控制器輸出的信號的正確性和品質(zhì)需要進行監(jiān)測,從而形成閉環(huán)控制環(huán)節(jié),。在此次設計中,,外部信號的自檢通過TMS320F2801芯片內(nèi)部自帶的A/D通道進行監(jiān)測,。將控制器的輸出信號通過線性光耦進行回采,得到與控制器輸出信號一致的差分電壓,。此電壓通過芯片內(nèi)部的A/D通道進行采樣,,告知控制器內(nèi)部的DSP處理器當前輸出信號的正確性與數(shù)值大小。當輸出信號發(fā)生故障時,,采樣值也會發(fā)生變化,,控制器程序進行預設的故障處理程序,告知用戶相關(guān)報警信息并做出相應的處理,。
七 控制器的軟件設計
1. 整體軟件流程
TMS320F2801的軟件在CCS(C2000)編譯開發(fā)環(huán)境編寫,。CCS(C2000)支持匯編語言和C語言,便于移植和有很強的易讀性,。
基于DSP芯片的模擬量輸出控制器軟件開發(fā)主要包括4個子模塊:初始化模塊,、通信模塊、PWM輸出控制模塊,、自檢模塊,。
程序的軟件流程見圖2??刂破魃想娭?,進行控制器的初始化工作。當初始化完成后,,控制器進入主循環(huán),。CAN通信程序為中斷程序,當外部設備下發(fā)通信數(shù)據(jù)時,,模擬量輸出控制器檢測到新的CAN數(shù)據(jù)產(chǎn)生,,引發(fā)中斷子程序,并將CAN數(shù)據(jù)進行緩存,,中斷結(jié)束,。TMS320F2801判斷通信數(shù)據(jù)是否正確以及數(shù)據(jù)是否與當前輸出數(shù)據(jù)一致,根據(jù)判斷的結(jié)果,,通過PWM電路和D/A轉(zhuǎn)換電路得到與指令信息相符的模擬量信號,。在輸出模擬量信號之后,通過自檢電路采集現(xiàn)場輸出端子的信號量值,,判斷輸出信號是否與CAN下發(fā)的指令信息相匹配,,提供相關(guān)的診斷信息和報警信息,并進行相應操作,。
2. 初始化模塊
控制器的初始化過程主要包括5個部分:初始化變量及寄存器,、DSP初始化、冷熱啟動判斷,、熱啟動初始化,、看門狗初始化,。初始化過程完成對控制器內(nèi)部硬件電路、DSP芯片的相關(guān)參數(shù)的設置,。
3. CAN通信模塊
TMS320F2801芯片具有豐富的外設通信接口,,包括CAN、SPI,、I2C、SCI,。本次設計中,,模擬量輸出控制器通過CAN通信接口與外部設備相連。對于模擬量輸出控制器來說,,只要符合CAN通信協(xié)議的設備,,包括各種儀表和安裝CAN驅(qū)動的PC機,都能控制模擬量輸出控制器輸出信號的大小,,并接收控制器的報警信息,。
在CAN通信的設計中,應注意以下幾個問題:
(1)CAN內(nèi)部寄存器都是32位的,。只有32位的讀寫才能保證安全,,16位或者單個位的讀寫存在破壞寄存器內(nèi)容的潛在可能,所以對寄存器的讀寫應通過映射寄存器進行設置,。
(2)在使用CAN模塊前,,必須進行初始化操作,設置波特率,、PWM周期參數(shù),。
(3)關(guān)鍵寄存器是受EALLOW保護的,這樣為了防止不經(jīng)意的改變,。對于關(guān)鍵寄存器的操作,,需正確使用EALLOW和EDIS。
(4)配置接收郵箱消息標識符MSGID時,,必須根據(jù)需要配置標志擴展符IDE位(標準格式是11位標識符,,擴展格式是29位標識符),并且在標準CAN模式和增強CAN模式下配置是有所區(qū)別的,。如果使用接收屏蔽,,接收屏蔽使能(AME)位必須置位(MSGID.30=1)。
4. PWM輸出控制模塊
PWM輸出控制模塊是模擬量輸出控制器軟件設計中最重要的部分,??刂破鹘邮盏紺AN通道下發(fā)的輸出指令信息后,通過PWM輸出控制模塊轉(zhuǎn)換為模擬量輸出信號,。
DSP芯片PWM波形均通過內(nèi)部定時器設定得到,,且PWM的輸出精度與DSP芯片系統(tǒng)時鐘相關(guān),。系統(tǒng)時鐘,PWM的周期以及D/A輸出的分辨率的關(guān)系如下:分辨率=Log2(TPWM/TSYSCLK),。其中TPWM表示PWM周期時間,,TSYSCLK表示系統(tǒng)時鐘。
本次設計中,,PWM周期TPWM設定為819.2μs,,TSYSCLK設定為0.02μs(50MHz)。結(jié)合等式,,可以計算出分辨率為15.3位,。由于設計要求控制器的輸出精度為0.2%,此情況下得到的PWM分辨率完全能夠滿足設計上的要求,。DSP硬件集成的PWM電路極大地減小產(chǎn)生PWM波形的CPU開銷,。同時,集成化的設計大大減少用戶的工作量,。
八 結(jié)束語
隨著計算機硬件技術(shù)越來越成熟,,產(chǎn)品的電路集成性要求越來越高,軟件的可移植性和易操作性的要求越來越迫切,。DSP芯片豐富的外設功能,、支持多種語言和操作系統(tǒng),以及軟件算法的高集成度和完善性使得芯片能應用到多種行業(yè)的產(chǎn)品中,。本文以TI公司的TMS320F2801為核心控制器件設計了模擬量輸出控制器,。經(jīng)實踐證明,產(chǎn)品各方面性能均遠遠優(yōu)于以單片機為基礎設計的產(chǎn)品,。由于TMS320F2801芯片的高集成度,、低成本以及易開發(fā)性,大大縮短設計人員的設計時間和極大地減小產(chǎn)品的軟硬件成本,,同時也提高產(chǎn)品的生產(chǎn)效率和維護效率,。基于DSP芯片的設計開發(fā)理念在其他具有模擬量輸出功能的產(chǎn)品中同樣可得到廣泛的推廣和應用,。