新聞中心

EEPW首頁 > 醫(yī)療電子 > 設(shè)計應(yīng)用 > 基于C8051F320單片機的低成本心電監(jiān)護系統(tǒng)設(shè)計

基于C8051F320單片機的低成本心電監(jiān)護系統(tǒng)設(shè)計

作者: 時間:2014-11-27 來源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://m.butianyuan.cn/article/266066.htm

  3 系統(tǒng)軟件設(shè)計

  3.1 F320單片機程序設(shè)計

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

  3.1.1 A/D轉(zhuǎn)換程序

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

  

 

  3.1.2 基于USB器件的通信程序

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

  

 

  3.2 PC機程序設(shè)計

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

  3.2.1 程序面板設(shè)計

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

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

  



關(guān)鍵詞: C8051 LabVIEW 心電監(jiān)護

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉