熊小凡,苗櫪文,馬藝馨
(上海交通大學電子信息與電氣工程學院儀器科學與工程系,上海200240)
電阻抗層析成像(ElectricalImpedanceTomography,EIT)技術,基于CT原理和電磁理論,通過測量被測對象邊界上的大量轉移阻抗數據和一定的圖像重建過程,獲取被測對象內部的電導率和介電常數分布信息,從而通過電參數與病理/生理狀況的相關性進行醫學檢測[1-3]。作為一種可視化的無損檢測技術,EIT技術具有無輻射、非侵入、速度快、設備成本相對較低、設備尺寸相對較小等優點,在工業多相流測量領域、地球物理檢測領域、以及醫學輔助監測領域都有廣闊的應用前景[4-5]。在目前的EIT系統設計中,缺乏較為可靠的、穩定的以及能夠適應不同精度要求的嵌入式控制系統[6-7]。為了提高EIT系統的數據采集效率和增強數據采集的穩定性及可靠性,本文設計實現了一種分布式的EIT系統主控板的嵌入式控制程序。嵌入式控制軟件系統實現了頻率和幅值可調的激勵信號控制電路,以及頻率和輸出個數精確控制的ADC采用時鐘信號的產生[8-9]。通過主控板使各個前端能夠獨立判斷當前測量狀態,修改測量配置,實現多通道同步。
系統軟件控制具有很高的可靠性和靈活性,通過主控板的廣播信息能夠獲得系統當前工作的電極數目和單次測量點數等信息,從而修改自己的測量配置參數與不同電極數目的EIT數據采集系統測量設置相匹配,不需要重新燒寫程序,便于進行不同精度的EIT應用領域的實驗研究。
文中設計的嵌入式程序主要基于一種分布式高精度多頻率的醫用電阻抗成像測量系統。該系統綜合了集中式和分布式系統的特性,采用集中式系統的單激勵源方案作為激勵方案,采用多通道的分布式系統作為測量方案。激勵源和測量電路均設置在前端采集系統,前端系統通過復合電極和被測對象相連,這樣在電極端可以對激勵電流和測量電壓進行同步采樣,構成分布式控制方案,系統硬件結構圖如圖1所示。另外,為了提高系統效率,采用了線與邏輯電路實現硬件握手,控制前端板和主控板的信號收發邏輯[10-12]。

圖1 系統硬件結構框圖
文中的EIT數據采集系統主要可以分為主控模塊和前端測量模塊兩個部分,兩部分分別以MCU為控制核心,其中,主控模塊產生激勵信號、產生前端測量同步、與前端測量模塊通信以及與上位機通信。
兩個程序相互配合,從而實現人體阻抗信息的采集,并將數據發送給上位機用于成像和分析。圖2為EIT數據采集系統的總體軟件框圖,本系統分別由初始化子程序,各模塊的驅動程序,通信程序,測量控制程序,數據存儲和讀取等子程序組成。
主控板程序主要完成前端測量同步,信號產生和通信的主要功能。程序開始時,主控板上的MCU(STM32F103)首先進行初始化,配置系統時鐘,初始化各個外設,使能全局中斷,并進入空閑等待狀態。

圖2 系統軟件總體框圖

圖3 主控板程序流程圖
當PC端從串口(UART)發送測量指令時,主控板上MCU進入串口子程序對命令進行解碼,獲得測量頻率和幀數的信息。配置DDS的輸出模式,配置定時器的PWM輸出,設置ADC采樣時鐘的頻率,將測量相關命令通過CAN總線廣播給各個前端板,并等待所有前端板報告準備情況。收到全部報告后開啟PWM輸出,每次PWM輸出后程序等待前端板的握手信號,收到握手信號后開始下次測量。完成要求測量幀數后,MCU通過CAN總線向前端請求數據,收到數據后通過UART上傳給PC端后重新進入空閑狀態。主程序的流程圖如圖3所示。
MCU的初始化過程由系統初始化和外設初始化組成。其中系統初始化包括MCU的系統時鐘配置和全局中斷使能。之后,MCU進入外設初始化階段,本模塊使用的外設包括兩路SPI接口,兩路定時器TIM2和TIM3,CAN接口和UART接口,以及一個外部中斷EXIT1,外設初始化后,相關功能時鐘使能,IO口工作模式,中斷模式配置完成。程序進入空閑狀態,等待PC端的測量開始命令。
本系統的主要功能模塊包括信號產生模塊,同步時鐘模塊,握手信號響應模塊,以及通信模塊4個部分。信號產生模塊通過SPI控制DDS和程控變阻器,同步時鐘模塊通過兩路主從模式定時器TIM2和TIM3控制產生數目可控的時鐘信號,握手信號邏輯由外部中斷EXIT1響應,UART接口和CAN接口分別控制與PC端和前端測量板的通信。
本程序中涉及3種中斷,UART的接收中斷,CAN的接收中斷,以及外部中斷EXIT1,根據程序功能,采用逐級控制的方式控制程序執行,中斷優先級依次降低。PC端具有開始和停止程序的最高權限,主控板可以通過CAN打斷前端的測量過程,使整個測量過程靈活可控。
本系統的信號產生由兩部分產生,電流輸出型DDS芯片AD9832產生約為4 mA的恒流正弦信號,信號通過程控變阻器芯片AD5160后變成幅值可調的電壓信號輸出。兩款芯片的編程都由SPI接口控制,本系統使用的MCU芯片具有豐富的外設,片內有3個獨立的SPI接口可供使用,允許芯片實現與外部設備進行半/全雙工、同步等多種通信方式,支持8/16位傳輸幀格式,時鐘極性和數據順序可編程,可以快速開發SPI控制程序。該部分采用兩路SPI分別控制AD9832和AD5160,SPI作為主控設備,分別通過兩路從設備選擇管腳(NSS),主設備數據輸出管腳(MOSI),串口時鐘輸出管腳(SCK)與從設備相連。結合ST公司的固件庫和例程,可以通過固件庫中的結構體快速配置SPI接口的管腳功能(GPIO_Init)、時 鐘 使 能(RCC_APB1 Periph Clock Cmd),配置通信的SCK時鐘特性、工作模式、數據位數、數據方向(SPI_Init),采用 SPI_I2S_SendData(SPIx,TxDATA)函數完成SPI數據的發送。使用時首先檢查SPI的發送緩沖器空閑標志TXE,檢測到空閑狀態后,只需要修改x=1/2以及需要發送的TxDATA的內容,即可完成一次SPI通信,發送完成后,檢測SPI的忙(BUSY)標志,傳輸結束后該標志被清除,即可進行下一次通信。
程控變阻器AD5160是一個8位變阻器,僅通過一次SPI的寫操作即可完成電阻阻值的切換,它的輸出阻值R與控制字R_DATA的關系由下式定義:

控制程序可以表示為:
while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE)==RESET);//檢查發送緩沖器是否空閑
SPI_I2S_SendData(SPI2,R_DATA);//發送阻值控制字
while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_BSY)!=RESET);//等待發送完成
AD9832的輸出由頻率寄存器(Frequency Register)、遲延寄存器(Defer Register)和命令序列(Command Sequence)3個寄存器控制。頻率寄存器是一個32位寄存器,需要分4次寫入,一次寫入一個字節信息,頻率控制字的計算公式為:

其中,fMCLK為AD9832的外接晶振的時鐘頻率。
4次寫入的頻率控制字需要通過延遲寄存器組合為兩組16位控制字后通過命令序列載入頻率累加器配置輸出。它的信號產生程序寫入流程如圖4所示。
EIT數據采集要求每次激勵過程中,各個前端測量板進行同步測量。為了保證同步性,各個通道的ADC的采樣時鐘應保證一致性,并且為了能準確讀取不同激勵時得到的響應電壓,要求每次采集的時鐘個數是程序可控的。本系統的激勵信號頻帶覆蓋1 kHz~1 MHz,為了保證高頻頻段的測量精度,有效利用片外SRAM的存儲空間,本文設計了固定采樣周期數和變化采樣頻率的時鐘方案。每對電極激勵時,ADC對20個周期的采樣信號進行16倍信號頻率的采樣,即時鐘頻率的頻帶為16 kHz~16 MHz。基于以上的設計,本文利用兩路定時器TIM2和TIM3控制產生數目可控的時鐘信號。TIM2和TIM3是兩個16位的可編程通用定時器,可以實現自動裝載計數,輸入捕獲,輸出比較,PWM波產生,單脈沖輸出等多個功能。并且可以內部互聯,組成主從模式,實現更加復雜的功能設計。在本設計中,TIM2設置為主控定時器,工作在單脈沖模式,該模式下定時器在程序可控延時后產生一個固定寬度的脈沖信號。從定時器TIM3工作在PWM輸出模式,并受到主控TIM2的門控模式控制。TIM2和TIM3的輸出構成一種與門邏輯,即TIM2輸出高電平時,TIM3輸出PWM波。
STM32F1系列的定時器配置主要包括時基單元的配置和工作模式配置兩部分,時基單元包括計數器寄存器(CNT),預分頻器寄存器(PSC),自動裝載寄存器(ARR)3個寄存器,它們決定了定時器的工作頻率和更新事件或定時中斷的時間間隔。
配置完時基單元后,設定TIM2的控制寄存器CR1的OPM位選擇單脈沖模式,并設置從模式控制寄存器SMCR的TS位,使TIM3的內部觸發源與TIM2的內部輸出相連,用來啟動/關閉TIM3的輸出。同時,TIM3設置捕獲/比較模式寄存器將一路輸出設置為PWM輸出方式,啟動方式設置為門控模式,即可完成定時器的配置。每當TIM2啟動后,TIM3即產生所需頻率和個數的時鐘信號。TIM2的脈沖消失后TIM3的輸出自動停止。

圖4 DDS配置程序流程圖
CAN總線是一種標準現場總線,有效支持分布式控制網絡,實現各個節點之間實時和可靠的數據傳輸[13]。該總線具有高性能和高可靠性,廣泛用于工業現場、醫療設備、汽車電子等方面[14]。它結構簡單,不分主從模式,可以多主站運行,分散仲裁和廣播通信。任意一個節點可向其他節點發起數據通信,出現總線競爭時,按照優先級順序決定通信次序,且完全由硬件實現對接收信息的過濾,大大提高通信效率[15]。由于以上幾個優點,本系統的主控板和前端測量板的通信采用CAN總線實現.由于CAN總線屬于異步串行總線,因此同一網絡內的每個節點要約定同樣的波特率才能進行通信。本款控制器的波特率由CAN位時序寄存器CAN_BTR的SJW,TS2,TS1,BRP位控制,計算公式為:

其中,CAN_FxR1中STID[11:0]設置為可通過過濾器的數據幀的標識符,IDE=0,RTR=0,表示只允許標準標識符的數據幀通過。對應CAN_FxR2中的STID[11:0]=0xFFE,IDE=1,RTR=1,CAN_FxR2中為1的位代表對CAN_FxR1的對應位的過濾。當收到報文中的STID、IDE、RTR與CAN_FxR1相同時,報文才能通過過濾器進入接收郵箱。設置流程如圖5所示。

圖5 CAN的過濾器設置流程圖
EIT數據采集系統主控板的嵌入式軟件設計,采用Keil環境下的基于庫函數的MCU外設配置方法。之后對本系統的軟件的總體架構進行了分析,分別給出了主控板的主要功能模塊的驅動程序。其中,對主控板的激勵信號產生模塊,同步時鐘產生模塊,CAN總線通信模塊進行了重點介紹。實現了頻率和幅值可調的激勵信號控制電路,以及頻率和輸出個數精確控制的ADC采用時鐘信號的產生。通過修改測量配置,可以實現多通道同步測量。
文中的嵌入式控制軟件具有很高的可靠性和靈活性,不需要重復燒寫程序,與所研發的數據采集前端模塊和主控板硬件一起實現了分布式高性能的EIT數據采集系統,該EIT系統可以用于臨床和實驗研究。
[1]Bayford R.,Tizzard A.Bioimpedance imaging:an overview of potential clinical applications[J].Analyst,2012,137(20):4635-4643.
[2]李章勇,萇飛霸,任超世,等.一種基于多頻生物電阻抗法的人體腹部脂肪檢測系統的設計[J].傳感技術學報,2012,25(12):1643-1647.
[3]張琴艷,馬藝馨.生物組織阻抗溫度特性測試系統的研究[J].電子設計工程,2014,22(20):135-137.
[4]江玉柱,井賽.幾種磁場方式電阻抗成像技術的新進展[J].中國醫療設備,2015,30(3):63-66.
[5]徐燦華,董秀珍.生物電阻抗斷層成像技術及其臨床研究進展[J].高電壓技術,2014(12):3738-3745.
[6]Zhou H,Xu L,Cao Z,et al.Image reconstruction for invasive ERT in vertical oil well logging[J].Chinese Journal of Chemical Engineering,2012,20(2):319-328.
[7]萇飛霸,張和華.電阻抗斷層成像技術研究[J].中國醫療器械雜志,2016,40(1):52-54.
[8]陳曉艷,楊永政.一種肺呼吸電阻抗實時成像系統[J].測控技術與儀器儀表,2015,41(5):73-75.
[9]Zhang H,Yang Z,Huang Z,et al.Transthoracic impedance for themonitoring of quality of manual chest compression during cardiopul monary resuscitation[J].Resuscitation,2012,83(10):1281-1286.
[10]陳曉艷,熊偉.生物醫學電阻抗成像系統信號源的設計與實現[J].國外電子測量技術,2011,30(1):50-54.
[11]張偉興,馬藝馨.EIT激勵電流切換用模擬多路開關的選擇[J].儀表技術與傳感器,2014(10):105-107.
[12]程克非,賈廷強.基于CPK的TLS握手協議的設計與研究[J].電子科技大學學報,2013(3):420-424.
[13]劉魯源.CAN總線實時性和可靠性若干問題的研究[D].天津:天津大學,2010.
[14]李博,李曉強.基于can總線的智能控制器設計[J].電子設計工程,2015(10):122-124.
[15]Miao L.A new symmetric semi-parallel Electrical Impedance Tomography(EIT) system-II:The Performance[C].2016IEEEInternationalConference onImagingSystemsandTechniques(IST),Chania,Creece,2016.