0 引 言
電磁流量計是一種測量導電介質體積流量的計量儀表,具有測量精度高、穩(wěn)定性好、可靠性高等特點。電磁流量計除可測量一般導電液體的流量外,還可測量液固兩相液體、高粘度液體及鹽類、強酸、強堿液體的體積流量,可廣泛應用于水泥、化工、輕紡、冶金、礦山、造紙、醫(yī)藥、給排水、食品飲料、環(huán)保等工業(yè)技術部門,其產(chǎn)品的性能、質量和可靠性對上述企業(yè)的經(jīng)濟效益有著重要的影響。
嵌入式系統(tǒng)( Embedded Sy stem) 是以應用為中心和以計算機技術為基礎的,并且軟硬件是可以裁減的,能滿足應用系統(tǒng)對功能、可靠性、成本、體積、功耗等指標的嚴格要求的專用計算機系統(tǒng)。它是面向用戶、面向產(chǎn)品、面向應用的專用系統(tǒng),與通用的計算機系統(tǒng)相比具有如下特點:嵌入式CPU 通常具有低功耗、體積小、集成度高、成本低等優(yōu)點,能夠把通用的CPU 中許多由板卡完成的功能集成到芯片內部; 嵌入式系統(tǒng)的開發(fā)和應用不容易在市場上形成壟斷; 嵌入式系統(tǒng)產(chǎn)品一旦進入市場,一般具有較長的生命周期; 嵌入式系統(tǒng)的硬件和軟件都必須高效率地設計; 嵌入式系統(tǒng)必須有一套交叉開發(fā)工具和環(huán)境才能進行開發(fā)。
檢測儀表是實現(xiàn)參數(shù)檢測過程的重要一環(huán),一般都具有變換、測量裝置和顯示裝置三部分。針對于檢測儀表的要求,合理剪裁軟硬件實現(xiàn)高集成度、小型化,使得檢測儀表不僅具有傳感測量、補償計算、顯示的功能,還具有更加強大的信息處理、比較推理、故障診斷、自學習自適應等智能化功能。應用嵌入式系統(tǒng)的網(wǎng)絡接入技術,還能使儀表完成遠程維護、遠程控制、故障報警、信息發(fā)布與共享等以前無法實現(xiàn)的功能。嵌入式系統(tǒng)技術的高度發(fā)展,給檢測與儀表技術帶來了前所未有的發(fā)展空間和機遇,為檢測儀表的智能化、網(wǎng)絡化和微型化鋪平了道路,為儀表行業(yè)的發(fā)展帶來了廣闊的前景。
傳統(tǒng)電磁流量計一般采用8 位或16 位的單片機,由于單片機性能較弱和外圍接口少,無法完成復雜算法或者多項并行任務; 在顯示方式上一般采用LED 或段式LCD,只能顯示數(shù)字、字母、漢字和一些粗糙的圖案;在數(shù)據(jù)存儲方面一般采用小容量的EPROM 存儲器,流量數(shù)據(jù)存儲一般以二進制方式存儲,不具有通用性;在通信方式上,一般采用RS 232 或RS 485,其開放性不高,組網(wǎng)距離短。為了提高性能和功能,有些電磁流量計甚至采用了多個單片機協(xié)同工作的方式,增加了電磁流量計設計與實現(xiàn)的復雜度。因此有必要采用高性能的32 位處理器來設計電磁流量計。
基于32 位ARM 處理器和嵌入式Linux 操作系統(tǒng)構建嵌入式系統(tǒng)開發(fā)平臺,并將其應用于電磁流量計的設計和開發(fā)中,將有利于提高高端電磁流量計產(chǎn)品的質量,更好地滿足用戶需求,而且對我國電磁流量計檢測技術水平的發(fā)展也具有重要的現(xiàn)實意義。由于嵌入式系統(tǒng)的設計與開發(fā)的復雜性和高難度,本文所構建的高性能32 位嵌入式系統(tǒng)開發(fā)平臺,也可推廣應用于其他高端儀器儀表的設計中,縮短新產(chǎn)品的設計開發(fā)周期,增強企業(yè)對客戶需求的響應能力和產(chǎn)品的更新?lián)Q代能力。
1 總體設計
1. 1ARM處理器的選擇
結合電磁流量計的應用背景,選擇32 位的嵌入式ARM 處理器。根據(jù)ARM 處理器的應用選型,并考慮到ARM 處理器價格、性能、集成度和功能、設計支持及開發(fā)工具的支持等因素,以及應用中對于以太網(wǎng)和USB 接口功能的要求,選擇了Atmel 公司的AT91RM9200 工業(yè)級芯片。
1. 2 嵌入式操作系統(tǒng)的選擇
對于一種嵌入式操作系統(tǒng)通常有這樣一些*估選擇標準:實用性、需要消耗的資源數(shù)( 包括SDRAM,FLASH MEMORY 等) 、支持軟件的豐富程度、可靠性以及其執(zhí)行性能等。Linux已經(jīng)被移植到了很多平臺,包括ARM,MIPS,SH3,Alpha,X86,Pow erPC 等,由成千上萬的愛好者開發(fā)的應用軟件、協(xié)議棧以及豐富的設備驅動程序; 更重要的是這些驅動很多都以OpenSour ce 的形式發(fā)布出來,使得大家都從中受益。
1. 3 總體設計框架
通過對電磁流量計的方案選擇,并綜合國內外電磁流量儀表產(chǎn)品的智能化、集成化、網(wǎng)絡化的發(fā)展趨勢,系統(tǒng)總體結構如圖1 所示。系統(tǒng)主要由硬件子系統(tǒng)和軟件子系統(tǒng)組成。
圖1 系統(tǒng)總體框架
電磁流量計的硬件子系統(tǒng)主要由電源模塊、信號輸入模塊、CPU 核心模塊、勵磁輸出模塊、人機交互模塊、通信接口模塊和調試接口模塊組成。各模塊的功能描述如下:
電源模塊:為整個硬件子系統(tǒng)提供穩(wěn)定可靠的電源。
CPU 核心模塊:由ARM 處理器、SDRAM,FLASH 以及輔助電路構成最小系統(tǒng),同時也是運行嵌入式Linux 的基本硬件平臺。
信號輸入模塊:將傳感器輸出的小電壓或電流信號進行放大、濾波以及轉換為數(shù)字量,以便進行軟件處理。
勵磁輸出模塊:通過D/ A 轉換器輸出低頻三值矩形方波,并通過功率放大輸出給傳感器。
人機交互模塊:由鍵盤接口和TFT 液晶顯示接口組成,通過鍵盤和菜單界面進行系統(tǒng)參數(shù)設定,并由液晶屏實時顯示瞬時流量、累積流量和流量曲線等。
通信接口模塊:包括以太網(wǎng)接口、U SB 接口以及RS 232 接口,完成數(shù)據(jù)通訊和流量傳輸功能。
調試接口模塊:由JT AG 調試接口和DBCOM 調試串口組成。
軟件子系統(tǒng)由引導加載程序( Boot Loader) 、嵌入式Linux 操作系統(tǒng)和應用軟件組成。嵌入式Linux 的啟動需要引導加載程序來輔助完成,Linux、內核主要由進程管理、內存管理、文件系統(tǒng)管理、設備控制及網(wǎng)絡協(xié)議等幾個部分,為應用軟件提供了運行環(huán)境。圖中的硬件設備控制提供了硬件平臺中相關的設備驅動程序,實現(xiàn)了操作系統(tǒng)與硬件之間的信息交互和控制,而系統(tǒng)函數(shù)調用為Linux 內核和應用軟件之間的信息交互提供了接口。
2 硬件系統(tǒng)設計
基于低頻三值矩形波勵磁的電磁流量計的硬件結構圖如圖2 所示。其中,CPU 核心模塊是系統(tǒng)軟件的運行基礎,F(xiàn)LASH 存儲器用于存儲可執(zhí)行程序的二進制映像文件,供系統(tǒng)啟動時加載到SDRAM 內存空間運行; 由于硬件系統(tǒng)的復雜性,調試模塊加強了硬件系統(tǒng)的調試功能; 流量傳感器由一對勵磁線圈和一對對稱分布的檢測電極構成。
圖2 系統(tǒng)硬件結構圖
ARM9 處理器通過與其相連的D/ A 芯片產(chǎn)生低頻三值矩形波,勵磁線圈接受該低頻三值矩形波經(jīng)功率放大后的勵磁信號而產(chǎn)生感應磁場,在電極上產(chǎn)生因流體切割磁力線而產(chǎn)生的感應電動勢( 即測量信號) ,并將之送入信號輸入模塊進行處理,信號輸入模塊對流量傳感器輸入的信號進行放大、濾波及A/ D 采樣后輸入ARM9 處理器。系統(tǒng)由TFT 液晶顯示屏提供人性化的菜單顯示操作界面,結合鍵盤進行人機交互; 同時具有以太網(wǎng)、USB 和RS 232 通信接口可輸出瞬時流量、累積流量和系統(tǒng)參數(shù)。
3 軟件系統(tǒng)設計
一個嵌入式Linux 系統(tǒng)從軟件的角度來看,通常可以分為四個層次,如圖3 所示。
圖3 系統(tǒng)軟件總體結構
引導加載程序:包括固化在固件中的Boo t 代碼( 可選) ,和Boo t Loader 兩大部分。
Linux 內核:特定于嵌入式硬件平臺的定制內核以及內核的啟動參數(shù)。
文件系統(tǒng):包括根文件系統(tǒng)和建立于FLASH 內存設備之上文件系統(tǒng),通常采用ramdisk 作為根文件系統(tǒng)。
用戶應用程序:特定于用戶的應用程序。有時在用戶應用程序和內核層之間可能還會包括一個嵌入式圖形用戶界面。
其中,引導加載程序是嵌入式系統(tǒng)軟件開發(fā)的第一個環(huán)節(jié),它是操作系統(tǒng)和硬件的樞紐,為操作系統(tǒng)內核的啟動提供了必要的條件和參數(shù); 引導加載程序的工作是初始化內存以及必要的硬件設備,調用內核加載器。從FLASH 中加載操作系統(tǒng)映像到SDRAM 中,并把控制權交給Linux ; 由Linux 對硬件系統(tǒng)做進一步的初始化并控制應用程序。
基于系統(tǒng)軟件結構,在系統(tǒng)的啟動過程中有3 個主要軟件組件參與其中:引導加載程序、Linux 內核和Init進程。其啟動過程如下:
(1) 系統(tǒng)在上電或Reset 之后,A T91RM9200 開始執(zhí)行存放在NOR FLASH( 系統(tǒng)將0x10000000 映射到0x 00000000,即ARM 的復位向量) 中的引導加載程序。
(2) 引導加載程序初始化CPU 和內存控制器,對系統(tǒng)外設做最小程度的初始化,如初始化LED 和串口等,檢測內存并匯報啟動中的診斷信息,然后將Linux內核映像解壓到SDRAM 中的某個位置并跳轉到這個地址,把控制權交給Linux 內核。
(3) Linux 的內核接管執(zhí)行權后完成一系列的系統(tǒng)初始化和設置,包括設置中斷向量,啟動內存管理,初始化各個硬件設備,初始化網(wǎng)絡協(xié)議等,最后建立根文件系統(tǒng)并生成系統(tǒng)進程之父Init 進程。
(4) Init 進程負責啟動所有必要的服務和用戶應用程序,并進入嵌入式系統(tǒng)的工作狀態(tài)。
在嵌入式Linux 系統(tǒng)中,必須有固態(tài)存儲設備來存儲可執(zhí)行的代碼,本系統(tǒng)中采用了FLASH 存儲器。
在該系統(tǒng)中,系統(tǒng)的存儲設備空間分配結構如表1所示。
表1 系統(tǒng)存儲空間分配結構
電磁流量計的應用軟件設計是根據(jù)系統(tǒng)需求,以嵌入式Linux 內核為基礎,通過Linux 內核的系統(tǒng)調用接口函數(shù)并按照模塊化結構實現(xiàn)的。該系統(tǒng)的最大特色在于提供了人性化的彩色液晶顯示操作界面和以太網(wǎng)功能,因此在應用軟件中是基于MiniGU 1 進行設計的,同時基于Modbus 協(xié)議實現(xiàn)以太網(wǎng)功能。
電磁流量計的應用軟件整體構架需要考慮多任務和實時性兩個方面問題。首先是A/ D 采樣和勵磁信號輸出必須要保證實時性和同步性,這一點可通過AT91RM9200 的兩個定時器來保證,其中一個定時器用于控制D/ A 輸出三值矩形方波,另一個定時器用于控制A/ D 采樣; 考慮到硬件電路的干擾,在應用中首先啟動D/ A 定時器,然后延遲1/ 8 勵磁周期再啟動A/ D定時器。對于嵌入式Linux 下應用軟件的多任務,可以采用多進程或多線程的方式來實現(xiàn)。應用軟件的主程序流程圖如圖4 所示。
圖4 應用軟件的主程序流程圖
4 系統(tǒng)測試
由于采用了嵌入式系統(tǒng)的新技術,特別是引入了32 位高性能ARM 處理器和嵌入式Linux 操作系統(tǒng),系統(tǒng)除了具備電磁流量計的基本功能外,還具有更強大的功能如流量數(shù)據(jù)文件存儲、TFT 彩屏顯示以及以太網(wǎng)通訊等傳統(tǒng)儀表無法完成的功能。它可以顯示實時流量曲線和年、月、日、時、分、秒的實時時間; 采用FLASH 存儲器,測量和運行數(shù)據(jù)存儲保護安全可靠;使用Modbus 通訊協(xié)議和TCP/ IP 協(xié)議,提高系統(tǒng)的網(wǎng)絡化程度。
分別對系統(tǒng)的圖形用戶顯示操作界面、大容量的數(shù)據(jù)存儲以及基于Modbus/ TCP 協(xié)議網(wǎng)絡數(shù)據(jù)傳輸?shù)炔糠诌M行功能測試。對嵌入式電磁流量計進行了系統(tǒng)測試和實驗。結果表明嵌入式電磁流量計不僅具有傳統(tǒng)電磁流量計的功能,而且具有流量曲線顯示的TFT 彩屏顯示操作界面、流量數(shù)據(jù)文件斷電存儲和管理以及基于Internet 的遠程數(shù)據(jù)采集和遠程控制功能。
5 結 語
儀器儀表的發(fā)展建立在新型檢測系統(tǒng)軟硬件平臺性能提高基礎之上。在傳統(tǒng)檢領域應用很廣的8 位單片機系統(tǒng)由于其性能和資源的局限性,只能完成儀器儀表的基本功能。隨著微電子技術的發(fā)展及集成電路制造工藝的大幅提高,以高性能、低功耗、低成本等諸多優(yōu)點的32 位ARM 處理器的出現(xiàn)及其在儀器儀表中的應用,使得儀器儀表更具智能化、人性化和網(wǎng)絡化。
流量檢測儀表的顯示方式、通訊方式和數(shù)據(jù)存儲是儀表的重要組成部分。傳統(tǒng)電磁流量計在顯示方式上一般采用LED 或段式LCD,只能顯示數(shù)字、字母、漢字和一些粗糙的圖案; 在數(shù)據(jù)存儲方面,信息存儲一般以二進制方式存儲,不具有通用性且存儲容量小; 在通訊方式上,一般采用RS 232 或RS 485,其開放性不高。
為了解決了上述不足,本文采用32 位的ARM 處理器和嵌入式Linux 操作系統(tǒng)研制出了具有信息化、圖形化和網(wǎng)絡化的電磁流量計。它采用T FT 彩色液晶屏顯示方式,不僅可以顯示流量數(shù)據(jù)還可以顯示流量曲線,提高了顯示的質量和內容; 通過JFFS2 文件系統(tǒng)采用文件的方式進行數(shù)據(jù)存儲,且存儲容量可達1 MB。
同時可以使用U 盤導出數(shù)據(jù)文件,增強了用戶的信息存儲和管理功能; 采用以T CP/ IP 協(xié)議為基礎的工業(yè)以太網(wǎng)通訊方式,使得電磁流量計成為Internet 網(wǎng)絡中的獨立節(jié)點,可實現(xiàn)基于Internet 的遠程數(shù)據(jù)采集和遠程控制。
上一篇:ARM中C和匯編混合編程及示例
下一篇:ARM的嵌入式Bootloader實現(xiàn)自動升級
推薦閱讀
史海拾趣
DECON公司成立于電子行業(yè)的蓬勃發(fā)展時期,初創(chuàng)期便專注于研發(fā)和生產(chǎn)高質量的電子連接器產(chǎn)品。通過對市場的深入調研和技術創(chuàng)新,公司成功定位自己在高端連接器市場的位置,并憑借其出色的產(chǎn)品質量和穩(wěn)定的性能,逐步在市場中樹立了良好的口碑。
協(xié)順電子(Finecables)成立于2003年,當時的中國電子行業(yè)正處于快速發(fā)展期。公司創(chuàng)始人憑借對市場敏銳的洞察力和對技術的執(zhí)著追求,決定進入連接器制造領域。在創(chuàng)業(yè)初期,公司面臨著資金短缺、技術積累不足等挑戰(zhàn)。然而,通過不懈的努力和團隊的合作,協(xié)順電子成功研發(fā)出首批產(chǎn)品,并獲得了市場的認可。這一階段的經(jīng)歷為公司的后續(xù)發(fā)展奠定了堅實的基礎。
在電子行業(yè)的早期,CAMDENBOSS公司以其對技術的深入研究和不斷創(chuàng)新而嶄露頭角。公司研發(fā)團隊通過不懈努力,成功開發(fā)出一款具有革命性的連接器產(chǎn)品,該產(chǎn)品在信號傳輸效率和穩(wěn)定性上取得了顯著突破。這一技術突破不僅為公司贏得了市場的廣泛認可,也奠定了其在電子連接器領域的領先地位。
在電子行業(yè)的早期,CAMDENBOSS公司以其對技術的深入研究和不斷創(chuàng)新而嶄露頭角。公司研發(fā)團隊通過不懈努力,成功開發(fā)出一款具有革命性的連接器產(chǎn)品,該產(chǎn)品在信號傳輸效率和穩(wěn)定性上取得了顯著突破。這一技術突破不僅為公司贏得了市場的廣泛認可,也奠定了其在電子連接器領域的領先地位。
在電子行業(yè)的早期,CAMDENBOSS公司以其對技術的深入研究和不斷創(chuàng)新而嶄露頭角。公司研發(fā)團隊通過不懈努力,成功開發(fā)出一款具有革命性的連接器產(chǎn)品,該產(chǎn)品在信號傳輸效率和穩(wěn)定性上取得了顯著突破。這一技術突破不僅為公司贏得了市場的廣泛認可,也奠定了其在電子連接器領域的領先地位。
在21世紀初,隨著數(shù)字技術的興起,Horizon Electronics Enterprises Group(以下簡稱“Horizon”)由一群對電子技術充滿熱情的工程師創(chuàng)立。公司初期專注于研發(fā)高性能的半導體芯片,以解決當時市場上對高速、低功耗芯片的迫切需求。通過不懈努力,Horizon成功研發(fā)出了一款具有突破性的芯片產(chǎn)品,該產(chǎn)品在數(shù)據(jù)處理速度和能效比上遠超同類產(chǎn)品,迅速獲得了市場的認可。這一技術創(chuàng)新不僅為公司贏得了首批客戶,也為后續(xù)發(fā)展奠定了堅實的技術基礎。
Keil中頭文件很重要,對于51單片機常使用reg51.h、reg52.h或AT89x51.h。 本人是一個單片機c語言的菜鳥,不太會用Keil。我的電腦里安裝的Keil就不能使用AT89x51.h頭文件,還以為軟件里沒有這個頭文件呢,所以每次參考網(wǎng)友的程序時都 ...… 查看全部問答∨ |
現(xiàn)在提及嵌入式,就談到了嵌入式操作系統(tǒng)。 難道大家不再關心下面硬件和底層的內容了么? 如果這樣,嵌入式發(fā)展不是應該納入軟件門類?和我們硬件有什么關系呢?… 查看全部問答∨ |
1.這種接法的優(yōu)點就是起振容易,適應頻率范圍比較寬。具體頻率范圍本人不記得了。 2.這種接法的優(yōu)點接法簡單,缺點是不那么容易起振,C1,C2要合適。 … 查看全部問答∨ |
我想在C模塊中調用C++模塊中的函數(shù)。 目前,當我的C++模塊中沒有使用C++的庫函數(shù),我能正常調用 如: pro.cpp void pro(void) { printf(\"test\\n\"); } 我在c中使用loadModule()與symFindByName()等函數(shù),最終能 ...… 查看全部問答∨ |
公司一直是基于三星6410平臺的Windows Mobile操作系統(tǒng),之前是沒有集成OpenGL的,現(xiàn)在為了顯示效果,準備加上,會對目前的系統(tǒng)產(chǎn)生什么影響?… 查看全部問答∨ |
這個基于WinCE的條碼采集器設備在電池用光情況下再充電打開竟然會初始化,把原先的一些配置都改了,大家有辦法搞定這個? 這個基于WinCE的條碼采集器設備在電池用光情況下再充電打開竟然會初始化,把原先的一些配置都改了,大家有辦法搞定這個?… 查看全部問答∨ |
在PB中選擇了\"朝鮮語\",編出的nk中可以顯示韓文,但是\'\\\'符號顯示不對,顯示成了\"中間有一橫杠的\'W\'\",這是為什么?并且如果是\"英語\"/\"中文\"下,activesync工作正常,在\"朝鮮語\"下activesync也連不上??? 另外我的evc中怎么顯示韓語啊????? ...… 查看全部問答∨ |
剛接觸STM32,還只看了時鐘系統(tǒng)、中斷、GPIO和通用定時器的普通定時功能。 編譯器MDK4.0,借固件庫寫個了用TIM2控制燈閃的程序。不優(yōu)化時正常,優(yōu)化后(優(yōu)化等級1~3都試過)閃爍頻率翻倍了!本來一秒一次,現(xiàn)在一秒兩次。 使用RCC_GetClocks ...… 查看全部問答∨ |
小弟學習uCOS-II 已經(jīng)有一段時間,打算移植到STM32上。在這之前想先學習一下uCOS-II在51上的移植。最近在論壇上看到一個移植程序,就去看了一下,發(fā)現(xiàn)有好多不懂。先請教幾個問題。 這些都在 OS_CPU_A.asm 中。 NAME&nbs ...… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 座椅、天窗、電動尾門應用 國產(chǎn)車規(guī)級高壓霍爾效應傳感器推薦
- 突發(fā)!又一車企車機“崩了”
- 寧德時代為陳立泉院士頒發(fā)“卓越貢獻獎”
- 一文速覽吉利雷神 AI 電混 2.0 發(fā)布會重點
- 2025年1-4月ADAS供應商裝機量排行榜:頭部集中與國產(chǎn)突圍并存
- 國內飛行汽車無線通信測試成功,通信安全新突破
- SPAD席卷車載激光雷達市場
- 大聯(lián)大品佳集團推出基于Microchip和ams OSRAM產(chǎn)品的10Base-T1S萬級像素大燈方案
- 哈曼推出采用三星Neo QLED技術的全新顯示屏
- Syntiant推出超低功耗汽車AI創(chuàng)新技術 提升車輛安全性和用戶體驗
- 下資料 看視頻 抽大獎!泰克汽車電子測試解決方案
- 發(fā)帖贏好禮 | MPS 工程師為您解決DC-DC設計難題
- 免費體驗業(yè)界最快編譯速度&最好性能 Quartus II v15.0網(wǎng)頁版下載有禮!
- 英飛凌BMS解決方案,為電動汽車和儲能系統(tǒng)保駕護航!
- 已結束|Maxim IO-Link通信協(xié)議設計方案詳解,5大優(yōu)勢助你輕松聯(lián)網(wǎng)!
- 下載有禮:數(shù)據(jù)中心養(yǎng)生秘籍《福祿克數(shù)據(jù)中心解決方案》等你帶回家!
- 閱讀并了解是德科技汽車電子、物聯(lián)網(wǎng)(IOT) 精彩專題,答題贏好禮!
- 免費申請測評:超小型 Linux 開發(fā)套件:Quantum Tiny Linux(帶 SoM 和擴展板)