解析ARM處理器在電機(jī)電物理量采集系統(tǒng)上的設(shè)計(jì)
出處:張惠濤,張海春,林立忠 發(fā)布于:2011-09-01 22:08:51
摘要:設(shè)計(jì)了一種基于ARM處理器和μC/OS II的嵌入式電機(jī)電物理量采集系統(tǒng):該系統(tǒng)選用低噪聲低功耗芯片,對(duì)模擬電路進(jìn)行信號(hào)調(diào)理和高速采集;采用高性能工業(yè)級(jí)ARM微處理器(S3C2410一S),結(jié)合軟件算法進(jìn)行實(shí)時(shí)數(shù)字信號(hào)處理。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)具有體積小、重量輕、功耗低、較高、實(shí)時(shí)性好等優(yōu)點(diǎn),能有效的采集電機(jī)電流、電壓信號(hào),進(jìn)而使上位機(jī)能更方便的進(jìn)行電機(jī)電物理量分析。
引言
自19世紀(jì)發(fā)明發(fā)電機(jī)和電動(dòng)機(jī)以來,由于電能應(yīng)用方便,電動(dòng)機(jī)的性能優(yōu)良,便于控制,使用與操作簡(jiǎn)單,從而得到了迅速普及,應(yīng)用范圍越來越廣。然而,由于電機(jī)運(yùn)行機(jī)制復(fù)雜,長(zhǎng)期處于高速運(yùn)轉(zhuǎn)和高電壓、強(qiáng)磁場(chǎng)環(huán)境之下,運(yùn)行環(huán)境惡劣,要求電機(jī)設(shè)備不出故障是不現(xiàn)實(shí)的,安全可靠的電機(jī)設(shè)備也是根本不存在的l1J.這就需要我們能實(shí)時(shí)的的采集電機(jī)在運(yùn)行中的各種物理量,進(jìn)而進(jìn)行有效的分析、判斷故障。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)多以8/16位單片機(jī)構(gòu)成控制系統(tǒng),其硬件電路較復(fù)雜,集成度較低,設(shè)計(jì)和調(diào)試難度較大,不太方便系統(tǒng)升級(jí)。傳統(tǒng)的前后臺(tái)式的軟件設(shè)計(jì)方法限制了硬件系統(tǒng)功能的充分發(fā)揮,影響了系統(tǒng)的實(shí)時(shí)性與穩(wěn)定性。
1 系統(tǒng)簡(jiǎn)介
本系統(tǒng)設(shè)計(jì)采集電機(jī)的電壓、電流2個(gè)物理量。其中電流3相都要采集。電物理量采集系統(tǒng)的設(shè)計(jì)關(guān)鍵在于A/D轉(zhuǎn)換的環(huán)節(jié)。A/D轉(zhuǎn)換器是模擬信號(hào)源和CPU之間聯(lián)系的接口,它的任務(wù)是將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),以便計(jì)算機(jī)和數(shù)字系統(tǒng)進(jìn)行處理、存儲(chǔ)、控制和顯示。用數(shù)字信號(hào)完成對(duì)數(shù)字量進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱為數(shù)字電路,或數(shù)字系統(tǒng)。由于它具有邏輯運(yùn)算和邏輯處理功能,所以又稱數(shù)字邏輯電路。1、同時(shí)具有算術(shù)運(yùn)算和邏輯運(yùn)算功能
數(shù)字電路是以二進(jìn)制邏輯代數(shù)為數(shù)學(xué)基礎(chǔ),使用二進(jìn)制數(shù)字信號(hào),既能進(jìn)行算術(shù)運(yùn)算又能方便地進(jìn)行邏輯運(yùn)算(與、或、非、判斷、比較、處理等),因此極其適合于運(yùn)算、比較、存儲(chǔ)、傳輸、控制、決策等應(yīng)用。在工業(yè)控制和數(shù)據(jù)采集及許多其他領(lǐng)域中,A/D轉(zhuǎn)換是不可缺少的。A/D轉(zhuǎn)換器有以下類型:逐位比較型、積分型、計(jì)數(shù)型、并行比較型、電壓一頻率型。主要應(yīng)根據(jù)使用場(chǎng)合的具體要求,按照轉(zhuǎn)換速度、、價(jià)格、功能以及接口條件等因素決定選擇何種類型。使之范圍控制在0-3.3 V.然后將電信號(hào)輸出到A/D轉(zhuǎn)換器。經(jīng)CPU的處理將采集到的數(shù)據(jù)從串口傳送給計(jì)算機(jī)。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件設(shè)計(jì)
該系統(tǒng)主要由前端調(diào)理電路、CPU集成電路和計(jì)算機(jī)組成?;窘Y(jié)構(gòu)如圖1所示
其中由于S3C2410一S的A/D轉(zhuǎn)換器能接受電壓范圍為O~3.3 V,但電機(jī)電信號(hào)是成正弦波的圖像分布的。所以前端調(diào)理電路設(shè)計(jì)將電信號(hào)的正弦波負(fù)半軸對(duì)稱折到x軸上方,使之范圍控制在0-3.3 V.產(chǎn)生波形如圖2所示。
同時(shí)電路里產(chǎn)生一個(gè)方波信號(hào)。當(dāng)波形屬于被翻上去的部分時(shí)方波處于低電平,其他時(shí)候處于高電平。以此方波信號(hào)在上位機(jī)來還原波形。CPU集成電路包括直流穩(wěn)壓電源電路、A/D電路、主CPU電路和串口電路。A/D電路接受從轉(zhuǎn)換電路送過來的模擬信號(hào),然后轉(zhuǎn)換成ARM CPU能接受的數(shù)字信號(hào)。ARM(Advanced RISC Machines)是微處理器行業(yè)的一家企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動(dòng)式應(yīng)用等經(jīng)過處理后從串口電路傳送給上位計(jì)算機(jī)。
2.2 軟件設(shè)計(jì)
2.2.1 μC/OS II操作系統(tǒng)的移植
μC/OS II提供的僅僅是一個(gè)任務(wù)調(diào)度的內(nèi)核,要想實(shí)現(xiàn)一個(gè)相對(duì)完整,實(shí)用的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),還需要相當(dāng)多的擴(kuò)展性的工作,主要包括:建立文件系統(tǒng)、為外部設(shè)備建立驅(qū)動(dòng)程序并規(guī)范相應(yīng)的API函數(shù)創(chuàng)建圖形用戶接口(GUI)函數(shù)、建立其他實(shí)用的應(yīng)用程序接口函數(shù)等。本系統(tǒng)中基于μC/OS II內(nèi)核的RTOS軟件系統(tǒng)總體框圖如圖3所示。
2.2.2 應(yīng)用程序的設(shè)計(jì)
該程序采用ADS1.2結(jié)合c語言來設(shè)計(jì)。ADS1.2 ADS是ARM公司的集成開發(fā)環(huán)境軟件,他的功能非常強(qiáng)大。他的前身是SDT,SDT是ARM公司幾年前的開發(fā)環(huán)境軟件,目前SDT早已經(jīng)不再升級(jí)。ADS包括了四個(gè)模塊分別是:SIMULATOR;C 編譯器;實(shí)時(shí)調(diào)試器;應(yīng)用函數(shù)庫。ADS的編譯器調(diào)試器較SDT都有了非常大的改觀, ADS1.2提供完整的WINDOWS界面開發(fā)環(huán)境。C編譯器效率極高,支持c 以及c++,使工程師可以很方便的使用C語言進(jìn)行開發(fā)。提供軟件模擬仿真功能,使沒有Emulators的學(xué)習(xí)者也能夠熟悉ARM的指令系統(tǒng)。配合FFT-ICE使用,ADS1.2提供強(qiáng)大的實(shí)時(shí)調(diào)試跟蹤功能,片內(nèi)運(yùn)行情況盡在掌握。ADS1.2需要硬件支持才能發(fā)揮強(qiáng)大功能。首先是系統(tǒng)初始化,根據(jù)ARM芯片固有的功能和特征,進(jìn)行主程序的入口設(shè)置,所用寄存器清零,程序ROM區(qū)和數(shù)據(jù)RAM區(qū)的初始化,中斷矢量設(shè)置等主程序運(yùn)行前的準(zhǔn)備工作。以及檢查系統(tǒng)電源,監(jiān)視芯片上電后的ARM芯片內(nèi)的硬件運(yùn)行情況。當(dāng)ARM芯片運(yùn)行正常后,進(jìn)人數(shù)據(jù)采集軟件的主程序運(yùn)行。流程圖如圖4所示。
1)AD數(shù)據(jù)采集。A/D轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式來訪問,如果是用中斷方式,全部的轉(zhuǎn)換時(shí)間(從A/D轉(zhuǎn)換的開始到數(shù)據(jù)讀出)要更長(zhǎng),因?yàn)橹袛喾?wù)程序返回和數(shù)據(jù)的訪問的原因,所以采用查詢方式不斷檢測(cè)ADCCONt3j來確定從ADCDAT寄存器讀取的數(shù)據(jù)是否是的轉(zhuǎn)換數(shù)據(jù)。
主要代碼有:
#define PRSCVL(20《6)
#define ADCCON
_
ENABLE_ START(Ox1)
#define STDBM (0x0《2)
#define PRSCEN(0xl《l41
void init
_ ADdevice0 //AD設(shè)備初始化
{
rADCCON=(PRSCVLlADCCON_ENABLE_STARTISTDBMIPRSCEN);
?。?/P>
int GetADresuh(int channe1)
{
rADCCON=ADCCON
- ENABLE- START-BYREADI(channel《3)IPRSCENIPRSCVL;
while(!frADCCON&ADCCON-FLAG)); //AD轉(zhuǎn)換結(jié)束
return f0x3ff&rADCDATO); //返回采樣值
}
2)數(shù)據(jù)發(fā)送。異步串行方式是將傳輸數(shù)據(jù)的每個(gè)字符一位接一位(例如先低位、后高位)地傳送。數(shù)據(jù)的各不同位可以分時(shí)使用同一傳輸通道,因此串行I/O 可以減少信號(hào)連線,少用一對(duì)線即可進(jìn)行。接收方對(duì)于同一根線上一連串的數(shù)字信號(hào),首先要分割成位,再按位組成字符。為了恢復(fù)發(fā)送的信息,雙方必須協(xié)調(diào)工作。在微型計(jì)算機(jī)中大量使用異步串行I/O 方式,雙方使用各自的時(shí)鐘信號(hào),而且允許時(shí)鐘頻率有一定誤差。因此實(shí)現(xiàn)較容易。主要代碼有:
int Uart_
Init(int whichUart,int baud)
{
if(whichUaxt>=NumberOfUartDrv)
return FALSE;
return serial_
drv[whichUart]->init(baud);
}
int Uart_ SendByte(int whichUart,int data)
{
if(whichUart>=NumberOfUartDrv)
return FALS E;
return serial- .drv[whichUart]->write(data);
}
void Uart_
SendString(int whichUart,char pt)
{
while( pt){
if( pt== \n )
Uart_
SendByte(whichUart, kr );
Uart
_ SendByte(whichUart,*pt++);
)
?。?/P>
void Uart_Prinf(int whichUart,char fmt,…)
{
va
_ list ap;
static char string[256];
va
_ start(ap,fmt);
vsprinf(string,fmt,ap);
Uart_
SendString(whichUart,string);
va
_ end(ap);
)
3 結(jié)論
采集數(shù)據(jù)分4路,1路電壓和3路的電流。采集時(shí)上位機(jī)接收到的數(shù)據(jù)每路每個(gè)周期有52個(gè)點(diǎn)。既其采樣頻率達(dá)到了2 600 Hz.根據(jù)奈奎斯特定理,為了完整的保留原始信號(hào)中的信息,在進(jìn)行模擬/數(shù)字信號(hào)的轉(zhuǎn)換過程中,要使采樣頻率大于信號(hào)中頻率2倍。 所以本系統(tǒng)能分析的諧波頻率為1.3 kHz,即1-3 kHz/50 Hz:26次諧波。足夠滿足上位機(jī)做諧波分析的要求。以S3C2410一S為的嵌入式硬件系統(tǒng),并采用ADS開發(fā)相應(yīng)的應(yīng)用程序,串口方式實(shí)現(xiàn)通信,實(shí)現(xiàn)了電機(jī)物理量的采集,給上位機(jī)分析電機(jī)提供了可靠的保障。并且該系統(tǒng)采用的ARM核的微控制器也使之較傳統(tǒng)的系統(tǒng)在可靠性、體積、功耗、性價(jià)比等方面都具有明顯的優(yōu)勢(shì),使之有廣泛的應(yīng)用前景和價(jià)值。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 獨(dú)立 ADC 優(yōu)勢(shì)大揭秘:為何不可替代?2025/7/7 16:21:04
- 深入剖析:嵌入式中 RS485、RS422 和 RS232 的特點(diǎn)差異2025/7/5 15:07:54
- 揭秘嵌入式 MCU:浮點(diǎn)數(shù)據(jù)處理難點(diǎn)及應(yīng)對(duì)策略2025/6/20 15:19:07