DSP和USB總線的高頻超聲數據采集系統
引言
超聲醫學即利用超聲波的物理特性進行診斷和治療的一門影像學科,其臨床應用范圍廣泛,目前已成為現代臨床醫學中不可缺少的診斷方法。
本系統是一個便攜式軟組織超聲診斷儀的一部分,主要功能是高頻超聲信號采集。其工作機制,是在前端低頻脈沖(20Hz~10KHz)的觸發下,對由超聲換能器產生的高頻超聲信號(1MHz~20MHz)進行采集,預處理,然后通過USB總線傳輸給PC機,由軟件進行分析、處理。
在本設計方案中,高速CPLD芯片作為數據采集系統的核心部分,相比傳統的MCU+ADC方法,CPLD是用硬件信號而不是軟件編程來控制ADC,從而在速度上有很大的優勢。而目前強大的VHDL編程語言也使得CPLD能很容易地實現預想的功能邏輯。數據處理部分,選用數據處理功能強大、處理速度高的DSP芯片作為CPU。而在與上位機通信方面,采用支持即插即用且成本也相對較低的USB接口。整體系統方面,各個子系統之間的數據傳輸和同步問題是技術難點。在經過反復比較和測試之后,采取高速存儲器作為數據緩沖區的方案。
系統各組成模塊
系統組成框圖如圖1,包括三個子系統:CPLD子系統,DSP子系統和USB子系統。其中,CPLD+ADC實現數據采集,DSP則負責數據處理,兩者之間通過一片高速RAM來交換數據;USB芯片(AN2131Q)負責把數據通過USB線上傳給主機,它和DSP之間通過一片鎖存器進行通信。
數據采集子系統(CPLD子系統)
該子系統主要由一片Altera公司的CPLD和一片高速ADC所組成。
由于要采集的超聲信號最高頻率為20M,根據Nyquist定律,采樣頻率應該在40MHz以上,為了提高精度,系統采用了ADI公司的AD9283芯片。該芯片最高工作頻率為100MHz,經過測試,可很好地滿足系統帶寬要求。
以往的便攜式數據采集系統中,下位機部分ADC-RAM模塊往往采用MCU作為CPU來控制,因此,采集頻率直接受到MCU速度的制約,而且和RAM存儲器的同步也成為問題。經過比較,本系統采用Altera公司的CPLD芯片來控制ADC和RAM,從而很好地解決了時序精度和同步的問題。
CPLD作為控制芯片,實現的功能邏輯為:
● 接到DSP觸發信號(START)之后,實現對ADC的控制,發出一個Start信號,ADC開始采樣工作;
● 與ADC控制信號同步提供RAM地址計數器(A0~A16)和寫信號(/WE),使得每次ADC的結果直接存入RAM并且自動增加地址;
● 當地址計數器達到最大的時候,發出中斷信號(RAM_FULL),提示DSP系統RAM已滿;
CPLD的功能邏輯用VHDL語言實現,其編譯、仿真和綜合采用Altera官方主頁提供的MAXPLUXII Student10.1版,下載電纜自制。
數據處理子系統(DSP子系統)
由于系統在后期升級中,要求對下位機部分的數據進行較為復雜的預處理,同時系統在實時性方面要求較高。因此選用TI公司的TMS320C5409作為數據處理子系統的CPU。
DSP子系統的主要工作流程為:
1)接到Trigger(由前端換能模塊發出)中斷(INT0)觸發后,拉高START信號通知信號采集模塊開始工作,然后進入等待;
2)接到RAM_FULL中斷(INT1)之后,知道RAM已經寫滿,首先將START信號拉低停止CPLD和ADC。然后開始逐個讀RAM中的數據,根據系統要求做相應處理,之后借助鎖存器發給AN2131Q;
3)在本系統中,DSP軟件部分的幾個函數體包括:主循環;int0中斷(前端觸發);int1中斷(RAM已滿)。
通信接口子系統(USB子系統)
該子系統完成的功能,就是通過鎖存器接收DSP發過來的數據,然后通過自身的USB控制器發往HOST。
采用Cypress公司的AN2131Q作為USB通信芯片。該芯片的主要特性為:
● 改進的8051內核。性能可達到標準8051的5~10倍,與標準8051的指令完全兼容;
● 高度集成。傳統USB外設的硬件設計通常包括非易失性存儲器(如EPROM、EEPROM、FLASH 、ROM)、微處理器、RAM、SIE(串行接口引擎)和DMA等。EZ-USB將上述多個模塊集成在一個芯片中,從而減少了各芯片接口部分時序配合時的麻煩;
● USB內核。AN2131Q可以代替USB外設開發者完成USB協議中規定的80%~90%的通信工作,使得開發者不需要深入了解USB的低級協議即可順利地開發出所需要的USB外設;
● Cypress公司的EZ-USB系列芯片接收全部USB 的吞吐量。這種設計不受端點數目、緩沖區大小及傳輸速度的限制;
● 軟配置。外設未通過USB接口連接到PC機之前,外設上的固件存儲在PC上;一旦外設接到PC機上,PC讀取設備描述符,然后將該外設的固件下載到EZ-USB的RAM中并執行,這個過程叫做再枚舉。這種基于RAM的軟配置方法,可以允許無限的配置和升級。
● 易用的軟件開發工具。固件可獨立于驅動程序被測試。驅動程序和固件的開發與調試相互獨立,可加快開發的速度。
AN2131Q屬于Cypress公司EZ-USB系列,其驅動在Cypress公司提供的例程中略加改動即可使用,簡單可靠,編輯、編譯工具為Microsoft的VC++6.0和98DDK,調試工具采用SOFTICE。驅動程序為上層應用程序提供了很多API接口。
數據采集子系統與處理子系統的通信與同步
本系統有采樣速率快,數據量大的特點。本系統中,8位ADC的采樣頻率為100MHz,采樣寬度為每次20ms,那么每次采樣得到數據為100MHz*20ms=2KB;Trigger信號脈沖寬度采用50ms,由此可計算出每幀數據量為2KB * 50ms * 10KHz = 1M。數據處理采用的DSP芯片滿足這個速率要求,但是還要通過USB把數據傳向主機,而系統采用的AN2131Q為USB1.1協議芯片,經過測算其達不到理論的1Mb/s,因此,兩個子系統之間必須通過緩沖器進行通信。目前常用的多處理器間通信方法有三種:雙口RAM;高速FIFO;總線開關加存儲器。
其中前兩者相對簡單,容易控制,但是由于目前雙口RAM和FIFO的速率和容量都達不到本系統的要求,因此最終選用最后一種方法,即高速RAM加總線開關的方法,由CPLD系統和DSP分時訪問RAM。CPLD在START電平變低之后,地址線輸出高阻,此時ADC的數據輸出也是高阻,此時DSP才開始從RAM讀數據,這一邏輯保證了不會發生總線沖突。
高速DSP系統與AN2131Q的通信控制
通過一片數據鎖存器作為緩沖器,利用TMS320C5409的XF和BIO引腳和AN2131Q的兩個IO口作為握手引腳;同時,DSP利用中斷來管理數據傳輸;AN2131Q則通過輪循來管理數據傳輸。
系統整體調試
由于要采集的信號頻率較高,因此,電路板的抗高頻干擾問題是一個很重要的問題,經過測試,高頻信號在系統中沒有產生影響系統整體性能的干擾。用HP信號發生器分別產生500KHz、5MHz、10MHz、20MHz的信號進行測試,DSP子系統暫時沒有對信號進行預處理而是原樣不動的發給USB通信芯片(信號處理函數暫時設為空參數)。在應用程序中,上層軟件利用多線程處理技術,把采集到的信號同時進行分析、顯示、存儲等,系統達到了令人滿意的實時性。
文章版權歸西部工控xbgk所有,未經許可不得轉載。