版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 第一章 緒論</b></p><p> 1.1中醫(yī)經(jīng)絡(luò)的概述</p><p> 中國醫(yī)藥學凝結(jié)著中華民族數(shù)千年的生命智慧,是世界傳統(tǒng)醫(yī)學的重要組成部分。中醫(yī)臨床效果顯著,具有非凡的防病治病能力,但其基礎(chǔ)理論和診療方法發(fā)展緩慢,已經(jīng)落在了現(xiàn)代科學的后面。經(jīng)絡(luò)學說是運行氣血聯(lián)系臟腑和全身各部的通道,是人體功能的調(diào)控系統(tǒng).經(jīng)絡(luò)學說即闡述人
2、體經(jīng)絡(luò)的巡行分布生理功能病理變化及其與臟腑的相互關(guān)系的學說,是針灸學的基礎(chǔ),是中醫(yī)的重要組成部分,貫穿在中醫(yī)學生理、病理、診斷、針灸和藥物治療各個方面,對中醫(yī)各科的臨床實踐有重要指導(dǎo)意義。由于傳統(tǒng)中醫(yī)學診斷號脈和針灸本質(zhì)上都是靠醫(yī)生的感受來把握,缺乏客觀嚴謹?shù)难芯渴侄魏屠碚撝С?,得不到西方醫(yī)學界的認同,加之傳統(tǒng)中醫(yī)技術(shù)很難掌握,所有這些都嚴重阻礙了中醫(yī)學的發(fā)展和向世界推廣的進程。本論文把先進的現(xiàn)代信息處理技術(shù)與傳統(tǒng)中醫(yī)理論相結(jié)合,進行人
3、體經(jīng)絡(luò)電信息的動態(tài)傳輸特性研究,從而較直觀的得出經(jīng)絡(luò)信號的波形和特點。</p><p> 本研究課題的意義及國內(nèi)外發(fā)展現(xiàn)狀</p><p> 目前,國內(nèi)外利用生物、化學、物理、電子信息技術(shù)對人體生態(tài)、病態(tài)、特別是重大流行性疾病的非介入性快速診斷技術(shù)與相關(guān)理論正在迅速發(fā)展:而各現(xiàn)代科技領(lǐng)域的發(fā)展,特別是微電子測量、數(shù)據(jù)處理技術(shù)的迅速發(fā)展又為診斷技術(shù)的發(fā)展提供了強有力的工具。</p&
4、gt;<p> 另一方面,由于歷史的原因和我國技術(shù)研究水平相對落后,目前中華醫(yī)學的診斷手段,經(jīng)絡(luò)現(xiàn)象的發(fā)現(xiàn)和經(jīng)絡(luò)學術(shù)的形成發(fā)展主要依靠人的實踐經(jīng)驗,缺乏科學、系統(tǒng)的實驗論證。在臨床工作中醫(yī)生大多是憑借一些臨床資料如患者癥狀、體征以及各種檢查結(jié)果根據(jù)臨床經(jīng)驗得出結(jié)論,但疾病的診斷存在大量的特例及反例,信息來源既不完整又含有假象,且經(jīng)常遇到不確定性信息,哪些資料的價值大應(yīng)著重考慮,哪些只作次要考慮,各個醫(yī)生的意見有時很不一致
5、,這往往使決策相互矛盾或無理可循。</p><p> 而對于經(jīng)絡(luò)信號的采集與顯示,極大的方便了中醫(yī)根據(jù)病人的經(jīng)絡(luò)信號進行病癥的輔助判斷。同時用USB進行數(shù)據(jù)傳輸,其傳輸速度保證了信號完整和及時的顯示。在這樣的現(xiàn)實背景下,用USB經(jīng)絡(luò)電信息傳輸特性研究有其重大的實際意義:其發(fā)展前景必然是用現(xiàn)代信息處理技術(shù)對病人的經(jīng)絡(luò)電信息進行數(shù)據(jù)采集。</p><p><b> 1.3主要研究
6、內(nèi)容</b></p><p> 本課題的主要內(nèi)容有:</p><p> 1.掌握經(jīng)絡(luò)傳感器的性能結(jié)構(gòu),對其進行優(yōu)化使之適于后續(xù)系統(tǒng)。</p><p> 2,分析C0851F320的性能,掌握其使用方法。</p><p> 3.設(shè)計經(jīng)絡(luò)數(shù)據(jù)采集系統(tǒng)的硬件部分及軟件部分。</p><p> 4.對經(jīng)絡(luò)
7、數(shù)據(jù)采集系統(tǒng)進行調(diào)試。</p><p> 第2章 系統(tǒng)整體方案設(shè)計</p><p> 在設(shè)計采集系統(tǒng)之前,必須要對解決的問題進行調(diào)查研究和分析論證,在此基礎(chǔ)上,根據(jù)實際應(yīng)用中的問題提出具體的要求。另外,還要注意在滿足性能指標的前提下,盡可能地降低價格。</p><p> 2.1系統(tǒng)的總體結(jié)構(gòu)設(shè)計</p><p> 基于USB技術(shù)的經(jīng)
8、絡(luò)數(shù)據(jù)采集系統(tǒng)用于完成數(shù)據(jù)的采集傳輸與處理。共分三個部分設(shè)計:采集電路部分、USB接口電路部分和上位機。 </p><p> 經(jīng)絡(luò)數(shù)據(jù)采集系統(tǒng)不僅是一種醫(yī)用輔助診療設(shè)備,同時也是以微型計算機為核心的應(yīng)用電子儀器,它的最終目的是面向市場和面向用戶。因此在系統(tǒng)設(shè)計、研發(fā)的各個階段必須要考慮兼顧各方面應(yīng)用的特點和技術(shù)要求,在系統(tǒng)設(shè)計的整個過程中始終要遵循以下幾條原則.</p><p> 1.
9、 安全性原則設(shè)計和制作要完全依據(jù)GB9706.1-1995《醫(yī)用電氣設(shè)備安全通用要求》規(guī)定的內(nèi)容進行,保證系統(tǒng)的電氣性能安全。</p><p> 2. 準確性原則人體的生物信號都是極其微弱的信號,非常容易受到人體靜電和環(huán)境感應(yīng)電的干擾,因此在設(shè)計、制作中要采取一切手段保證信號的不失真。</p><p> 3. 可靠性原則必須保證能夠長時間穩(wěn)定的工作,性能可靠而不出故障。</p&g
10、t;<p> 4. 通用性和可移植性原則要求通用性盡可能好,能靈活的進行功能擴充。盡可能采用通用的系統(tǒng)總線結(jié)構(gòu),以便在需要時進行擴充。</p><p> 5. 先進性和可發(fā)展性原則考慮到計算機技術(shù)的迅速發(fā)展,設(shè)計必須要為以后系統(tǒng)的升級、改造留有手段,同時在技術(shù)上要做到適度超前。</p><p> 2.1.1信號采集模塊</p><p> 數(shù)據(jù)采
11、集系統(tǒng)性能的好壞,主要取決于它的精度和速度。在保證精度的條件下,應(yīng)有盡可能高的采樣速度,以滿足實時采集、實時處理和實時控制對速度的要求。單片機是整個信號采集模塊的核心,主要完成根據(jù)計算機傳送來的命令選擇工作方式、系統(tǒng)初始化、單片機的工作控制,以及在主程序中完成對AD采樣器、Flash存儲器和接口的控制。</p><p> 本系統(tǒng)的信號采集模塊由經(jīng)絡(luò)傳感器和C8051F320芯片組成。經(jīng)絡(luò)傳感器負責將人體的經(jīng)絡(luò)信
12、號采集過來轉(zhuǎn)換成電信號。單片機起到對經(jīng)絡(luò)傳感器傳來的模擬信號進行放大、A/D轉(zhuǎn)換、預(yù)處理的作用,并且負責與上位機進行通信C8051F320內(nèi)含有一個10位的模數(shù)轉(zhuǎn)換器(ADC)。由模擬多路開關(guān)(MUX)、可選擇緩沖(BUF)、可編程增益放大器(PGA ).基準電壓源。在硬件設(shè)計時,使用單片機內(nèi)部的A/D轉(zhuǎn)換器、濾波器對信號進行放大、濾波等處理,大大簡化了單片機的外圍電路。</p><p> 2.1.2 A/D轉(zhuǎn)
13、換器的選擇</p><p> A/D轉(zhuǎn)換器是數(shù)據(jù)采集系統(tǒng)最重要的一環(huán),它直接影響到數(shù)據(jù)采集系統(tǒng)的性能。A/D)轉(zhuǎn)換器速度的選擇一般應(yīng)根據(jù)所要求的任務(wù)而定。如果任務(wù)要求高速采集,則應(yīng)采用高速A/D轉(zhuǎn)換器。A/D轉(zhuǎn)換器的轉(zhuǎn)換精度也是選擇A/D轉(zhuǎn)換器的一個重要依據(jù),在高精度的測量中,往往對分辨率的要求比較高(16位以上)。由于內(nèi)部集成ADC主要使用了數(shù)字技術(shù),除具有數(shù)字系統(tǒng)的可靠性高、穩(wěn)定性高等優(yōu)點以外,還具有線性度
14、好、抗干擾能力強、成本低廉等優(yōu)點。</p><p> 總之,在數(shù)據(jù)采集系統(tǒng)中A/D轉(zhuǎn)換器的選擇總是根據(jù)任務(wù)的需要而選擇相應(yīng)的器件,另外成本也是選擇AM轉(zhuǎn)換器的一個重要的依據(jù)。本課題對于速度的要求就不是很高,而對于精度的要求也不是很高,綜合各種條件我們選用的是集成了10位模數(shù)轉(zhuǎn)換器的微控制器C8051F320。</p><p> 2.2 USB接口模塊</p><p&
15、gt; 本設(shè)計的采集系統(tǒng)與上位機的連接可以有多種方式,之所以選擇USB(通用串行總線)的方式與USB的速度快、易于擴展、使用靈活等突出特點是分不開的。</p><p> 2.2.1幾種串行總線的比較</p><p> 2.2.1.1 RS-232C總線 RS-232C總線是美國電子工業(yè)協(xié)會ETA(電子的工業(yè)協(xié)會、制定的一種用于單點通信串行物理接口標準。RS-232C總線標準設(shè)有25
16、條信號線,包括一個主通道和一個輔助通道,在多數(shù)情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現(xiàn),如一條發(fā)送線、一條接收線及一條地線。RS - 232C標準規(guī)定的數(shù)據(jù)傳輸率為每秒50, 75, 100, 150,300, 600, 1200, 2400, 4800, 9600, 19200波特。RS一232C標準規(guī)定,驅(qū)動器允許有2500pF的電容負載,通信距離將受此電容限制,例如,采用正150pF的通信電纜時,最大通信距離
17、為15M;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232C屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20M以內(nèi)的通信。</p><p> 2.2.1.2 IEEE-P1394總線 IEEE-P1394是高性能的串行總線。它的應(yīng)用范圍主要是那些帶寬要求超過100Mb/S的硬盤和視頻外設(shè)。利用同樣的四條信號線,IEEE1394可以同步傳輸,也可以支持異步傳輸。這
18、四根信號線分為差模時鐘信號線對和差模數(shù)據(jù)線對。IEEE 1394規(guī)范得到了很好的定義,而且基于IEEE規(guī)范的產(chǎn)品也在市場上出現(xiàn)了,目前IEEE 1394解決方案的價位被認為可以同SCSI磁盤接口相競爭,但它不適用于一般的桌面連接。</p><p> 2.2.1.3 RS-485總線 在要求通信距離為幾十米到上千米時,廣泛采用RS-485串行總線標準。RS-485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能
19、力。加上總線收發(fā)器具有高靈敏度,能檢測低至200mv的電壓,故傳輸信號能在千米以外得到恢復(fù)。RS-485采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS-485用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器。</p><p> 2.2.1.4 USB總線 USB即通用串行總線,可以實現(xiàn)熱插
20、拔,采用菊花鏈結(jié)構(gòu),最多可以同時連接127臺設(shè)備,由總線提供電源,并有檢錯、糾錯功能以保證數(shù)據(jù)正確傳輸。主要用于中速和低速的外設(shè)。USB是通過PCI總線和PC的內(nèi)部系統(tǒng)數(shù)據(jù)線連接,實現(xiàn)數(shù)據(jù)的傳輸。</p><p> 2.2.2 USB接口模塊的設(shè)計</p><p> 本設(shè)計的采集系統(tǒng)與上位機的連接可以有多種方式,之所以選擇USB(通用串行總線)的方式與USB的速度快、易于擴展、使用靈活
21、等突出特點是分不開的。USB總線即通用串行總線,可以實現(xiàn)熱插拔,采用菊花鏈結(jié)構(gòu),最多可以同時連接127臺設(shè)備,由總線提供電源,并有檢錯、糾錯功能以保證數(shù)據(jù)正確傳輸。主要用于中速和低速的外設(shè)。USB是通過PCI總線和PC的內(nèi)部系統(tǒng)數(shù)據(jù)線連接,實現(xiàn)數(shù)據(jù)的傳輸。同時,USB又是一種通信協(xié)議,支持系統(tǒng)和USB的外圍設(shè)備之間的數(shù)據(jù)傳輸。</p><p> 為了使數(shù)據(jù)采集系統(tǒng)能夠向PC機傳送數(shù)據(jù),我們需要設(shè)計數(shù)據(jù)采集系統(tǒng)與
22、PC機的接口模塊。利用USB(通用串行總線),可為計算機和外設(shè)間的數(shù)據(jù)通信提供一個很好的解決方案。它不但解決了傳統(tǒng)方法各設(shè)備之間的資源沖突和速度限制等問題,而且易于實現(xiàn)低成本、高可靠性的數(shù)據(jù)采集。目前,586以上的PC機大多數(shù)都具有USB接口,操作系統(tǒng)軟件也全面支持USB設(shè)備。</p><p> USB協(xié)議的復(fù)雜性意味著USB外設(shè)必須具有智能??刂破餍酒仨氈廊绾螜z測并對USB端口的事件做出反應(yīng),它必須為設(shè)備
23、提供存儲要發(fā)送的數(shù)據(jù)和獲得己經(jīng)接收到的數(shù)據(jù)的一種方法。控制器芯片在進行USB通信時所需要的支持是不同的。一些芯片只需要訪問一系列寄存器以存儲和恢復(fù)USB數(shù)據(jù)。其他的芯片要求設(shè)備程序代碼做更多的工作,包括管理描述符的重新獲得、設(shè)定數(shù)據(jù)切換值和保證正確的交換包被發(fā)送等。一些控制器芯片上有通用功能的CPU,而其他的控制器芯片則采取最簡單的方法和接口與一個外部CPU連接,按需要處理與USB控制器之間的非USB任務(wù)和通信。因此,微控制器和USB接
24、口的選擇有二種方式:帶US接口的單片機和通用USB收發(fā)器兩種。</p><p><b> 2.3軟件設(shè)計方案</b></p><p> 一個硬件系統(tǒng)完成后,都需要配套軟件對硬件進行全面的支持。一般情況下數(shù)據(jù)采集系統(tǒng)軟件包括兩部分:驅(qū)動軟件和應(yīng)用軟件。驅(qū)動軟件是直接對數(shù)據(jù)采集硬件系統(tǒng)進行設(shè)計的軟件層,它通常是通過計算機的標準總線或接口,由I/O指令完成計算機與數(shù)據(jù)采
25、集模塊的信息交換,管理系統(tǒng)的操作以及和計算機資源的組合,比如CPU中斷、DMA傳送等。驅(qū)動軟件在保持高性能、提供給用戶易于理解的同時,隱藏了復(fù)雜、詳細的硬件及程序設(shè)計。應(yīng)用軟件增加了分析和顯示的功能,所設(shè)計的人機界面,可以通過鍵盤或鼠標來設(shè)置數(shù)據(jù)采集系統(tǒng)參數(shù)。一個好的軟件提供給用戶的操作必然是簡便的、直觀的和移動的。對于給予計算機的數(shù)據(jù)采集系統(tǒng)來說,用戶操作界面的友好性、易操作性在很大程度上決定了該軟件的成功與否。</p>
26、<p> 本系統(tǒng)軟件設(shè)計的程序包括設(shè)備固件、USB設(shè)備驅(qū)動程序和應(yīng)用程序。其中的單片機控制程序采用C51語言編寫,根據(jù)實際需要,系統(tǒng)需要完成的任務(wù)有:通過串行通信,接受上位機發(fā)送來的控制命令,進行數(shù)據(jù)采集并存入Flash存儲器,在通過串行通信發(fā)送給上位機。當單片機加電或復(fù)位后,首先進入執(zhí)行主程序。主程序首先完成設(shè)定單片機的工作狀態(tài),設(shè)定程序的初始狀態(tài)。主程序是一個死循環(huán)的程序,程序完成設(shè)定狀態(tài)后就開始不停的循環(huán)等待來自主計
27、算機發(fā)出的控制命令。一旦接收緩沖器SBUF中收到命令之后,接收終端標志RI被置1,就進入接收中斷服務(wù)程序,對命令進行判別,并調(diào)用相應(yīng)的功能子程序進行處理。主要有下列子程序組成:初始化程序、中斷命令處理子程序、A/D。轉(zhuǎn)換子程序、串行發(fā)送子程序、軟件復(fù)位子程序。經(jīng)絡(luò)數(shù)據(jù)采集系統(tǒng)作為一個計算機應(yīng)用系統(tǒng)的一部分,是智能接口的下位機,上位機是中心主機,兩者之間通過USB接口交換信息。下位機完成經(jīng)絡(luò)數(shù)據(jù)的采集、存儲、發(fā)送等功能,上位機完成對經(jīng)絡(luò)數(shù)
28、據(jù)采集的控制、數(shù)據(jù)的存儲、處理,并根據(jù)不同的需要作相應(yīng)的分析,顯示輸出分析的結(jié)果作為醫(yī)生診斷或醫(yī)學研究的依據(jù)。</p><p><b> 2.4本章小結(jié)</b></p><p> 經(jīng)絡(luò)數(shù)據(jù)采集系統(tǒng)的設(shè)計將實現(xiàn)對人體的經(jīng)絡(luò)信號進行采集檢測。本章中對于系統(tǒng)的設(shè)計思想方法及實現(xiàn)方案做了概括性的介紹,給出了各芯片選擇的依據(jù)。根據(jù)實際需要,選擇的方案如下:</p>
29、;<p> 1. 考慮到采集系統(tǒng)的功耗,選擇了使用USB接口通信的數(shù)據(jù)采集系統(tǒng),并采用外部電源進行供電;</p><p> 2. 微控制器選擇帶有10位A/D和USB接口芯片的選C8051F320單片機。</p><p> 第3章硬件分析與設(shè)計</p><p><b> 3.1 系統(tǒng)概述</b></p>&l
30、t;p> 3.1.1 經(jīng)絡(luò)導(dǎo)聯(lián)</p><p> 為了記錄經(jīng)絡(luò),將探測電極安置于體表相隔一定距離的兩點,此兩點即構(gòu)成一個導(dǎo)聯(lián),兩點的連線代表連軸,具有方向性。臨床常用的導(dǎo)聯(lián)方式有肢體導(dǎo)聯(lián)和胸前導(dǎo)聯(lián),肢體導(dǎo)聯(lián)又有標準導(dǎo)聯(lián)和加壓單極肢體導(dǎo)聯(lián)之分?! ?lt;/p><p> 臨床中廣泛應(yīng)用的是標準十二導(dǎo)聯(lián)系統(tǒng),分別記為Ⅰ、Ⅱ、Ⅲ三個標準導(dǎo)聯(lián),aVR、aVL、aVF三個加壓導(dǎo)聯(lián)以及V1-
31、V6六個胸極導(dǎo)聯(lián)。其中Ⅰ、Ⅱ、Ⅲ主要是反應(yīng)左手、右手以及左腿任兩電極間的電壓差,無探查電極和無關(guān)電極之分,是雙極導(dǎo)聯(lián)。雙極導(dǎo)聯(lián)就是拾取兩個測試點的電位差。aVR-V6是單極導(dǎo)聯(lián),就是拾取某一點相對參考的電位。由一個無關(guān)電極和探查電極所組成,其P波明顯,利于診斷心律失常(V1)和左前壁心肌缺血(V5、V6)。標準導(dǎo)聯(lián)的特點廣泛地反映了心臟的大概情況,如:后壁心肌梗塞、心律失常等,往往Ⅱ、Ⅲ導(dǎo)聯(lián)可以記錄到清晰的波形。</p>
32、<p> 3.1.2經(jīng)絡(luò)信號的特點及對放大電路的要求</p><p> 經(jīng)絡(luò)信號的特點:信號十分微弱,常見的經(jīng)絡(luò)頻率一般在0.05~100Hz之間,能量主要集中在17Hz附近,幅度小于5mV,經(jīng)絡(luò)電極阻抗較大,一般在幾百千歐以上。在檢測生物電信號的同時存在強大的干擾,主要有電極移動引起基線漂移(一般小于1Hz),電源工頻干擾(50Hz),肌電干擾(幾百Hz以上)。電源工頻干擾主要是以共模形式存在,幅
33、值可達幾V甚至幾十V,所以經(jīng)絡(luò)放大器必須具有很高的共模抑制比(80dB以上)。電極移動引起基線漂移是由于測量電極與生物體之間構(gòu)成化學半電池而產(chǎn)生的直流電壓,最大可達300mV,因此,經(jīng)絡(luò)放大器的前級增益不能過大。由于信號源內(nèi)阻可達幾十KΩ、乃至所以,經(jīng)絡(luò)放大器的輸入阻抗必須在幾MΩ以上。同時在有源低通濾波器中要求能夠有效地濾除與經(jīng)絡(luò)信號無關(guān)的高頻信號,最后在設(shè)計要求對某一頻段的信號能夠抑制或衰減。通過系統(tǒng)調(diào)試,最后得到放大、無噪聲干擾的
34、經(jīng)絡(luò)信號。</p><p><b> 3.2總體電路框圖</b></p><p> 本電路設(shè)計主要是由五部分構(gòu)成。</p><p> 第一是前置放大電路。這一級增益選100~250倍左右。</p><p> 第二是抑制共模信號電路。我采用了右腿驅(qū)動電路,它不僅可以消除其中的共模電壓,還能提高共模抑制比,使信號輸出
35、的質(zhì)量得到提高。</p><p> 第三是低通濾波電路。經(jīng)絡(luò)頻率一般在0.05--100Hz之間,能量主要集中在17Hz附近,幅度為0~5mV,所以要對0.05--100Hz 以內(nèi)的信號進行保護,把這個頻率帶以外信號全部濾除。</p><p> 第四是工頻50Hz的帶阻濾波電路。本設(shè)計主要是采用了雙T帶阻濾波電路,它能夠?qū)δ骋活l段的信號進行濾除。對于電源工頻產(chǎn)生的50Hz的噪聲,用它能
36、有效選擇而對噪聲進行濾除。</p><p> 第五是后級放大電路。經(jīng)絡(luò)信號需要放大上千倍才能觀測到,前置放大器增益只有100~250左右,在這一級還需要放大4~10倍左右。</p><p> 3.3 具體單元電路設(shè)計</p><p> 3.3.1 前置放大電路的設(shè)計:</p><p> 根據(jù)經(jīng)絡(luò)信號的特點,前置級應(yīng)該滿足下述要求:&
37、lt;/p><p> 高輸入阻抗。被提取的經(jīng)絡(luò)信號是不穩(wěn)定的高內(nèi)阻源的微弱信號,為了減少信號源內(nèi)阻的影響,必須提高放大器輸入阻抗。一般情況下,信號源的內(nèi)阻為100kΩ,則放大器的輸入阻抗應(yīng)大于1MΩ。</p><p> 高共模抑制比CMRR。人體所攜帶的工頻干擾以及所測量的參數(shù)以外的生理作用的干擾,一般為共模干擾,前置級須采用CMRR高的差動放大形式,能減少共模干擾向差模干擾轉(zhuǎn)化。<
38、/p><p> 低噪聲、低漂移。主要作用是對信號源的影響小,拾取信號的能力強,以及能夠使輸出穩(wěn)定。</p><p> 3.3.2 放大方案的選擇</p><p> 3.3.2.1 方案(一):三運放儀用放大電路</p><p> 如圖3所示的同相并聯(lián)三運放結(jié)構(gòu),這種結(jié)構(gòu)可以較好地滿足上面三條要求。A1、A2構(gòu)成放大器的第I級,主要用來提
39、高整個放大電路的輸入阻抗。第II級采用差動電路用以提高共模抑制比。將A3、A4兩個同相輸入運放電路并聯(lián),再與A5差分輸入串聯(lián)的三運放差分放大電路。根據(jù)虛短、虛斷的概念,不難分析A3、A4前置放大電路僅對差模信號有放大作用,差模放大倍數(shù)為</p><p> ?。≧3+2R1)/ R3倍。這樣的電路有以下幾個優(yōu)點: </p><p> A3、A4提高了差模信號與共模信號之比,即提高了信噪比,
40、因差模信號按差模增益比放大,遠高于共模成分(噪聲);</p><p> 決定增益的電阻(R1、R2、R3)對共模抑制比CMRR沒有影響,因此電阻的容差不重要,R1、R4的失配僅使兩輸出端之間的差模增益失配,與CMRR相比,這一點并不重要。</p><p> 電路的另一個特點是對共模輸入信號沒有放大作用,共模電壓增益接近于零。這個因素不僅與實際的共模輸入有關(guān),而且也與A3和A4的失配電壓
41、和漂移有關(guān)。如果A3和A4有相等的漂移速率,且向同一方向漂移,那么漂移就作為共模信號出現(xiàn),沒有被放大,還能被第二級抑制。這樣對于A3和A4的漂移要求就會降低。A3和A4前置放大級的差模增益要做得盡可能高,相比之下,第二級(A5)的漂移和共模誤差就可以忽略,對放大器的要求就可以大大降低。當R4= R5,R6=R7+RP時,兩級的總增益為兩個差模增益的乘積,即:</p><p> Avd=((R3+2R1)/R3)
42、(R6/R4)</p><p> 由此可知,上述電路具有輸入阻抗高,共模抑制比高等優(yōu)點,可作為通用儀用放大器使用。</p><p> 圖3-4 三運放儀用放大器</p><p> 3.3.2.2方案(二)利用AD620來設(shè)計放大電路</p><p> AD620是一種只用一個外部電阻就能設(shè)置放大倍數(shù)為1~1000的低價格、低功耗、高精
43、度儀表放大器。它體積小,為8管腳的SOIC或DIP封裝;供電電源范圍為±2.3V~±l8V;最大供電電流僅為1.3mA。AD620具有很好的直流特性和交流特性,它的最大輸入失調(diào)電壓為5OμV,最大輸入失調(diào)電壓漂移為lμV/。C,最大輸入偏置電流為2.0nA。G=10時,其共模抑制比大于93dB 。在1kHz處輸人電壓噪聲為9nv/(Hz)1/2.在0.1Hz~10Hz范圍內(nèi)輸人電壓噪聲的峰--峰值為0.28μV,輸入
44、電流噪聲為0.1pA/(Hz) 。G=l時它的增益帶寬為120kHz,建立時間為15μs。</p><p> 總的來看,AD620的特點可歸結(jié)為如下幾點:</p><p> AD620能確保高增益精密放大所需的低失調(diào)電壓、低失調(diào)電壓漂移和低噪聲等性能指標,故可用于精確的數(shù)據(jù)采集系統(tǒng),作為各種微弱信號的前置調(diào)理器;</p><p> 只用一只外部電阻就能設(shè)置放大
45、倍數(shù)l~l000;</p><p> 體積小,只有8個引腳;</p><p> 低功耗,最大的供電電流為1.3mA;</p><p> 價格低,建立時問短,所以它也非常適用于多路轉(zhuǎn)換系統(tǒng)的V/I變換電路。</p><p> 利用AD620構(gòu)成經(jīng)絡(luò)放大器前置放大級:</p><p><b> 圖3-5
46、</b></p><p> 圖5是AD620在經(jīng)絡(luò)圖監(jiān)測儀的的應(yīng)用,這里的源阻抗可高達1MΩ,甚至更高,AD620的低功耗、低供電電壓及低噪聲特性得到了充分發(fā)揮。</p><p> 3.3.2.3方案(三)用MAX4194實現(xiàn)</p><p> MAX4194也是增益可調(diào)的儀用放大器,下面是它的特性參數(shù):</p><p>
47、 +2.7V 單電源工作</p><p><b> 低功耗</b></p><p> 93µA Supply Current</p><p> 8µA Shutdown Current</p><p> 高共模抑制比:115dB (G = +10V/V)</p><p>
48、; 低輸入失調(diào)電壓:50µV(G = +100V/V)</p><p> G=1000 V/V時3dB帶寬為147Hz</p><p><b> 軌至軌輸出</b></p><p> MAX4194的這些優(yōu)異性能使它十分適合經(jīng)絡(luò)放大器的設(shè)計。設(shè)計電路如下:</p><p><b> 圖
49、3-5</b></p><p> 3.3.3方案選擇及元器件選擇:</p><p> 三運放儀用放大器,雖然可以滿足一般要求,但由于集成化低,所用元件多,結(jié)構(gòu)復(fù)雜,調(diào)試困難,難以滿足當前各種微弱生理參數(shù)測量的高穩(wěn)定性、高共模抑制比、高安全性的要求。MAX4194的封裝形式是貼片,用起來不太方便,所以選用DIP封裝的AD620。</p><p><
50、;b> 元件參數(shù)計算:</b></p><p> 這一級增益選為250,并聯(lián)雙運放部分放大5倍,AD620部分放大50倍。</p><p> 選R1=R2=20K,R3=10K,則AV1=2R1/ R3=5。</p><p> 取R5=R6=20K。</p><p> C1、C2、R7、R8組成高通濾波網(wǎng)絡(luò),截止頻
51、率為0.025Hz。取R7=R8=200K, C1=C2=33μF,</p><p> f=1/2R7C1=0.024 Hz。</p><p> AD620部分放大50倍,由公式G=49.4kΩ/RG+1計算得到,RG=1kΩ。</p><p> 前級總放大倍數(shù)AV前= AV1?G=5(49.4+1)=252。</p><p> 3.
52、4 共模信號抑制電路</p><p><b> 3.4.1 定義:</b></p><p> 為了說明差分式放大電路指引共模信號的能力,常用共模抑制比作為一項技術(shù)指標來衡量,其定義為放大電路對差模信號的電壓增益與對共模信號的電壓增益之比的絕對值,即</p><p> 差模電壓增益越大,共模電壓增益越小,則共模抑制能力越強,放大電路的性能
53、越優(yōu)良,因此希望值越大越好。共模抑制比也可以用分貝表示:</p><p> 3.4.2右腿驅(qū)動電路</p><p> 體表驅(qū)動電路是專為克服50Hz共模干擾,提高CMRR而設(shè)計的,原理是采用以人體為相加點的共模電壓并聯(lián)負反饋,其方法是取出前置放大級中的共模電壓,經(jīng)驅(qū)動電路倒相放大后再加回體表上,一般的做法是將此反饋共模信號接到人體的右腿上,所以稱為右腿驅(qū)動。通常,病人在做正常的經(jīng)絡(luò)檢測
54、時,空間電場在人體產(chǎn)生的干擾電壓以及共模干擾是非常嚴重。而使用右腿驅(qū)動電路就能很好地解決了上述問題。下圖就是右腿驅(qū)動電路主要構(gòu)成。其中反饋共模電壓可以消除人體共模電壓產(chǎn)生的干擾,還可以抑制工頻干擾。</p><p> 3.4.3元器件參數(shù)計算:</p><p> 參數(shù)選擇:R4=1M,RF=10M,CF=4700pF(CF的作用是使右腿驅(qū)動電路穩(wěn)定),R9=100K。</p>
55、;<p> 右腿驅(qū)動電路如下圖所示:</p><p><b> 圖3-6</b></p><p> 要求:3dB頻率是100Hz,在200Hz的率減大于25dB。</p><p><b> 計算陡度系數(shù)AS。</b></p><p> AS=200/100=2</p&g
56、t;<p> 選擇歸一化設(shè)計滿足低通要求。n=3的巴特沃斯設(shè)計能滿足要求。</p><p> 下圖表示歸一化低通濾波器。</p><p><b> 圖3-7</b></p><p> 把低通換算為所需的截止頻率和阻抗值。計算FSF.</p><p> FSF=2100=628</p>
57、<p> 選Z=10000,把所有電阻乘以Z,把所有電容除以ZFSF。下圖是所得到的低通濾波器。</p><p><b> 圖3-8</b></p><p> 下圖是模擬的低通濾波器的幅頻特性曲線。</p><p><b> 圖3-9</b></p><p> 工頻50Hz的濾
58、除電路</p><p> 工頻干擾是經(jīng)絡(luò)信號的主要干擾,雖然前置放大電路對共模干擾具有較強的抑制作用,但有部分工頻干擾是以差模信號方式進入電路的,且頻率處于經(jīng)絡(luò)信號的頻帶之內(nèi),加上電極和輸入回路不穩(wěn)定等因素,前級電路輸出的經(jīng)絡(luò)信號仍存在較強的工頻干擾,所以必須專門濾除。</p><p> 采用如下圖所示是有源雙T帶阻濾波器,該電路的Q值隨著反饋系數(shù)(0<<1)的增高而增高,
59、Q值與的關(guān)系如下:,調(diào)節(jié)R16和R17的比值可改變Q值。</p><p><b> 圖3-10</b></p><p> 3.5.1參數(shù)計算:</p><p> ,,C7=C8=C,C6=2C</p><p><b> 先取</b></p><p> ,由公式計算得
60、,在軟件上模擬后,調(diào)整為:</p><p><b> ,,,。</b></p><p> 3.5.2 Q值討論</p><p> 50Hz陷波器的傳遞函數(shù)為:</p><p><b> (1)</b></p><p><b> 幅頻特性為:</b&g
61、t;</p><p> ?。?),=1,=100rad。</p><p> 國家允許交流供電頻率在49.5~50.5Hz范圍內(nèi),所以50Hz陷波器的Q值并不是越高越好,太高時,阻帶過窄,若工頻干擾頻率發(fā)生波動,則根本達不到濾除工頻干擾的目的。而Q值太小時,又可能會濾掉有用信號。</p><p> 選擇3dB處截止頻率為47.5Hz,52.5Hz,將,分別代入中計
62、算得,Q1=9.74,Q2=10.24,所以取</p><p> ?。?0,R17=22M, R16=510K。</p><p> 軟件模擬設(shè)計50Hz陷波器幅頻特性如下所示:</p><p><b> 3.6后級放大電路</b></p><p> 后級放大采用反相放大器,反相放大器一般形式如下圖所示:</p
63、><p><b> 圖3-12</b></p><p> 在此電路上加一個電容,就可以同時實現(xiàn)放大和濾波,稱之為實用反相放大器。</p><p> 低端截止頻率設(shè)計為0.05Hz,由式=0.05Hz來定C10,R18的值,取C10=33,</p><p> R18=100K。再由=-5,取R19=510KΩ。高端截止
64、頻率,由此式計算出C11的值,取C12=680。</p><p><b> 圖3.14</b></p><p> 設(shè)計實用反相放大器的模擬幅頻特性如下所示(輸入信號1mV):</p><p><b> 圖3-15</b></p><p><b> 3.7 總結(jié)和討論</b&g
65、t;</p><p> 信號經(jīng)過放大、濾波、處理后送入單片機進行A/D變換,一方面將A/D變換后的數(shù)據(jù)通過USB傳到主機; </p><p> 經(jīng)絡(luò)系統(tǒng)的前向通路對目前面世的許多醫(yī)學儀器起著不可漠視的重要角色;這相當于一個基石,沒有了它,經(jīng)絡(luò)信號就不能很好的放大和給A/D采集,所以當前對經(jīng)絡(luò)的研究是至關(guān)重要的。剛要做時,我覺得無法入手,經(jīng)過長時間的對相關(guān)資料的了解,明白自己首要做的事情
66、就是要了解經(jīng)絡(luò)信號的特點,因為經(jīng)絡(luò)信號輸出時的幅度不上5mV,那么選擇一個適合的放大器對設(shè)計是第一個要點,在課題的一步步設(shè)計下去,碰到的問題不少,如放大電路中芯片的選擇,在對比經(jīng)絡(luò)放大的各種要求才確定一個最方便、最實用的辦法。根據(jù)經(jīng)絡(luò)信號的特點,設(shè)計了一個帶通濾波器、一個陷波器來對信號進行濾波,也使我明白了多階濾波器的設(shè)計;還有一點很重要的就是電容和電阻的參數(shù)確定比較繁瑣,在選取使要考慮電阻標稱值。</p><p&g
67、t; 第4章軟件分析與設(shè)計</p><p><b> 4.1系統(tǒng)總體設(shè)計</b></p><p> USB數(shù)據(jù)采集系統(tǒng)軟件設(shè)計主要包括兩部分:一是USB設(shè)備端的單片機軟件,主要完成USB協(xié)議處理與數(shù)據(jù)交換(多數(shù)情況下是一個中斷子程序)以及其它應(yīng)用功能程序。二是PC端的程序,由USB設(shè)備驅(qū)動程序和應(yīng)用程序兩部分組成。公司在Express的開發(fā)包中提供了一個通用驅(qū)動
68、程序,我們對該驅(qū)動程序進行了封裝,完成應(yīng)用程序與USB操作系統(tǒng)的接口功能。應(yīng)用程序根據(jù)下位機的數(shù)據(jù)包格式及通信協(xié)議,提取出各種信息供其它模塊使用。PC端程序的開發(fā)難度比較大,程序員不僅要熟悉USB協(xié)議,還要熟悉Windows體系結(jié)構(gòu)并能熟練運用DDK工具。</p><p> 4.2 固件程序設(shè)計</p><p> 4.2.1 USB接口固件設(shè)計</p><p>
69、 對于單片機控制程序,目前沒有任何廠商提供自動生成固件的工具,因此所有程序都要由自己手工編制。根據(jù)USB協(xié)議,任何傳輸都是由主機開始的,這樣單片機作它的前臺工作,等待中斷。主機首先要發(fā)令牌包給USB設(shè)備, 設(shè)備接收到令牌包后就給單片機發(fā)中斷,單片機進入中斷服務(wù)程序,首先讀C8051F320的中斷寄存器,判斷USB令牌包的類型,然后執(zhí)行相應(yīng)的操作。因此,USB單片機程序主要就是中斷服務(wù)程序的編寫。在USB單片機程序中要完成對各種令牌包的
70、響應(yīng),其中比較難處理的是SETUP包,主要是端口0的編程。</p><p> 4.2.2單片機主程序設(shè)計</p><p> 主程序由兩部分組成:第一、初始化單片機;第二、主循環(huán)部分,其任務(wù)是可以中斷的,并對經(jīng)絡(luò)信號進行處理。在此選用了Keil C51語言進行了程序的調(diào)試和軟件仿真。Keil C51開發(fā)系統(tǒng)可以完成編輯、編譯、連接、調(diào)試和仿真等整個開發(fā)流程。可以用它來編輯C或匯編文件,然
71、后由C51或A51編譯器生成目標文件(.OBJ)。 目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS ). ABS文件由OH51轉(zhuǎn)換成標準的HEX文件,以提供給調(diào)試器使用,進行源代碼級調(diào)試,直接對目標板進行調(diào)試,也可以直接寫入程序存儲器中。</p><p> 4.2.2.1 初始化過程初始化程序分為兩個部分,首先初始化單片機內(nèi)部寄存器,定時器,設(shè)置看門狗和外部I
72、/O口,以及USB相關(guān)得寄存器進行初始化。</p><p> 4.2.2.2 主循環(huán)部分完成初始化工作后,就可作其它的前臺工作了,并在前臺判斷是否有Setup包(通過一個變量,當中斷服務(wù)程序檢測到有Setup包時,設(shè)置該變量),然后執(zhí)行響應(yīng)的控制傳輸。</p><p> 本系統(tǒng)的主程序流程圖如圖4-2所示。</p><p> 圖4-1 主程序流程圖<
73、/p><p> 圖4-2中斷程序流程圖</p><p> 中斷服務(wù)程序?qū)r間敏感的,必須馬上執(zhí)行。前面己經(jīng)提到C8051F320中的單片機固化程序主要就是中斷服務(wù)程序。主程序和中斷程序之間的數(shù)據(jù)交換主要是靠數(shù)據(jù)緩沖器和事件標志來完成的。</p><p> 如中斷流程圖4-3所示,中斷程序主要進行端點的控制。如表4-1所示,USB提供3組端點,其中端點0為設(shè)備缺省支
74、持的控制端點:端點1為普通端點,可以作為塊傳輸或中斷傳輸端點;端點2稱為主端點,主要用于大塊數(shù)據(jù)的傳輸,采用雙緩沖技術(shù)以更好的支持實時應(yīng)用的等時傳輸,支持DMA操作??梢酝ㄟ^SetMode命令從1種傳輸模式中選擇一種設(shè)置,即將主端點設(shè)置為等時傳輸或非等時傳輸。 </p><p> 表4-1 C8051F320端點類型</p><p> 塊輸出端點:當D12需要接收一個來自USB總
75、線上的數(shù)據(jù)包時,向CPU產(chǎn)生一個中斷請求,CPU接收到中斷請求信號后,馬上服務(wù)于中斷程序。在中斷服務(wù)程序中,用單片機固化程序來將D12內(nèi)部寄存器的數(shù)據(jù)轉(zhuǎn)移到數(shù)據(jù)緩沖器(CPU內(nèi)部RAM)中并等待主程序來處理,且將D12內(nèi)部寄存器清空以便接收新的數(shù)據(jù)包。CPU可接著執(zhí)行它的主程序,并且檢查數(shù)據(jù)緩沖器中是否有新的數(shù)據(jù)并加以處理。在這種結(jié)構(gòu)下,CPU不管數(shù)據(jù)是來自USB總線、串行口還是并行口,它的主要任務(wù)是查看數(shù)據(jù)緩沖器是否有新的數(shù)據(jù)以便處理
76、。</p><p> 控制端點:它和塊輸出端點在數(shù)據(jù)處理方面概念相同。當中斷服務(wù)程序(ISR)在接收和儲存控制數(shù)據(jù)包的同時,設(shè)置相應(yīng)的寄存器標志。因為所有的標準設(shè)備、類等都是在協(xié)議層中處理的,ISR的這種結(jié)構(gòu)則可以保持它的效率。下面給出控制端點輸出(如圖4-4)和控制端點輸入(如圖4-4)處理程序流程圖。</p><p><b> 圖 4-4</b></p&
77、gt;<p><b> 圖4-5</b></p><p> 4.2.3設(shè)備配置信息</p><p> 這是系統(tǒng)枚舉并配置USB設(shè)備所依據(jù)的一系列數(shù)據(jù)結(jié)構(gòu)的定義。這些數(shù)據(jù)結(jié)構(gòu)完全遵循USB規(guī)范,并對廠商和設(shè)備特征。主要包括:1個設(shè)備描述符,,1個配置描述符,1個接口描述符,2個端口描述符,和若干字符串描述符(包括標識,廠商,產(chǎn)品,序列號)。這里,2個
78、端口描述符定義分別定義了1個中斷輸出和1個中斷輸入端點,查詢間隔為50毫秒。設(shè)備描述符中定義廠商ID,產(chǎn)品ID。兩個ID構(gòu)成硬件ID,系統(tǒng)將根據(jù)硬件ID查找并自動加載所需要的驅(qū)動程序。</p><p> 圖4-6 分層通信模型</p><p> 圖4-6中的通信模型是對主機與USB設(shè)備的一個分層通信模型的描述,它表明主機與USB設(shè)備之間軟件以及數(shù)據(jù)通信的對應(yīng)關(guān)系。主機軟件通過對USB
79、設(shè)備的端點和管道進行操作實現(xiàn)主機與USB設(shè)備之間的通信,USB總線接口層為主機和USB設(shè)備提供了物理的連接,USB設(shè)備層是通過控制管道將系統(tǒng)軟件與邏輯設(shè)備連接起來,功能層通過數(shù)據(jù)管道將客戶軟件與USB設(shè)備的功能接口連接起來。對于USB設(shè)備層和功能層而言,這兩層d都有其層間的邏輯通信,而這種邏輯通信實際上是通過USB總線接口層來完成其數(shù)據(jù)傳輸?shù)摹?lt;/p><p><b> 4.3設(shè)備驅(qū)動程序</b
80、></p><p> 驅(qū)動程序使用在主機上,用來程序化一個UBS設(shè)備。在WindowS系統(tǒng)下,主機與設(shè)備之間的USB通信必須經(jīng)過設(shè)備驅(qū)動程序來傳輸。設(shè)備驅(qū)動程序知道如何與系統(tǒng)的UBS驅(qū)動程序、以及與存取設(shè)備的應(yīng)用程序溝通。應(yīng)用程序不需要知道</p><p> 它所通信的設(shè)備,其實際的連接地址、信號種類以及通信所用的協(xié)議等細節(jié),這些工作是由設(shè)備驅(qū)動程序來處理的。應(yīng)用程序只需知道設(shè)備
81、的名稱,或是設(shè)備的功能即可。</p><p> 4.3.1 USB驅(qū)動程序?qū)?lt;/p><p> WindowS系統(tǒng)中管理設(shè)備通信的部分是I/O子系統(tǒng)(I/0Subsystem)。I/O子系統(tǒng)分成數(shù)層,每一層包含一個或多個驅(qū)動程序,通信的要求在這些層次間分別傳遞。在1/0子系統(tǒng)內(nèi)有一個UBS子系統(tǒng),包含有處理所有設(shè)備的UBS通信的驅(qū)動程序。</p><p> 4
82、.3.2 函數(shù)驅(qū)動程序</p><p> 函數(shù)驅(qū)動程序(functinodrive)r讓應(yīng)用程序與UBS設(shè)備,通過API函數(shù)來溝通。這些API函數(shù)屬于Windwos的Win32子系統(tǒng),Win32子系統(tǒng)同時也管理著執(zhí)行應(yīng)用程序、讀取鍵盤與鼠標輸入、在屏幕上顯示輸出等用戶函數(shù)。函數(shù)驅(qū)動程序同時知道如何與較低級的總線驅(qū)動程序溝通,總線驅(qū)動程序控制著硬件。圖34是應(yīng)用程序與各個驅(qū)動程序,如何一起完成UBS通信的結(jié)構(gòu)圖
83、。函數(shù)驅(qū)動程序通常被指為設(shè)備驅(qū)動程序,不過設(shè)備驅(qū)動程序除了函數(shù)驅(qū)動程序外,還包含總線驅(qū)動程序。函數(shù)驅(qū)動程序可以是一個類別驅(qū)動程序,或者說一個特定的設(shè)備驅(qū)動程序。</p><p> 當設(shè)備或是子類別的要求超過類別驅(qū)動程序的能力時,會有輔助的過濾器驅(qū)動程序來增加類別驅(qū)動程序的能力。一個上層的過濾器驅(qū)動程序位于類別驅(qū)動程序的上方,如圖34所示。從應(yīng)用程序傳來的要求,會先經(jīng)過上層的過濾器驅(qū)動程序,然后才傳給類別驅(qū)動程序
84、。一個下層的過濾器驅(qū)動程序位于類別驅(qū)動程序與總線驅(qū)動程序之間,類別驅(qū)動程序?qū)⒁髠鬟f給下層過濾器驅(qū)動程序,然后再傳給總線驅(qū)動程序。</p><p> USB的總線驅(qū)動程序包含:</p><p> (一)根集線器驅(qū)動程序(root一hubdriVer)</p><p> (2)總線類別驅(qū)動程序(bus一elassdriVer)</p><p&
85、gt; (3)主機控制器驅(qū)動程序(host一eontrollerdriVer)</p><p> 根集線器驅(qū)動程序管理連接端口的初始化,以及與設(shè)備驅(qū)動程序和總線類別驅(qū)動程序之間的通信。總線類別驅(qū)動程序管理總線的電源、檢測、UBS事務(wù)以及USB外設(shè)的設(shè)備驅(qū)動和應(yīng)用程序與根集線器驅(qū)動程序和主機控制器驅(qū)動程序之間的通信。</p><p> 主機控制器驅(qū)動程序啟用主機控制器的硬件,與UBS系
86、統(tǒng)軟件之間的通信。</p><p> 主機控制器驅(qū)動程序之所以與總線類別驅(qū)動程序分開,是因為WindwoS支持多個類型的主機控制器,每一個主機控制器有自己的驅(qū)動程序。</p><p> 總線類別驅(qū)動程序?qū)儆赪indwoS的一部分,所以設(shè)備驅(qū)動程序的編寫不需要知道總線類別驅(qū)動程序的工作細節(jié)。</p><p> 4.3.3 USB設(shè)備被發(fā)現(xiàn)的過程</p&g
87、t;<p> 一個USB設(shè)備接入計算機后,要經(jīng)過如下的步驟被主機所發(fā)現(xiàn)。</p><p> 1.USB外設(shè)所連的HUB檢測到所連接的USB外設(shè),并自動通知主機,以及它的端口變化狀態(tài),這時外設(shè)還是處于禁止狀態(tài)。</p><p> 2.主機通過對HUB的查詢以確認外設(shè)的連接。</p><p> 3.現(xiàn)在,主機己經(jīng)知道有一臺新的USB外設(shè)連接到USB
88、系統(tǒng)中,然后,它激活這個HUB的端口,并向HUB發(fā)送一個復(fù)位該端口的信號。</p><p> 4.HUB將復(fù)位信號保持10ms,為連接到該端口的設(shè)備提供最大不超過100mA的電流,這時外設(shè)處于Powered的狀態(tài),它所有的寄存器都被清空。</p><p> 5.在外設(shè)分配到唯一地址以前,它的默認信道是主機默認的地址,然后主</p><p> 機通過讀取默認信道
89、所使用的地址來讀取設(shè)備的特征字,從而能夠為設(shè)備找到相應(yīng)的設(shè)備驅(qū)動程序。</p><p> 6此時主機分配給外設(shè)一個唯一的USB地址,從此以后就用該地址與設(shè)備通信,這時設(shè)備叫Addressed狀態(tài)</p><p> 7.主機通過端點0來讀取設(shè)備描述符,從而為設(shè)備進行配置做準備。</p><p> 8.經(jīng)主控器件仲裁后,對設(shè)備進行配置,這樣設(shè)備就被配置成功了。&l
90、t;/p><p> 經(jīng)過以上的八個步驟后,一臺USB設(shè)備就進入工作狀態(tài)了。</p><p> 4.3.4 Windows驅(qū)動程序描述</p><p> 在Windows下,與USB外設(shè)的任何通信必須通過USB設(shè)備驅(qū)動,這個驅(qū)動知道如何與系統(tǒng)的USB驅(qū)動和訪問設(shè)備的應(yīng)用程序通信。設(shè)備驅(qū)動是保證應(yīng)用程序訪問硬件設(shè)備的軟件組件,使得應(yīng)用程序不必知道物理連接、信號和與-個
91、設(shè)備通信需要的協(xié)議等的細節(jié),可以保證應(yīng)用程序代碼只通過外設(shè)名字訪問外設(shè)或端口目的地gaol。應(yīng)用程序不需要知道外設(shè)連接端口的物理地址,不需要精確監(jiān)視和控制外設(shè)需要的交換信號。設(shè)備驅(qū)動通過在應(yīng)用層和硬件專用代碼之間的轉(zhuǎn)化來完成它的任務(wù)。應(yīng)用層代碼一般使用一套操作系統(tǒng)支持的函數(shù),硬件代碼則處理那些訪問外設(shè)電路的必要協(xié)議。設(shè)備驅(qū)動能與應(yīng)用程序之間相互通信是通過Windows提供的API函數(shù),這些函數(shù)使應(yīng)用程序能夠控制顯示器、處理信息、訪問存儲
92、器、讀寫磁盤和其它設(shè)備。對于一些標準設(shè)備,Windows提供通用驅(qū)動;而對于一些實時數(shù)據(jù)采集系統(tǒng)屬于自定義的設(shè)備,對此Windows并不提供通用的驅(qū)動,所以需要為設(shè)備編寫自定義的驅(qū)動,并且必須遵循微軟在Windows98以上版本中為用戶定義的Win32驅(qū)動模式。盡管Windows98和Windows2000提供了很多標準接口函數(shù),但編制設(shè)備驅(qū)動</p><p> Driver還包括一個功能強大的硬件探測器和調(diào)試
93、器,在寫入代碼前,可通過調(diào)試器對硬件進行全面的測試。這種方式能夠在寫驅(qū)動程序前,校驗硬件是否按照期望的那樣工作。WinDriver能根據(jù)檢測到的USB設(shè)備自動生成設(shè)備驅(qū)動程序代碼以及INF文件,用戶幾乎可以不加修改就可直接編譯生成USB設(shè)備驅(qū)動程序。Win-Driver還能根據(jù)用戶對USB設(shè)備的具體操作生成程序代碼,用戶可以將此程序代碼直接加入到用戶應(yīng)用程序中,另外,還可直接利用WinDriverAPI函數(shù)開發(fā)應(yīng)用程序。</p&g
94、t;<p> USB設(shè)備驅(qū)動程序設(shè)計</p><p> 一個完整的驅(qū)動程序要完成以下工作:初始化;創(chuàng)建與刪除設(shè)備;處理應(yīng)用層程序的打開和關(guān)閉句柄的請求;處理應(yīng)用層程序的輸入/輸出請求;串行化對設(shè)備的訪問;訪問硬件;調(diào)用其它驅(qū)動程序;取消UO請求;超時I/0請求;處理可熱插拔設(shè)備的加入和刪除事件;電源管理和WMI。</p><p> ?。?) WDM設(shè)備驅(qū)動程序結(jié)構(gòu)作為WN
95、IXP推薦的一項技術(shù)來說,USB的驅(qū)動程序是WDM類型的。WDM驅(qū)動程序在層次上主要可以分為兩層:功能驅(qū)動程序和總線驅(qū)動程序。另外,為處理一些特定設(shè)備的請求,還有一些過濾驅(qū)動程序。USB總線驅(qū)動程序負責枚舉和控制低速的USB總線。功能驅(qū)動程序知道如何控制設(shè)備的主要功能。它對IRP進行操作后,向下交與總線驅(qū)動程序處理。</p><p> 驅(qū)動程序主要任務(wù)就是處理各種I/0(輸入輸出)請求。I/0請求包(IRP)是
96、驅(qū)動程序操作的中心。它是一個內(nèi)核“對象”,是一個預(yù)先定義的數(shù)據(jù)結(jié)構(gòu),帶有一組對它進行操作的I/0管理器例程。I/0管理器接收一個I/0請求,然后再把它傳遞到合適的驅(qū)動程序棧中的最上層驅(qū)動程序之前,分配并初始化一個IRP。一個IRP有一個固定的首部和可變數(shù)目的IRP棧單元塊。每個1/O請求有一個主功能代碼,并可能有次功能代碼。它們都有各自的例程用來進行相關(guān)處理。</p><p> USB驅(qū)動程序的入口例程為Dri
97、verEntryo,負責主功能代碼調(diào)度。它接收不同的IRP,根據(jù)類型調(diào)用相應(yīng)的分發(fā)例程。</p><p> ?。?)應(yīng)用程序與WDM的通信 應(yīng)用程序是用戶運行的程序,包括支持自定義硬件的特殊用途的應(yīng)用程序。設(shè)備驅(qū)動使得應(yīng)用程序不必知道物理連接、信號和與一個設(shè)備通信需要的協(xié)議等的細節(jié)。設(shè)備驅(qū)動可以保證應(yīng)用程序代碼只通過外設(shè)需要的交換信號(忙、選通等)。</p><p> Windows
98、包括應(yīng)用程序接口(API)函數(shù),使得設(shè)備驅(qū)動能與應(yīng)用程序之間相互通信。這些函數(shù)是使得應(yīng)用程序能夠控制顯示器、處理信息、訪問存儲器、讀寫磁盤和其他設(shè)備以及更多的幾千個函數(shù)中的一部分。用于讀寫USB設(shè)備的API函數(shù)是ReadFile,WriteFile和DeviceIOControl。</p><p> 在Win32系統(tǒng)中,每個設(shè)備都被抽象為文件,應(yīng)用程序只需要簡單的調(diào)用幾個API函數(shù),就可以實現(xiàn)對設(shè)備的控制。如:
99、當應(yīng)用程序調(diào)用API函數(shù)CreateFile來打開設(shè)備時,操作系統(tǒng)向驅(qū)動程序發(fā)送IRPMJCREATE。驅(qū)動程序接到后,調(diào)用相應(yīng)的處理例程。打開設(shè)備的操作,需要先后調(diào)用4個API函數(shù):</p><p> (1)用該USB設(shè)備的標識符(GUID)作為一個參數(shù),調(diào)SetupDiGetClassDevs,傳回一個設(shè)備信息群,包含指定類別內(nèi)的所有設(shè)備;</p><p> (2)調(diào)用SetupD
100、iEnumDevicelnterfaces函數(shù),根據(jù)GUID,傳回上面設(shè)備信息群內(nèi)的一個設(shè)備的信息;</p><p> (3)調(diào)用SetupDiGetDevicelnterfaceDetail函數(shù),傳回這個設(shè)備的路徑;</p><p> (4)按照傳回的路徑,調(diào)用CreateFile函數(shù),開啟設(shè)備的通信。</p><p><b> 應(yīng)用軟件的設(shè)計&l
101、t;/b></p><p> 數(shù)據(jù)采集系統(tǒng)應(yīng)用軟件主要是對采集到的經(jīng)絡(luò)數(shù)據(jù)進行處理。在主窗口顯示被測者的經(jīng)絡(luò)波形,以便能夠直觀的了解被測者生理的大概狀況。而存儲形式為數(shù)據(jù)形式,以便能夠具體進行分析。使用此應(yīng)用程序采集經(jīng)絡(luò)數(shù)據(jù)的主窗口如圖4-7所示。</p><p> 經(jīng)絡(luò)數(shù)據(jù)采集軟件能夠存儲經(jīng)絡(luò)數(shù)據(jù),打開經(jīng)絡(luò)數(shù)據(jù)賀存儲波形。</p><p> 除此之外,
102、還可以放大或縮小主窗口,以便能夠方便的查看經(jīng)絡(luò)波形。</p><p> 從應(yīng)用程序主窗口可以觀察到被測者的經(jīng)絡(luò)波形,可以發(fā)現(xiàn),經(jīng)絡(luò)壓力在.周期為2HZ.符合經(jīng)絡(luò)的基本特征。也可以調(diào)節(jié)功能放到或縮小經(jīng)絡(luò)波形,以滿足觀測者的需要。</p><p><b> 本章小結(jié)</b></p><p> USB 設(shè)備的軟件設(shè)計主要包括兩部分:一是USB設(shè)
103、備端的單片機軟件,主要完成USB協(xié)議處理與數(shù)據(jù)交換(多數(shù)情況下是一個中斷子程序)以及其它應(yīng)用功能程序(比如采樣、A/D轉(zhuǎn)換等);二是PC端的程序由USB通信程序和用戶服務(wù)程序兩部分組成,用戶服務(wù)程序通過USB通信程序與系統(tǒng)USBDI (USB Device Interface)通信,由系統(tǒng)完成USB協(xié)議的處理與數(shù)據(jù)傳輸。PC端程序的開發(fā)難度較大,開發(fā)者不僅要熟悉USB協(xié)議,還要熟悉Windows體系結(jié)構(gòu)。在本章中系統(tǒng)的介紹了本課題的軟件
104、設(shè)計與實現(xiàn),同時給出了部分程序。另外,對于應(yīng)用程序的設(shè)計也做了簡單的描述。</p><p> 第5章經(jīng)絡(luò)數(shù)據(jù)采集系統(tǒng)的調(diào)試</p><p><b> 5.1調(diào)試步驟</b></p><p> 要快、成功地開發(fā)一個USB設(shè)備,正確、合理的調(diào)試方法是必不可少的環(huán)節(jié)。調(diào)試基本分為硬件和軟件兩步進行:首先對硬件電路外部設(shè)備(單片機部分)進行調(diào)試。
105、然后,借助PC機調(diào)試軟件將設(shè)備端的USB協(xié)議(主要有描述符請求、端口配置、地址設(shè)置以及基本數(shù)據(jù)交換)調(diào)通,用調(diào)試好的USB設(shè)備接口來開發(fā)、調(diào)試PC軟件,加上USB設(shè)備端的其它用戶程序,對整個完整的系統(tǒng)進行系統(tǒng)調(diào)試。</p><p> 5.2 硬件的調(diào)試與驗證</p><p> 經(jīng)絡(luò)數(shù)據(jù)采集系統(tǒng)的硬件調(diào)試主要有以下幾步:</p><p> ·檢查電路原
106、理圖是否有錯誤;</p><p> ·根據(jù)電路原理圖檢查PCB圖是否有錯誤;</p><p> ·制板,根據(jù)PCB圖檢查PCB板是否有錯誤,主要檢查是否有線粘連;</p><p> ·焊件,測試各個元件管腳連接是否有錯誤,并檢查是否有虛焊脫焊的問題。</p><p> ·加電測試電源部分工作是否
107、正常,晶振部分工作是否正常;</p><p> ·下載C08051F320的程序,測試電路其他各部分工作是否正常;</p><p><b> ·測試完畢。</b></p><p> 5.3軟件的調(diào)試與驗證</p><p> 在調(diào)試USB設(shè)備時,可使用UsbView程序檢測設(shè)備是否能被Windo
108、ws枚舉并配置,如果成功, 還可在該程序中查看設(shè)備描述符、配置描述符和端點描述符是否正確。之后可以使用Driver Wizard生成一個通用驅(qū)動程序,在Windows提示安裝驅(qū)動程序時,選擇Driver Wizard生成的驅(qū)動程序。其實Driver Wizard生成的僅是一個Windows控制臺的應(yīng)用程序,它會調(diào)用安裝Driver Wizard時安裝在系統(tǒng)中的通用USB驅(qū)動程序。使用該程序就可測試設(shè)備是否能夠正確傳輸數(shù)據(jù)以及傳輸速度。該
109、程序也可作為最終產(chǎn)品USB傳輸部分的框架;如果不能滿足要求,也可用WDM重新編制驅(qū)動程序,用調(diào)試好的USB設(shè)備來開發(fā)、調(diào)試主機軟件。</p><p> 根據(jù)前人的經(jīng)驗,我們在單片機程序調(diào)試過程中對以下問題進行了總結(jié),在編寫單片機固件程序時,需要注意:單片機的中斷是否設(shè)置為電平觸發(fā):中斷后一定要讀上次傳輸狀態(tài)寄存器,以清除中斷寄存器中的中斷標志。這樣,單片機的中斷輸出才能變回高電平,這一點非常重要;</p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳感器畢業(yè)設(shè)計--礦用溫度傳感器設(shè)計
- 傳感器畢業(yè)設(shè)計
- 傳感器畢業(yè)設(shè)計
- 傾角傳感器畢業(yè)設(shè)計
- 傾角傳感器畢業(yè)設(shè)計
- 字溫度傳感器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--無線溫度傳感器
- 礦用溫度傳感器設(shè)計畢業(yè)設(shè)計
- 光纖溫度傳感器畢業(yè)設(shè)計
- 煙霧傳感器的設(shè)計畢業(yè)設(shè)計
- 傳感器畢業(yè)設(shè)計外文翻譯--傳感器新技術(shù)的發(fā)展
- 畢業(yè)設(shè)計—傳感器電路設(shè)計
- 畢業(yè)設(shè)計---uego傳感器控制器設(shè)計
- 傳感器檢測技術(shù)之傳感箱設(shè)計畢業(yè)設(shè)計
- 應(yīng)變式力傳感器畢業(yè)設(shè)計
- 溫濕度傳感器的畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--無線傳感器網(wǎng)絡(luò)監(jiān)測系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計—溶氧傳感器電路設(shè)計
- 畢業(yè)設(shè)計---智能壓力傳感器系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計(論文)-分布式溫度傳感器設(shè)計
評論
0/150
提交評論