|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 zxcvbvbnmn 于 2021-7-7 16:17 编辑
/ L% I8 I* x: x: j; `' m& `" J4 Z! R k7 ^' e3 Q
引言+ q4 Y, P. x5 q# S6 i6 ^, C
6 R4 k7 A; c a) y
超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。
$ P& \+ A/ Y) L# m* A
) o& d- W3 g5 W& k9 ?0 V2 m: [ 本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。
4 B- y# R/ G7 u6 p, E. M+ k) `
" n; v+ z& E# D1 Y% h8 B' z 在本设计方案中,高速cpld芯片作为数据采集系统的核心部分,相比传统的mcu+ADC方法,CPLD是用硬件信号而不是软件编程来控制 ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预想的功能逻辑。数据处理部分,选用数据处理功能强大、处理速度高的DSP芯片作为CPU。而在与上位机通信方面,采用支持即插即用且成本也相对较低的USB接口。整体系统方面,各个子系统之间的数据传输和同步问题是技术难点。在经过反复比较和测试之后,采取高速存储器作为数据缓冲区的方案。
# m6 D! ^/ v; d1 W+ O
+ M# F- d s$ M0 a, x8 E$ {系统各组成模块 { L) B8 Z/ l4 [7 [' |1 b
; }8 A5 F9 w' c0 ?9 z 系统组成框图包括三个子系统:CPLD子系统,DSP子系统和USB子系统。其中,CPLD+ADC实现数据采集,DSP则负责数据处理,两者之间通过一片高速RAM来交换数据;USB芯片(AN2131Q)负责把数据通过USB线上传给主机,它和DSP之间通过一片锁存器进行通信。
) ?5 `9 ?3 l) B1 e1 u6 G
n- w) S7 E% ?数据采集子系统(CPLD子系统)
9 l/ R' C3 T" S+ j0 u8 f
9 k. h3 {. c* D$ Q! P$ x4 z/ y0 P 该子系统主要由一片Altera公司的CPLD和一片高速ADC所组成。
1 k6 W4 a# v' b% m+ }2 C1 L# K" T# t3 G# f& a3 g/ i) S
由于要采集的超声信号最高频率为20M,根据Nyquist定律,采样频率应该在40MHz以上,为了提高精度,系统采用了ADI公司的AD9283芯片。该芯片最高工作频率为100MHz,经过测试,可很好地满足系统带宽要求。
$ x, k- \# _( F! ? k7 e) s2 p1 }# ^) k* ]( _$ K1 i3 |
以往的便携式数据采集系统中,下位机部分ADC-RAM模块往往采用MCU作为CPU来控制,因此,采集频率直接受到MCU速度的制约,而且和 RAM存储器的同步也成为问题。经过比较,本系统采用Altera公司的CPLD芯片来控制ADC和RAM,从而很好地解决了时序精度和同步的问题。
; `, O- I. o! Y
5 V& x& y5 |6 A0 v CPLD作为控制芯片,实现的功能逻辑为:
7 k, r) O2 W$ h0 M' W! r& `9 B/ c+ o* z
● 接到DSP触发信号(START)之后,实现对ADC的控制,发出一个Start信号,ADC开始采样工作;& H% O( H3 u* Z
. V0 T) ?! G) [2 d& t ● 与ADC控制信号同步提供RAM地址计数器(A0~A16)和写信号(/WE),使得每次ADC的结果直接存入RAM并且自动增加地址;8 e& f7 K$ @) W" C& y- s
0 n; c* J6 A- S# ~ ● 当地址计数器达到最大的时候,发出中断信号(RAM_FULL),提示DSP系统RAM已满;
+ F- e% l5 h+ q& |5 T- O, I
$ C, ?* ]/ h* R( K3 Q( X3 o5 q0 e CPLD的功能逻辑用VHDL语言实现,其编译、仿真和综合采用Altera官方主页提供的MAXPLUXII Student10.1版,下载电缆自制。" U: D8 L& d2 w* A/ k) C! x
; p7 F! L9 I) l6 m, c数据处理子系统(DSP子系统)
5 h5 N. }( N3 _9 i" b! p0 e, i6 r4 K/ U1 z
由于系统在后期升级中,要求对下位机部分的数据进行较为复杂的预处理,同时系统在实时性方面要求较高。因此选用TI公司的TMS320C5409作为数据处理子系统的CPU。
3 p9 P5 }5 f6 o7 S; M- d& S4 M! A DSP子系统的主要工作流程为:5 g8 z' Q! o( ]$ J+ Y
, a6 @3 s; x& N2 N9 t% a% M
1)接到Trigger(由前端换能模块发出)中断(INT0)触发后,拉高START信号通知信号采集模块开始工作,然后进入等待;
1 j7 ^. I! S& {4 ^' G, K4 i o: T# [, G. T+ F: O7 R4 J
2)接到RAM_FULL中断(INT1)之后,知道RAM已经写满,首先将START信号拉低停止CPLD和ADC。然后开始逐个读RAM中的数据,根据系统要求做相应处理,之后借助锁存器发给AN2131Q;+ q% `# E& X& f3 L, ]
6 T) z0 ]9 [% R& M! Z6 ? 3)在本系统中,DSP软件部分的几个函数体包括:主循环;int0中断(前端触发);int1中断(RAM已满)。. |7 P6 U: s! ]8 |; k$ f2 A% r- H
|
|