|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 zxcvbvbnmn 于 2021-7-7 16:17 编辑 " L( @( m7 u5 _$ D3 B" S% M
5 A8 J* i2 O/ k" t引言( M5 M( [. h3 n: C1 P; E
" P1 w0 t4 _0 O2 P 超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。. v& m* T1 E1 |- V& l" `; {
A3 c% n4 ]4 k9 D ]( S0 G
本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。
5 a5 a5 w9 E& u; n3 h" R* D* Q; a
6 d" r# _- o- |) w- h& [& r5 M 在本设计方案中,高速cpld芯片作为数据采集系统的核心部分,相比传统的mcu+ADC方法,CPLD是用硬件信号而不是软件编程来控制 ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预想的功能逻辑。数据处理部分,选用数据处理功能强大、处理速度高的DSP芯片作为CPU。而在与上位机通信方面,采用支持即插即用且成本也相对较低的USB接口。整体系统方面,各个子系统之间的数据传输和同步问题是技术难点。在经过反复比较和测试之后,采取高速存储器作为数据缓冲区的方案。
; R* _; A7 P" U7 _4 o
3 O7 V3 b }2 r) O) s: c系统各组成模块- K. z; O' G' x2 `+ F
* O- g: I: Y! o! A5 J6 t7 x
系统组成框图包括三个子系统:CPLD子系统,DSP子系统和USB子系统。其中,CPLD+ADC实现数据采集,DSP则负责数据处理,两者之间通过一片高速RAM来交换数据;USB芯片(AN2131Q)负责把数据通过USB线上传给主机,它和DSP之间通过一片锁存器进行通信。
/ ~8 b: ?& O: Z$ j2 O Q1 I) z4 Q' p% h' W
数据采集子系统(CPLD子系统)% c- k W: v3 R. y. |# a) V- U
) w6 l8 ]! _& U; ^1 h: V
该子系统主要由一片Altera公司的CPLD和一片高速ADC所组成。! [; S' e, @9 d7 y1 k
# E' f- T0 i' Y
由于要采集的超声信号最高频率为20M,根据Nyquist定律,采样频率应该在40MHz以上,为了提高精度,系统采用了ADI公司的AD9283芯片。该芯片最高工作频率为100MHz,经过测试,可很好地满足系统带宽要求。
$ Y% H" ~3 _5 l0 T
9 q+ \" \7 Q1 L& Y8 G; N2 ` 以往的便携式数据采集系统中,下位机部分ADC-RAM模块往往采用MCU作为CPU来控制,因此,采集频率直接受到MCU速度的制约,而且和 RAM存储器的同步也成为问题。经过比较,本系统采用Altera公司的CPLD芯片来控制ADC和RAM,从而很好地解决了时序精度和同步的问题。
, A* }0 J/ f o3 D4 y! T0 \" [( f2 s9 J: N E' K2 T8 A) }
CPLD作为控制芯片,实现的功能逻辑为:) S& v! [/ o/ n' u, |# ~: b. a( s5 _( M
1 h# b7 N6 N+ G$ I1 A
● 接到DSP触发信号(START)之后,实现对ADC的控制,发出一个Start信号,ADC开始采样工作;
0 m7 ~/ R; i2 C/ S# W# ]
& Z* r5 ?2 ~& J% }# n ● 与ADC控制信号同步提供RAM地址计数器(A0~A16)和写信号(/WE),使得每次ADC的结果直接存入RAM并且自动增加地址;- f( ]) Q, `8 c- B& i' s: t
5 D% U( F1 v7 r& Q, `' L ● 当地址计数器达到最大的时候,发出中断信号(RAM_FULL),提示DSP系统RAM已满;: F) o' y! Z; d, m9 z# C* ?
( R0 r+ ^, B" V) I1 p
CPLD的功能逻辑用VHDL语言实现,其编译、仿真和综合采用Altera官方主页提供的MAXPLUXII Student10.1版,下载电缆自制。; t7 L) C9 G1 w3 w# i4 ]* a
2 `; M+ {1 O' g! r+ z" a$ N0 C
数据处理子系统(DSP子系统)/ I+ `, _" h) w
1 N& h8 q. n1 @5 K 由于系统在后期升级中,要求对下位机部分的数据进行较为复杂的预处理,同时系统在实时性方面要求较高。因此选用TI公司的TMS320C5409作为数据处理子系统的CPU。
/ z i' ]! ^& B( x M! D DSP子系统的主要工作流程为:- B" I( Z$ |/ T
' y! Q7 L5 Q: y3 o7 Y 1)接到Trigger(由前端换能模块发出)中断(INT0)触发后,拉高START信号通知信号采集模块开始工作,然后进入等待;
" C' h, Y3 v( W6 f: _+ E% ^
' {4 a( q, T) v* X7 `$ a 2)接到RAM_FULL中断(INT1)之后,知道RAM已经写满,首先将START信号拉低停止CPLD和ADC。然后开始逐个读RAM中的数据,根据系统要求做相应处理,之后借助锁存器发给AN2131Q;9 P9 }5 J! V+ m# a
1 t+ H) r. U, S/ y, |' _; A
3)在本系统中,DSP软件部分的几个函数体包括:主循环;int0中断(前端触发);int1中断(RAM已满)。
0 [* |$ a4 Z9 i; } p( |* m* N |
|