基于MSP430單片機及USB總線的便攜式血壓計的設計
目前,市場上的血壓計大部分仍是水銀血壓計,電子血壓計在國外已經大量普及,而我國才開始應用。水銀血壓計每次測量必須由醫(yī)生戴上聽診器進行測量,測量過程復雜,而且不同的醫(yī)生,測量結果可能不同。而電子血壓計彌補了水銀血壓計的不足。本文使用低功耗MSP430單片機對人體血壓信號進行采集,通過USB控制芯片CH375將這些數(shù)據(jù)存儲到U盤中,可以通過PC機的軟件分析一天中血壓的變化。
本文引用地址:http://butianyuan.cn/article/78636.htm1 硬件設計
1.1芯片介紹
MSP430是近幾年流行的16位單片機,由于它具有超低功耗(在5V電壓下運行于12MHz的80C51工作電流達到十幾mA;而MSP430在3V時的工作電流為340μA,在2.2V的工作電流為220μA)、眾多的片內外設、強大的數(shù)據(jù)處理能力、系統(tǒng)工作穩(wěn)定、方便高效的開發(fā)環(huán)境等特點,被廣泛應用在各種工業(yè)儀表中。加之筆者對430單片機比較了解,在本設計中選用了其中的一種MSP430F149,由于該設計中對單片機的外設模塊只要求有A/D轉換模塊,所以可以選用MSP430中較便宜的系列。
CH375是南京沁恒有限公司生產的USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設備方式。CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU/MPU等控制器的系統(tǒng)總線上。在USB主機方式下,CH375還提供了串行通訊方式,通過3根線,即串行輸入、串行輸出和中斷輸出與單片機/DSP/MCU/MPU等相連接。本文用的是從南京沁恒有限公司申請的樣片。LCM用的是16×2的HS162-4。自建了自定義字符,實現(xiàn)了簡單顯示“血壓是:XXX.X”。本文中使用HS162-4為的是試驗方便,若是用到實際產品中,可以換用其他種類。
選擇Motorola公司壓力傳感器MPX5050GP,其內部含有信號運放和信號調節(jié)功能,可以直接將動脈血液對血管壁的壓力轉換為0V~4.7V的電信號,其對應的血壓值為0kPa~49.875kPa(0mmHg~375mmHg)。傳感器采集到的信號送入單片機的AD12模塊前要標度變換,即電平平移。
1.2工作原理
血壓傳感器將用戶的血壓變換成電壓信號,經過濾波器送到149單片機的AD12模塊中,再經過單片機處理后在LCM上顯示,隨時可以看到血壓值。并且這些數(shù)據(jù)可以通過CH375儲存在U盤中,在方便時將U盤插到PC機上,可以通過上位機軟件進行觀察,這樣醫(yī)生可以從整體上了解患者的血壓變化情況,從而做出正確的診療結果。
1. 3系統(tǒng)框圖
MSP430單片機使用串口方式同CH375相連,將數(shù)據(jù)寫入U盤。圖1為其原理框圖。
1.4硬件設計中遇到的問題
在混合電壓系統(tǒng)中,不同電源電壓的邏輯器件相互接口時會存在以下3個主要問題:一是加到輸入和輸出引腳上允許的最大電壓限制問題;二是兩個電源間電流的互串問題;三是必須滿足的輸入轉換門限電平問題。
器件對加到輸入和輸出腳的電壓通常是有限制的。這些引腳有二極管或分離元件流向電源。例如3V器件的輸入端接上5V信號,則5V電源將會向3V電源充電,持續(xù)的電流會損壞二極管和電路元件。
在等待或掉電方式時,3V電源降落到0V,大電流將流通到地,這使總線上的高電壓被下拉到地,這些情況將引起數(shù)據(jù)丟失和元件損壞。必須注意的是:不管是在3V工作狀態(tài)或是0V的等待狀態(tài)都不允許電流流向Vcc。
所謂輸入轉換門限電平問題,即噪聲容限問題。連接在一起的兩個邏輯器件要想正常工作,必須滿足高、低噪聲容限都為正值。本文中CH375采用5V電源供電,MSP430F149采用3.3V供電。
CH375和MSP430F149的噪聲容限值見表1。
MSP430F149驅動CH375時,高噪聲容限=2.75V-2V=0.75V;低噪聲容限=0.7V-0.25V=0.45V。
CH375驅動MSP430F149時,高噪聲容限=4.5V-1.9V=2.7V;低噪聲容限=0.9V-0.5V=0.4V。
由于噪聲容限都為正值,所以MSP430F149和CH375可以直接相連正常工作。
2 軟件設計
2.1串行數(shù)據(jù)格式問題
由于采用串行接口,串行數(shù)據(jù)格式必須一致。CH375的串行數(shù)據(jù)格式為:1個起始位、9個數(shù)據(jù)位、1個停止位,其中前8個數(shù)據(jù)位是一個字節(jié)數(shù)據(jù),最后1個數(shù)據(jù)位是命令標志位。第9位為0時,前8位的數(shù)據(jù)被寫入CH375芯片中,第9位為1時,前8位被作為命令碼寫入CH375芯片中。CH375的串行通訊波特率默認是9600b/s,單片機可以隨時通過SET_BAUDRATE命令選擇合適的通訊波特率。MSP430的通用串行通信模塊分異步模式和同步模式。
異步通信的幀格式:1位起始位、7位或8位數(shù)據(jù)位、校驗位(可奇/可偶/可無)、1位地址位(地址模式時)和1位或2位停止位。異步模式又分空閑多機模式和地址位多機模式。同步模式下,允許7位或8位數(shù)據(jù)流移入或移出MSP430單片機。
對照375的串行數(shù)據(jù)格式,筆者選用異步模式中的地址位多機模式。這種模式下,字符包含一個附加的位作為地址標志。數(shù)據(jù)塊的第一個字符帶有一個置位的地址位,表明該字符是一個地址。結合375的串行數(shù)據(jù)格式,把430的地址位看作第9位,可以模擬375的串行數(shù)據(jù)格式。
如果選用沒有串行通信模塊的430單片機,也可以選用串行方式,解決方法是用普通的IO口模擬串行通信的時序,當然要用到定時器Timer??梢杂脙蓚€函數(shù)實現(xiàn)寫命令和寫數(shù)據(jù)的功能,程序中要用到位處理指令&,<<,>>等。現(xiàn)給出部分代碼程序:
2.2軟件濾波程序問題
雖然硬件用了濾波器,在軟件中也要編寫濾波程序,常用的軟件濾波方法有11種,如限幅濾波法、中位值濾波法、算術平均濾波法、遞推平均濾波法等。文中采用中位值平均濾波法,即相當于“中位值濾波法”+“算術平均濾波法”,連續(xù)采樣N個數(shù)據(jù),去掉一個最大值和一個最小值,然后計算N-2個數(shù)據(jù)的算術平均值。N值的選取:3~14。其優(yōu)點是融合了兩種濾波法的優(yōu)點,可消除由于脈沖干擾所引起的采樣值偏差;其缺點是測量速度較慢,和算術平均濾波法一樣,比較浪費RAM。由于血壓計對測量速度要求不高,而且149的RAM有2kb,所以選用該濾波方法。
2.3U盤讀寫文件格式問題
對U盤的讀寫分為兩類:把U盤當作存儲器,按照文件格式讀寫U盤。前者讀寫速度快,操作簡單,但計算機不能直接讀取寫入的數(shù)據(jù);后者由于按照文件格式,計算機可以直接看到相應的數(shù)據(jù)。公司子程序庫提供U盤文件操作的API,對于普通用戶可以直接調用這些API讀寫U盤,且可以與計算機無縫連接,但要求有600kb的RAM,若用51單片機則需要外擴RAM。由于筆者熟悉430單片機且149有2kb的RAM,滿足要求,這也正是選用430單片機的一個原因。
3 結語
試驗證明,該裝置可以將采集到的數(shù)據(jù)成功地放到U盤中,因此可以應用到實踐中去。
評論