a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > iMouse多功能空中鼠標

iMouse多功能空中鼠標

作者:梁平 中國科學院上海應用物理所 時間:2010-06-29 來源:電子產品世界 收藏

  軟件系統設計

本文引用地址:http://www.j9360.com/article/110397.htm

  系統的軟件可以分為鼠標主體端與鼠標接收端兩個部分。控制器分別是的MXT8051微控制器與TI的430單片機,在此兩部分的控制器上分別都成功移植了mC/OS嵌入式操作系統,并在mC/OS操作系統上運行應用程序。

  mC/OS是一種免費公開源代碼、結構小巧、具有可剝奪實時內核的實時操作系統。

  mC/OS 和mC/OS-II 是專門為計算機的嵌入式應用設計的, 絕大部分代碼是用C語言編寫的。CPU 硬件相關部分是用匯編語言編寫的、總量約200行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的CPU 上。用戶只要有標準的ANSI 的C交叉編譯器,有匯編器、連接器等軟件工具,就可以將mC/OS-II嵌人到開發的產品中。mC/OS-II 具有執行效率高、占用空間小、實時性能優良和可擴展性強等特點, 最小內核可編譯至 2KB 。mC/OS-II 已經移植到了幾乎所有知名的CPU 上。

  mC/OS-II目標是實現一個基于優先級調度的搶占式的實時內核,并在這個內核之上提供最基本的系統服務,如信號量、郵箱、消息隊列、內存管理、中斷管理等。

  鼠標主體端軟件結構

  主體端軟件結構如圖7所示。

  在主體端的軟件中,主要用到了μC/OS操作系統的多任務調度與任務間的通訊功能,在鼠標動作數據處理之后,通過消息隊列的方式傳遞給通訊任務,通訊任務將此數據有效地發送給接收端電路。如圖9所示。

  鼠標動作數據處理的流程如圖8所示。在的加速度傳感方案中,最為關鍵的是如何用軟件的方法除去重力以及抖動對傳感器輸出產生的影響,這里首先對傳感器輸出的數據進行差分,所得的數據通過一定的衰減后再減掉防抖閾值,最后形成要輸出的數據。

  接收端軟件結構

  接收端軟件結構如圖10。

  在鼠標的接收這一端,無線通訊的任務流程基本與主體端的流程差不多,只是這端以接收為主,而主體端則以發送為主。同時,在有效接收到數據包后,程序將評估通訊雙端的中心頻率偏差,并對芯片進行配置修正。無線通訊的一個關鍵問題是如何處理好數據丟包的問題,處理不好,鼠標就會跳躍,這里,借鑒了USB協議中對數據包交錯發送的控制方法與應答機制,很好解決了這個問題。

  USB控制這一塊是軟件中最關鍵的一塊,這里涉及了USB協議以及HID的協議。USB的固件程序結構如圖11。

  USB事件由中斷進行驅動,中斷發生后根據不同的中斷向量對中斷事件進行處理。如圖12所示。如果是控制包,則向主控的進程發送一個信號,由主控進程對控制包進行分析處理。在程序的應用層,HID鼠標的數據包通過USB接口的端口1進行傳輸,計算機對此端口的詢問間隔為10ms。



評論


相關推薦

技術專區

關閉