![實時微測量系統(tǒng)指令集及解析算法_第1頁](http://file4.renrendoc.com/view/df141ff9ebb70da3d6be08dff903b9f1/df141ff9ebb70da3d6be08dff903b9f11.gif)
![實時微測量系統(tǒng)指令集及解析算法_第2頁](http://file4.renrendoc.com/view/df141ff9ebb70da3d6be08dff903b9f1/df141ff9ebb70da3d6be08dff903b9f12.gif)
![實時微測量系統(tǒng)指令集及解析算法_第3頁](http://file4.renrendoc.com/view/df141ff9ebb70da3d6be08dff903b9f1/df141ff9ebb70da3d6be08dff903b9f13.gif)
![實時微測量系統(tǒng)指令集及解析算法_第4頁](http://file4.renrendoc.com/view/df141ff9ebb70da3d6be08dff903b9f1/df141ff9ebb70da3d6be08dff903b9f14.gif)
![實時微測量系統(tǒng)指令集及解析算法_第5頁](http://file4.renrendoc.com/view/df141ff9ebb70da3d6be08dff903b9f1/df141ff9ebb70da3d6be08dff903b9f15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實時微測量系統(tǒng)指令集及解析算法蔣亦悅,莊璇,趙剛(上海交通大學電氣工程系 電力傳輸與功率變換控制教育部重點實驗室,上海 200240)摘要:為了使數(shù)字測量環(huán)節(jié)盡可能靠近轉(zhuǎn)換裝置輸出端,減少在長距離傳輸小信號過程中引入的干擾,提出了一種嵌入式微測量系統(tǒng)的設(shè)計方案。硬件上采用功能互補的FPGA與ARM雙核心,軟件上以實時操作系統(tǒng)為基礎(chǔ)加載指令交互模塊及其他應(yīng)用代碼。FPGA模塊具備實時性和同步性,用于實時同步采樣,ARM在通信等事務(wù)性操作上更為靈活可控,用于實現(xiàn)指令解析與回復。程控指令集參考現(xiàn)有示波器指令集的規(guī)范,另規(guī)劃了二次開發(fā)接口,具有拓展性和可移植性。關(guān)鍵詞:微測量;程控指令;ARM;實時操
2、作系統(tǒng)中圖分類號:TM29 文獻標識碼:A 文章編號:1001-1390(2016)00-0000-00Command set of real-time micro-measurement system and its analyzing algorithmJiang Yiyue, Zhuang Xuan, Zhao Gang(Key Laboratory of Control of Power Transmission and Conversion, Ministry of Education, Department of Electrical Engineering, Shanghai J
3、iao Tong University, Shanghai 200240, China).Abstract:To minimize the interference in the long-range transmission of small signal, we propose a new design scheme of an embedded micro-measurement system where the digital measurement part is close to the output of the converter. It useuses dual-core h
4、ardware system with Ffield-Pprogrammable Ggate Aarray (FPGA) and Aadvanced RISC Mmachines (ARM) and program-controlled command set based on real-time operating system in software. FPGA takes charge of synchronous sampling in the system for its real-time performance, while ARM could be used to analyz
5、e the command and send reply since it is more flexible and easily to be controlled in transactiontransactional issues. This command set is referred to the command syntax of oscilloscope, based on the real-time operating system and the properties of ARM as well. Meanwhile, it has the open part to dev
6、elop the secondary interface in the future, which make the system more flexible and expandable.Key words: Mmicro-Mmeasure, Pprogram-controlled Ccommand, ARM, Rreal-time Ooperating Ssystem0 序言文章設(shè)計了微測量系統(tǒng)的指令集以及其解析算法,此設(shè)計是基于ARM和FPGA的雙核系統(tǒng),并使用AC9226,ADC141S626和ADC128S022芯片完成測量。系統(tǒng)通過FPGA控制ADC芯片采樣,并在ARM1-2中構(gòu)架
7、FreeRTOS3實時操作系統(tǒng)以滿足系統(tǒng)測量實時性要求。1 微測量系統(tǒng)結(jié)構(gòu)1.1 系統(tǒng)的總體框架微測量系統(tǒng)核心是FPGA和 ARM雙核,系統(tǒng)框架如圖 1所示。其中,操作設(shè)備與ARM間通過串口或WiFi通信,ARM部分作為測量系統(tǒng)的服務(wù)器端響應(yīng)操作設(shè)備的指令并給出回復。ARM內(nèi)部使用FreeRTOS管理任務(wù),并且通過FSMC(Flexible Static Memory Controller)與FPGA傳遞指令和數(shù)據(jù)。FSMC技術(shù)是意法半導體公司STM32系列系列采用一種新型的存儲器擴展技術(shù),可根據(jù)嵌入式系統(tǒng)的需求,進行不同類型大容量靜態(tài)存儲器的擴展。ARM通過FSMC在靜態(tài)存儲器中寫入控制字或
8、者讀取數(shù)據(jù),時序如圖2所示,F(xiàn)PGA根據(jù)控制字進行測量和在相應(yīng)位置上寫入測量結(jié)果以備讀取。FPGA則用硬件描述語言編程,滿足ADC芯片時序和多路同步采樣的要求,其電路圖如圖3所示。圖 SEQ Figure * ARABIC 1 測量系統(tǒng)結(jié)構(gòu)Fig.1 System Structure of measurement system圖 2對于復用地址和數(shù)據(jù)總線的FSMC時序圖【1】Fig.2 WriteTime sequence diagram for multiplexed SRAM in FSMC圖 3FPGA與各測量模塊的電路圖Fig.23 schema Circuit diagram for
9、 FPGA and each measurement chipsmodule1.2 測量對象與模數(shù)轉(zhuǎn)換(ADC)測量對象分三類,雷電沖擊波形(頻譜1MHz)測量,工頻電信號(頻譜10KHz)測量和溫度傳感器電信號(幾乎直流),根據(jù)測量對象的采樣頻率要求,分別采用AD9226,ADC141S626和ADC128S022測量。雷電沖擊類波形5是測量短時間的峰值波形,采樣頻率至少10MHz,故而使用兩片AD9226并聯(lián)做單通道,采樣頻率設(shè)置為10MHz,20MHz,50MHz和100MHz可選,其中100M需要兩片同時采樣。工頻信號設(shè)計上測量4組三相功率,在使用中4組可以任意組合開啟,由于工頻信號在
10、后期計算中對于原始數(shù)據(jù)的同時性要求高,單獨使用一個AD轉(zhuǎn)換器難以滿足,同時考慮到低功耗的要求,最終確定使用12片ADC141S626同步采樣,采樣頻率為100kHz至250kHz范圍內(nèi)任意指定,通過SPI協(xié)議串行向FPGA返回數(shù)據(jù)。溫度傳感器采樣頻率要求低,需要長時間使能,所以選用2片ADC128S022共16個通道,測量數(shù)據(jù)通過SPI串行返回。測量后的各類數(shù)據(jù)保存在SRAM中指定位置,以供ARM讀取來進行下一步計算。1.3 指令集交互模塊指令集交互模塊負責解析指令與回復, ARM的UART為一端,另一端可以是PC模擬的串口,也可以是后期開發(fā)的客戶端網(wǎng)絡(luò)的接口。在指令集的解析模塊,采用UART
11、讀取字符串,分段解析,并且通過新建任務(wù)等方式,完成指令內(nèi)容。數(shù)據(jù)的返回方式是以字符串型返回,并加上首尾標志位和采樣數(shù)據(jù)兩兩之間的分隔符。2 程控指令集設(shè)計指令集需要完成三個方面的功能需求,分別為數(shù)據(jù)采集設(shè)置和狀態(tài)查詢(OSC),數(shù)字量輸入輸出(DIO),以及用戶自定義指令(用戶后期使用過程中拓展的部分)。統(tǒng)一的格式以芯片名為開頭,加冒號后為指令內(nèi)容,有問號結(jié)尾的皆為需要返回數(shù)據(jù)的指令。在指令中有輔助符號來區(qū)分判別指令內(nèi)容,具體如表1中所示。表 SEQ Table * ARABIC 1 指令集輔助符號Tab.le 1 Assistant symbols of command set$指令始末標志
12、位芯片名:指向=定義通道選擇?有返回值對應(yīng)四大類功能和用戶后期拓展的自定義功能的指令如下:使能芯片:start/stop參數(shù)設(shè)置:參數(shù)=設(shè)定值參數(shù)讀取:參數(shù)?返回數(shù)據(jù):curve,(通道,)長度?用戶指令啟動與回復由于針對不同的測量對象時,采用的是多塊同一型號芯片拼接的方式,因此在芯片名上需要有一定的區(qū)分。對于測量對象類型的全局參數(shù)(例如,測量雷電信號的頻率為兩片AD9226共同的參數(shù)),芯片名稱為采用的芯片型號,但對于同一型號芯片的不同測量通道的參數(shù)設(shè)置則是在芯片型號_1/2的方式來區(qū)分(例如:測量雷電信號的兩片芯片的觸發(fā)位置是可以不同的)。芯片名列舉如下:AD9226,AD9226_1,A
13、D9226_2,AD9226_s(兩片AD9226聯(lián)合采樣時的參數(shù)設(shè)置目標),ADC141S626和CAT9555_*(*=07,分別標志8片CAT9555)。所有的參數(shù)設(shè)置通過ARM的解析后,將會以控制字的模式寫入SRAM的指定位置,例如在SRAM分配的控制字某一地址上“某兩個bit=00:觸發(fā)水平10%FSD;01:觸發(fā)水平20%FSD;10:觸發(fā)水平50%FSD;11:觸發(fā)水平80%FSD?!痹趯嶋H工作時,F(xiàn)PGA在開始采樣前會讀取芯片的控制字以調(diào)整采樣參數(shù)。2.1示波器指令(OSC)2.1.1 AD9226相關(guān)指令通過改變AD9226芯片的設(shè)置并使其返回采樣序列,這種特性使得AD922
14、6芯片可用于測量雷電信號等應(yīng)用中,使用和禁用該芯片使用指令“:Start/Stop”。指令參考巴科斯范式(Backus-Naur Form)6,分為設(shè)置參數(shù)和讀取兩個部分,設(shè)置主要控制采樣頻率,采樣模式狀態(tài),觸發(fā)位置,觸發(fā)邊沿和觸發(fā)位置;讀取部分是讀取測量參數(shù)實際值和返回測量數(shù)據(jù)。參數(shù)的表格如下:表 2 AD9226芯片參數(shù)Table .2 The pParameters of AD9226參數(shù)名對應(yīng)符號可選值采樣頻率Freq100M,50M,20M,10M,5M,2M和1M工作狀態(tài)StateNormal,Trigger_1(通道1觸發(fā)),Trigger_2(通道2觸發(fā))和Trigger_s(
15、雙通道觸發(fā))觸發(fā)水平Trigger_Level10%,20%,50%和80%觸發(fā)斜率Trigger_SlopeFalling(下降沿觸發(fā))和Rising(上升沿觸發(fā))觸發(fā)位置Trigger_Position10%,20%,50%和80%遵照“: Freq=100M”和“: Trigger_Level?”的方式設(shè)置和讀取參數(shù)。觸發(fā)相關(guān)的三個參數(shù)根據(jù)觸發(fā)通道選擇的不同而有不同的設(shè)置值,在調(diào)整和讀取這三個參數(shù)時,需要在芯片名中指出是通道1(AD9226_1),通道2(AD9226_2)或者是雙通道觸發(fā)(AD9226_s)。特別需要注意的是,采樣頻率和觸發(fā)位置等設(shè)置是不連續(xù)的、離散的,其設(shè)置值可能不在
16、范圍內(nèi),采用就近的原則進行設(shè)置并且在讀取參數(shù)時返回實際值。返回測量值是由FPGA部分直接返回其測量值的字符串型,首尾添加“$”為辨識符號,各個數(shù)值間用逗號分隔。其指令為“: Curve?”,返回長度是8K個數(shù)據(jù)采樣點。2.1.2 ADC141S626相關(guān)指令針對ADC141S626的工頻測量,有使能和禁用的指令“:Start/Stop”,可設(shè)置的參數(shù)有采樣頻率,采樣通道和采樣長度。采樣頻率是單獨指令提前設(shè)置的,在設(shè)置中為“: Freq=100k”的格式,設(shè)置值可以在100kHz至250kHz間任意可選。如果設(shè)置值無法在FPGA的采樣中滿足,則就近選取,并在要求返回數(shù)值時給出實際值。采樣長度和采
17、樣通道的設(shè)置在每次請求數(shù)據(jù)時確定,指令中的采樣通道選擇可以是三個為一組,在指令中用3,6,9和12替代,可以多選并用逗號分隔,采樣長度可以為1K,2K,4K和8K(K=1024),來決定返回的數(shù)據(jù)長度。例如,指令為“: curve,3,6,4K?”,表示要求開啟兩組通道1-3和4-6進行測量,返回4K個數(shù)據(jù)點。返回數(shù)據(jù)的格式同AD9226相似,以測量結(jié)果的字符串型直接傳輸,首尾$,數(shù)據(jù)兩兩間以逗號分隔。2.1.3 ADC128S022相關(guān)指令對于ADC128S022的溫度測量,因溫度在實際測量環(huán)境中突變可能性不大,其采樣頻率和數(shù)據(jù)長度要求很低,出于對于指令集簡化的目的,只設(shè)有使能和禁用兩條指令
18、“:Start/Stop”,其采樣頻率固定在100Hz上。2.2數(shù)字量輸入輸出指令(DIO)通過I2C進行擴展的數(shù)字量輸入輸出可以用于設(shè)備調(diào)試,現(xiàn)場參數(shù)輸出和添加外設(shè)等處,其依靠I2C拓展8片CAT9555,每片有16位輸出或者輸入。在微測量系統(tǒng)中,定義低8位為輸入,高8位為輸出,以便在同一片芯片上驅(qū)動外設(shè)和讀取數(shù)據(jù)。DI口為輸入口,DO口為輸出口,在設(shè)置中用ON表示高電位,OFF表示低電位。在設(shè)置和讀取其輸出和輸入值時,用指令“: DO_0=ON”來設(shè)置第0片芯片的0號位輸出位為高電位,“: DI_6?”要求返回第3片芯片的6號位輸入位值,若為高電位返回ON,低電位返回OFF。2.3 用戶擴
19、展指令用戶在使用中有二次開發(fā)要求時,將調(diào)用到這部分內(nèi)容,在指令解析和指令調(diào)用函數(shù)部分可以做修改,以達到個性化的拓展功能。在指令解析中,預留有以開頭的指令,指令匹配部分和調(diào)用的任務(wù)與函數(shù)在初始狀態(tài)中都設(shè)為“user_task”和“void user_function()”,并給出初始優(yōu)先級和堆??臻g等狀態(tài)值。當用戶需要此方面功能時,可以修改名稱以及初始值,并且在控制字的存儲空間中也在末尾0 x40C00后留有空間,可以加載控制字和存儲測量或者計算結(jié)果。例如,在后期用戶希望在ARM部分完成一定量的計算,可以將指令解析部分的對應(yīng)改成希望的指令名稱,再在空函數(shù)“void user_function()
20、”內(nèi)寫入希望進行的計算和返回值,即可完成二次開發(fā)。3 實時系統(tǒng)要求測量系統(tǒng)的意義在于可以自行測量,一旦開始就不需要太多的人為干預。在這種條件下,系統(tǒng)需要具有相對較高的穩(wěn)定性和可靠性,而普通操作系統(tǒng)或者說是ARM的裸機編程不具備這樣的條件,所以在選擇上會更加偏向于實時操作系統(tǒng)7。同時,在測量上也有對于系統(tǒng)實時性的要求,對于電信號的控制測量都具有嚴格的時序性,以保證在時間內(nèi)完成任務(wù),其執(zhí)行線索也需要是確定的,可以減少大部分死機的問題,提高穩(wěn)定性和實時性。在微測量系統(tǒng)中,根據(jù)指令的響應(yīng)新建任務(wù)就是一個很好的實時系統(tǒng)模型,其完成指令內(nèi)容的執(zhí)行時刻就是確定的。指令集的解析就是將隨時收到的指令通過RTOS
21、的中斷,創(chuàng)建任務(wù),以控制字的形式寫入SRAM中,并且在有返回值的指令中讀取相應(yīng)的地址位。實時操作系統(tǒng)的任務(wù)模式,除了可以有優(yōu)先級的不同,還可以在系統(tǒng)資源有限的情況下,重復利用堆??臻g。4 指令集解析指令集的統(tǒng)一格式在上文中也有提到,對于解析的部分,實質(zhì)上來說就是在相應(yīng)的地址位上寫控制字以及讀取相應(yīng)地址位上的值。然而在實時操作系統(tǒng)中,就是根據(jù)不同指令新建相應(yīng)的任務(wù)。兩片8位SRAM,高8位低8位各一片,單片容量512k,使用中為512K*16位,地址分配如下圖4。指令解析的目的在于更改控制字和讀取相應(yīng)地址上的數(shù)據(jù)部分??刂谱植糠址譃锳D9226,ADC141S626和ADC128S022等三個部
22、分;讀取相應(yīng)位置的數(shù)據(jù)部分,則是更改指針位置和讀取長度。在解析算法上,由于從操作設(shè)備中讀取的指令為字符串形式,故而解析指令就使用字符串比對的方法,將指令中讀取的字符串與設(shè)定好的常量作比較。在解析過程中,現(xiàn)將指令中的字符分段截取,拷貝至不同變量下,例如將指令中的芯片名稱(位于“”間部分)放置在字符串變量chipname中,指令中的命令部分(start,stop和curve)放置于字符串order中。因指令集格式上的統(tǒng)一要求,在字符串截取過程中,通過其符號已經(jīng)可以分辨出不同類型的指令,新建的任務(wù)類型也可以確定。通過比較截取拷貝出來的變量與指令常量,就可以知曉讀取地址和是否在任務(wù)中需要等待測量后返回
23、測量值。從新建任務(wù)和縮減代碼長度的角度看,都可以調(diào)用同一個讀取和寫入任務(wù),每次調(diào)用時只需要改變地址和長度。對于調(diào)用的參數(shù)和狀態(tài)記錄,都定義全局可用的數(shù)據(jù)池,在創(chuàng)建任務(wù)前,先更改數(shù)據(jù)池中內(nèi)容即可,不需要在創(chuàng)建任務(wù)中傳遞地址。在實時操作系統(tǒng)中,讀取指令的任務(wù)一直在后臺運行,其優(yōu)先級設(shè)為1,以保證在傳輸數(shù)據(jù)和設(shè)置參數(shù)時不被外來的指令打擾。每解析完一條指令,就開始創(chuàng)建相應(yīng)的任務(wù),在任務(wù)完成后自刪除,以保留盡可能多的片上空間。由于指令集的解析是全程控完成,故在后續(xù)的使用過程中,可以拓展多樣的芯片和采樣參數(shù)。圖4 SRAM內(nèi)存地址分配Fig.4 Memory aAddress assignment in
24、SRAM5 結(jié)束語文章介紹的微測量系統(tǒng),具備模擬量的瞬時測量和長時間采樣的方式,如用作雷電信號記錄儀和變壓器的工頻測量,可以作為傳統(tǒng)測量裝置的補充。由于大部分的計算量和測量數(shù)據(jù)都在嵌入式系統(tǒng)中完成,故而對于測量信息接收端的PC要求不高,可以在實際運用中用平板電腦或者智能手機的應(yīng)用來替代,具有很強的拓展性。同時,在數(shù)據(jù)傳輸中可以用長距離的Wi-Fi傳輸或者GSM通訊網(wǎng)絡(luò)傳輸,使本系統(tǒng)具有更強的適應(yīng)能力。參 考 文 獻1 STMicroelectronics group of companies, “STM32F10 xxx Reference manual RM0008”, Rev. 7, pp. 2325 (2008), 2 STMicroelectronics group of companies, “STM32F103x6 DATASHEET”, Rev. 9, pp. 410 (2008), 3 Barry R. FreeRTOS Reference ManualJ. Real Time Engineers Ltd, 2011 (2011).4 劉偉. 基于 STM32 的 NAND FLASH 的數(shù)據(jù)存儲系統(tǒng)設(shè)計J. 電腦開發(fā)與應(yīng)用, 2015, 28(2): 48-51.5 宣耀偉, 樂彥杰, 張娜飛, 等. 雷電沖擊試驗沖擊電壓發(fā)生器調(diào)波電阻的確定J. 機電工程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年建筑工程設(shè)備租賃合同范例
- 2025年養(yǎng)豬企業(yè)租賃合同指南
- 2025年專利權(quán)合同轉(zhuǎn)讓協(xié)議
- 2025年動漫師聘請合同
- 2025年企業(yè)股權(quán)聯(lián)盟合同樣本
- 2025年倉儲物品保管合同格式
- 2025年協(xié)作承包協(xié)議(物流行業(yè))
- 2025年中藥材種植合作諒解協(xié)議
- 2025年再婚與前妻之間的解除婚姻策劃協(xié)議書樣本
- 2025年企業(yè)股權(quán)分割與分配協(xié)議
- 過氧乙酸消毒濃度及方法
- 王洪圖黃帝內(nèi)經(jīng)80課時講稿
- 英語課堂游戲PPT-英語游戲4個PPT-(切西瓜-打地鼠-開火車-植物大戰(zhàn)僵尸)
- 大學物理光學總結(jié)-大學物理光學知識點總結(jié)課件
- 關(guān)于領(lǐng)導干部報告?zhèn)€人有關(guān)事項的規(guī)定全文
- 個人借條電子版模板
- 物業(yè)公司特色服務(wù)、日常增值服務(wù)項目供參考
- 創(chuàng)新創(chuàng)業(yè)實務(wù)PPT全套完整教學課件
- 工業(yè)企業(yè)電源快速切換裝置設(shè)計配置導則
- 某有限公司雙螺紋偏轉(zhuǎn)型防松防盜螺母商業(yè)計劃書
- 新版冀教版(冀人版)科學五年級下冊全冊教案
評論
0/150
提交評論