深圳市賽元微電子有限公司 翟冠杰
隨著我國(guó)工業(yè)化進(jìn)程的不斷推進(jìn),高精度溫度控制成為很多生產(chǎn)工藝和關(guān)鍵環(huán)節(jié),在一些高精尖設(shè)備的生產(chǎn)和控制領(lǐng)域,溫度控制的要求不斷提高,傳統(tǒng)的溫度控制系統(tǒng)表現(xiàn)出了明顯的不適應(yīng)性,在性能上已很難滿足工藝要求。本文對(duì)現(xiàn)有的普通溫度控制技術(shù)進(jìn)行了改進(jìn)分析,并將其應(yīng)用于嵌入式系統(tǒng)中,設(shè)計(jì)了一套基于賽元ARM內(nèi)核MCU的智能溫度控制系統(tǒng)。首先對(duì)系統(tǒng)進(jìn)行了總體設(shè)計(jì),明確了設(shè)計(jì)要求和目標(biāo),然后對(duì)硬件系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行了分析,從主控單元、調(diào)試接口、存儲(chǔ)單元和內(nèi)核移植等方面進(jìn)行了著重研究,最后對(duì)PID算法進(jìn)行改進(jìn),使其可以自適應(yīng)復(fù)雜環(huán)境的變化,達(dá)到智能化控制的目的。應(yīng)用表明,本系統(tǒng)可以適應(yīng)不同環(huán)境下的高精度溫度控制,穩(wěn)定性良好,具有重要的應(yīng)用價(jià)值。
社會(huì)的進(jìn)步需要科技水平的支撐,尤其是工業(yè)領(lǐng)域,對(duì)工業(yè)控制有著極為強(qiáng)烈的依賴。隨著我國(guó)工業(yè)化進(jìn)程的不斷深化,越來(lái)越多的工業(yè)場(chǎng)合需要實(shí)現(xiàn)高精度的溫度控制,同時(shí)要求控制系統(tǒng)具備較強(qiáng)的可靠性和穩(wěn)定性,比如航空航天領(lǐng)域中的電熱保護(hù)單元、消防設(shè)備中的火災(zāi)檢測(cè)單元等等。現(xiàn)有的溫度控制單元一般都可以實(shí)現(xiàn)對(duì)單一產(chǎn)品或工位的溫度檢測(cè)和控制,但對(duì)于流水線式的批量生產(chǎn)則很難滿足要求。隨著工業(yè)化大生產(chǎn)時(shí)代的到來(lái),人們要求系統(tǒng)能夠?qū)Υ笈康漠a(chǎn)品進(jìn)行動(dòng)態(tài)檢測(cè),并且可以克服環(huán)境的影響實(shí)現(xiàn)精確溫度控制。為此,本文提出了一種新的自適應(yīng)溫度控制算法,并通過(guò)嵌入式系統(tǒng)開(kāi)發(fā),成功實(shí)現(xiàn)了一款以賽元ARM內(nèi)核MCU為核心的智能溫度控制系統(tǒng)。滿足了當(dāng)前工業(yè)化批量生產(chǎn)的溫度檢測(cè)要求。
在微電子和計(jì)算機(jī)技術(shù)的推動(dòng)下,嵌入式系統(tǒng)成為了工業(yè)控制領(lǐng)域中的重要組成部分,并受到了眾多業(yè)內(nèi)人士濃度研究,其應(yīng)用范圍也不斷擴(kuò)大,目前已深入到工業(yè)生產(chǎn)的方方面面,成為工業(yè)控制系統(tǒng)的重要發(fā)展趨勢(shì)之一。由于溫度控制系統(tǒng)一般應(yīng)用于軍事、消防、重要工藝環(huán)節(jié)的控制,因此在性能上一般都有著極為苛刻的要求。本文根據(jù)實(shí)際情況,設(shè)計(jì)了一款基于PID控制和模糊控制的改進(jìn)型自適應(yīng)溫度控制算法,實(shí)現(xiàn)了控制算法對(duì)工作環(huán)境的自適應(yīng),使其適用性更加廣泛,在各種復(fù)雜的環(huán)境和工況下仍能保持高性能工作。設(shè)計(jì)了以B/S架構(gòu)為基礎(chǔ)的人機(jī)交互模塊,同時(shí)能夠完成對(duì)實(shí)時(shí)數(shù)據(jù)的實(shí)時(shí)計(jì)算,對(duì)歷史數(shù)據(jù)的統(tǒng)計(jì)與分析,實(shí)現(xiàn)對(duì)溫度參數(shù)的實(shí)時(shí)監(jiān)測(cè)與預(yù)警。
溫度的變化對(duì)于工業(yè)領(lǐng)域來(lái)說(shuō)往往是動(dòng)態(tài)的,并且對(duì)溫度的控制要求十分精確,這就需要采集大量的溫度樣本,但這又給數(shù)據(jù)處理帶來(lái)了巨大的壓力,而本系統(tǒng)可以實(shí)現(xiàn)在高精度采樣的同時(shí)完成對(duì)數(shù)據(jù)的實(shí)時(shí)分析,并根據(jù)結(jié)果對(duì)溫度進(jìn)行動(dòng)態(tài)調(diào)整。系統(tǒng)以Cortex-M3處理器作為主控核心,充分發(fā)揮了其在大數(shù)據(jù)處理和動(dòng)態(tài)溫度控制方面的優(yōu)勢(shì)。系統(tǒng)總體框架如圖1所示。
溫度控制系統(tǒng)的處理精度和速度主要取決于其控制的核心處理器性能,因此ARM控制核心的選型十分關(guān)鍵。本文采用了以賽元Cortex-M3為內(nèi)核的SC32F9103系列處理器,充分利用了其ARMv7-M結(jié)構(gòu)和Thumb-216/32位混合指令集的優(yōu)勢(shì),在保證系統(tǒng)性能的條件下實(shí)現(xiàn)了系統(tǒng)的低功耗運(yùn)行,該處理器還提供了通用的串行調(diào)試和JTAG接口功能,為系統(tǒng)的調(diào)試提供了很大的便利,使程序開(kāi)發(fā)變得更加簡(jiǎn)潔高效。另一方面,該芯片在32位除法和單周期乘法方面的支持方面較好,因此在運(yùn)行速度方面得到了保證,因此在溫度控制系統(tǒng)的應(yīng)用中具有獨(dú)特的優(yōu)勢(shì)。
圖1 控制系統(tǒng)整體框架
調(diào)度是系統(tǒng)開(kāi)發(fā)的關(guān)鍵步驟,是保證軟件和硬件按照預(yù)定邏輯進(jìn)行工作的重要過(guò)程,調(diào)度接口的設(shè)計(jì)是為了更好地實(shí)現(xiàn)對(duì)嵌入式控制系統(tǒng)的仿真和現(xiàn)場(chǎng)調(diào)試工作。在本系統(tǒng)中,考慮到通用性的要求,采用了國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議JTAG,該接口可以實(shí)現(xiàn)對(duì)芯片內(nèi)部進(jìn)行仿真、測(cè)試和調(diào)試等基本功能。在嵌入式系統(tǒng)的調(diào)試中,需要一臺(tái)宿主機(jī)和一臺(tái)目標(biāo)機(jī),調(diào)試時(shí)要通過(guò)宿主機(jī)來(lái)控制目標(biāo)機(jī),通過(guò)仿真器琮控制主控芯片,使用戶編寫(xiě)的程序可以成功運(yùn)行起來(lái)。調(diào)試結(jié)果將通過(guò)反方向由目標(biāo)機(jī)向宿主機(jī)傳遞,使開(kāi)發(fā)人員可以及時(shí)知道微處理單元的工作情況,以便為程序的跟蹤、調(diào)試和優(yōu)化提供參考依據(jù)。
在嵌入式系統(tǒng)中,由于系統(tǒng)的運(yùn)行及對(duì)被控制對(duì)象的控制過(guò)程需要依賴于用戶編寫(xiě)的程序,因此在斷電之后用戶程序必須可以保持下來(lái)。這就需要用到Flash存儲(chǔ)器。一般來(lái)說(shuō),F(xiàn)lash存儲(chǔ)器用于存放用戶的程序源代碼和相應(yīng)的基礎(chǔ)數(shù)據(jù),即使系統(tǒng)被有意或無(wú)意中關(guān)機(jī),當(dāng)再次開(kāi)機(jī)后,也可以通過(guò)讀取Flash來(lái)恢復(fù)用戶程序和基礎(chǔ)數(shù)據(jù)??紤]到Flash存儲(chǔ)單元的重要性,本文采用了16位AT49BV322A來(lái)搭建溫度控制系統(tǒng)的Flash存儲(chǔ)單元,其工作電壓為3V,供電后由其自身內(nèi)部的寄存器來(lái)完成程序的編寫(xiě)如果系統(tǒng)中途掉電,一次啟動(dòng)后程序?qū)纳洗螖嚅_(kāi)位置自動(dòng)繼續(xù)運(yùn)行。為了兼顧程序運(yùn)行速度,本文將一些中間變量和局部產(chǎn)生的數(shù)據(jù)放在SDRAM中,以進(jìn)一步提高數(shù)據(jù)存取速度,盡管SDRAM在斷電后無(wú)法恢復(fù)數(shù)據(jù),但由于其保存的是臨時(shí)數(shù)據(jù),可在程序執(zhí)行后重新生成,因而不影響系統(tǒng)的正常運(yùn)行。
考慮到跨平臺(tái)運(yùn)行問(wèn)題,本系統(tǒng)要求具備在各平臺(tái)運(yùn)行的能力,因此采用Linux系統(tǒng)作為操作系統(tǒng),以支持整個(gè)智能溫度控制系統(tǒng)的運(yùn)行。在Linux系統(tǒng)中,最關(guān)鍵的是做好其內(nèi)核管理工作,根據(jù)操作系統(tǒng)工作原理及本系統(tǒng)的設(shè)計(jì)方案,智能溫度控制系統(tǒng)在啟動(dòng)的時(shí)候會(huì)通過(guò)加載程序把內(nèi)核文件拷貝到主機(jī)內(nèi)存中,當(dāng)內(nèi)核加載完成后,才具備系統(tǒng)運(yùn)行所需要的驅(qū)動(dòng)條件。但原始的Linux系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),對(duì)于本文設(shè)計(jì)的智能溫度控制系統(tǒng)來(lái)說(shuō)顯然過(guò)于冗余,另一方面,溫度控制系統(tǒng)的存儲(chǔ)單元也沒(méi)有足夠的容量來(lái)存放巨大的內(nèi)核文件,因此本文考慮對(duì)ARM芯片嵌入式系統(tǒng)的功能進(jìn)行適當(dāng)?shù)牟眉?,然后再進(jìn)行內(nèi)核的移植,在這個(gè)過(guò)程中僅僅將必須的功能模塊加載進(jìn)去,無(wú)關(guān)的功能則不做處理。
內(nèi)核移植的具體步驟如下:首先登錄內(nèi)核官網(wǎng)獲取內(nèi)核源代碼,然后根據(jù)SC32F9103系列處理器的特點(diǎn)和參數(shù),通過(guò)patch補(bǔ)丁對(duì)內(nèi)核源代碼進(jìn)行升級(jí),以保證其與ARM芯片之間的兼容性。本文修改了內(nèi)核路徑下的makefile文件,以此完成對(duì)各項(xiàng)基本功能模塊的自定義。成功編譯后,一個(gè)符合智能溫度溫度控制系統(tǒng)的最小功能模塊的Linux系統(tǒng)就完成了。
在自動(dòng)控制領(lǐng)域,使用最廣泛的控制算法有模糊控制算法、專家控制算法和PID控制算法,其中PID控制算法的應(yīng)用最為流行,在實(shí)現(xiàn)上也最為簡(jiǎn)單,但隨著工業(yè)領(lǐng)域?qū)囟瓤刂葡到y(tǒng)性能的提高,常規(guī)的算法已很難達(dá)到要求。因此,本文在傳統(tǒng)PID算法的基礎(chǔ)上進(jìn)行了改進(jìn),使其可以適應(yīng)不同環(huán)境下的控制需求,提高穩(wěn)定性和控制精度。系統(tǒng)以模糊控制的偏差變量以及偏差變化率為輸入,以PID自適應(yīng)的調(diào)節(jié)參數(shù)為輸出,并求出其關(guān)系式。然后把偏差變量以及偏差變化率看成是一個(gè)特殊的模糊子集,再次對(duì)其輸出進(jìn)行定義,再通過(guò)Matlab仿真得出最優(yōu)化參數(shù),最終得到輸入與輸出的隸屬函數(shù)曲線分布。該算法可以通過(guò)環(huán)境溫度的變化對(duì)輸入進(jìn)行調(diào)節(jié),實(shí)現(xiàn)了PID的實(shí)時(shí)動(dòng)態(tài)自整定,使輸出參數(shù)可以得到線性調(diào)節(jié)。
本文在給出了總體設(shè)計(jì)方案的基礎(chǔ)上,對(duì)基于賽元ARM內(nèi)核MCU的智能溫度控制系統(tǒng)進(jìn)行了詳細(xì)設(shè)計(jì),并以高精尖工業(yè)應(yīng)用領(lǐng)域?yàn)槟繕?biāo),對(duì)溫度控制系統(tǒng)的智能化控制算法進(jìn)行了論證,使其在主控單元運(yùn)行速度、存儲(chǔ)單元優(yōu)化、系統(tǒng)內(nèi)核精簡(jiǎn)以及自適應(yīng)PID控制算法精度上都得到了很大的優(yōu)化。本文系統(tǒng)在某材料制造企業(yè)中進(jìn)行了為期三個(gè)月試運(yùn)行,完全滿足生產(chǎn)線的大批量實(shí)時(shí)溫度檢測(cè),系統(tǒng)運(yùn)行穩(wěn)定可靠,精度符合生產(chǎn)工藝需求,驗(yàn)證了本系統(tǒng)設(shè)計(jì)的合理性。隨著智能化時(shí)代的到來(lái),以及《中國(guó)制造2025》戰(zhàn)略的提出,賽元ARM內(nèi)核芯片的性能將進(jìn)一步提高,我國(guó)工業(yè)生產(chǎn)對(duì)溫度控制的要求也會(huì)越來(lái)越高,高精度、穩(wěn)定、安全、可靠的智能溫度控制系統(tǒng)的需求也會(huì)日益強(qiáng)烈,因此本系統(tǒng)具有很大的推廣應(yīng)用價(jià)值及市場(chǎng)空間。作者簡(jiǎn)介:翟冠杰(1973—),男,河南人,碩士,現(xiàn)供職于深圳市賽元微電子有限公司,主要從事集成電路芯片設(shè)計(jì)及銷售工作,專注于8051內(nèi)核8位Flash MCU和ARM內(nèi)核32位MCU產(chǎn)品的設(shè)計(jì)和銷售。