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