• <tr id="mua2g"><td id="mua2g"></td></tr>
    
    
    <th id="mua2g"></th>
    <samp id="mua2g"></samp><strike id="mua2g"></strike>
    <ul id="mua2g"></ul>
    <ul id="mua2g"><pre id="mua2g"></pre></ul>
    <samp id="mua2g"></samp>
  • <strike id="mua2g"></strike><strike id="mua2g"><s id="mua2g"></s></strike>
    歡迎來上自儀表有限公司!我們將為您提供周到的服務!
    全國服務熱線021-59189606
    ARTICLE / 技術文章
    首頁 > 技術文章 > 基于ARM的DCS工業鍵盤研究與實現(二)

    基于ARM的DCS工業鍵盤研究與實現(二)

    更新時間:2013-07-15      瀏覽次數:1277

     工業控制現場中的分散控制系統(DCS)需要特定 的DCS操作員鍵盤對其進行控制。本文研究基于 ARM微處理器的DCS工業鍵盤,設計了具有 USB2.0通信協議的標準HID類鍵盤接口程序以及具有標準PC鍵盤和DCS功能擴展鍵盤功能的鍵盤任 務處理程序,有效實現了該鍵盤。實驗結果表明, 設計合理、系統穩定與可靠,能滿足工業現場環境的需要。

    引言

    隨著工業控制現場中分散控制系統(DCS)的發 展,需要特定的DCS操作員鍵盤對系統進行控制。該 鍵盤使操作員能對系統的操作更加直觀,操作方法更 加簡捷,以降低對操作員的操作技能要求,進一步減 少誤操作的可能,從而提高整個生產線的自動化能力。 DCS操作員鍵盤正是基于這個目的產生的。該鍵盤在 功能上除了兼容標準PC鍵盤的功能外,增加了 DCS 功能擴展區和用戶自定義擴展區。在該鍵盤按鍵殼體 上印刷按鍵功能,如邏輯開、邏輯關、手動、自動、報警、 輸出步長等等,一旦有按鍵動作,鍵盤立刻響應并將按 鍵編碼發給主機,主機根據接收到的按鍵編碼調用相 應的子函數來完成響應功能。同時該鍵盤支持目前廣 泛流行的USB接口的標準PC鍵盤通訊協議。USB協 議專門為人機交互設備提供了接口描述,即HID設備 類。用戶可以按照HID設備類的協議設計通用鍵盤, 也可以根據自己的需要設計特殊的鍵盤,以滿足不同 的應用場合。USB通信協議的設備一旦接入主機USB 接口 ,主機調用底層驅動自動完成USB設備的枚舉, 實現方便快捷的即插即用。另外該鍵盤可記掛標準 PC鍵盤,即便在DCS操作員鍵盤故障或在工程 師操作管理模式下,可使用標準PC鍵盤做進一步的 操作。在基本功能上與標準PC鍵盤保持一致,可相互 控制Capslock狀態。本文描述的正是這樣一個基于 ARM的DCS工業鍵盤的研究與實現。

    2.1USB任務處理設計

    USB鍵盤是HID類設備的一種,遵循著USB設 備啟動過程。即每次設備接入總線,*入設備檢測 狀態,總線對設備進行總線復位。其次是設備枚舉過 程,在這里USB設備將被枚舉為標準的HID類鍵 盤。主機通過默認端點0發送SETUP包,得到設備 描述符,然后給設備分配新的地址,分配成功后, 主機將通過新的設備地址向設備依次發送標準USB 請求來獲取設備的配置信息,即獲得設備描述符、配 置描述符、接口描述符、端點描述符、HID描述符 和報表描述符。通過設備的這些描述符,主機就知 道了設備的詳細信息,并根據設備的配置情況對設備 的端點進行操作。這些操作包括初始化端點數目,分 配各端點所需使用的Packet Buffer;初始化所使用的 端點,配置端點的傳輸類型、傳輸方向、Packet Buffer地址和初始狀態。在需要發送數據或接收數據 的時候,使能端點;并在該端點的中斷回調函數中, 處理數據,如果需要則使能下一次傳輸。以上便是實 現USB鍵盤設備的步驟。

    USB設備描述符如下:

    在實際設計與開發中,由于STM32提供豐富的 USB標準函數庫,充分使用該函數庫會加快開發進 程。下面是一段對IN端點的初始化和使能,以及 IN傳輸的關鍵代碼:

    2.2鍵盤任務處理設計

    鍵盤任務處理函數keyboard ()流程圖如圖3所 示。先對按鍵進行掃描,若無按鍵按下,則每隔 10ms掃描一次。若有按鍵按下,記錄下按鍵所處鍵 盤的位置代碼,轉向消抖處理。所按下按鍵若通過 消抖處理,則確認其位置代碼,進入到按鍵處理階 段,將位置代碼轉換為按鍵HID碼并發送。否則釋 放其位置代碼,轉到按鍵掃描處重新掃描。發送完 其HID碼的按鍵再進行消抖處理看釋放否。若按鍵 未釋放則繼續等待,若已釋放則轉向按鍵掃描處重新掃描。

    在具體設計中引入狀態轉移分析法和定時器中 斷。將按鍵的所有狀態分為4種。狀態0為按鍵掃 描,狀態1為按鍵消抖處理并確認,狀態2為按鍵鍵 碼轉換并發送,狀態3為等待按鍵釋放狀態。以上的 函數流程實際上是在這4個狀態中轉移, 如圖 4所 示。設置一個狀態標志位key_state來表示按鍵所處 的不同狀態,采用多分支結‘ swich-case,可以很方便的實現。

    而定時器中斷是使MCU的TIM2定時器產生 10ms的定時中斷。主程序每隔10ms中斷調用key¬board ()函數一次。當無按鍵按下時,key_state二0, 執行case0,即實現了每10ms執行一次鍵盤掃描。若 有按鍵按下,則定位其按下按鍵的位置代碼,并使 key_state二1。當 10ms 后再次調用 keyboard ()函數, 這時key_state二1而進入case1,在case1中對前面所 定位的按鍵位置再次進行確認,若還在,則再次確定 其位置代碼,并使key_state二2。如此時按鍵已經釋 放,說明為假按鍵,則使key_state二0,返回按鍵掃 描。這里巧妙利用了兩次定時'斷的10ms間隔實現 按鍵的消抖處理。若key_state二2, 10ms后再次調用 keyboard (函數時則進入case2,這里將已確認的按 鍵位置代碼轉化為按鍵代碼以及zui終的HID碼,建 立鍵盤報表并發送給主機,然后使key_state二!。當下 一個10ms, key_state二!則進入csae!,等待按鍵釋放 狀態,此時再次掃描前面已確定按鍵的位置,若按鍵 已釋放,則key_state 二0,下一個10ms來臨則進入 case0重新按鍵掃描;否則仍然key_state 二!,繼續等 待釋放。這里也巧妙的利用這10ms進行按鍵釋放時 的去抖動處理。

    另外在多鍵(含雙鍵)、特殊功能鍵和復合鍵的 實現中,該軟件也設計了比較好的實現方法。譬如多 鍵,設置內部緩存器,在逐行掃描中將每個按下按鍵 在矩陣鍵盤中的位置代碼存入其中。之后的消抖處理 等操作的對象便是緩存器中的按鍵位置代碼值。系統 zui多處理的普通鍵數為6個,超過則為溢出。對于特 殊功能鍵,其形式上是單鍵,實際實現的是多鍵的功 能。只要將單鍵在發送前轉換成需要的多鍵HID碼, 即可方便實現。對于復合鍵,理論上是兩個以上按鍵 同時按下所完成的功能,實際情況很難實現真正的 “同時按下”,它們的時間差別可能長達50ms。譬如 對引導鍵SHIFT鍵的設計,需設置專門標志位 Shiftkeyjlag,有 SHIFT 按下則 Shiftkey_£lag二1,否則 為0。在*次檢測出SHIFT單按鍵時,改變狀態 標志位為1。隨后的按鍵掃描中,若再無其他按鍵按 下,則key_state 二0,直到有其他按鍵按下,key_state 二1。這在軟件中實際上是對狀態0的細化。同理, 在各個狀態中,因為該鍵的特殊性,也有相應的細化 過程。

    從以上分析可見,這樣的軟件設計不僅結構清 晰,代碼簡潔,實現便捷,而且使得當無按鍵按下, 鍵盤每10ms掃描一次,當有確定非復合按鍵按下 (即通過消抖處理",則鍵盤響應速度在30ms以內, 如此的響應速度大大提高了鍵盤的靈敏度。

    3結束語

    DCS系統是目前工業控制領域的核心系統,其 鍵盤是提高整個生產線自動化能力的關鍵一環。 該鍵盤的設計避免了現有鍵盤電路特殊按鍵實現 復雜、軟硬件成本高的情況,而是研究開發了基于 ARM的DCS工業鍵盤,實現了對多達86個按 鍵的控制。采用STM32芯片及有效率的軟件開發大 大提高了產品開發的速度。經過實驗結果與實際應用 證明,該鍵盤易用性、可靠性達到了工業要求, 并產生很大的經濟效益。

    Contact Us
    • 聯系QQ:1718261188
    • 聯系郵箱:1718261188@qq.com
    • 傳真:021-60917975
    • 聯系地址:上海市廣中西路190號

    掃一掃  微信咨詢

    ©2024 上自儀表有限公司(www.sanshengxuetang.com)版權所有  備案號:滬ICP備15055501號-9  技術支持:化工儀器網    sitemap.xml    總訪問量:272130 管理登陸

    主站蜘蛛池模板: 欧美一区二区激情三区| 美女扒开超粉嫩的尿口视频| 国内一级特黄女人精品片| 三上悠亚精品一区二区久久| 日本动态120秒免费| 国产在线a免费观看| xxxxx在线| 国产超碰人人模人人爽人人喊| jizz日本在线观看| 强3d不知火舞视频无掩挡网站 | 国产精品午夜爆乳美女视频| 久久一日本道色综合久久m| 最近中文字幕免费mv视频7| 亚洲图片第一页| 污污视频免费看| 亚洲色精品vr一区二区三区| 粗大挺进尤物人妻中文字幕| 四虎4hu永久在线观看| 色妞www精品视频一级下载| 国产美女主播一级成人毛片| avav在线看| 无码人妻精品一区二区| 久久国产精品久久精品国产| 最好看的2019中文无字幕| 伊人热人久久中文字幕| 精品久久久久久亚洲综合网| 啊啊啊好大好爽视频| 色88久久久久高潮综合影院| 国产三级日产三级韩国三级韩级 | 欧美大肥婆大肥BBBBB| 免费看又爽又黄禁片视频1000| 美国式禁忌3在线观看| 国产18到20岁美女毛片| 色哟哟网站在线观看| 国产一级片免费看| 视频一区二区精品的福利| 国产又黄又大又粗的视频| 香蕉成人伊视频在线观看| 国产成人午夜精华液| 黄色毛片在线播放| 国产在线视频凹凸分类|