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