新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM平臺的MEMS輸入設備的固件設計

        基于ARM平臺的MEMS輸入設備的固件設計

        作者: 時間:2009-09-22 來源:網絡 收藏

          2.遠端子系統

          遠端子系統的主要任務是加速度計信號的采集,信號的放大、濾波等的處理,控制器 對射頻無線發送的軟件控制。主要的實現過程為:使用GPIO 口,并按照一定的采樣頻率將 加速度信號送入微控制器LPC2214,在LPC2214 內部進行信號放大和A/D 轉換;并且按照 無線傳輸模塊定義的格式將數據進行編碼,再通過GPIO 口傳送給無線射頻模塊。 主程序主要實現各個器件的初始化和任務的調用。

          int main(void)

          {

          TargetInit();

          Init_RF();

          Init_ADC();

          Init_Transmitter();

          TaskMouse();

          return 0;

          }

          在完成各個模塊的初始化之后,執行Taskmouse 函數。Taskmouse 函數是主執行函數, 包含了GetMousePos()、ModeSelect()、Get_ADCValue_X()和Get_ADCValue_Y()等子函數。 調用該函數就可以執行加速度計信號采集、鼠標位置確定、系統工作模式選擇等程序行。 獲取鼠標位置信息的示意程序如下所示:

          void GetMousePos(uint8 *buf, uint8 shift)

          {

          uint8 i;

          uint8 sampf = 50;

          uint32 dpi = 100;

          uint32 sum_x, sum_y;

          sum_x = sum_y = 0;

          for (i = 0; i sampf; ++i) {

          sum_x += Get_ADCValue_X(dpi);

          sum_y += Get_ADCValue_Y(dpi); }

          buf[0] = (sum_x / sampf) >> shift;

          buf[1] = (sum_y / sampf) >> shift;

          }

          3.主機端子系統

          在主機端子系統中,NRF2401 接受遠端子系統的數據并從I/O 口進入LPC2214,數據通 過協議等處理為鼠標格式,最后通過USB 接口發送給主機。在該模塊中,我們采用了操作 系統來實現多任務處理。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滦平县| 遵化市| 临西县| 咸宁市| 江西省| 滦南县| 疏附县| 龙江县| 于都县| 平安县| 民丰县| 和顺县| 白山市| 鹿泉市| 海林市| 鸡西市| 时尚| 八宿县| 常宁市| 将乐县| 抚宁县| 轮台县| 广汉市| 抚远县| 宜兰县| 胶南市| 通道| 虹口区| 农安县| 原阳县| 赤城县| 宁化县| 华坪县| 晋城| 封丘县| 汝城县| 万源市| 都匀市| 嘉峪关市| 乌海市| 靖江市|