- 相關推薦
單片機心電信號數據采集系統的設計答辯(一)
尊敬的各位評委老師,大家下午好,我叫 ,是自動化031班的學生,我的畢業設計題目是:單片機心電信號數據采集系統的設計。首先,我先簡單介紹一下本設計的意義。
心血管疾病是人類生命的最主要的威脅,而心電信號是診斷心血管疾病的主要依據,因此,實時檢測病人的心電活動,設計信號采集系統具有非常重要的意義。
下面我開始介紹我的硬件電路設計。
首先介紹一下系統原理框圖。
系統主要由前置放大電路,導聯脫落檢測電路,帶通濾波電路,光電隔離電路,主放大電路,50赫茲掐波電路,35赫茲掐波電路,電平抬升電路,A/D轉換電路,單片機處理電路以及液晶顯示電路等幾部分組成。
下面我介紹一下各部分的功能。
首先,前置放大電路的性能指標決定了整個電路的輸入特性,而由于心電信號的頻率低,信號弱,變化慢等特性,因此,需要前置放大具有高輸入阻抗,高共模抑制比,低噪聲等條件,針對以上的特點,選用了美國AD公司生產的AD620放大器,它具有高輸入阻抗,低輸入偏置電流,低噪音,低功耗等特性,很適合作為本設計的放大器,
AD620參數:CMRR為140DB,輸入阻抗為10G歐,輸入偏置電流小于2.0NA,工作電流為1.3MA。其可調增益1—1000倍,并可由公式 來確定。使用時只需在1腳和8腳間接一電阻RG即可設置所需要的增益。
需要注意的是RG必須選用精密電阻。在此取5千歐。
通過U3 可將R2、R3 上的人體共模信號檢測出來用于驅動導線屏蔽層,以消除分布電容,提高輸入阻抗和共模抑制比。U4、R5、R6、C1 構成的“浮地”驅動電路可將人體共模信號倒相放大后用于激勵人體右腿,從而降低甚至抵消共模電壓,以達到較強抑制50Hz 工頻干擾之目的。U1、U2 主要用于穩定輸入信號和提高輸入阻抗,進一步提高共模抑制比。
電極脫落檢測
由于此系統應用于人體日常生活中,人體常常處于活動狀態,這樣輸入電極很可能脫落,從而是系統不能正常工作。為此,設計了導聯電極脫落檢測電路如圖3.3
所示。
正常情況下,正負電極對人體皮膚形成的極化電壓可以互相抵消。當一側電極脫落時,將有較大的極化電壓輸入,通過一個比較器,當比較電壓超出范圍時,認為電極導聯脫落,此時輸出電平由正常時的高電平變為低電平,下級三極管導通,蜂鳴器發聲報警。
光電偶合電路的作用是為了進一步濾除干擾。
帶通濾波及主放大電路
如圖3.6 所示, 帶通濾波由雙運放集成電路OP2177 構成。OP2177 具有高精度、低偏置、低功耗等特性, 片內集成了兩個運放, 可靈活組成各類放大和濾波電路。由于心電信號頻帶主要集中在0. 05~100Hz 左右, 頻帶較寬, 為此, 采用OP2177 的兩個運放分別設計二階壓控有源高通和低通濾波器并組合成帶通濾波。其中, U6A、C6、C7、R8、R9 構成高通濾波器,為不損失心電信號的低頻成分, 其截止頻率設計為f = 1/ [ 2π( C6C7R8R9) 1/ 2] =0. 03Hz。U6B、R10、R11、C8、C9 構成低通濾波器,同樣,為不損失其高頻成分, 截止頻率設計為f =1/ [ 2π( C8C9R10R11) 1/ 2] = 130Hz。主放大電路由OP1177(U7) 、R12、R13 構成?紤]到心電信號幅度約為0~4mV, 而A/ D 轉換輸入信號要求1V左右, 因此, 整個信號電路的放大倍數需1000 倍左右。而前置放大約10 倍左右,因此本級放大倍數設計為100 倍左右,即G= 1 + R12/ R13≈100。
掐波及電平抬升電路
選用了BB(Burr-Brown)公司的UAF42,只需通過外接合適的外部電阻便可方便地實現陷波功能,同時可以克服以往陷波電路的電容電阻的匹配和損耗問題。
另外:人體肌電隨著個體的差異也會對心電信號造成不同程度的干擾;時甚至淹沒心電信號,因而有必要加以抑制。研究表明,肌電干擾主要集中在35Hz 左右,為此,本系統還設計了圖3.7所示的35Hz的無限增益多路反饋型二階陷波器。該二階陷波器由U10A、U10B 構成。其截止頻率約為35Hz ,可符合實際要求。經過一系列信號調理后,陷波輸出的心電信號為交變信號,而本系統中單片機內置ADC 轉換輸入電壓范圍為0~3.3V,因此,在送入ADC 之前還需進行電平抬升,在圖3.7電平抬升部分由U11、R42、R43、R44 構成。
單片機的選擇
單片機作為數據采集系統的核心部分,在本系統的設計中占有舉足輕重的地位。
單片機的選擇
單片機作為數據采集系統的核心部分,在本系統的設計中占有舉足輕重的地位。與80C51兼容;
具有4K可重復編程的閃存,可寫入/擦除1000次以上,數據保存10年以上;
操作頻率:0Hz-24Hz;
三層可編程的存儲器上鎖;
128個位組的內部數據存儲器;
32條可變成的I/O線;
2組16位定時器/計數器;
6個中斷源;
可編程的串行通道;
低功率停頓和功率下降模式。
以上特點使得AT89C51非常適合作為本數據采集系統的控制器。AT89C51與信號調理電路的連接見附錄。
A/D轉換芯片的選擇
(2)ADC0809 引腳 ADC0809 是 28 腳雙列直插式封裝,其引腳圖如圖3.9所示,各引腳的功能如下:
D7~D0:8位數字量輸出引腳;
IN0~IN7:8 路模擬量輸入引腳;
VCC:+5 V 工作電壓;
GND:接地端;
REF(+):參考電壓正連接端;
REF(-):參考電壓負連接端;
START:A/D 轉換啟動信號輸入端;
ALE:地址鎖存允許信號輸入端;
EOC:轉換結束信號輸出引腳,開始轉換時為低電平,當轉換結束時為高電平;
OE:輸出允許控制端,即完成轉換后數字量輸出允許控制信號輸入端口,高電平有效,用以打開三態數據輸出鎖存器;
CLK:時鐘信號輸入端;
ADDA、ADDB、ADDC:地址輸入線,用三位編碼組成 3-8 譯碼器,選通 8 路模擬電子開關,實現 IN0~IN7八個通道中的通道之間可進行切換。
ADC0809 可以以查詢方式或中斷方式與單片機 AT89C52 相連,本課題采用中斷方式,并采用定時器 T0 定5ms 中斷,進行 200 Hz 采樣。ADC0809 與AT89C51
單片機的接口如圖 3.10 所示。由于 ADC0809 片內無時鐘,可利用 AT89C51提供的地址鎖在允許信號 ALE 經 D 觸發器二分頻后獲得 ALE 腳的頻率是 AT89C51 單片機時鐘頻率的 1/6(但要注意的是,每當訪問外部數據存儲器時,將跳過一個 ALE 脈沖)。如果單片機時鐘頻率采用 12MHz,經二分頻后符合 ADC0809 對時鐘頻率的要求。由于 ADC0809 具有輸出三態鎖存器,其 8 位數據輸出引腳可直接與數據總線相連。地址譯碼引腳 ADDA、ADDB、ADDC 分別與地址總線的低三位 A0、A1、A2 相連,以選通 IN0~IN7 中一個通路,本課題只用到一個通道。將 P2.7(地址總線 A15)作為片選信號、在啟動 A/D 轉換時,由單片機的寫信號和 P2.7 控制 ADC0809 的地址鎖存和轉換啟動,由于 ALE 和START 連在一起,因此 ADC0809 在鎖存通道地址的同時,啟動并進行轉換。在讀取轉換結果時,用低電平的讀信號和 P2.7 腳經一級或非門后,產生的正脈沖作為 OE 信號用以打開三態鎖存器,由圖 3.10可知,P2.7應設為低電平,ADC0809 芯片選中第三通道的地址為 7FFB H。
液晶顯示硬件設計
為了能夠清晰的顯示出系統所檢測到的心電信號波形,特采用了高清晰的液晶顯示作為系統的輸出設備。
液晶顯示模塊的選擇
選則合適的液晶模塊對于心電采集系統的外觀和功能的實現起到至關重要的作用。
液晶模塊有以下3種類型[13-14]。
(1)數顯液晶模決;
(2)液晶點陣字符模塊;
(3)點陣圖形液晶模塊;
T6963C 液晶顯示控制器是日本東芝公司的產品, 多用于中小規模的液晶顯示器件, 常被裝配在圖形液晶顯示模塊上, 以內藏控制器式圖形液晶顯示模塊的形式出現。它能與80 系列的8 位微處理器直接接口?梢詧D形方式、字符方式及圖形和字符合成方式進行顯示, 還可以實現字符方式下的特征顯示, T6963C最大的特點是具有獨特的硬件初始設置功能,由于顯示驅動所需的參數(如占空比系數、驅動傳輸的字節數/行以及字符的字體選擇等)均由引腳電平來設置,因此T6963C的初始化在上電時就已基本設置完成,而對顯示功能的設置則由軟件初始化來完成[19-20]。
液晶電源電路設計
液晶電源電路設計的主要作用是為液晶顯示模塊提供工作電壓。
系統軟件設計
4.1主程序及數據采集中斷程序
系統上電后,首先要進行系統初始化設置,包括復位方式、時鐘源、電壓基準、中斷、ADC的設置,這些設置通過設置相應的特殊功能寄存器來進行。本系統選用外部時鐘源,頻率12M。由于心電信號的主要頻率范圍為0.05—100Hz,根據采樣定理,為了不失真的采集信號,設計時將采樣定為200 Hz,即心電數據采樣周期為5ms。為此設置ADC啟動方式采用定時器1溢出方式;轉換采用中斷方式。其主程序及數據采集程序流程圖如圖4.1及4.2所示。
液晶模塊軟件設計
LCD 軟件的設計主要包括初始化子程序和顯示子程序。初始化子程序又包括清顯示RAM 子程序和驅動子程序及對顯示功能的設置。在進行顯示之前, 應先對顯示緩沖區進行清零, 也即先執行清顯示RAM 子程序[21-22]; 而在對LCD 進行讀寫等操作之前, 必須先執行驅動子程序, 對其相應的標志位進行判斷; 對顯示功能的設置主要包括設置文本區首址和寬度、設置圖形區首址和寬度、顯示方式設置、顯示開關設置等。
圖形區首地址:在點陣式液晶圖形顯示器中,LCD屏幕上的每個顯示單元對應一個地址,從左上角開始,從左到右,從上到下。在圖形顯示方式下,顯示單元的單位是1×8點陣(即一個字節),對應于240×64的屏幕,它有240×64÷8=1920個顯示單元,一屏的地址范圍是0-1919。命令控制字是24H和42H。
圖形區寬度:它用來調整使用的有效顯示窗口寬度,表示每行可有效顯示的單元數。對于240×64的顯示屏,最多每行有240/8=30個顯示單元。命令控制字是43H。
顯示開關設置是將相應的顯示方式打開,例如要顯示圖形,則將圖形方式控制位置1。命令控制字是98H。
曲線顯示的原理是將第1次A/D轉換的結果在第0列顯示,第2次轉換的結果在第1列顯示,……,第240次轉換的結果在第239列顯示,第241次轉換在第1列顯示,……,依次循環,在液晶屏幕上就會出現根據信號實時變化的心電曲線。
利用液晶顯示器顯示波形時,應首先建立顯示坐標系,可把坐標系的原點設在顯示屏的左下角處,這樣可使所有點都處在第一象限內,即坐標(X,Y)的值都為正值,以使算法簡化。其中X表示1~240個點,Y表示各個點所對應的幅值。幅值Y每增加1,顯示緩沖區的地址將減少10H。具體公式如下: Y=X-10H(D/A) 其中D為ADC0809采集的數字量,A為該數字量縮小的倍數。這樣,就可建立液晶屏面與直角坐標的一一對應關系! ∪绻巡杉臄祿旁赗AM中,液晶顯示器只能顯示240點。為了能對采集來的數據有一個全面的了解,可以通過改變在RAM中的讀數間隔來控制波形的顯示,即每讀完一個數據,存放數據的RAM地址便加N,然后通過設定N的大小來放大或回縮波形。在實際使用中,由于相鄰兩個點幅值的不同,可能會造成波形的不連續而影響視覺效果。因此,為了使波形能夠連續顯示,可以在顯示屏每顯示完一個點后,判斷與前一個幅值的差距,若大于08H,則在兩點之間插入若干個點以使兩點連續起來,然后再進行下一個點的顯示。相應操作表格說明見表4.1-4.7所示。顯示程序流程圖如圖4.5所示。各子程序清單見附錄。
4.3.1 基本操作時序
讀狀態:輸入:C/D=H,CE=L,RD=L,WR=H,輸出:D0-D7=狀態字
寫指令:輸入:C/D=H,CE=L,RD=H,WR=L,D0-D7=指令碼 輸出:無
讀數據:輸入:C/D=H,CE=L,RD=L,WR=H,輸出:D0-D7=數據
寫數據:輸入:C/D=H,CE=L,RD=H,WR=L,D0-D7=數據 輸出:無
4.3.2 狀態字說明
控制器可處于兩種工作狀態,指令數據讀寫狀態和連續數據讀寫狀態。
指令數據讀寫狀態:在此狀態下,對控制器每次進行操作之前,都必須進行讀寫檢測,確保STA0和STA1都為1。
連續數據讀寫狀態:在此狀態下,對控制器每次進行操作之前,都必須進行連續讀寫檢測,確保STA2和STA3都為1。
4.3.3 指令寫入方式
指令寫入方式可分三種:無參數指令、單參數指令、雙參數指令。
無參數指令:開始—讀寫檢測—寫指令—結束。
單參數指令:開始—讀寫檢測—寫數據—讀寫檢測—寫指令—結束。
雙參數指令:開始—讀寫檢測—寫數據(參數一)—讀寫檢測—寫數據(參數二)—讀寫檢測—寫指令—結束。
4.3.4 指令說明
控制器內部設有一個數據地址指針,可通過它來訪問內部32KRAM。
在連續指令開始后,控制器進入連續數據讀寫狀態,以后每讀寫一次數據,數據地址指針自動加一,直到向控制器發出連續讀寫結束指令后,才能退出此狀態。
在連續數據讀寫狀態,每次讀之前必須進行連續讀寫檢測。在連續數據讀寫狀態,不可用除連續讀寫結束指令外的其他指令。在連續數據讀寫以后,務必向控制器發連續讀寫結束指令,退出連續數據讀寫狀態位寫入。
4.3.5 初始化過程(復位過程)
寫指令80H:設置顯示模式為0R模式。
寫指令98H:開顯示。
寫指令43H:設置現實緩沖區首地址。
STA0 指令讀寫使能 1:允許 0:禁止
STA1 數據讀寫使能 1:允許 0:禁止
STA2 數據連續讀使能 1:允許 0:禁止
STA3 數據連續寫使能 1:允許 0:禁止
STA4 未用
STA5 未用
STA6 未用
STA7 液晶屏當前顯示狀態 1:顯示 0:關閉
表4.2 顯示模式設置
參數1 參數2 指令碼 功能
無 無 80H 設置顯示模式為0R模式
表4.3顯示開/關設置
參數1 參數2 指令碼數 功能
無 無 90H 關顯示
無 無 98H 開顯示
表4.4 顯示緩沖區設置
參數 1 參數2 指令碼 功能
地址低字節 地址高字節 42H 顯示緩沖區首地址
1EH 無 43H 設置顯示每行字節數
表4.5 數據指針設置
參數 1 參數2 指令碼 功能
地址低字節 地址高字節 24H 設置數據地址指針
表4.6 數據讀寫
參數1 參數2 指令碼 功能單位
數據字節 無 C0H 寫數據且數據地址指針加一
無 無 C1H 讀數據且數據地址指針加一
數據字節 無 C2H 寫數據且數據地址指針減一
無 無 C3H 讀數據且數據地址指針減一
數據字節 無 C4H 寫數據且數據地址指針不變
無 無 C5H 寫數據且數據地址指針不變
表4.7數據連續讀寫
參數1 參數2 指令碼 功能
無 無 B0H 連續寫開始
無 無 B1H 連續讀開始
無 無 B2H 連續讀寫結束
前置放大電路,從強的噪聲背景中提取心電信號。
帶通濾波電路,使頻率為0.05-100Hz的心電信號通過,該范圍以外的信號將大幅度衰減掉。
導聯電極脫落檢測電路,檢測電極是否脫落。
主放大電路,將前級放大的心電信號進行再次放大。
50Hz掐波電路,用于濾掉50Hz工頻干擾。
35Hz掐波電路,用于濾除肌電干擾。
電平抬升電路,用于抬升電平。
數據采集電路,采集心電信號并進行處理。
液晶顯示器輸出電路,輸出心電波形。
【單片機心電信號數據采集系統的設計答辯(一)】相關文章:
局域網數據庫環境下數據采集及處理05-08
小型熱水鍋爐單片機溫度控制系統(一)08-10
建筑設計論文答辯問題04-17
包裝設計論文答辯問題04-03
室內設計答辯問題參考04-14
論文答辯一般會提的問題及答辯流程04-15
室內設計論文答辯問題04-28
構件化的航天用數據傳輸處理系統構建05-02
施工組織設計答辯自述范例(精選9篇)05-12