ARM9嵌入式系統(tǒng)在勵磁調(diào)節(jié)裝置的應(yīng)用
關(guān)鍵詞:勵磁調(diào)節(jié)裝置;ARM;Linux;嵌入式
0. 前言
勵磁系統(tǒng)是發(fā)電機(jī)組重要的輔助裝置,它對發(fā)電廠的自動化、發(fā)電機(jī)組運(yùn)行的可靠性有著重要作用。隨著科學(xué)技術(shù)發(fā)展,勵磁方式已從直流電機(jī)勵磁系統(tǒng)發(fā)展到可控硅勵磁,自動調(diào)節(jié)器從原來的模擬式發(fā)展到微機(jī)數(shù)字式。
本文所研究的勵磁調(diào)節(jié)裝置,它是以經(jīng)典和現(xiàn)代控制理論與數(shù)字信號處理器DSP技術(shù)與嵌入式技術(shù)相結(jié)合的微機(jī)勵磁調(diào)節(jié)器。它繼承了過去的微機(jī)勵磁調(diào)節(jié)器的全部調(diào)節(jié)、控制及限制保護(hù)功能,同時在計算速度、抗電磁干擾、可靠性等方面有了極大的改進(jìn),有效保證整個系統(tǒng)調(diào)節(jié)、控制功能的實(shí)現(xiàn); 外圍采用先進(jìn)的大規(guī)??删幊踢壿嬈骷蕴岣哒麄€系統(tǒng)的可靠性,并形成對用戶開放的邏輯系統(tǒng)。
1.勵磁調(diào)節(jié)器的組成原理
圖一 勵磁調(diào)節(jié)系統(tǒng)原理圖
所示為自并勵勵磁調(diào)節(jié)器系統(tǒng)的組成圖,機(jī)自身向可控硅整流橋供電,AVR裝置根據(jù)采集的數(shù)據(jù)經(jīng)PI或PID計算得到數(shù)據(jù)控制量,經(jīng)過比較電路產(chǎn)生觸發(fā)脈沖,調(diào)節(jié)可控硅導(dǎo)通角的大小,使機(jī)端電壓保持在恒定值,從而最終達(dá)到控制的目的。
該系統(tǒng)主要由微機(jī)勵磁調(diào)節(jié)器;電氣制動停機(jī)裝置等分組成。采用兩套相同的控制器冗余配置,物理通道相互獨(dú)立,每個通道基本包括:電源系統(tǒng)、主機(jī)板、采樣板、模擬量輸入輸出板(A/D,D/A) 、開關(guān)量輸入輸出板、脈沖形成及放大板等。
2. 嵌入式系統(tǒng)部分
2. 1嵌入式硬件單元
ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計了高性能、耗能低的RISC處理器,具有性能高、成本低和能耗省的特點(diǎn)。應(yīng)用于多種嵌入式領(lǐng)域,配備Thumb擴(kuò)展、調(diào)試和Harvard總線。5級流水線提高了時鐘頻率和并行處理能力。集成有串口,USB Host 控制器,LCD控制器,Nand Flash控制器,IDE, PCMCIA 等多種功能。32K FRAM.最高分辨率1024X768X32芯片,內(nèi)置以太網(wǎng)控制器,片上資源豐富。
本系統(tǒng)中管理單元是以ARM9為內(nèi)核,串行并行接口芯片,D/A轉(zhuǎn)換器等硬件,負(fù)責(zé)管理液晶、對外通訊、打印、錄波分析。大大增加了系統(tǒng)通信、后臺管理、遠(yuǎn)程維護(hù)等附加功能,可以運(yùn)行操作系統(tǒng)以及QT等應(yīng)用程序,具有比較強(qiáng)的事務(wù)管理功能。
控制單元是以DSP為內(nèi)核,負(fù)責(zé)脈沖形成、AD轉(zhuǎn)換、數(shù)據(jù)運(yùn)算等。 DSP由于其特殊的結(jié)構(gòu)、專門的硬件乘法器和特殊的指令,使其能快速地實(shí)現(xiàn)各種數(shù)字信號處理及滿足各種高實(shí)時性要求。其優(yōu)勢在于其強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度。
本系統(tǒng)采用ARM和DSP芯片的雙核嵌入式系統(tǒng),充分利用了ARM和DSP的各自特點(diǎn)進(jìn)行協(xié)同開發(fā)。 DSP作為控制部分,可以充分發(fā)揮其對數(shù)字信號處理的獨(dú)特優(yōu)勢;ARM作為管理部分,則發(fā)揮其前臺顯示通訊管理的優(yōu)勢,使前臺部分相對獨(dú)立,減少主CPU負(fù)擔(dān);即使發(fā)生故障,對后臺主程序不產(chǎn)生影響,相應(yīng)增強(qiáng)了整個設(shè)備冗錯能力。二者通過HPI進(jìn)行實(shí)時數(shù)據(jù)透明交換。
圖二 ARM+DSP嵌入式硬件圖
2.2 嵌入式操作系統(tǒng)選擇
在ARM 芯片上可以實(shí)現(xiàn)多種操作系統(tǒng)的移植,比如Window-CE、VXWorks等,由于Linux具有以下特點(diǎn): 1)開放的源碼,豐富的軟件資源;2)內(nèi)核功能強(qiáng)大,性能高效、穩(wěn)定,多任務(wù)易于裁減; 3)完善的網(wǎng)絡(luò)通信、圖形、文件管理機(jī)制;4)支持大量的周邊硬件設(shè)備; 5) 價格低廉可以有效降低產(chǎn)品成本。基于開發(fā)成本考慮,最后選用了ARM-Linux系統(tǒng)。
2.3 ARM 與 DSP連接
HPI是一個并行串口,ARM通過它可以之間訪問DSP存儲空間以及地址映射道存儲空間的外圍設(shè)備。HPI主要由地址寄存器HPIA,數(shù)據(jù)寄存器HPID,以及控制寄存器HPIC組成,ARM先通過對控制寄存器和地址寄存器設(shè)置,然后根據(jù)控制信號進(jìn)行對數(shù)據(jù)寄存器讀寫操作。ARM處理器在與HPI的讀/寫前,首先要完成自身工作模式等一系列初始化,其源代碼如下:
SYSCFG=0xeTffe22;/*關(guān)掉ARM中Cache*/
EXTDBWTH=0K0ffff556; /*使外部I/O接口工作于32位模式*/
EXTAC0NO=0x08610000/*配置外部I/O接口各讀寫時序關(guān)系*/
這段代碼通過對寄存器的操作,配置好ARM處理器工作模式后,對外部I/O接口就可以進(jìn)行讀寫,從而完成對HPI接口的相應(yīng)操作了。HPI接口可以用I/O端口方式,也可以用I/O存取方式。系統(tǒng)平臺采用I/O存取方式,將HPI訪問地址寄存器HPIA、數(shù)據(jù)寄存器HPID、控制寄存器HPIC映射到內(nèi)存物理地址為0x3fd40000開始的空間,通過訪問存儲器指令對HPI進(jìn)行操作。
HPI物理地址定義如下:
#define HPI-Base Ox3fd40000
#define Vpint /* volatile unsigned int */
#define HPICW (Vpint(HPI-Base +0x00))
#define HPICR (Vpint(HPI-Base +0x40)) /* 定義HPIC寄存器 */
#define HPIAW (Vpint(HPI-Base +0x10))
#define HPIAR (Vpint(HPI-Base +0x50)) /* 定義HPIA寄存器 */
#define HPIDW (Vpint(HPI-Base +0x20))
#define HPIDR (Vpint(HPI-Base +0x60)) /* 定義HPID寄存器 */
開始通信時ARM向DSP發(fā)送命令(如數(shù)據(jù)采集),通過HPI口中斷DSP,使DSP進(jìn)入相應(yīng)子程序;同時DSP將數(shù)據(jù)存入緩沖區(qū),一幀長度為256字節(jié)。當(dāng)ARM向DSP請求數(shù)據(jù)時,向DSP發(fā)送一個幀同步命令字,并同時中斷DSP,DSP響應(yīng)中斷將數(shù)據(jù)送入HPI口RAM,存完一幀數(shù)據(jù)后DSP向ARM發(fā)中斷,ARM響應(yīng)中斷,清除該中斷把HPI口中數(shù)據(jù)取出存入RAM中,并送終端顯示并循環(huán)刷新。 ARM的部分程序流程圖如下圖所示:
圖三 ARM部分程序流程圖
HPI讀寫數(shù)據(jù)部分代碼:
for(i=0 ;iHPISize;i++)
{
HPICW=0x00000000; /*初始化HPI口的控制寄存器*/
HPIAW=0x800000000; /*初始化HPI口的地址寄存器*/
hpiBaseAddr[i]=HPIDR; /*通過HPI讀出數(shù)據(jù),送到數(shù)組中暫存*/
CpLen=HPISize;
if ( copy_to user (buffer , (_u8*)(hpi>HpiBaseAddr[j]), CpLen )) return-EFAULT;
/*將數(shù)據(jù)拷貝到用戶緩沖區(qū)*/
return CpLen
}
在開發(fā)DSP為內(nèi)核的控制單元中,大部分代碼采用了C語言來編寫,利用Ti公司提供的開發(fā)環(huán)境CCS IDE(Code Composer Studio Integrated Development Environment )進(jìn)行程序編譯、匯編和鏈接,并對程序進(jìn)行仿真調(diào)試,最后將生成的DSP可執(zhí)行代碼下載到DSP的Flash中。
3.結(jié)論及創(chuàng)新點(diǎn)
利用ARM9 CPU 強(qiáng)大的功能, 以及嵌入式Linux多進(jìn)程多線程編程等提供的便捷高效的底層支持,開發(fā)出的勵磁調(diào)節(jié)裝置具有可靠性高、操作方便等諸多優(yōu)點(diǎn),在勵磁調(diào)節(jié)控制系統(tǒng)中起到了樞紐和核心的作用。本文介紹使用的ARM和DSP雙CPU構(gòu)成的雙核嵌入式的硬件平臺,給出系統(tǒng)整體硬件設(shè)計圖,并詳細(xì)介紹了ARM和DSP通信部分的設(shè)計。以后基于DSP進(jìn)行數(shù)據(jù)處理、ARM進(jìn)行管理,二者配合的系統(tǒng)將會越來越多、應(yīng)用也將越來越廣泛。
創(chuàng)新點(diǎn):(1) 系統(tǒng)用ARM處理器代替單片機(jī),使系統(tǒng)性能得以大大提高; (2) 采用ARM、DSP雙核嵌入式系統(tǒng),充分發(fā)揮了ARM和DSP的各自優(yōu)勢;(3)工業(yè)級大液晶顯示器觸摸屏,替代傳統(tǒng)LCD,友好人機(jī)界面易學(xué)易用。
參考文獻(xiàn):
[1] 李基成 現(xiàn)代同步發(fā)電機(jī)勵磁系統(tǒng)設(shè)計及應(yīng)用 北京:中國電力出版社 2002
[2] 周雙喜、 李 丹 同步發(fā)電機(jī)數(shù)字式勵磁調(diào)節(jié)器 北京:中國電力出版社 1998
[3] 杜春雷,ARM體系結(jié)構(gòu)與編程[M],北京清華大學(xué)出版社,2003,7~191
[4] EP9315 User’s Guide by Cirrus Logic
[5] Atmel Corporation ARM Datasheet January[M],F(xiàn)rance:Atmel Corporation 1999
[6] 吳振綱,陳虎.PLC的人機(jī)接口與編程[J].微計算機(jī)信息,2005,8-1:21-23
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論