《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于 ARM 和 Linux 通用工控平臺設計與實現
基于 ARM 和 Linux 通用工控平臺設計與實現
摘要: 本工控平臺在硬件上,選擇ATMEL公司的AT91RM9200微處理器,并對其最小系統及外圍部件進行設計,以適應當前工控現場更加豐富的技術要求,并結合工業測控Modbus協議,擴展多種通信接口,滿足用戶的通信需求。與此同時,選擇嵌入式Linux操作系統為測控軟件的開發提供了性能優良軟件平臺。
關鍵詞: ARM Linux 工控 AT91RM9200
Abstract:
Key words :

隨著工控技術的進步和市場競爭的加劇,開發人員通常需要在盡可能短的時間內設計出滿足用戶要求的測控系統。本文針對嵌入式系統的特點,以高性價比的32位ARM嵌入式處理器AT91RM9200為硬件核心,搭建了通用工控硬件平臺,在此平臺上移植嵌入式Linux操作系統和圖形界面開發環境MiniGUI。以此通用工控平臺為基礎,可以方便地構建工程應用所需的絕大部分自動測控系統。其應用無論是在性能還是在成本方面都極具競爭力,這預示著本平臺具有較好的應用前景。


本工控平臺在硬件上,選擇ATMEL公司的AT91RM9200微處理器,并對其最小系統及外圍部件進行設計,以適應當前工控現場更加豐富的技術要求,并結合工業測控Modbus協議,擴展多種通信接口,滿足用戶的通信需求。與此同時,選擇嵌入式Linux操作系統為測控軟件的開發提供了性能優良軟件平臺。


通用工控硬件平臺設計
1 AT91RM9200微處理器最小系統構成
最小系統是保證微處理器可靠工作所必需的基本電路。基于AT91RM9200微處理器的最小嵌入式系統由微處理器AT91RM9200、電源電路、晶體振蕩器電路、復位電路、JTAG接口、存儲器模塊、串行調試接口等電路組成。至此就具備了設計開發一款基于ARM微處理器的通用工控平臺的硬件基礎。


2 硬件平臺外圍接口電路
利用AT91RM9200豐富的內置外設,可以方便的擴展外圍接口,如表2所示。


3 硬件平臺用戶接口
系統對外提供一個2*32針的標準3U插槽,共64針。3U插槽專門設計用于便攜式應用,特別適合作為一體化的移動控制器用于工業測控、產品線、運輸系統和交通控制系統的應用。


4 硬件平臺結構
根據上述對AT91RM9200最小系統及各外圍部件的設計,最終構成以AT91RM9200微處理器為硬件核心的通用工控硬件平臺,如圖1所示。

圖1 通用工控平臺硬件結構

通用工控軟件平臺設計
1 基于ARM硬件平臺搭建Linux操作系統
ARM-Linux開發環境搭建
建立以嵌入式Linux為操作系統的工控平臺的開發環境和在Windows下安裝虛擬機Linux環境的軟件的開發環境,嵌入式Linux內核編譯、應用程序編譯都在該虛擬機完成。為了提高開發效率,以虛擬機中安裝的Linux為服務器,通過Windows客戶端使用Telnet或SSH登錄服務器,服務器可自由在客戶端中下載必需的開發工具及軟件,調試應用程序時,可以先在PC的Linux環境下進行模擬,然后通過DEBUG調試串口下載在目標平臺下。這種開發環境的優點是只需要一臺計算機就可以真實的模擬Linux,具體過程如圖2所示。

圖2 開發環境


交叉編譯
交叉編譯就是在一個平臺上生成另一個平臺上的可執行代碼。所謂平臺,實際上包含兩個概念:體系結構及操作系統。根據上述建立的開發環境,目標平臺是基于ARM體系結構的運行嵌入式Linux操作系統,而開發編譯環境是基于PC中虛擬機上的Linux操作系統。若在目標平臺上運行程序,則須在PC開發環境下對代碼進行交叉編譯以適應目標平臺。


依據環境變量PREFIX,將編譯好的工具鏈安裝到指定文件夾就可以使用了。


例如,修改arm-Linux-gcc-2.95.3的環境變量為:
PATH=$PATH:$HOME/bin:$PREFIX/bin:/usr/local/arm/2.95.3/bin:/sbin:/usr/sbin:/usr/local/sbin,同時編寫hello.c程序進行驗證
$arm-Linux-gcc hello.c -o hello-arm
$file hello-arm
hello-arm: ELF 32-bit LSB executable, ARM, version1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs),not stripped
這表明生成的hello-arm可以在ARM平臺上運行,也證明交叉編譯工具鏈是有效并且可用的。


 Linux內核編譯下載
具體步驟如下:


(1) 解壓Linux-2.6.21-2009-04 -10.bz2:tar  xjvf Linux-2.6.21 -2009-04-10.bz2;


(2)  進入Linux-2.6.21目錄,內核編譯:make uImage;


(3) 編譯完成后,通過SSH把uImage文件拷貝到Windows環境下;


(4)  配置U-Boot環境變量;


(5)  配置tftp服務器:運行Linux系統下的tftp服務器,復制Linux內核的uImage文件到tftp下載工作目錄下,啟動tftp服務,確保PC和AT91RM9200接入同一網段;


(6) 下載內核映像文件,并在U-Boot提示符下擦除Flash;


(7) 下載內核映像文件到Flash中;


Linux文件系統
軟件平臺使用cramfs文件系統,其特點是:系統訪問某個位置的數據時,立即計算出該數據在cramfs中的位置,解壓到RAM中,然后通過內存訪問來獲取數據,cramfs中的解壓縮之后的內存中的數據存放位置都是由cramfs文件系統本身來管理,用戶并不需要實現過程,因此增加了透明度,給開發人員節約了時間。


2 Linux操作系統下設備驅動開發
Linux上的設備驅動非常豐富,支持各種主流硬件設備和最新的硬件技術。設備驅動程序在Linux內核中,是一個個獨立的“黑盒子”,使某個特定的硬件響應一個定義良好的內部編程接口,同時完全隱藏設備的工作細節。通過一組標準化的調用,把這些調用映射到設備特定的操作上,則是設備驅動程序的任務。而在Linux系統里,每一個設備都被看作一個文件,打開的設備在內核中由一個File結構標志,內核使用File_operations結構訪問驅動程序的函數。每個設備與一組標準函數集關聯。


3 Linux操作系統下應用程序開發
采取在PC上編譯應用程序,運行測試通過后,再通過網絡或串口等方法下載到目標平臺/usr目錄下,對于較小的程序,使用串口下載比較方便,具體的步驟為


(1)  PC模擬環境下開發程序,交叉編譯;


(2)  待ARM平臺下Linux正常運行后,進入usr目錄,然后選擇下載的程序;


(3)  下載完成后,chmod +x filenam修改文件屬性為可執行命令;


(4)  執行剛下載的文件命令為./filename。

通用工控平臺人機交互通信機制實現
嵌入式GUI為嵌入式系統提供了一種應用于特殊場合的人機交互接口。新一代嵌入式GUI的主要特征有:以用戶為中心、多通道、智能化、高帶寬。嵌入式Linux 系統中,幾乎所有的GUI 都建立在FrameBuffer設備上。


MiniGUI 是一個根據嵌入式系統應用特點量身定做的完整的圖形支持系統。將現代窗口和圖形技術帶入到嵌入式設備,是一個非常適合于嵌入式設備的高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統,主要優點可總結為支持多種嵌入式操作系統,具備優秀的可移植性;可伸縮的系統架構,易于擴展;功能豐富,可靈活剪裁;得到小體積高性能間的最佳平衡且具有廣泛的應用領域。


1 移植MiniGUI前準備
MiniGUI 1.3.3是MiniGUI的開源版本,并且資源豐富,性能穩定,因此選用MiniGUI 1.3.3作為GUI的開發環境。進行MiniGUI移植需要準備表3所列的文件,它們可在互聯網上獲得。


2 PC模擬器開發環境搭建
建立自己的開發目錄,解壓文件libminigui-1.3.3.tar.gz和minigui-res-1.3.3.tar.gz;編譯安裝MiniGUI運行所需庫文件libminigui;安裝資源文件minigui-res-1.3.3;修改/etc/ld.so.conf 文件,加入一行/usr/local/lib,然后執行[root]# ldconfig 按照硬件平臺配置與開發環境的設置修改minigui配置文件,包括修改路徑,屏幕分辨率等。


PC模擬器開發環境搭建完畢后,就可在 PC上開發應用程序,在 qvfb中執行,驗證程序的正確后,就可以進行交叉編譯下載運行。


3 交叉編譯Minigui1.3.3
解壓arm-Linux-2.95.3.bz2文件安裝交叉編譯工具?cross-2.95.3,安裝之后修改.bashrc腳本,設置環境變量:PATH="$PATH:/sbin:/usr/local/arm/2.95.3/bin:/usr/local/bin:/usr/local"。


接下來依次安裝 zlib庫,png庫、libttf庫,它們的作用分別是:其他的庫的編譯基礎、顯示PNG圖形、顯示文字。完成以上附加庫的交叉編譯工作后就可以編譯libminigui了。把/usr/local/arm/2.95.3/arm-Linux/lib中相應的庫拷到目標板/usr/lib目錄下,拷貝時先對庫文件執行arm-Linux-strip命令,去除文件中的調試信息。同時把資源文件復制到目標平臺的/usr/local/lib目錄下。這樣就完成了交叉編譯工作,可以將PC上調試好的應用程序下載到目標硬件平臺下進行應用了。

通用工控平臺人機界面開發
1 人機交互界面需求分析及總體設計
通用工控平臺通信人機交互界面是集功能演示、信息采集、設備狀態、通信交互等功能于一身的人機交互平臺,可以高效、直觀的顯示通用工控平臺的基本信息,同時有效的指導用戶的操作,提高使用效率,是用戶和通用工控平臺交互的主要方式。


該人機交互界面顯示器選用PHILIPS公司的14英寸彩色顯示屏,軟件運行環境選用嵌入式操作系統Linux 2.6.21和GUI開發環境MiniGUI 1.3.3構成,整個軟件的設計過程需要完成以下功能:


(1)  實時顯示該平臺具體信息,及本網內在線的其他工控設備的信息;


(2)  以該平臺為控制器實現對本網內在線的其他常見設備的多線程信息采集與控制;


(3)  以UDP及RS485兩種通信方式實時控制工控網絡內部;


(4)  對工控設備掉線自動斷開連接,防止用戶誤操作;


通用工控平臺通信人機交互界面主要是針對UDP和RS485兩種組網方式基于Modbus協議完成工控系統中功能演示、信息采集、設備狀態、通信交互的功能,設計上要求簡單實用,操作方便,而復雜的界面會帶來不必要的開銷并影響性能。根據需求分析設定人機交互界面整體設計方案及效果圖如圖3、圖4所示。

圖3 人機交互界面整體設計方案

圖4 總體效果圖


2 界面設計流程
利用MiniGUI進行界面設計流程如圖5所示。

圖5 界面設計流程

基于工業測控Modbuss協議的通信實現方案
一個好的工控平臺必須具備高效通信的功能,才能跟上工業發展的要求。本文所設計的通用工控平臺,可以作為控制中心對通信網絡內的其他設備進行數據采集和控制,包括工控現場典型意義上的數模轉換設備,模數轉換設備,數字量設備等,隨時掌握各個工作現場的情況。由于Modbus協議是工業測控領域的標準通信協議,協議簡單,應用廣泛,因此本平臺通信軟件的設計就采用Modbus協議。


工業測控領域常見的組網方式主要有UDP方式和RS485方式,分別以自身獨特的優勢在工業組網占據著一定地位。為實現工控平臺通用性的設計目標,本平臺將兩種組網方式融合在通信人機交互界面中,圖6為本平臺通信的拓撲結構圖。

圖6 通信拓撲結構

結語
在基于ARM和Linux的通用工控平臺的研制過程中,硬件平臺選擇合適的ARM微處理器AT91RM9200,并對其外圍部件進行擴展,以適應當前工控現場更加豐富的技術要求,并結合現場總線技術,擴展多種通信接口,滿足用戶的通信需求;軟件平臺采用嵌入式領域應用最廣的Linux為操作系統,同時構建交叉編譯環境,并充分利用開源軟件,基于圖形界面開發的MiniGUI,針對工控領域的總線協議Modbus設計出基于UDP和RS485兩種通信結構的工控人機交互界面,實現了以網絡溝通能力強、接口豐富為技術指標的基于ARM和Linux的通用工控平臺。


本通用工控平臺的主要特色有:


(1)硬件接口豐富,適應工業測控領域各種需求;


(2)使用3U插槽,增強通用性及擴展性;


(3)基于Linux操作系統及MiniGUI圖形界面開發環境,人機交互界面友好便捷;


(4)采用工業測控Modbus通信協議,基于串行RS485及網絡UDP構建通信拓撲結構,應用范圍廣泛、性能可靠、實時性高。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲人成77777在线观看网| 香蕉视频成人在线观看| 国产精品视频1区| 欧美女激情福利| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美在线视频导航| 亚洲欧美一区二区三区在线| 中日韩美女免费视频网址在线观看 | 日韩一区二区免费高清| 亚洲国产成人在线| 欧美在线观看www| 校园激情久久| 欧美自拍偷拍| 久久国产一区二区| 久久精品免费观看| 亚洲承认在线| 久久精品国产91精品亚洲| 欧美专区第一页| 久久精品99无色码中文字幕| 欧美在线欧美在线| 久久国产精品一区二区三区| 久久精品论坛| 亚洲激情在线视频| 亚洲精品欧美精品| 日韩图片一区| 一区二区三区四区在线| 亚洲午夜视频在线观看| 亚洲欧美日韩天堂一区二区| 亚洲欧美日韩中文视频| 亚洲欧美网站| 久久精品日产第一区二区| 久久激情视频| 麻豆成人精品| 欧美激情1区2区| 欧美三级第一页| 国产精品美女久久久免费| 国产精品亚洲аv天堂网| 国产日韩一区二区三区在线| 国产一区二区丝袜高跟鞋图片| 激情综合久久| 亚洲黄色成人| 中文亚洲视频在线| 欧美一级午夜免费电影| 亚洲国产日韩在线| av72成人在线| 午夜精品成人在线| 久久一区二区三区四区| 欧美精品一区在线观看| 欧美三级网址| 国产一区二区三区的电影 | 亚洲成人在线视频播放| 日韩视频一区二区三区| 亚洲视频在线二区| 久久精品国产综合| 欧美国产日产韩国视频| 国产精品高清在线| 黑人巨大精品欧美黑白配亚洲| 91久久夜色精品国产九色| 在线亚洲伦理| 久久精品视频va| 亚洲社区在线观看| 久久精品国产免费观看| 欧美大片第1页| 国产精品久久久久久久久久免费| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜久久久久久| 老司机免费视频一区二区| 欧美日韩国产一区二区三区| 国产欧美激情| 亚洲精品永久免费| 欧美亚洲在线观看| 99成人精品| 久久精品亚洲一区二区三区浴池| 欧美精品免费观看二区| 国产欧美在线播放| 亚洲精品在线免费观看视频| 亚洲欧美激情一区| 99精品久久久| 久久久久在线| 国产精品久久久久久福利一牛影视 | 国产一区二区三区高清在线观看| 亚洲精品在线一区二区| 欧美在线观看一区二区三区| 亚洲先锋成人| 免费人成网站在线观看欧美高清| 国产精品扒开腿做爽爽爽视频| 在线成人免费视频| 亚洲男女毛片无遮挡| 亚洲乱码国产乱码精品精可以看| 久久av一区| 欧美午夜无遮挡| 亚洲国产高清一区| 欧美亚洲视频在线观看| 亚洲午夜久久久久久尤物| 蜜桃精品一区二区三区| 国产欧美一区二区精品性色| 亚洲麻豆av| 亚洲人成绝费网站色www| 久久精品电影| 国产精品视频导航| 日韩一级不卡| 日韩午夜电影| 蜜乳av另类精品一区二区| 国产欧美一二三区| 亚洲一区二区av电影| 中国成人黄色视屏| 欧美激情一区在线| 亚洲高清在线| 亚洲二区视频| 久久久精品久久久久| 国产乱码精品一区二区三区五月婷| 亚洲精品视频在线看| 亚洲日本理论电影| 麻豆精品在线视频| 一区二区三区在线免费视频| 欧美一区二区三区视频在线| 午夜精品久久久久| 国产精品嫩草影院av蜜臀| 99热在线精品观看| 国产精品99久久久久久人| 欧美久久久久久| 亚洲激情电影在线| 亚洲人成在线免费观看| 久久一区免费| 一区二区在线免费观看| 久久精品国产亚洲aⅴ| 久久国产免费| 国产一区二区欧美| 欧美中文字幕在线| 久久综合狠狠综合久久综青草 | 欧美大秀在线观看| 亚洲电影免费| 日韩网站免费观看| 欧美日本在线视频| 亚洲毛片av| 亚洲永久在线| 国产伦精品一区二区三区在线观看 | 亚洲精品在线观| 欧美国产日韩一区二区三区| 91久久精品国产91性色tv| 亚洲精品在线看| 欧美日韩国产在线播放网站| 99精品福利视频| 亚洲一区视频在线| 国产欧美一区二区精品婷婷| 欧美一区1区三区3区公司| 久久男女视频| 亚洲国产精品一区制服丝袜 | 久久精品日韩欧美| 在线观看av一区| 在线中文字幕一区| 国产精品尤物福利片在线观看| 久久er99精品| 欧美精品1区2区| 亚洲——在线| 老司机精品导航| 亚洲看片免费| 久久成人在线| 亚洲国产另类久久久精品极度| 国产精品99久久不卡二区| 国产精品视频免费观看| 亚洲国产99精品国自产| 欧美日韩另类视频| 亚洲欧美综合另类中字| 欧美 日韩 国产在线| 99精品欧美一区二区蜜桃免费| 欧美一区激情视频在线观看| 极品日韩久久| 亚洲无亚洲人成网站77777| 国产一区二区三区在线观看免费视频 | 国产一区二区成人久久免费影院| 欧美中文字幕视频在线观看| 欧美日韩大陆在线| 亚洲手机成人高清视频| 亚洲午夜视频在线| 狠久久av成人天堂| 夜夜嗨av一区二区三区网页| 欧美三级不卡| 亚洲国产专区校园欧美| 欧美精品国产精品日韩精品| 9i看片成人免费高清| 欧美在线播放高清精品| 亚洲国产日韩一区| 亚洲影院污污.| 国产一区 二区 三区一级| 亚洲乱码久久| 国产一区日韩一区| 亚洲美女中出| 国产精品久久国产愉拍| 午夜精品久久久久99热蜜桃导演| 欧美精品999| 亚洲欧美视频| 欧美ed2k| 99视频精品在线| 久久精品视频一| 亚洲精品影院在线观看| 国产精品99久久久久久久女警| 欧美手机在线视频| 国产无一区二区| 99riav1国产精品视频|