新聞中心

        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 接口發送給主機。在該模塊中,我們采用了操作 系統來實現多任務處理。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宕昌县| 蕲春县| 宁波市| 雷山县| 天气| 博客| 建瓯市| 鄢陵县| 田阳县| 阳谷县| 菏泽市| 定襄县| 延边| 江门市| 土默特右旗| 珲春市| 河津市| 公安县| 高碑店市| 靖西县| 灵石县| 东莞市| 托里县| 莒南县| 得荣县| 哈巴河县| 长葛市| 临武县| 札达县| 句容市| 广水市| 勐海县| 瑞丽市| 吴忠市| 龙胜| 云南省| 民权县| 云霄县| 常州市| 清徐县| 宕昌县|