《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > ARM+FPGA設備的人機界面數據交互設計與實現
ARM+FPGA設備的人機界面數據交互設計與實現
2015年微型機與應用第9期
吳向臣,吳茂林
(海軍工程大學 兵器工程系,湖北 武漢 430033)
摘要: 目前對裝備檢測設備的實時性、可視化的要求越來越高。嵌入式技術的應用,使檢測裝置變得可靠、實用和便攜。本文在OMAPL138嵌入式結構和Linux系統下,應用QTouch組態軟件進行檢測設備人機交互界面的開發。重點設計和分析Linux系統下與FPGA模塊的數據交互機制,從而滿足實時信息通信和檢測的人機交互需求。
Abstract:
Key words :

  摘  要: 目前對裝備檢測設備的實時性、可視化的要求越來越高。嵌入式技術的應用,使檢測裝置變得可靠、實用和便攜。本文在OMAPL138嵌入式結構和Linux系統下,應用QTouch組態軟件進行檢測設備人機交互界面的開發。重點設計和分析Linux系統下與FPGA模塊的數據交互機制,從而滿足實時信息通信和檢測的人機交互需求。

  關鍵詞: QTouch;人機交互;嵌入式Linux;ARM+FPGA;數據交換

0 引言

  由于目前裝備日趨信息化、智能化,裝備運行或使用過程中涉及到的信號也越來越多,對于這些信號的采集和分析,有助于裝備使用者了解裝備的狀態,及時維修維護,防患于未然。為了能更好更準確地檢測出裝備的一些關鍵信號,對檢測設備提出了更高要求,既需要有超高的精度也需要有便捷友好的操作界面。以便于操作人員迅速上手,簡化操作訓練。本文根據實際設備人機交互的設計需求,結合硬件設備和QTouch組態軟件設計了與FPGA硬件設備的數據交換機制,實現的人機交互界面直觀、信息量大、便于操作。

1人機界面設計原理

  QTouch軟件主要分為兩個重要的組成部分,一是PC端的軟件設計部分,二是嵌入式平臺的運行部分。兩者通過協議進行平臺間通信,在PC端設計完成的應用程序通過ModbusTCP協議上傳到嵌入式平臺部分,上傳完成后脫離PC端,在嵌入式平臺上獨立運行。其整體框架結構如圖1所示。

006.jpg

  軟件結構分為三層,分別是人機交互界面、數據庫和底層設備驅動數據。在對底層硬件進行數據寫入時,人機交互界面數據由操作人員通過手動輸入的方式給定,并通過應用程序傳入程序的實時數據庫,實時數據庫接收到數據后,驅動程序就可以調用實時數據庫中的數據,對底層硬件進行數據寫入。接收反饋數據時,由底層硬件檢測到數據,再由驅動程序將其存入實時數據庫,應用程序通過實時關聯某個數據存儲單元的數據,就可以實時地接收到硬件反饋的數據信息并顯示在屏幕上。數據交互原理如圖2所示。

007.jpg

2 界面與FPGA的數據交換機制

  2.1 數據類型

  研究數據交互的機制,首先需要確定數據的類型。當FPGA接收到設定時間參數后,并不能直接進行時間設定,因為數據接收端接收的數據類型并不是十進制的,所以不能將設定的時間信號直接傳遞到數據接收端,需要進行一定的數據編碼。這里使用的是Hamming碼[1]進行的數據編碼信號。

  Hamming編碼矩陣如下:

  6C9AFL%5}@K8Y](}I_~8KU7.png

  FPGA設備在接收到時間參數后,根據Hamming編碼矩陣將原始的十進制數編碼成二進制數碼。重新編碼后的時間參數通過FPGA端口以電信號的形式發送到數據接收端口。數據接收端口接收到時間參數后再進行解碼。

  2.2 數據交互機制

  2.2.1 硬件設備、操作系統和人機界面的關系[2-4]

  嵌入式設備的設計都分為硬件設計部分和軟件設計部分。硬件設計部分使用的是目前主流的FPGA+ARM結合的硬件結構,軟件設計部分使用Linux操作系統,以及使用QTouch編寫的人機交互界面,人機交互程序需要借助操作系統才能運行。Linux操作系統是連接硬件和人機界面的橋梁。三者關系如圖3所示。

008.jpg

  2.2.2 設備驅動[2]

  設備驅動是關聯操作系統和人機交互程序的橋梁。操作系統將輸入的數據以文件的形式寫入系統的特定文件中,人機交互程序通過調用驅動程序來讀取這些設備文件即可得到想要的數據。人機交互程序使用統一的接口函數調用相應的硬件驅動程序,這些函數都是在設備驅動中定義好的。這組接口被稱為系統調用。對于每一個系統調用,驅動程序中都有一個與之對應的函數,這些函數集合在一個file_operations類型的數據結構體中,file_operations結構體在Linux內核的include/linux/fs.h中定義。

  使用file_operations結構定義數據結構的程序代碼如下:

  Staticstructfile_operationsarm_fpga_fops={

  .owner=THIS_MODULE,

  .open=arm_fpga_open,

  .write=arm_fpga_write,

  .read=arm_fpga_read,

  .ioctl=arm_fpga_ioctl,};

  將FPGA字符設備和arm_fpga_fops結構體進行關聯。關聯程序的代碼設計如下:

  ret=register_chrdev(FPGA_MAJOR,DEVICE_NAME,&arm_ fpga_fops);

  if(ret<0)

  {

  prink(DEVICE_NAME”can′t register major number\n”);

  return ret;}

  程序頭文件中定義FPGA_MAJOR為FPGA設備的主設備號,程序主函數中設置FPGA_MAJOR=0,由系統自動分配主設備號。DEVICE_NAME定義為設備名稱。經過注冊,主設備號就和具體的file_operations結構聯系起來了,因此操作主設備號為FPGA_MAJOR的設備文件時,就會調用arm_fpga_fops中的相關函數。

  驅動程序通過操作設備文件來向硬件設備下發數據,為了解決設備文件的讀取和寫入問題,在軟件設計中借助Linux操作系統中提供的兩個重要函數:copy_to_user和copy_form_user。這是兩個很重要也是經常被字符設備使用到的函數。它們定義在Linux系統內核的~/arch/arm/lib/usercopy.c文件中。定義形式如下:

  unsigned long  copy_to_user(void_user*to,const void*from,unsigned long n)

  {

  might_sleep();

  BUG_ON((long)n<0);

  If(access_ok(VERIFY_WRITE,to,n))

  n=_copy_to_user(to,from,n);

  return n;}

  unsigned long copy_from_user(void_user*to,const void*from,unsigned long n)

  {

  If(access_ok(VERIFY_WRITE,from,n))

  n=_copy_from_user(to,from,n);

  else

  memzero(to,n);

  return n;}

  copy_from_user()函數用于將用戶給定的參數從用戶空間到內核空間的復制。copy_to_user()函數完成數據從內核空間到用戶空間的復制。在設備驅動中使用這兩個函數,FPGA設備文件的數據和人機交互程序的數據之間就能進行相互復制,也就實現了兩者的數據交換。

  這樣,使用QTouch組態軟件設計人機交互界面過程中,不需要編寫復雜的實現代碼,只需要將功能控件用類似于搭積木的方式構建在一起,由軟件庫文件調用相關函數。在程序設計過程中,不需要直接使用file_operations結構體中的操作函數編寫代碼。部分控件如圖4所示。

009.jpg

  3實驗及數據分析

  將人機交互程序寫入硬件設備中,使用設計的實際設備對數據交互進行系統調試,驗證程序的正確性。圖5為系統調試圖。

010.jpg

  由于時間參數的接收采用Hamming譯碼,數據進入FPGA以后會對時間裝定參數進行信號編碼。所以以下波形圖測得數據是以Hamming碼的形式顯示的。

011.jpg

  假設設定數據為33.3 s,即十位、個位、十分位都為3(二進制0011)。時間設定界面如圖6所示。

  實驗設定的時間數據通過人機交互程序下發到FPGA外設中,再由FPGA進行編碼轉換。現在以十位數為例,對得到的波形圖進行分析,如圖7所示。由實驗波形圖得到十位上的Hamming碼為0011101。通過查詢Hamming碼編碼矩陣,得到Hamming碼0011101對應數字3,可見實驗測得的數據與編碼矩陣數據完全吻合。用同樣的方法對個位和十分位進行分析,Hamming碼解碼得到的時間參數與人機交互程序設定的時間參數完全一致(都是33.3 s),因此可以判斷參數交互準確,程序設計達到預期目標。

012.jpg

013.jpg

  高電平載波信號實驗誤差分析如圖8所示。顯示的都是高電平調制的載波信號,該信號理論波形為正弦波,但是在本次實驗中由于設備精度的限制,在測量顯示時將載波信號的方波顯示為正弦波形,但是這樣的誤差在實驗的可允許范圍之內,因此不會對實驗的最終結論產生影響。

4 結束語

  本文基于QTouch的組態軟件設計的應用程序,實現了與ARM+FPGA嵌入式系統底層硬件平臺的數據交換,設計了友好的交互界面,并通過數據交換實驗,檢測驗證了數據交換機制的有效性,滿足設備的功能要求。本設計為設計功能更強更復雜的嵌入式設備打下了良好的理論和實驗基礎。

  參考文獻

  [1] 雷斌,王寧,仇平.FPGA的漢明碼數據傳輸系統的設計[J].西安工業大學學報,2009,29(6):559-564.

  [2] 宋寶華.Linux設備驅動開發詳解(第2版)[M].北京:人民郵電出版社,2010.

  [3] 倪繼利.Qt及Linux操作系統窗口設計[M].北京:電子工業出版社,2006.

  [4] 韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008.


此內容為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>
          一区二区三区日韩欧美| 国产精品免费一区二区三区观看| 欧美日本精品在线| 牛牛精品成人免费视频| 国产欧美一区二区三区久久人妖| 亚洲国产高清aⅴ视频| 亚洲欧美国内爽妇网| 久久久久久欧美| 亚洲美女黄色| 国产精品久久久久aaaa樱花| 亚洲人成77777在线观看网| 欧美午夜三级| 小处雏高清一区二区三区| 亚洲欧美bt| 欧美亚洲自偷自偷| 136国产福利精品导航| 亚洲国产精品视频一区| 欧美一级免费视频| 国产精品二区影院| 久久亚洲欧洲| 国产精品系列在线播放| 亚洲图片欧美日产| 国产日韩欧美黄色| 国产精品免费看久久久香蕉| 一区在线播放视频| 国产一区二区0| 欧美日韩中文| 亚洲免费黄色| 亚洲区一区二区三区| 亚洲男人的天堂在线aⅴ视频| 一区二区三区日韩欧美精品| 在线视频欧美一区| 久久精品一本久久99精品| 久久激情五月婷婷| 亚洲精品久久在线| 亚洲人久久久| 性欧美18~19sex高清播放| 国产午夜精品一区理论片飘花| 久久久久免费视频| 亚洲国产精品电影在线观看| 日韩午夜在线电影| 欧美在线综合| 国产精品久久久久影院亚瑟| 久久成人精品无人区| 国产精品夜夜嗨| 欧美成人在线免费视频| 亚洲欧洲日产国码二区| 久久精品人人爽| 亚洲一区国产精品| 久久久久九九视频| 免费观看亚洲视频大全| 女女同性女同一区二区三区91| 日韩网站在线看片你懂的| 国产亚洲欧美aaaa| 日韩一区二区精品在线观看| 影音先锋中文字幕一区二区| 久久综合狠狠综合久久综青草| 国产精品mv在线观看| 国产精品毛片a∨一区二区三区| 欧美偷拍另类| 国产精品xnxxcom| 日韩视频免费看| 久久精品国产69国产精品亚洲| 欧美国产日韩免费| 欧美成黄导航| 欧美日韩国产美女| 亚洲精品精选| 欧美一级专区| 欧美一区二区成人6969| 久久精品在线观看| 狠狠久久亚洲欧美专区| 久久人人97超碰国产公开结果| 亚洲图片欧洲图片日韩av| 亚洲精选视频在线| 亚洲国产一成人久久精品| 亚洲伊人伊色伊影伊综合网| 黄色成人免费观看| 欧美视频二区36p| 在线视频亚洲| 尤物yw午夜国产精品视频| 久久九九久精品国产免费直播| 性高湖久久久久久久久| 久久精品99| 国产一二精品视频| 亚洲国产成人av好男人在线观看| 欧美激情中文字幕乱码免费| 久久久高清一区二区三区| 伊人久久成人| 国内精品伊人久久久久av一坑| 好看的日韩av电影| 久久国产精品一区二区三区四区| 欧美激情视频一区二区三区免费| 国产精品国产亚洲精品看不卡15| 在线观看国产精品淫| 国产一区二区三区黄| 国产毛片一区二区| 久久久女女女女999久久| 亚洲美女黄色片| 国产一区导航| 欧美v亚洲v综合ⅴ国产v| av成人国产| 国产精品美女主播在线观看纯欲| 亚洲国产精品高清久久久| 亚洲第一成人在线| 久久久91精品国产一区二区三区| 久久久精品午夜少妇| 国产香蕉久久精品综合网| 在线观看视频一区二区| 国产精品日韩欧美一区| 国模精品一区二区三区| 国产精品国产三级国产普通话蜜臀| 欧美日韩一区二区三| 欧美日韩一区二区三区免费| 国产精品手机视频| 欧美极品影院| 亚洲午夜日本在线观看| 欧美人与禽性xxxxx杂性| 欧美gay视频激情| 亚洲国产经典视频| 欧美三区在线| 亚洲国产日韩精品| 欧美无砖砖区免费| 99视频精品| 国产乱人伦精品一区二区| 欧美日韩亚洲综合在线| 在线精品视频免费观看| 亚洲精品视频免费在线观看| 在线精品视频免费观看| 99精品视频网| 国产一区久久久| 国产精品青草久久| 久久久久综合一区二区三区| 午夜精品久久久久久久99水蜜桃| 性欧美暴力猛交69hd| 国产精品羞羞答答xxdd| 欧美色精品在线视频| 美女免费视频一区| 久久人人九九| 欧美激情中文字幕一区二区| 欧美日本中文字幕| 欧美午夜电影一区| 国产精品久久午夜| 亚洲国产精品va在线观看黑人| 国产久一道中文一区| 欧美视频久久| 免费在线观看成人av| 亚洲三级国产| 久久人人97超碰人人澡爱香蕉| 亚洲电影欧美电影有声小说| 国产精品久久久一区二区三区| 欧美视频三区在线播放| 欧美国产综合| 国产精一区二区三区| 久久久国产一区二区三区| 欧美高清在线| 欧美日韩亚洲国产一区| 久久久久久久网站| 在线免费高清一区二区三区| 午夜精品三级视频福利| 久久成人精品无人区| 中文国产成人精品久久一| 欧美成人免费一级人片100| 欧美三级乱人伦电影| 国产日韩精品一区二区| 国产精品高潮久久| 国产精品嫩草影院av蜜臀| 久久精品视频亚洲| 国产亚洲一区二区三区在线观看| 国内精品亚洲| 久久综合九色综合网站| 欧美色一级片| 欧美三区在线| 国产亚洲精品bv在线观看| 亚洲黄色av| 亚洲免费av电影| 亚洲欧美日韩人成在线播放| 国产一区二区剧情av在线| 欧美日韩一区二区三区高清| 亚洲成色777777在线观看影院| 欧美成人免费视频| 亚洲精品美女在线观看| 亚洲午夜视频在线观看| 一区二区三区|亚洲午夜| 亚洲自拍高清| 欧美在线亚洲一区| 欧美视频一区二区在线观看| 亚洲欧美激情精品一区二区| 久久九九国产| 久久久99免费视频| 亚洲欧美久久久久一区二区三区| 一本色道久久综合一区| 欧美中文字幕在线视频| 欧美jizzhd精品欧美巨大免费| 欧美性大战久久久久久久蜜臀| 欧美成黄导航| 激情懂色av一区av二区av| 欧美日韩国产欧| 亚洲第一精品福利| 亚洲精品久久久久久一区二区| 久久九九99视频| 欧美精品v日韩精品v韩国精品v| 一区二区三区四区五区视频| 正在播放欧美视频| 国产一区二区三区在线播放免费观看| 欧美成人第一页| 亚洲精品国产品国语在线app| 亚洲天堂av在线免费观看| 欧美福利影院| 蜜臀a∨国产成人精品| 亚洲一区二区精品| 亚洲精品乱码久久久久久黑人| 欧美激情中文字幕乱码免费| 国产一区二区视频在线观看| 老司机免费视频一区二区三区| 在线观看欧美一区| 亚洲伊人一本大道中文字幕| 亚洲一区国产| 欧美精品播放| 欧美三级视频在线| 1000精品久久久久久久久| 嫩模写真一区二区三区三州| 91久久在线观看| 欧美午夜国产| 欧美四级在线| 国产亚洲欧美中文| 欧美精品少妇一区二区三区| 欧美 日韩 国产一区二区在线视频| 欧美午夜精品电影| 国产一区视频网站| 亚洲激情第一页| 国产综合在线视频| 久久成人免费电影| 午夜激情综合网| 日韩亚洲欧美高清| 影院欧美亚洲| 美日韩精品视频| 国产午夜久久久久| 亚洲欧美日韩国产| 欧美一区二区三区日韩视频| 久久国产精品亚洲77777| 国产一区二区三区最好精华液| 美女网站久久| 国产综合久久| 久久精品国产久精国产思思| 亚洲欧美精品一区| 国产日韩欧美精品一区| 嫩草伊人久久精品少妇av杨幂| 夜夜爽av福利精品导航| 国产精品久久久久久亚洲毛片| 国产欧美一区二区三区久久人妖| 一本不卡影院| 亚洲一区久久| 国产精品毛片va一区二区三区| 一本久久a久久精品亚洲| 亚洲视频一区二区在线观看| 久久综合九色综合欧美狠狠| 久久夜色精品国产欧美乱极品| 午夜精品偷拍| 欧美成人综合| 国产精品男人爽免费视频1| 久久免费国产精品| 亚洲一区在线观看免费观看电影高清| 国内精品久久久久影院 日本资源| 在线观看视频一区二区欧美日韩| 亚洲欧美日韩精品| 欧美激情视频给我| 久久不射2019中文字幕| 亚洲国产欧美在线人成| 欧美日韩国产三级| 国产日本欧美一区二区三区| 欧美精品在线观看91| 亚洲一区二区三区久久| 亚洲国产欧美一区| 欧美午夜久久久| 最新国产の精品合集bt伙计| 亚洲性色视频| 久久久久久噜噜噜久久久精品| 国产精品午夜春色av| 国产亚洲二区| 香蕉久久久久久久av网站| 欧美黄色小视频| 亚洲一区不卡| 嫩草影视亚洲| 亚洲电影成人| 一本大道久久a久久综合婷婷| 久久激情久久| 美日韩精品免费观看视频| 国产一区二区三区无遮挡| 亚洲国产高清在线观看视频| 香蕉成人伊视频在线观看| 亚洲永久免费视频| 久久一区二区三区四区| 欧美精品一区二区三区蜜臀| 免费成人av在线看| 国产精品高潮呻吟久久av无限| 欧美 日韩 国产一区二区在线视频| 久久精品中文字幕一区二区三区| 可以免费看不卡的av网站| 欧美1区2区3区| 香蕉视频成人在线观看| 久久精品国产清自在天天线| 国产日韩欧美在线播放| 免费在线看成人av| 免费亚洲网站| 欧美96在线丨欧| 免费成人激情视频| 国产精品揄拍一区二区| 国产精品夜色7777狼人| 一区二区三区久久精品| 亚洲高清电影| 激情综合网激情| 麻豆乱码国产一区二区三区| 9色porny自拍视频一区二区| 亚洲国产精品欧美一二99| 欧美亚洲综合另类| 一区二区三区**美女毛片| 国产精品户外野外| 激情av一区二区| 亚洲成色www久久网站| 激情成人av| 亚洲欧美国产精品va在线观看| 亚洲精品国产欧美| 精品成人a区在线观看| 久久精品国产第一区二区三区| 久久亚洲免费| 欧美另类女人| 亚洲综合色婷婷| 亚洲午夜久久久久久尤物|