新聞中心

        EEPW首頁 > 醫療電子 > 設計應用 > 基于C8051F320單片機的低成本心電監護系統設計

        基于C8051F320單片機的低成本心電監護系統設計

        作者: 時間:2014-11-27 來源:網絡 收藏

          心電電極將得到的信號經濾波和可變增益放大器放大后送至F320單片機,單片機將得到的模擬心電信號實時轉換為數字信號,采集到的數據通過USB接口傳給PC機,進一步分析處理信號數據。

        本文引用地址:http://www.104case.com/article/266066.htm

          3 系統軟件設計

          3.1 F320單片機程序設計

          F320單片機程序包括:(1)A/D轉換程序和程控放大控制程序;(2)基于USB器件的通信程序,接收從USB主機發送的用戶指令并將采集的數據發送給USB主機。

          3.1.1 A/D轉換程序

          衡量A/D轉換性能主要有兩個指標:采樣分辨率(A/D轉換器位數)和A/D轉換速度。設置A/D轉換器的采樣率為2 000 Hz,并采用定時器TIME2溢出中斷觸發轉換,每次轉換結束后1O位結果數據字被鎖存到A/D轉換器的數據寄存器中,供USB通訊子程序數據調用,圖4為A/D轉換流程。A/D轉換程序較簡單,可通過設置C8051F320片上定時器確定A/D轉換器的采樣周期,由定時器的溢出周期性啟動A/D轉換器來采樣被測數據。USB設置為塊狀傳輸模式與PC機進行數據通信。將每64個數據打成一個數據包。以充分利用硬件資源并提高數據傳輸效率。

          

         

          3.1.2 基于USB器件的通信程序

          整個程序流程以USB通信為主線,如圖5所示。圖中所涉及的USB_Clock_Start()、USB_Int()等函數均是SiliconLab公司專為C8051F320單片機USB功能開發的USB端API函數。通過在C8051F320上層應用程序中直接調用這些函數可方便快捷地訪問USB底層硬件。

          

         

          3.2 PC機程序設計

          PC機程序設計主要完成用戶圖形界面和基于USB主機通信程序兩大功能,從而實現人機交互,將用戶輸入的指令和采集模塊采集的數據通過USB總線在PC機和C8051F320之間傳遞。

          3.2.1 程序面板設計

          開發USB設備驅動程序的工具使用USB Xpress Devel-opment Kit,主要有:SI_Open()函數;SI_Close()函數;SI_Read函數;SI_Write()函數;SI_GetNumDevices()函數;SI_CheckRX Queue()函數。用戶從設備讀取數據將調用一個應用程序接口API。SI_GetNumDevices()、SI_GetProductString()等函數均是Silicon Lab公司專為C8051F320單片機USB功能開發的USB主機端API函數。LabVIEW提供調用鏈接庫函數Call Librarv Function,本設計利用Silicon Lab公司的SiUSBXp.dll動態鏈接庫來實現對USB底層硬件的訪問。

          通過調用SLGetNumDevices()甬數完成設備的通信初始化,生成函數返回驅動的設備號;該設備號用來在調用SI GetProductString()函數時生成設備描述字符串。要讀取一個設備,首先必須通過調用SI_GetNumDevices()函數生成的索引(設備號)來調用SI_Open()函數。SI_Open()函數將返回設備的句柄,該句柄將在隨后的所有進程中被用到。利用 SI_Write()和SI_Read()函數就可實現數據的輸入和輸出。當完成數據的輸入和輸出操作后,可通過調用SI_Close()關閉設備。圖6為I/O接口驅動程序框圖。

          



        關鍵詞: C8051 LabVIEW 心電監護

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荣昌县| 西昌市| 离岛区| 萨迦县| 泰和县| 西和县| 绥中县| 蓝山县| 营山县| 靖远县| 金湖县| 宜都市| 灵山县| 子洲县| 青海省| 开封县| 福鼎市| 台安县| 望都县| 浪卡子县| 扎赉特旗| 哈巴河县| 二连浩特市| 乐陵市| 象山县| 新竹县| 隆安县| 苏尼特左旗| 新源县| 邵阳市| 且末县| 宁都县| 得荣县| 河东区| 新安县| 建始县| 泸西县| 灵寿县| 青浦区| 吉水县| 东明县|