|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 zxcvbvbnmn 于 2021-7-7 16:17 编辑 . b3 g; ~- b; R$ w: K I9 m4 N0 J
/ e) m2 U" G, `# Z/ L' G! X
引言0 a& u$ T" m6 d0 Z0 A
# u, ^& D$ M2 {! D. r" o1 ]
超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。9 d7 |( G3 X/ q: p4 ^* j
: U7 K9 X. @( D' P 本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。) w) N3 X' T. f" R& E- T: b
! R* j( E7 L4 w% r
在本设计方案中,高速cpld芯片作为数据采集系统的核心部分,相比传统的mcu+ADC方法,CPLD是用硬件信号而不是软件编程来控制 ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预想的功能逻辑。数据处理部分,选用数据处理功能强大、处理速度高的DSP芯片作为CPU。而在与上位机通信方面,采用支持即插即用且成本也相对较低的USB接口。整体系统方面,各个子系统之间的数据传输和同步问题是技术难点。在经过反复比较和测试之后,采取高速存储器作为数据缓冲区的方案。
, T0 O: @8 j% `, g6 ? }- @
: r" b% S; R3 |) }. ~系统各组成模块2 J7 N1 {+ _2 Y9 M9 r
' a& I4 Q7 w6 }7 Q, b' x% x 系统组成框图包括三个子系统:CPLD子系统,DSP子系统和USB子系统。其中,CPLD+ADC实现数据采集,DSP则负责数据处理,两者之间通过一片高速RAM来交换数据;USB芯片(AN2131Q)负责把数据通过USB线上传给主机,它和DSP之间通过一片锁存器进行通信。1 n* T7 g1 g& n7 ]* _. T2 q
9 p* W% h- V; |& ]4 {数据采集子系统(CPLD子系统)9 M# F2 _$ Z! y/ x
8 ?$ I/ f7 H. o$ J( i
该子系统主要由一片Altera公司的CPLD和一片高速ADC所组成。
4 z8 `' l2 t7 B: D5 F+ J- `
. L3 ?2 f4 h' F0 \ 由于要采集的超声信号最高频率为20M,根据Nyquist定律,采样频率应该在40MHz以上,为了提高精度,系统采用了ADI公司的AD9283芯片。该芯片最高工作频率为100MHz,经过测试,可很好地满足系统带宽要求。# x9 S4 e; S$ r8 ?9 \$ X6 `
0 Q. U8 J! ~+ H1 L
以往的便携式数据采集系统中,下位机部分ADC-RAM模块往往采用MCU作为CPU来控制,因此,采集频率直接受到MCU速度的制约,而且和 RAM存储器的同步也成为问题。经过比较,本系统采用Altera公司的CPLD芯片来控制ADC和RAM,从而很好地解决了时序精度和同步的问题。
0 O. c g$ O# i
4 ]0 [" C5 R% ~! k( B! D# X CPLD作为控制芯片,实现的功能逻辑为:
C8 h9 B% ?9 D! }7 G) z/ f8 _; S: a) U+ E
● 接到DSP触发信号(START)之后,实现对ADC的控制,发出一个Start信号,ADC开始采样工作;9 G! c4 d9 G- P+ ]% n: v$ H5 h
6 N, K: N; b8 o+ l" [: k
● 与ADC控制信号同步提供RAM地址计数器(A0~A16)和写信号(/WE),使得每次ADC的结果直接存入RAM并且自动增加地址;
) i; g+ ~. o3 L$ ?/ s9 G% h6 j1 w% f; P2 F7 e
● 当地址计数器达到最大的时候,发出中断信号(RAM_FULL),提示DSP系统RAM已满;
7 i/ a: G6 a% Q( N( k+ @0 M' b) V! _5 f# t" n, [2 _% L- B7 O
CPLD的功能逻辑用VHDL语言实现,其编译、仿真和综合采用Altera官方主页提供的MAXPLUXII Student10.1版,下载电缆自制。 o4 T2 C: D8 o3 L* e1 F! Y9 ?
4 F" @) Z( i/ Y0 N- J9 X) {8 I& ~
数据处理子系统(DSP子系统)0 O6 f& \1 {# W9 ?8 E
' O6 N* \0 x! ]* F3 p' G- a8 q 由于系统在后期升级中,要求对下位机部分的数据进行较为复杂的预处理,同时系统在实时性方面要求较高。因此选用TI公司的TMS320C5409作为数据处理子系统的CPU。) M( u a, H9 g8 D3 d( I
DSP子系统的主要工作流程为:
7 }9 b; H, e# a3 i/ d) q/ e7 ~- Y K3 h! K1 y; h! e7 y
1)接到Trigger(由前端换能模块发出)中断(INT0)触发后,拉高START信号通知信号采集模块开始工作,然后进入等待;
/ C Q- P) Y( i; d2 k
8 m; H- \, {0 G 2)接到RAM_FULL中断(INT1)之后,知道RAM已经写满,首先将START信号拉低停止CPLD和ADC。然后开始逐个读RAM中的数据,根据系统要求做相应处理,之后借助锁存器发给AN2131Q;2 C" o2 ?& N( Y% M8 ~: Q
@) O( x& F7 m! Z* E( ^5 [ 3)在本系统中,DSP软件部分的几个函数体包括:主循环;int0中断(前端触发);int1中断(RAM已满)。* ]+ Q/ K b$ H. e( ~' Y
|
|