《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于DSP TMS320F280x的模擬量輸出控制器的設(shè)計(jì)
基于DSP TMS320F280x的模擬量輸出控制器的設(shè)計(jì)
摘要: 工業(yè)控制技術(shù)的不斷發(fā)展,使得各種應(yīng)用領(lǐng)域?qū)ひ部刂葡到y(tǒng)的要求越來(lái)越高。更快的響應(yīng)速度,更高的控制精度,更好的實(shí)時(shí)性是用戶不斷的要求和控制系統(tǒng)廠商不斷追求的目標(biāo)。作為控制系統(tǒng)的重要環(huán)節(jié),模擬量輸出控制器的主要功能是接受PC機(jī)和各類通信設(shè)備發(fā)出的指令信號(hào),通過(guò)內(nèi)部邏輯算法和硬件電路得到相應(yīng)的模擬量值,用來(lái)控制伺服閥的開(kāi)度,從而控制工藝運(yùn)行狀態(tài)。
Abstract:
Key words :

工業(yè)控制技術(shù)的不斷發(fā)展,使得各種應(yīng)用領(lǐng)域?qū)ひ部刂葡到y(tǒng)的要求越來(lái)越高。更快的響應(yīng)速度,更高的控制精度,更好的實(shí)時(shí)性是用戶不斷的要求和控制系統(tǒng)廠商不斷追求的目標(biāo)。作為控制系統(tǒng)的重要環(huán)節(jié),模擬量輸出控制器的主要功能是接受PC機(jī)和各類通信設(shè)備發(fā)出的指令信號(hào),通過(guò)內(nèi)部邏輯算法和硬件電路得到相應(yīng)的模擬量值,用來(lái)控制伺服閥的開(kāi)度,從而控制工藝運(yùn)行狀態(tài)。模擬量輸出控制器的執(zhí)行速度、輸出精度關(guān)系著整個(gè)控制系統(tǒng)的控制質(zhì)量。目前模擬量輸出控制器主要是通過(guò)單片機(jī)和各種專用的芯片/電路,如專用的定時(shí)器,D/A轉(zhuǎn)換電路,通信模塊等配合實(shí)現(xiàn)的。但是由于單片機(jī)存在運(yùn)行速度較慢、數(shù)據(jù)處理能力較弱以及內(nèi)部資源不夠豐富等固有的缺點(diǎn),使得利用單片機(jī)所得到模擬量輸出控制器的性能越來(lái)越達(dá)不到要求。

為從根本上解決此問(wèn)題。本文以TI公司DSP芯片TMS320F2801為核心,結(jié)合DSP豐富的片內(nèi)外設(shè)功能、流水線結(jié)構(gòu)以及高效的特殊指令等優(yōu)點(diǎn),設(shè)計(jì)出模擬量輸出控制器。


一 基于TMS320F280x的模擬量輸出控制器的系統(tǒng)方案
數(shù)字信號(hào)處理系統(tǒng)是以數(shù)字信號(hào)處理為基礎(chǔ),與通用微處理器相比,DSP有以下優(yōu)點(diǎn):
(1)存儲(chǔ)器結(jié)構(gòu):DSP采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)存儲(chǔ)器在兩個(gè)分開(kāi)的空間中,因此取指令和執(zhí)行能完全重疊運(yùn)行,進(jìn)一步提高運(yùn)行速度和靈活性。
(2)流水線結(jié)構(gòu):將指令的執(zhí)行分解為取指令、譯碼、取操作數(shù)和執(zhí)行等幾個(gè)階段。在程序運(yùn)行過(guò)程中,不同指令的不同階段在時(shí)間上是重疊的。流水線結(jié)構(gòu)提高了指令執(zhí)行的整體速度。
(3)硬件乘法累加單元:DSP處理器適用專門(mén)的硬件來(lái)實(shí)現(xiàn)單周期乘法,并使用累計(jì)器寄存器來(lái)處理多個(gè)乘積的累加,同時(shí)DSP的指令集都包含有MAC指令。
(4)零開(kāi)銷循環(huán):DSP有專門(mén)支持循環(huán)結(jié)構(gòu)的硬件,使得在循環(huán)計(jì)數(shù)、條件轉(zhuǎn)移等循環(huán)機(jī)制處理時(shí)無(wú)需花費(fèi)任何時(shí)間。
(5)特殊的尋址方式:DSP支持特殊的尋址方式,從而減小遇到此部分尋址方式時(shí)的處理時(shí)間。
(6)高效的特殊指令:DSP指令集設(shè)計(jì)了特殊的DSP指令用于專門(mén)的數(shù)字信號(hào)處理操作。提高指令執(zhí)行的并行度,加快完成此操作的速度。
(7)豐富的片內(nèi)外設(shè):根據(jù)應(yīng)用領(lǐng)域的不同,DSP芯片內(nèi)集成了多種類型的內(nèi)外設(shè)。豐富的內(nèi)外設(shè)提高了處理速度和數(shù)據(jù)吞吐能力、簡(jiǎn)化了接口設(shè)計(jì),同時(shí)降低了系統(tǒng)功耗并節(jié)約了電路板空間。
本次設(shè)計(jì)中應(yīng)用的芯片為T(mén)MS 320F2801。芯片內(nèi)部具有16kB的Flash, 12kB的SARAM。由于采用哈佛結(jié)構(gòu)、指令流水線操作、硬件乘法/累加器功能以及多種尋址方式使得芯片的操作速度大大增加。芯片提供PLL鎖相環(huán)模塊用來(lái)控制DSP內(nèi)核的工作頻率,使得芯片內(nèi)核的執(zhí)行速度可達(dá)到100Mb/s。同時(shí),TMS320F2801提供豐富的PWM資源,包括6路的EPWM波和2路的APMW波,從而實(shí)現(xiàn)8路PWM的模擬量輸出功能。

二 模擬量輸出控制器的硬件設(shè)計(jì)與實(shí)現(xiàn)
本模擬量輸出控制器的系統(tǒng)結(jié)構(gòu)如圖1。
系統(tǒng)主要由DSP TMS320F2801、PWM轉(zhuǎn)換D/A電路、自檢信號(hào)轉(zhuǎn)換電路、電源電路、看門(mén)狗電路、CAN接收器等幾部分組成??紤]到模擬信號(hào)對(duì)數(shù)字信號(hào)的干擾,需要對(duì)模擬信號(hào)進(jìn)行隔離,故硬件電路中加入光電耦合電路和高精度線性光耦電路對(duì)模擬側(cè)信號(hào)和數(shù)字側(cè)信號(hào)進(jìn)行隔離。模擬量輸出控制器的工作原理如下:控制器通過(guò)CAN通信接收到外部設(shè)備(包括PC機(jī)和支持通信協(xié)議的各種設(shè)備)下發(fā)的輸出指令信號(hào),DSP經(jīng)過(guò)邏輯分析和運(yùn)算設(shè)定8路PWM輸出,然后通過(guò)PWM轉(zhuǎn)換D/A電路得到現(xiàn)場(chǎng)信號(hào)所需要的模擬量輸出值。同時(shí),控制器會(huì)對(duì)產(chǎn)生的模擬量輸出值進(jìn)行自檢,通過(guò)自檢信號(hào)轉(zhuǎn)換電路傳送至DSP的A/D采樣通道。這樣,形成閉環(huán)控制,實(shí)時(shí)有效地控制模擬量輸出信號(hào)。

三 電源供電電路的設(shè)計(jì)
TMS320F2801供電為兩部分:內(nèi)核供電1.8V和外核供電3.3V。芯片對(duì)于上電次序有著比較嚴(yán)格的要求,要求內(nèi)核上電的時(shí)間必須提前于或者同時(shí)于外核上電的時(shí)間。
此次設(shè)計(jì)中,為滿足TMS320F2801的上電要求,電源芯片選用TPS70151帶上電次序的雙電源管理芯片。TPS70151芯片輸入電壓為+5V,提供雙電源輸出,分別為3.3V和1.8V。通過(guò)電源管理芯片,用戶可通過(guò)控制芯片上的SEQ端改變兩路電源的上電順序。在本次設(shè)計(jì)中,TPS70151芯片的SEQ端上拉,使得Vout2(1.8V)先上電,然后Vout1(3.3V)后上電,從而滿足DSP芯片上電順序的要求。

四 PWM輸出產(chǎn)生方式及D/A轉(zhuǎn)換電路的設(shè)計(jì)
TMS320F2801芯片提供大量外設(shè)功能供用戶滿足不同的要求。通過(guò)對(duì)芯片內(nèi)部的增強(qiáng)型脈寬調(diào)制模塊(EPWM)的設(shè)置可得到6路EPWM波形。同時(shí),增強(qiáng)型捕獲模塊可以產(chǎn)生2路APWM波形。這樣,模擬量輸出控制器可產(chǎn)生8路PWM輸出波形。
本設(shè)計(jì)中,通過(guò)光電耦合芯片將數(shù)字側(cè)和模擬側(cè)信號(hào)完全隔離。轉(zhuǎn)換后的PWM波形經(jīng)過(guò)RC濾波穩(wěn)壓和電流串聯(lián)負(fù)反饋電路維持負(fù)載上的恒定電流。PWM經(jīng)過(guò)二級(jí)RC濾波,穩(wěn)壓成平均電壓Vi。Vi經(jīng)過(guò)電壓跟隨電路以及電流串聯(lián)負(fù)反饋電路產(chǎn)生最終的電流輸出。

五 DSP及總線擴(kuò)展電路的設(shè)計(jì)
由于TMS320F2801芯片上包含35根GPIO口線,其中很大一部分為復(fù)用口線。TMS320F2801的GPIO端口為單方向端口,即只能配置為數(shù)字量輸入功能和數(shù)字量輸出功能。這樣就導(dǎo)致了在實(shí)際應(yīng)用中,GPIO的數(shù)量不足帶來(lái)很大的設(shè)計(jì)缺陷。故此次設(shè)計(jì)通過(guò)外擴(kuò)74HC139、74HC245和74HC574來(lái)彌補(bǔ)GPIO數(shù)量不足的缺點(diǎn)。

六 自檢電路的設(shè)計(jì)
由于模擬量輸出控制器是現(xiàn)場(chǎng)回路的中心部件,控制器所提供的輸出電流和輸出電壓的大小和穩(wěn)定性直接關(guān)系著現(xiàn)場(chǎng)用電設(shè)備的工作。故對(duì)控制器輸出的信號(hào)的正確性和品質(zhì)需要進(jìn)行監(jiān)測(cè),從而形成閉環(huán)控制環(huán)節(jié)。在此次設(shè)計(jì)中,外部信號(hào)的自檢通過(guò)TMS320F2801芯片內(nèi)部自帶的A/D通道進(jìn)行監(jiān)測(cè)。將控制器的輸出信號(hào)通過(guò)線性光耦進(jìn)行回采,得到與控制器輸出信號(hào)一致的差分電壓。此電壓通過(guò)芯片內(nèi)部的A/D通道進(jìn)行采樣,告知控制器內(nèi)部的DSP處理器當(dāng)前輸出信號(hào)的正確性與數(shù)值大小。當(dāng)輸出信號(hào)發(fā)生故障時(shí),采樣值也會(huì)發(fā)生變化,控制器程序進(jìn)行預(yù)設(shè)的故障處理程序,告知用戶相關(guān)報(bào)警信息并做出相應(yīng)的處理。

七 控制器的軟件設(shè)計(jì)
1. 整體軟件流程
TMS320F2801的軟件在CCS(C2000)編譯開(kāi)發(fā)環(huán)境編寫(xiě)。CCS(C2000)支持匯編語(yǔ)言和C語(yǔ)言,便于移植和有很強(qiáng)的易讀性。
基于DSP芯片的模擬量輸出控制器軟件開(kāi)發(fā)主要包括4個(gè)子模塊:初始化模塊、通信模塊、PWM輸出控制模塊、自檢模塊。
程序的軟件流程見(jiàn)圖2??刂破魃想娭螅M(jìn)行控制器的初始化工作。當(dāng)初始化完成后,控制器進(jìn)入主循環(huán)。CAN通信程序?yàn)橹袛喑绦?,?dāng)外部設(shè)備下發(fā)通信數(shù)據(jù)時(shí),模擬量輸出控制器檢測(cè)到新的CAN數(shù)據(jù)產(chǎn)生,引發(fā)中斷子程序,并將CAN數(shù)據(jù)進(jìn)行緩存,中斷結(jié)束。TMS320F2801判斷通信數(shù)據(jù)是否正確以及數(shù)據(jù)是否與當(dāng)前輸出數(shù)據(jù)一致,根據(jù)判斷的結(jié)果,通過(guò)PWM電路和D/A轉(zhuǎn)換電路得到與指令信息相符的模擬量信號(hào)。在輸出模擬量信號(hào)之后,通過(guò)自檢電路采集現(xiàn)場(chǎng)輸出端子的信號(hào)量值,判斷輸出信號(hào)是否與CAN下發(fā)的指令信息相匹配,提供相關(guān)的診斷信息和報(bào)警信息,并進(jìn)行相應(yīng)操作。
2. 初始化模塊
控制器的初始化過(guò)程主要包括5個(gè)部分:初始化變量及寄存器、DSP初始化、冷熱啟動(dòng)判斷、熱啟動(dòng)初始化、看門(mén)狗初始化。初始化過(guò)程完成對(duì)控制器內(nèi)部硬件電路、DSP芯片的相關(guān)參數(shù)的設(shè)置。
3. CAN通信模塊
TMS320F2801芯片具有豐富的外設(shè)通信接口,包括CAN、SPI、I2C、SCI。本次設(shè)計(jì)中,模擬量輸出控制器通過(guò)CAN通信接口與外部設(shè)備相連。對(duì)于模擬量輸出控制器來(lái)說(shuō),只要符合CAN通信協(xié)議的設(shè)備,包括各種儀表和安裝CAN驅(qū)動(dòng)的PC機(jī),都能控制模擬量輸出控制器輸出信號(hào)的大小,并接收控制器的報(bào)警信息。
在CAN通信的設(shè)計(jì)中,應(yīng)注意以下幾個(gè)問(wèn)題:
(1)CAN內(nèi)部寄存器都是32位的。只有32位的讀寫(xiě)才能保證安全,16位或者單個(gè)位的讀寫(xiě)存在破壞寄存器內(nèi)容的潛在可能,所以對(duì)寄存器的讀寫(xiě)應(yīng)通過(guò)映射寄存器進(jìn)行設(shè)置。
(2)在使用CAN模塊前,必須進(jìn)行初始化操作,設(shè)置波特率、PWM周期參數(shù)。
(3)關(guān)鍵寄存器是受EALLOW保護(hù)的,這樣為了防止不經(jīng)意的改變。對(duì)于關(guān)鍵寄存器的操作,需正確使用EALLOW和EDIS。
(4)配置接收郵箱消息標(biāo)識(shí)符MSGID時(shí),必須根據(jù)需要配置標(biāo)志擴(kuò)展符IDE位(標(biāo)準(zhǔn)格式是11位標(biāo)識(shí)符,擴(kuò)展格式是29位標(biāo)識(shí)符),并且在標(biāo)準(zhǔn)CAN模式和增強(qiáng)CAN模式下配置是有所區(qū)別的。如果使用接收屏蔽,接收屏蔽使能(AME)位必須置位(MSGID.30=1)。
4. PWM輸出控制模塊
PWM輸出控制模塊是模擬量輸出控制器軟件設(shè)計(jì)中最重要的部分??刂破鹘邮盏紺AN通道下發(fā)的輸出指令信息后,通過(guò)PWM輸出控制模塊轉(zhuǎn)換為模擬量輸出信號(hào)。
DSP芯片PWM波形均通過(guò)內(nèi)部定時(shí)器設(shè)定得到,且PWM的輸出精度與DSP芯片系統(tǒng)時(shí)鐘相關(guān)。系統(tǒng)時(shí)鐘,PWM的周期以及D/A輸出的分辨率的關(guān)系如下:分辨率=Log2(TPWM/TSYSCLK)。其中TPWM表示PWM周期時(shí)間,TSYSCLK表示系統(tǒng)時(shí)鐘。
本次設(shè)計(jì)中,PWM周期TPWM設(shè)定為819.2μs,TSYSCLK設(shè)定為0.02μs(50MHz)。結(jié)合等式,可以計(jì)算出分辨率為15.3位。由于設(shè)計(jì)要求控制器的輸出精度為0.2%,此情況下得到的PWM分辨率完全能夠滿足設(shè)計(jì)上的要求。DSP硬件集成的PWM電路極大地減小產(chǎn)生PWM波形的CPU開(kāi)銷。同時(shí),集成化的設(shè)計(jì)大大減少用戶的工作量。

八 結(jié)束語(yǔ)
隨著計(jì)算機(jī)硬件技術(shù)越來(lái)越成熟,產(chǎn)品的電路集成性要求越來(lái)越高,軟件的可移植性和易操作性的要求越來(lái)越迫切。DSP芯片豐富的外設(shè)功能、支持多種語(yǔ)言和操作系統(tǒng),以及軟件算法的高集成度和完善性使得芯片能應(yīng)用到多種行業(yè)的產(chǎn)品中。本文以TI公司的TMS320F2801為核心控制器件設(shè)計(jì)了模擬量輸出控制器。經(jīng)實(shí)踐證明,產(chǎn)品各方面性能均遠(yuǎn)遠(yuǎn)優(yōu)于以單片機(jī)為基礎(chǔ)設(shè)計(jì)的產(chǎn)品。由于TMS320F2801芯片的高集成度、低成本以及易開(kāi)發(fā)性,大大縮短設(shè)計(jì)人員的設(shè)計(jì)時(shí)間和極大地減小產(chǎn)品的軟硬件成本,同時(shí)也提高產(chǎn)品的生產(chǎn)效率和維護(hù)效率?;贒SP芯片的設(shè)計(jì)開(kāi)發(fā)理念在其他具有模擬量輸出功能的產(chǎn)品中同樣可得到廣泛的推廣和應(yīng)用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。