陳小娟
(重慶電子工程職業(yè)學(xué)院,中國(guó) 重慶400030)
隨著科學(xué)技術(shù)的不斷發(fā)展,社會(huì)經(jīng)濟(jì)飛速前進(jìn),在社會(huì)、企業(yè)和家庭中電氣化設(shè)備日益增多,成為現(xiàn)代化生產(chǎn)和生活工具的主流。 對(duì)于一些電氣設(shè)備,傳統(tǒng)供電方式限制了它們的普及和使用靈活性,同時(shí)給安全供電和環(huán)境安全問(wèn)題帶來(lái)了很大的影響。隨著人們生活以及生產(chǎn)活動(dòng)范圍的擴(kuò)大,人們迫切需要一種新型的電能傳輸技術(shù)來(lái)滿(mǎn)足新型電氣設(shè)備及各種特殊條件下的供電需求。 而CPT 系統(tǒng)采用基于電磁感應(yīng)耦合原理的非接觸式電能傳輸技術(shù),克服了傳統(tǒng)供電模式的種種不足[1]。
現(xiàn)今,人們對(duì)ARM(Advanced RISC Machines)已有深入了解,亦逐步認(rèn)識(shí)到8 位MCU、32 位ARM、DSP(Digital Signal Processor)各自的優(yōu)勢(shì)所在。 在很多情況下,一個(gè)優(yōu)秀的系統(tǒng),既需要ARM 的超強(qiáng)事務(wù)管理功能,更需要DSP 的運(yùn)算功能,兩者缺一不可。 DSP 由于其特殊的結(jié)構(gòu)、專(zhuān)門(mén)的硬件乘法器和特殊的指令,使其能快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理及滿(mǎn)足各種高實(shí)時(shí)性要求。隨著現(xiàn)代嵌入式系統(tǒng)的復(fù)雜度越來(lái)越高,操作系統(tǒng)已成為嵌入式系統(tǒng)不可缺少的部分。 而嵌入式系統(tǒng)的核心是嵌入式微處理器和嵌入式操作系統(tǒng)免費(fèi)的嵌入式操作系統(tǒng),如Linux,它是一個(gè)免費(fèi)的、強(qiáng)大的、可信賴(lài)的、具有可伸縮性與擴(kuò)充性的操作系統(tǒng)。Linux 實(shí)現(xiàn)了許多現(xiàn)代化操作系統(tǒng)的理論,并且支持完整的硬件驅(qū)動(dòng)程序、網(wǎng)絡(luò)通信協(xié)議與多處理器的架構(gòu),其源碼的公開(kāi)更有利于操作系統(tǒng)嵌入式應(yīng)用[2]。
基于上述分析, 本文針對(duì)CPT 系統(tǒng)的性能要求提出了基于ARM和DSP 芯片的嵌入式系統(tǒng),該系統(tǒng)充分利用了ARM 和DSP 的各自特點(diǎn),使用ARM 和DSP 芯片進(jìn)行協(xié)同開(kāi)發(fā)。 操作系統(tǒng)則選用了源代碼開(kāi)放的Linux,以利于充分發(fā)揮系統(tǒng)的效能。
在CPT 系統(tǒng)中引入嵌入式技術(shù)的理由有以下兩點(diǎn):
(1)從目前的角度出發(fā),首先,CPT 系統(tǒng)需要一個(gè)能夠提供監(jiān)視、控制、多進(jìn)程、可實(shí)現(xiàn)實(shí)時(shí)或非實(shí)時(shí)的任務(wù)、可人工手動(dòng)控制亦可自動(dòng)運(yùn)行等功能的智能控制系統(tǒng);其次,嵌入式系統(tǒng)體積小、結(jié)構(gòu)緊湊,可作為一個(gè)部件埋藏于所控制的裝置中,它提供用戶(hù)接口、管理有關(guān)信息的輸入輸出、監(jiān)控設(shè)備工作,使設(shè)備及應(yīng)用系統(tǒng)有較高智能和性?xún)r(jià)比;再者,目前微處理器可選用DSP、單片機(jī)和ARM 系列等,雖然目前國(guó)內(nèi)工業(yè)控制場(chǎng)合中用的嵌入式工控設(shè)備大多采用的是以8 位單片機(jī)(MCS-51)為內(nèi)核,有價(jià)格低廉、設(shè)計(jì)較容易、能達(dá)到一般要求的優(yōu)點(diǎn),但也存在著存儲(chǔ)容量小、獨(dú)立工作時(shí)功能較弱、較強(qiáng)功能要與PC機(jī)聯(lián)機(jī)才能實(shí)現(xiàn)、實(shí)時(shí)性能不強(qiáng)、定位精度不高、人機(jī)交互復(fù)雜、操作不方便等缺點(diǎn), 且CPT 系統(tǒng)要求的上述功能用單片機(jī)來(lái)實(shí)現(xiàn)是非常復(fù)雜的。 DSP 主要是用作大量的數(shù)據(jù)處理,在消費(fèi)類(lèi)產(chǎn)品中應(yīng)用比較廣泛;ARM 微處理器在工業(yè)控制、手持設(shè)備中的應(yīng)用則比較多,更主要的是ARM 能夠很容易地實(shí)現(xiàn)以上的功能。
(2)從未來(lái)的角度出發(fā),首先,嵌入式系統(tǒng)是CPT 系統(tǒng)的部件,適用于對(duì)功能、體積、成本、可靠性、功耗有嚴(yán)格要求的CPT 系統(tǒng)或其它系統(tǒng);其次,嵌入式控制系統(tǒng)還可應(yīng)用于CPT 系統(tǒng)的故障診斷,且嵌入式系統(tǒng)接口的可擴(kuò)展性和軟硬件可裁減的靈活性也是一大優(yōu)點(diǎn),對(duì)將來(lái)系統(tǒng)的擴(kuò)展或者裁減都十分方便。
本嵌入式控制系統(tǒng)的硬件資源如下:3.5 寸的液晶顯示屏能夠提供實(shí)時(shí)的顯示,用于顯示相關(guān)參數(shù)的工作菜單、采集的波形等;可接入PS/2 標(biāo)準(zhǔn)鍵盤(pán); RS232 串行口或USB 接口用于與CPT 系統(tǒng)和PC 機(jī)連接;16M 的flash 用于存儲(chǔ)軟件代碼和保存系統(tǒng)設(shè)置參數(shù);64M 的SDRAM 提供Linux 操作系統(tǒng)和控制軟件運(yùn)行所需的存儲(chǔ)空間;JTAG接口用于調(diào)試; 另有五個(gè)面板按鍵用于手動(dòng)控制CPT 系統(tǒng)。 在軟件上,由于采用較高性能的處理器及相關(guān)外圍硬件設(shè)備,系統(tǒng)數(shù)據(jù)通信協(xié)議更加可靠、合理、易于擴(kuò)展;32 位的數(shù)據(jù)處理能力可以實(shí)現(xiàn)對(duì)采集到的參數(shù)的高速處理;數(shù)據(jù)采樣頻率為500ksps;友好的人機(jī)交互使得對(duì)CPT 系統(tǒng)的參數(shù)的監(jiān)控極為方便。
本控制系統(tǒng)集成度更高、體積更小,既可作為嵌入式系統(tǒng)獨(dú)立工作,也可作為從屬功能設(shè)備由PC 機(jī)進(jìn)行控制,以完成更復(fù)雜的工作。目前流行的嵌入式系統(tǒng)的設(shè)計(jì)模式是采用DSP+MCU 雙處理器,以實(shí)現(xiàn)數(shù)據(jù)交換和協(xié)同工作。 這樣,在滿(mǎn)足處理大運(yùn)算量實(shí)時(shí)任務(wù)要求的同時(shí),極大地降低了系統(tǒng)的設(shè)計(jì)成本。 單片機(jī)用來(lái)分擔(dān)部分實(shí)時(shí)性要求不高的系統(tǒng)任務(wù),如系統(tǒng)配置管理、人機(jī)交互、通信等。但是,為了實(shí)現(xiàn)實(shí)時(shí)任務(wù)的調(diào)度, 軟件上必須結(jié)合嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),才能真正實(shí)現(xiàn)實(shí)時(shí)控制[3]。
基于上述分析,我們選擇以DSP+ARM 為雙處理器,開(kāi)發(fā)出CPT系統(tǒng)嵌入式控制系統(tǒng)體系構(gòu)架。 系統(tǒng)總體框圖如圖1 所示。

圖1 總體硬件結(jié)構(gòu)圖
在本系統(tǒng)中,ARM 作為主控制器負(fù)責(zé)整個(gè)系統(tǒng)的工作流程,任務(wù)調(diào)度,集中處理系統(tǒng)各部分中斷,完成與外部系統(tǒng)的通信。DSP 處理器主要完成對(duì)電路參數(shù)信號(hào)的處理并作出決策輸出何種波形。 ARM 主要用于決策,在本裝置中采用ARM 構(gòu)架的嵌入式芯片S3C2410。 DSP作為數(shù)據(jù)運(yùn)算部分, 可以充分發(fā)揮其對(duì)數(shù)字信號(hào)處理的獨(dú)特優(yōu)勢(shì),本系統(tǒng)中采用的是TI 公司的RMS320LF2407 芯片,該系列的DSP 以其高性?xún)r(jià)比普遍應(yīng)用于各類(lèi)通信、便攜式應(yīng)用當(dāng)中。
在本系統(tǒng)中ARM 屬于決策層。 ARM 將CPT 系統(tǒng)的數(shù)據(jù)傳送給DSP,并且將得到的數(shù)據(jù)以波形顯示出來(lái)。 DSP 的主要作用是實(shí)現(xiàn)實(shí)時(shí)控制。 則對(duì)接收到的數(shù)據(jù)進(jìn)行分析,校正后重新傳送給CPT。 ARM部分主要由觸摸屏、RS232 串口、USB 接口等與其他設(shè)備通信。該部分結(jié)構(gòu)框圖如圖2 所示。

圖2 系統(tǒng)結(jié)構(gòu)示意圖
如圖3 所示,控制系統(tǒng)的軟件結(jié)構(gòu)可分為啟動(dòng)代碼層、驅(qū)動(dòng)程序?qū)印⒉僮飨到y(tǒng)層、系統(tǒng)組件層和應(yīng)用程序(包括智能PID 控制算法模塊、人機(jī)通信模塊、A/D 采樣模塊、PWM 信號(hào)輸出模塊)五個(gè)層次。

圖3 智能控制系統(tǒng)軟件結(jié)構(gòu)圖
啟動(dòng)代碼類(lèi)似于PC 機(jī)中的BIOS, 位于系統(tǒng)上電后pc 指針的初始位置,是最先執(zhí)行的程序。啟動(dòng)代碼用于整個(gè)系統(tǒng)的初始化,使系統(tǒng)處于一種確定的狀態(tài),為加載操作系統(tǒng)以及應(yīng)用程序做準(zhǔn)備。
設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核與硬件設(shè)備連接的接口,驅(qū)動(dòng)程序屏蔽了硬件的細(xì)節(jié)。 在應(yīng)用程序中硬件設(shè)備都以文件的形式存放在/dev 目錄下,稱(chēng)為設(shè)備文件。 這些硬件部件包括LCD 顯示屏、A/D 轉(zhuǎn)換器、鍵盤(pán)等,應(yīng)用程序可以打開(kāi)、關(guān)閉和讀寫(xiě)這些設(shè)備文件,完成對(duì)設(shè)備的操作,就像操作普通的數(shù)據(jù)文件一樣。 系統(tǒng)組件和設(shè)備驅(qū)動(dòng)程序都是操作系統(tǒng)的一部分。
操作系統(tǒng)內(nèi)核是整個(gè)軟件系統(tǒng)的核心,負(fù)責(zé)整個(gè)系統(tǒng)程序的協(xié)調(diào)工作,如任務(wù)調(diào)度、進(jìn)程間通信、中斷處理、資源管理及分配等。在CPT控制系統(tǒng)的設(shè)計(jì)中,我們經(jīng)過(guò)仔細(xì)的方案論證,選擇了裁減改造以后的Linux 作為嵌入式操作系統(tǒng),本文將在第3 章中詳細(xì)論述改造的原理、方法和具體步驟。
該層軟件主要是一些可選擇安裝的模塊, 可根據(jù)不同的功能需要,操作系統(tǒng)可以添加不同的系統(tǒng)組件。 本文的CPT 控制系統(tǒng)中,主要選擇了以下模塊:
(1)文件系統(tǒng)。由于要顯示讀取控制信息,將文件系統(tǒng)從基本操作系統(tǒng)中分離出來(lái),作為一個(gè)單獨(dú)的模塊,選擇了支持FLASHROM 的文件系統(tǒng)。
(2)TCP/IP 模塊。 TCP/IP 協(xié)議是計(jì)算機(jī)通信的工業(yè)標(biāo)準(zhǔn),是訪(fǎng)問(wèn)Internet 的基礎(chǔ),采用該模塊是為了方便主機(jī)與目標(biāo)板的通信,并且為CPT 控制的網(wǎng)絡(luò)化做準(zhǔn)備。
(3)圖形界面模塊,主要提供給用戶(hù)良好的人機(jī)接口界面,增強(qiáng)了系統(tǒng)的可讀性和易操作性。本系統(tǒng)采用MiniGUI 提供圖形用戶(hù)界面的支持。
一個(gè)系統(tǒng)具有的多種功能,比如接收鍵盤(pán)輸入、顯示數(shù)據(jù)結(jié)果、接收采集數(shù)據(jù)等等。 類(lèi)似這樣的動(dòng)作被稱(chēng)為事件,任何一個(gè)事件觸發(fā)之后,都會(huì)有相應(yīng)的任務(wù)來(lái)管理這些事件。 這些任務(wù)的集合便組成了用戶(hù)的應(yīng)用程序。 在CPT 控制系統(tǒng)中,開(kāi)發(fā)了CPT 系統(tǒng)的鍵盤(pán)輸入、數(shù)據(jù)采樣、信息顯示、算法分析、信號(hào)輸出等應(yīng)用程序。
主程序流程圖如圖4 所示。系統(tǒng)上電復(fù)位或按RESET 鍵復(fù)位,程序?qū)娜肟诘刂诽庨_(kāi)始執(zhí)行,進(jìn)行系統(tǒng)初始化。系統(tǒng)初始化結(jié)束后,開(kāi)始執(zhí)行主程序。

圖4 系統(tǒng)總流程圖
系統(tǒng)初始化主要包括提供啟動(dòng)代碼,用以完成對(duì)CPU 的初始化、外部FLASH/SDRAM 的片選初始化、系統(tǒng)初始頻率的初始化以及串口的初始化、時(shí)鐘模式寄存器TCON 等的設(shè)置。待初始化正常后,等待中斷請(qǐng)求,本系統(tǒng)把數(shù)據(jù)輸出反饋、周期實(shí)時(shí)采集設(shè)為實(shí)時(shí)任務(wù)響應(yīng),把人機(jī)對(duì)話(huà)設(shè)為非實(shí)時(shí)任務(wù)中斷,中斷向量表存放于一個(gè)子文件中。 一旦有允許中斷請(qǐng)求,CPU 被喚醒,進(jìn)入活動(dòng)模式,執(zhí)行中斷服務(wù)程序,執(zhí)行完畢后,系統(tǒng)返回到中斷前的狀態(tài),ARM 繼續(xù)低功耗模式。
在整個(gè)過(guò)程中,需要完成的功能是:定時(shí)選通2 路A/D 轉(zhuǎn)換器對(duì)流入初級(jí)回路諧振網(wǎng)絡(luò)的電流和諧振網(wǎng)絡(luò)兩端電壓信號(hào)進(jìn)行采樣、濾波;定時(shí)對(duì)處理好的采樣值得到 和 過(guò)零點(diǎn)的相位差,進(jìn)行算法分析處理,輸出脈沖控制信號(hào), 使 和 的相位差保持在一定范圍內(nèi)變化; 接受中斷請(qǐng)求,處理鍵盤(pán)發(fā)送的數(shù)據(jù),傳送顯示所需的數(shù)據(jù)。

圖5 采用智能PID 時(shí)諧振電容電壓波形局部放大
在常規(guī)PID 控制器參數(shù)確定之后,我們以此為依據(jù)進(jìn)行智能PID控制器的設(shè)計(jì),其具體控制參數(shù)根據(jù)經(jīng)驗(yàn)調(diào)試而得到。此時(shí),初級(jí)回路的諧振電容電壓波形局部放大如圖5 所示,此結(jié)果表明采用智能PID控制器比采用常規(guī)PID 時(shí)初級(jí)回路諧振電容兩端的電壓波形畸變程度小很多。
隨著嵌入式系統(tǒng)的飛速發(fā)展、社會(huì)對(duì)技術(shù)的要求越來(lái)越高,對(duì)非接觸式電能傳輸技術(shù)的需求也日益增長(zhǎng),而嵌入式系統(tǒng)的加入使得本CPT 系統(tǒng)的性能和工作效率得到了大大的提高,這在實(shí)驗(yàn)仿真中已經(jīng)驗(yàn)證。
[1]杜雪飛,孫躍.混合電動(dòng)車(chē)及其電氣驅(qū)動(dòng)系統(tǒng)[J].重慶大學(xué)學(xué)報(bào):自然科學(xué)版,2002,09:59-64.
[2]劉斌,李仲陽(yáng),ARM/DSP 雙核系統(tǒng)的通信接口設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005,05:22-24.
[3]高佳,王愛(ài)民,于海.新型嵌入式電能質(zhì)量監(jiān)測(cè)裝置的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2005,16(207):26-28.
[4]方琳琳.基于嵌入式技術(shù)的CPT 系統(tǒng)的控制算法的研究與實(shí)現(xiàn)[D].重慶大學(xué),2007.04:20-22.