|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 zxcvbvbnmn 于 2021-7-7 16:17 编辑
/ Y4 c& m- U. H2 \6 [3 S
& m/ p5 G. ? @% M' F8 C引言% d, d# x1 b0 Z6 x @" t* ]7 w& m3 l, F
/ ?9 M- f6 e. z6 l& B( F 超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。
' @' |2 L6 G v0 O0 u2 I z9 p8 C/ p. U9 k2 ], v1 }
本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。2 W. U0 ]/ A& [! F1 q( J
/ Z' p V, P% |" P
在本设计方案中,高速cpld芯片作为数据采集系统的核心部分,相比传统的mcu+ADC方法,CPLD是用硬件信号而不是软件编程来控制 ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预想的功能逻辑。数据处理部分,选用数据处理功能强大、处理速度高的DSP芯片作为CPU。而在与上位机通信方面,采用支持即插即用且成本也相对较低的USB接口。整体系统方面,各个子系统之间的数据传输和同步问题是技术难点。在经过反复比较和测试之后,采取高速存储器作为数据缓冲区的方案。5 w9 f5 ?& b& h R- n" ?4 j
a* d5 K" F1 }6 X+ @! H3 C系统各组成模块( C% R4 |+ s6 d6 _% j8 A% B
& T2 D+ Q0 D" u; L
系统组成框图包括三个子系统:CPLD子系统,DSP子系统和USB子系统。其中,CPLD+ADC实现数据采集,DSP则负责数据处理,两者之间通过一片高速RAM来交换数据;USB芯片(AN2131Q)负责把数据通过USB线上传给主机,它和DSP之间通过一片锁存器进行通信。
4 ]# M$ ^( y7 P, O7 n$ s0 g
! o8 @. v6 g& J2 D数据采集子系统(CPLD子系统)
/ A& B+ y; \! T) D6 `+ J! v
; ~ W$ _1 @* U6 v 该子系统主要由一片Altera公司的CPLD和一片高速ADC所组成。
% ?" G5 d' J2 T3 Y Q }) O8 G
) K7 g+ j- F& V' z6 q w9 U 由于要采集的超声信号最高频率为20M,根据Nyquist定律,采样频率应该在40MHz以上,为了提高精度,系统采用了ADI公司的AD9283芯片。该芯片最高工作频率为100MHz,经过测试,可很好地满足系统带宽要求。) X M' k7 a3 j" o
4 q$ r, n7 i1 M; }8 S 以往的便携式数据采集系统中,下位机部分ADC-RAM模块往往采用MCU作为CPU来控制,因此,采集频率直接受到MCU速度的制约,而且和 RAM存储器的同步也成为问题。经过比较,本系统采用Altera公司的CPLD芯片来控制ADC和RAM,从而很好地解决了时序精度和同步的问题。
J# Y4 m! Y. M& R
; e6 f% n6 v+ }. T$ ` CPLD作为控制芯片,实现的功能逻辑为:0 s8 T) J. G$ V3 J. K
0 j+ ]% Y0 V5 C+ b* [
● 接到DSP触发信号(START)之后,实现对ADC的控制,发出一个Start信号,ADC开始采样工作;+ w8 f7 E: }7 Z
2 C2 m1 }; |# T0 d ● 与ADC控制信号同步提供RAM地址计数器(A0~A16)和写信号(/WE),使得每次ADC的结果直接存入RAM并且自动增加地址;4 P2 }( K3 `# M2 t1 M; K5 ?* n
; g0 W) b* l. B4 n( t9 ~$ S
● 当地址计数器达到最大的时候,发出中断信号(RAM_FULL),提示DSP系统RAM已满;2 J! u6 F# P, b& ~% o: T a" u
/ S0 E- _; k2 d9 p" V
CPLD的功能逻辑用VHDL语言实现,其编译、仿真和综合采用Altera官方主页提供的MAXPLUXII Student10.1版,下载电缆自制。5 K7 C* x2 ]' J; Y% }1 j& f
0 p s: _$ P$ ]( w4 u数据处理子系统(DSP子系统); F2 w+ L( r8 ^7 W
7 r0 v6 @. }$ i- [9 G3 Y
由于系统在后期升级中,要求对下位机部分的数据进行较为复杂的预处理,同时系统在实时性方面要求较高。因此选用TI公司的TMS320C5409作为数据处理子系统的CPU。
7 `' X! p; L9 D# { DSP子系统的主要工作流程为:
* ]1 g- Q9 O) \) {" o# Z6 c8 \; m: [$ [# i( l0 D2 t8 |
1)接到Trigger(由前端换能模块发出)中断(INT0)触发后,拉高START信号通知信号采集模块开始工作,然后进入等待;
6 a* K0 k* k4 {
, r; s0 j$ [; _5 V 2)接到RAM_FULL中断(INT1)之后,知道RAM已经写满,首先将START信号拉低停止CPLD和ADC。然后开始逐个读RAM中的数据,根据系统要求做相应处理,之后借助锁存器发给AN2131Q;/ Z, s7 U/ r7 L# q' s- q7 j3 C
7 _+ T/ o( m; L$ Q4 |6 N, p0 H$ `# Y
3)在本系统中,DSP软件部分的几个函数体包括:主循环;int0中断(前端触发);int1中断(RAM已满)。$ w$ k, X8 u4 ]+ o7 Z
|
|