《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于嵌入式開發平臺的粘度控制器設計
基于嵌入式開發平臺的粘度控制器設計
來源:微型機與應用2013年第15期
陳 林
(中國船舶重工集團公司第七一〇研究所,湖北 宜昌 443003)
摘要: 介紹了一種船舶主機燃油粘度試驗臺中粘度控制器的設計。包括控制器人機界面的設計、控制器的嵌入式開發平臺和開發環境、硬件接口設計原理以及軟件設計方法等。
Abstract:
Key words :

摘  要: 介紹了一種船舶主機燃油粘度試驗臺中粘度控制器的設計。包括控制器人機界面的設計、控制器的嵌入式開發平臺和開發環境、硬件接口設計原理以及軟件設計方法等。
關鍵詞: 嵌入式;主機;粘度;控制

 近代船舶柴油機為降低營運成本,使用低質燃油,由于在常溫下其粘度很高,在管路中難以運輸,更不能直接噴入氣缸進行燃燒。為了保證船舶主機燃燒良好,能正常運行,燃油粘度必須保持在一個合適的范圍內[1]。半實物主機燃油粘度仿真控制系統,把船上的燃油粘度控制系統遷移到了教學實驗室中。本文內容為試驗臺上粘度控制器的設計與實現。
1 粘度控制器人機界面
 粘度控制器人機界面如圖1所示。矩形區域為LCD顯示區域。下方8個按鍵區域為控制狀態選擇區,分別有粘度控制、溫度控制、手動控制和停止控制、主界面、設置模式、報警復位等按鍵。右邊16個按鍵的區域為數字鍵操作區域和符號鍵區域。包括數字鍵、修改數據、移動光標、清除數據、確定等按鍵。

2 控制器硬件設計
 在本半實物主機燃油粘度控制系統設計中,燃油粘度控制器需要實現操作模式、控制方式、開關量、數據量等狀態的顯示,也要實現各個變量的修改,也可以進行報警復位的操作。為實現如上功能,除需要嵌入式網絡模塊外還需有LCD顯示、鍵盤輸入、與上位機通信、開關量輸出等模塊。
2.1 嵌入式網絡模塊
 控制器以成都英創的EM9260嵌入式網絡模塊為基礎開發完成。EM9260是一款面向工業自動化領域的高性價比嵌入式網絡模塊,其內核CPU為工業級品質的AT91SAM9260,模塊已預裝正版Window CE5.0實時多任務操作系統,用戶可直接使用Microsoft提供的免費軟件開發工具eVC(+SP4)或其他更高版本的開發工具,在EM9260上開發自己的應用程序。英創公司針對EM9260提供了完整的接口底層驅動以及豐富的應用程序范例,用戶可在此基礎上方便、快速地開發出各種工控產品。
2.2 LCD顯示部分
 EM9260的主要應用領域是那些需要連續工作的工業環境,甚至是無人值守的環境,因此對顯示的要求相對較低。即使使用LCD,通常也是顯示一些設備工況信息,因此可選用一些低成本LCD模塊,如控制器為KS0108、分辨率為128×64的點陣LCD模塊就是典型的低成本LCD。在程序設計上,LCD顯示僅僅是作為ISA總線上擴展的簡單外設,而不是通常意義下的Windows顯示窗口。從CE的觀點來看,EM9260屬于典型的無頭設備(Headless)。對常用的幾款低成本LCD屏,EM9260的LCD驅動程序可實現自動識別,為客戶產品的LCD選型提供了靈活性。
 控制器選用240×128 LCD屏,將信號線與模塊連接即可實現。LCD信號接口電路如圖2所示。


 圖4是通過ISA總線擴展矩陣鍵盤的原理圖,用1片74HCT139對總線地址譯碼,再通過74HCT273實現8位數字輸出用于掃描輸出,通過74HCT245回讀掃描碼,僅需要3個器件,就能實現8×8矩陣鍵盤擴展。
外接矩陣鍵盤原理圖如圖5所示。

 

 

 將CAN接口與CAN接口卡按信號線相接,即可實現與上位機的通信。
2.5 開關量輸出部分
 使用嵌入式模塊的GPIO輸出接口,可以實現控制器的報警聲音,以及指示燈的點亮。電路如圖7所示。

3 控制器軟件設計
 主板安裝了操作系統WindowsCE,WindowsCE是微軟公司嵌入式、移動計算平臺的基礎,它是一個開放的、可升級的32位嵌入式操作系統,是基于掌上電腦類的電子設備操作系統,Windows CE是精簡的Windows 95,它的圖形用戶界面相當出色。Windows CE是有優先級的多任務操作系統,它允許多重功能、進程在相同時間系統中運行Windows CE支持最大的32位同步進程。一個進程包括一個或多個線程,每個線程代表進程的一個獨立部分,一個線程被指定為進程的基本線程,進程也能創造一個未定數目的額外線程,額外線程實際數目僅由可利用的系統資源限定[2]。
 軟件開發工具為eVC,eVC是微軟針對嵌入式系統提供的一套功能完善且可免費獲取的開發工具,與PC平臺通用的VC保持了高度的一致性,同時考慮C/C++的執行效率,因此eVC被作為EM9260應用程序開發的首選工具。建立好英創ARM9嵌入式模塊所需的硬、軟件開發環境,并利用以太網將開發主機和英創ARM9嵌入式模塊連接成功以后,用戶就可以通過eVC開發、調試自己所需的應用程序了。eVC開發環境和普通的VC非常相似,客戶可以通過市面上很常見的大量VC書籍資料來進行編程方面的學習。然而,使用eVC開發和VC的最大區別之一在于VC開發的程序直接運行于普通PC機;eVC開發的應用程序最終要在目標機而非PC機上運行調試。這一過程是廣大VC程序員和剛接觸嵌入式系統的工程師所不熟悉的。
3.1 系統主程序軟件設計
 根據控制器系統設計,軟件開發涉及到LCD菜單顯示、按鍵、CAN通信等操作??刂破髦鞒绦蛄鞒虉D如圖8所示。

3.2 矩陣鍵盤軟件設計
 矩陣鍵盤驅動程序每隔20 ms掃描一次鍵盤,判斷是否有按鍵輸入,如果確認了按鍵輸入,則產生WM_KEYDOWN消息,緊接著判斷按鍵是否釋放,按鍵釋放后產生WM_KEYUP消息,然后進行下一次掃描,如此循環。圖9是按鍵掃描程序的流程圖。

 根據上述流程圖,封裝的KEY_API類,該類提供兩個方法函數,如下:
 //打開鍵盤掃描
 //nRow,nCol矩陣鍵盤行列數,最大為8×8
 BOOL OpenKeyPad(int nRow,int nCol);
 //關閉鍵盤掃描
 BOOL CloseKeyPad();
 通過KEY_API類,在應用程序中,僅需要調用OpenKeyPad()函數,就能打開鍵盤掃描程序。當鍵盤上某個鍵按下時,驅動程序將產生WM_KEYDOWN和WM_KEYUP消息。這兩個消息的附加參數(wParam和lParam)包含的是虛擬鍵代碼和掃描碼等信息,應用程序中可通過TranslateMessage函數將WM_KEYDOWN和WM_KEYUP消息組合轉換為一條WM_CHAR消息,該消息的wParam附加參數包含了按鍵字符的ASCII碼[3]。
3.3 CAN通信軟件設計
3.3.1 CAN報文的幀格式

 在CAN2.0B中存在兩種不同的幀格式,其主要的區別在于標識符的長度,具有11位標識符的幀稱為標準幀,而包括有29位標識符的幀稱為擴展幀。
3.3.2 啟動CAN通信接口
 CAN通信接口的驅動程序采用的是WinCE下流式驅動程序(StreamDevice Driver),并在此驅動程序的基礎上為客戶封裝了一套簡單實用的API函數。各個函數的定義在can_api.h文件下,在該頭文件中對于各個API函數均有相應的中文說明。作為流式接口函數通常是和文件系統的API函數(如CreateFile)緊密匹配的,因此在使用英創提供的CAN接口的API函數時,首先需要調用CreateFile(…)來獲取CAN接口設備的句柄handle,如使用CAN1通信口,可以用以下函數:
     m_hCAN=CreateFile(_T(“CAN1:”),
    GENERIC_READ|GENERIC_WRITE,
              0,NULL,OPEN_EXISTING,0,NULL);
 對于CAN2通信接口,只需將其中的名稱換成:_T(“CAN2:”)即可。在創建CAN設備得到有效的handle之后,就可以調用can_api.h中定義的相應函數來啟動CAN設備接口BOOL CAN_StartChip(HANDLE hDevice);至此CAN通信接口進入工作模式。
3.3.3 設置CAN通信接口參數
 在進行CAN數據通信之前,需要設置和CAN通信相關的一些參數,包括CAN通信的波特率設置以及對接收過濾器的設置。BOOL CAN_SetBaudRate(HANDLE hDevice,BYTE*index)用于設置CAN通信的波特率,波特率的設置范圍為:10 kb/s~1 Mb/s。具體的定義參見can_api.h文件中的注釋說明。通過配置接收過濾器,CAN通信接口可以實現只接收標識符也接收過濾器預設值相一致的報文。接收過濾器由接收碼寄存器ACRn和接收屏蔽碼寄存器AMRn來定義,還可以選擇兩種不同的過濾器模式,單過濾器模式或者雙過濾器模式。關于ACR、AMR中各位的定義,參見SJA1000的數據手冊。在英創提供的API函數中,用戶可以調用以下函數來實現接收過濾器的設置:
 BOOL CAN_SetGlobalAcceptanceFilter(HANDLE hDevice,BYTE*AcceptanceFilter,BYTE size)
3.3.4 CAN通信接口的數據收發
 采用的CAN通信方案中,CAN通信的數據收發均采用中斷方式,驅動程序中已自動完成了數據的收發以及內部定義的CAN接收緩沖區和發送緩沖區的管理。對于用戶開發應用程序來說,只需要調用英創公司提供的CAN通信API函數中的收發函數即可[4]。
 在進行CAN通信應用程序的開發時,對于CAN通信數據接收線程可以采用兩種方式:一種可以采用定時查詢,即定時調用函數CAN_GetNextReceivedFrame(…)檢測是否接收到CAN報文數據;一種可以利用操作系統的消息機制,采用事件響應的方式,一旦硬件接收到數據報文,底層的驅動接收程序會自動讀取報文,同時發送一個接收事件。作為應用程序的接收線程在等待到該事件后,調用CAN_GetNextReceivedFrame(…)即可進行CAN數據報文的讀取。需要注意的是函數CAN_GetNextReceivedFrame每執行一次,只是讀取了1幀CAN數據報文,如果在應用程序中需要將最新的數據全部讀出,只需反復調用該函數,直到該函數的返回值為FALSE[5]。
 CAN數據報文的發送比較簡單,應用程序直接調用函數CAN_SendFrame(…)即可。
 在粘度控制器的開發中,對嵌入式開發平臺的熟悉過程至關重要。其中包括開發板接口的使用,各個模塊的調試和實現。對硬件接口規劃完成后大量的工作集中在程序的編寫。包括擴展鍵盤的實現中類庫的加載、數字量數據位數的調試、can通信規則的調試、光標的實現過程中多線程方法的學習和使用,且解決了調試過程中發現的由于電磁干擾導致LCD復位黑屏的問題以及LCD背光的實現。
 經后期在已完成的3套粘度控制試驗臺上使用測試,該粘度控制器系統穩定、使用簡單方便,滿足了預期的控制和通信的功能,但是由于采用的是成品的嵌入式平臺,開發板資源配置上還可以優化以節約資源成本。
參考文獻
[1] 姜淑翠.基于單片機的船舶主機燃油黏度控制[D].大連:大連海事大學,2010.
[2] 王洪杰.Windows CE下多線程多路播放的設計[D].天津:天津大學,2006.
[3] 胡在華.實時嵌入式系統的研究與應用[D].長沙:湖南大學,2002.
[4] 蔡建平.關于嵌入式應用開發技術[J].單片機與嵌入式系統應用,2001(3):5-11,34.
[5] 張琪君.基于面向對象的嵌入式系統軟件開發方法研究及其應用[D].濟南:山東大學,2006.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          影音先锋亚洲一区| 欧美私人啪啪vps| 国产精品一卡| 欧美顶级艳妇交换群宴| 妖精视频成人观看www| 欧美成人资源| 午夜影院日韩| 永久久久久久| 久久动漫亚洲| 欧美激情综合在线| 久久国产日韩| 亚洲欧美在线另类| 国产亚洲一二三区| 老司机午夜免费精品视频| 国产资源精品在线观看| 午夜一区二区三视频在线观看| 一本色道久久综合| 欧美中文在线免费| 亚洲欧美日韩中文视频| 久久精品亚洲一区二区三区浴池| 一区二区国产精品| 尹人成人综合网| 欧美精品v日韩精品v国产精品| 欧美激情精品久久久久久免费印度| 亚洲最快最全在线视频| 欧美午夜精品久久久久久孕妇| 国产综合久久久久影院| 韩国一区二区在线观看| 国产精品99久久久久久久久久久久| 国产精品欧美日韩一区二区| 99精品欧美一区二区三区综合在线| 欧美色欧美亚洲高清在线视频| 久久超碰97人人做人人爱| 久久不射中文字幕| 国产精品国产三级国产aⅴ浪潮| 欧美日韩免费看| 久久久国产精品亚洲一区| 亚洲丰满少妇videoshd| 亚洲视频精品在线| 欧美日韩亚洲一区二区三区| 亚洲欧美自拍偷拍| 日韩视频在线播放| 久久av最新网址| 亚洲日本中文字幕免费在线不卡| 欧美视频一区二区三区| 久久综合色8888| 欧美成人午夜免费视在线看片| 欧美一级专区| 亚洲制服欧美中文字幕中文字幕| 亚洲一二三区视频在线观看| 亚洲日本精品国产第一区| 最近看过的日韩成人| 欧美激情一区二区三区蜜桃视频| 另类专区欧美制服同性| 亚洲精品国精品久久99热一| 欧美国产在线视频| 久久久久久国产精品一区| 久久九九电影| 国产午夜亚洲精品不卡| 欧美怡红院视频一区二区三区| 欧美精品手机在线| 免费看黄裸体一级大秀欧美| 欧美视频在线免费| 伊人久久久大香线蕉综合直播| 欧美一级精品大片| 亚洲电影第1页| 欧美**字幕| 久久理论片午夜琪琪电影网| 99精品免费视频| 老司机午夜精品| 欧美成人三级在线| 亚洲国产精品成人一区二区| 亚洲精品视频在线观看网站| 国产精品99久久99久久久二8| 久久久精品国产一区二区三区| 国产伦精品一区二区三区视频孕妇| 亚洲一区二区三区精品动漫| 久久久无码精品亚洲日韩按摩| 亚洲国产成人91精品| 国产一区视频在线观看免费| 亚洲午夜女主播在线直播| 午夜国产精品视频免费体验区| 亚洲毛片在线看| 亚洲免费电影在线观看| 亚洲欧美日韩国产一区二区三区| 老司机久久99久久精品播放免费| 亚洲国产日韩一区二区| 91久久中文字幕| 欧美日韩大片一区二区三区| 欧美黄色一区| 久久久噜噜噜久久久| 欧美体内she精视频| 亚洲国产成人porn| 亚洲美女色禁图| 伊人成人在线视频| 欧美aaaaaaaa牛牛影院| 久久综合99re88久久爱| 欧美国产日本| 欧美性色视频在线| 99亚洲伊人久久精品影院红桃| 男人的天堂亚洲在线| 国产亚洲一二三区| 国产精品国产精品| 欧美午夜精品久久久久久孕妇| 欧美成人免费视频| 久久婷婷国产综合国色天香| 久久成人一区二区| 黄网动漫久久久| 国产精品呻吟| 欧美一区二区三区喷汁尤物| 欧美深夜影院| 玖玖综合伊人| 一区二区三区国产| 国产精品午夜春色av| 91久久国产精品91久久性色| 国产九九视频一区二区三区| 亚洲视频中文字幕| 久久精品中文字幕免费mv| 国产亚洲精品aa| 亚洲伦理在线观看| 国产欧美日韩三级| 香蕉久久夜色精品国产| 欧美婷婷六月丁香综合色| 亚洲精品三级| 欧美日韩精品免费观看| 久久精品国产免费看久久精品| 亚洲第一精品影视| 国内自拍视频一区二区三区| 亚洲综合日韩中文字幕v在线| 久久久av水蜜桃| 久久精视频免费在线久久完整在线看| 亚洲国产精品毛片| 国产日韩视频| 麻豆成人小视频| 久久精品一区二区三区四区| 久久国产88| 精品动漫3d一区二区三区免费| 性娇小13――14欧美| 国产精品久久久久久久久免费桃花| 久久精品亚洲热| 欧美午夜在线一二页| 亚洲欧美变态国产另类| 久久久久久一区二区| 黑人中文字幕一区二区三区| 午夜精品视频在线| 久久大香伊蕉在人线观看热2| 久久一二三四| 欧美日韩高清在线观看| 国产精品亚洲网站| 韩日精品视频| 国产亚洲欧美日韩美女| 99精品欧美一区| 国产精品视频久久| 亚洲一区二区三区久久| 欧美一级久久久久久久大片| 国产综合欧美在线看| 制服诱惑一区二区| 亚洲精品欧洲精品| 美女视频网站黄色亚洲| 在线亚洲一区二区| 国产精品video| 亚洲黄网站在线观看| 亚洲人成在线观看网站高清| 国产精品女人网站| 欧美精品久久久久久久久久| 在线亚洲成人| 亚洲欧洲99久久| 欧美不卡视频| 亚洲专区在线视频| 国产精品国产a级| 在线一区日本视频| 国产综合婷婷| 国产精品入口尤物| 久久人人超碰| 136国产福利精品导航网址应用| 国产精品久久久久久av福利软件| 国产乱理伦片在线观看夜一区| 99视频+国产日韩欧美| 久久精品中文| 国产精品theporn| 亚洲经典自拍| 亚洲精品美女在线观看| 精品动漫3d一区二区三区免费| 国产欧美日本一区二区三区| 伊人久久男人天堂| 国产精品美女久久久免费| 国产日韩欧美综合一区| 亚洲人成精品久久久久| 欧美久久久久久久久久| 国产精品美女www爽爽爽视频| 亚洲欧美三级在线| 国产主播精品| 久久午夜电影网| 久久综合久久综合这里只有精品| 中文精品在线| 国外成人在线视频网站| 中文日韩电影网站| 亚洲欧美激情在线视频| 欧美日韩在线视频观看| 久久躁日日躁aaaaxxxx| 香蕉久久夜色精品国产| 久久九九精品99国产精品| 国产有码在线一区二区视频| 先锋影音网一区二区| 国产精品丝袜xxxxxxx| 欧美成人首页| 国产综合色在线| 国产精品大片免费观看| 欧美视频在线观看| 亚洲在线一区二区三区| 欧美巨乳在线| 亚洲第一色中文字幕| 午夜欧美电影在线观看| 一区二区三区久久久| 99视频精品全国免费| 性18欧美另类| 欧美日韩国产成人高清视频| 国产人成精品一区二区三| 在线成人激情黄色| 香蕉久久精品日日躁夜夜躁| 夜夜爽夜夜爽精品视频| 亚洲免费av观看| 国产精品久久久99| 亚洲视频一二三| 亚洲欧洲在线视频| 亚洲美女视频在线免费观看| 亚洲精品一区在线观看香蕉| 欧美精品亚洲二区| 亚洲一区精品电影| 国产精品99免费看| 欧美三日本三级三级在线播放| 欧美精品色一区二区三区| 极品尤物av久久免费看| 国产女主播一区二区| 亚洲一区二区三区四区五区黄| 欧美国产丝袜视频| 欧美日韩精品一本二本三本| 欧美日韩国产首页| 亚洲国产综合在线看不卡| 亚洲人体影院| 久久久久久久性| 在线视频免费在线观看一区二区| 午夜精品婷婷| 老妇喷水一区二区三区| 欧美日本在线看| 亚洲视频一区在线观看| 亚洲欧美日韩网| 国产亚洲a∨片在线观看| 国产精品成人在线| 欧美成人精品三级在线观看| 校园春色国产精品| 欧美日韩一区二区三区四区在线观看| 欧美影院在线| 国产精品成人在线| 欧美激情按摩在线| 国产日本亚洲高清| 欧美色另类天堂2015| 欧美韩国日本综合| 亚洲激情视频在线观看| 性欧美办公室18xxxxhd| 欧美午夜欧美| 国产精品国产三级国产专播精品人| 99在线精品视频| 国产精品视频自拍| 国产麻豆综合| 亚洲一区自拍| 你懂的一区二区| 亚洲免费观看高清在线观看| 国产日韩欧美视频在线| 国产欧美日本一区二区三区| 一区二区三区高清视频在线观看| 久热精品视频在线观看一区| 欧美高清视频一区二区三区在线观看| 亚洲精品一品区二品区三品区| 国产一区视频在线看| 久久精品论坛| 在线观看不卡av| 欧美电影免费| 99国产成+人+综合+亚洲欧美| 欧美亚洲免费高清在线观看| 鲁大师成人一区二区三区| 久久夜色精品| 欧美噜噜久久久xxx| 亚洲激情自拍| 久久九九久久九九| 亚洲欧美在线高清| 欧美护士18xxxxhd| 国产一区二区三区丝袜| 久久国产手机看片| 亚洲高清在线观看一区| 亚洲精品免费在线观看| 一区二区视频欧美| 国产精品久久久久毛片大屁完整版| 欧美大片一区| 国产精品乱子久久久久| 亚洲国产女人aaa毛片在线| 狠狠色丁香婷婷综合影院| 国内精品久久久久影院 日本资源| 欧美一区二区精品久久911| 国产精品永久免费视频| 亚洲日本在线观看| 欧美精品 国产精品| 亚洲高清在线观看一区| 韩国美女久久| 午夜在线电影亚洲一区| 亚洲国内自拍| 国产视频精品va久久久久久| 欧美一区二区三区精品| 中文久久乱码一区二区| 国产精品日日摸夜夜添夜夜av| 欧美va天堂va视频va在线| 久久精品最新地址| 国产亚洲精品成人av久久ww| 久久在线免费观看视频| 欧美日韩亚洲一区二区三区四区| 国产精品wwwwww| 免费成人在线观看视频| 亚洲伦理在线观看| 国产老肥熟一区二区三区| 欧美日韩免费在线观看| 亚洲欧美日韩成人高清在线一区| 樱桃国产成人精品视频| 欧美成人精品影院| 亚洲图片欧美日产| 免费日韩一区二区| 亚洲综合色噜噜狠狠| 免费在线观看日韩欧美| 亚洲精品欧美专区|