《基于FPGA的超声前端参数控制的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于FPGA的超声前端参数控制的设计与实现.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、现 代 计 算 机 总 第 三 _-九 期 开 发 案 基于 F P GA的超声前端参数控制 的设计与实现 吕 涛(四川大学计 算机 学院,成都6 1 0 0 6 5)摘要:作 为一个复 杂的 医疗技术,超声检 测技 术在使 用过程 中 有很 多控制 参数 需要根 据具体 的情况 来决定,例如探 头类 型、分辨 率等。为 了让设 备有较 强的环 境适应 能 力 通过计 算 机接 I:(串 口、S P I),从 上住机传 递参数 来配 置设 备就 显得很 有必要。关键词:F P GA;超 声:串1 2 0 引言 随着 F P G A器件的推 出以及其 自身功能的不断 完善,为实现 D S P功能
2、提供了一种新的选择 与通用 D S P解决 方案 相 比 F P G A器件 在不 牺牲 灵活 性 的条 件下,提供 了更高的性能。F P G A的修正不需要变更 硬件,仅仅 需要 更 改软件 即 可 这样 大大 地节 省 了研 发成本,而且仅需要下载新的硬件代码就可以实现产 品的升级 功能。F P G A相对 于很 多高端 D S P处理 器 具有集成优 势和更低 的系统成本 等优点 为数字超 声 设 备开发过 程中信号处 理 的实现 提供 了新 的选择 1 系统设计 本 系 统 采 用 的 F P G A 芯 片 是 A L T E R A 公 司 的 C y c l o n e I 1
3、系列 的 E P 2 C 3 5 F 4 8 4 C 7 超声 前端 部 分 主 要负责超声信 号的发射、回波 信号 的接收 以及数字 信 号处理。超声 前端的 系统 结构 图如图 1 所示 F P GA 图 1 系统结构 图 医用超 声前 端根 据 功能 可划分 为六 种类 型 的参 数,分别是总控参数、发射参数、D A参数、波束合成 参 数、正交 检波参 数 以及抽取 参数。顶 层设计 如 图 2 所 示。开 始 信 号 总控 模块 参数控制模块 垦堡 图 2 顶层 设计 参数控制模块是在 F P G A中实现的 F P G A芯片 内部有 5 2个 M4 K块,对 于 内部 R AM 的
4、读写是 通过 I P核来实 现的 I P核也 叫知识产权核(I n t e l l e c t u a l P r o p e r t v C o r e),是 预先定制 好的功能 元件模块 这些元 件 的功 能范 围 从简单的加法器、多路选择器等到复杂的系统级的滤 波 器、存储 器模 块 等都 有 这些 功 能元 件都 经过 专业 设计和验证 并在性能和占用资源等方面进行了优 化,应用 它们对提 高设计效 率和质量 十分有利 系统工作中首先 S T M3 2先将参数按照设计好 的帧协议 通过串口发送到参数控制模块 参数控制 模块将接收到的参数存储在内部的 M 4 K中并等待 总控模块 的开始
5、信号 当参 数控制模块 检测 到开始信 号后,就将 M4 K中的参数按照一定格式发送到其他 收稿 日期:2 0 0 9 0 9 2 5 修稿 日期:2 0 0 9 1 1 一 O 1 作 者 简介:吕(1 9 8 6 一),男,四川 绵阳人,硕 士,研 究方向 为计算机 网络 与通信 M O D E R N C O M P U T E R 2 o o 91 1 模块 由于串口接收到数据和总控模块发出的开始信 号都会 操作 到 E P 2 C 3 5内部 的 R AM。为 了保 持 同步 设计了一个反馈信号。这样 在串12 1 传递数据 的期 间参数控制模块就不会响应总控模块的发送开始 信号。同
6、理 当参数控制模块在向其他模块发送参数 时 也不能接收串12 1 发过来 的参数 同时会向 S T M3 2 发送一个停止传输 的数据 S T M3 2有 2个 U A R T 而 在参 数控 制模块 这边 只有通 过 F P G A来 实现 串 口的 收发 功能 2 设计 实现 2 1 参数控制模块设计 图 2中只是给出了一个模块间大概的关系 图 3 中会给出具体的信号 下面将对这些信号进行详细的 说明 pa ra t ran s$i ts ta rt t ra ns mi td at a 总控 p a r a m e t e r R c v t r a n s m i tad dre ss
7、 模块 模块 下 Y D p a r a s t a t u s R x D 图 3 参数控 制模 块设计 p a r a t r a n s mi t s t a r t 信号是总控模块给 p a r a n l e t e r R c v 模块的一个开始信号 总控模块是在总体上控制 和协调各个模块之前的关系 只有 当 E P 2 C 3 5内部 R A M 中有数据时,这个开始信号才是有意义的 否则 传到其他模块的参数都将默认是零 p a r a 信号是一个两位 的信号 主要用 于_ s t a t u S p a r a me t e r R c v模 块 内部 M4 K读 写 同 步。
8、它有 四 种状 态,分 别是 S T A T U S I D L E、S T A T U S P R OC E S S、S T A T US_S UCC ES S、S T ATUS _ F AI L。t r a n s mi t_wr e n,t r a n s mi Ld a t a,t r a n s mi t_a d d r e s s 这 三个信号是发送参数到其他模块的信号 T x D和 R x D是串口的收发信号 p a r a me t e r R c v 模块 内部由两个模块组成 如图 4所 示,分别是 p a r a_wr i t e_r e a d 模块 和 p a r a
9、s a v e_u a r t 模块。p a r a _ wr i t e_r e a d模块实现了参数的读写在这个 模块中通过 I P核来实现了R AM的读写 如图 5所示。r w r a d d r,s s 1 _ J O 霄 r e n R A 蛔块 rd e n r d a d d r e s s 1 1 0 :图 5 RAM模块 设计 R AM w r e n p a r a r a m a d dre s s R x D d a t a分 别对 应RA M模块中的w r e n,w r a d d r e s s,d a t a信号;t r a n s mi t _ d a t a
10、对 应 RA M模块 中的 q信 号。t r a n s m i t眦 n和 t r ans mi t a d d r e s s等信 号都是在 p a r a 内部_ w r i t e r e a d 产生的。tra ns mi t_w r e n 是在 p a r a_t r a ns mi t_s t a r t 拉高且 p a r a _ s tat u s 为 S T A T U S 时为高 并在参数传递过程中_I DL E 都将保持高电平。tr ans mi t a d dre s s与 r d a d dre s s有 密 切 的 联 系 r d a d d r e s s 信
11、号是 1 2位 的数据 而 tr a n s m i t a d dre s s 却 是 l 6位的数据怎样把一个 l 2位的数据变为 1 6位 的数据呢?在设计过程中,是这样考虑的:整个系统中 要传 递 的参 数有 6种,分别 是 总控 模块 参 数、发 射模 块参数、D A参数、波束合成参数、正交检波参数和抽 取参数。每种参数的个数都是固定的 所以可以用参 数的个数为偏移量 将每种参数保存 的地址范围固定 下来。t r a n s mi t a d d r e s s的高四位用于区别分 6种不同 的参数类型,低 1 2位就从 0记数到参数个数。在设计 过程 中还有 一个 问题 根 据 I
12、P C O R E给 出 的 RA M示 例波形 图,如图 6所 示。图 6 R AM 读示例 波形 图 p a 。j n s m i t 一。t。r t:p a r aram_add re ss p a r a _ s t a t u s :R x D d a t a :t r a n s m i t dat a p a a j r r i t e _ r e a d :p a r as t at us_res e t p aras a ve t mr t :t r a n s m i t W T e n 模块:p a r as ta tu sc h a n g e 模块:t r a n s
13、 m i t a d d r e s s lm 3 r a s t a t n s 图 4 p a r a me t e r R c v模块 设计 M O D E R N C O M P!T E R 姗_l l o 现 代 计 算 机 总 第 三 -九 期 现 代 计 算 机 总 第 三 _ _ 九 期 v 图 7 p a r a s a v e_u a r t 模 块设计 在 r d e n有效并给 出正确的 r d a d d r e s s信号后,口 信号要延 迟一个周期 后才能得 出正确 的数 据 为了解 决 q与 r d a d d r e s s不同步的问题 使用了缓存 r d a
14、 d d r e s s的方法。2 2 p a r a s a v e眦模 块 设 计 由图可知这个模块 由三部 分组成分 别 是:a s y n c _ t r a n s mi t t e r 模 块、p a r a me t e r_s a v e模 块、a s y n c_r e c e i v e r 模块。(1)p a r a me t e r 模块_save 这个 模 块 的主要 功 能是 检测 R x D是 否 有数 据 苦有 数据,且 p a r a_s t a t u s 为 S T A T U S_I D L E就生 成 p a r a r a m a d d r e s
15、 s 等信号。在设计过程中参数是按总 控参数、发射参数、D A参数、波束合成参数、正交检波 参数和抽 取参数 的顺 序存储 的 但 在传输 的过程 中却 不一定是 按这样 的参 数传递 的 所 以在传 输每种 参数 时 还 要加 上参 数的类 型。参 数的帧协议 如图 8所示。匝 壁堑卫堕 压面卫堕 图 8帧协议 当开 始 接 收 参 数 后,p 眦 me t e r s a v e模 块 要 将 要 p a r a _ s t a t u s _ c h a n g e 拉 高 以便高层 模块在 收到这 个信 号后 将 p a r a_s t a t u s 设 为 S T A 3-1 J
16、S_F AI L这 样 总控 模 块就不能 发出开始信 号了。当收到 校验后 且 没有错 误发 生 需要把 p a r a_s t a t u s_r e s e t 拉高。并 将 p a r a_s t a t us_c h a n g e拉低以便上层模块重新将 p a r a_s t a t u s 设 为 S T A 3 3 d S_I D L E状 态。当发 生错误或 者 D a r a s t a u s 为 S T A T U S P R OC E S S 时,串 口上却 收到 了数 据 此 时会 对 串 12 1 上 的数 据丢 弃,并驱动 a s y n ct r a n s
17、m i t t e r 发送一个错误信息。(2)U A R T模块 U A R T是一种 应用广 泛的短距 离 串行传输 接 口 o M O D E R N C O M P U T E R 1 l 它仅需 3根线便可以实现两个数据设备之间全双工 地传送数据。数据以每次一位的方式传输 每条线 用来传输一个方向的数据。本文中的数据是八位的数 据,因此 数据 在发 送前 要有 一个 串行 化 的过 程 先发 送最低位,最后 发送最 高位:同理 接 收数据 时也有一 个 串转并 的过程 U A R T是异 步通 信协议 为 了解 决收 发数据 之 间 同步 的 问题,需要 做 以下处 理:收发端 先约
18、 定好 波特 率 和数 据位 数:在 没有 数据 时 收发端 的数 据线 都 为 1;在发送每八位数据,先将数据位拉低一个周期(起 始位),传完后也要把数据线拉高一或者两个周期(停 止位)。在 每 收到 八位 数据 后 R x D d a t a r e a d v将 被 拉高 一个周 期,表示 此时 R x D d a t a 上 的数 据是有效 的 在 R x D d a t a_r e a d y为高后 的几个周期 中 如果 R x D继续 为高,此时就 会把 R x D_e n d o ,a c k e t 拉高一个周期,收 到这个 信号就表 示参数传输 完 了 3 仿真 结果 为了减
19、小仿真时间 没有必要把三千多个参数都 传一 遍 所 以在 测试 文件 中 对 每种类 型 的参数 都设 定为两 个参数。p a r a m e t e r R e v存储 数据仿真 结果如 图 9所 示:图 9 存储 数据仿 真结果 开 发 案 例 ,在 图 中 R x D 的数 据 8和 1 6分 别 代表 最 后_d a t a 两种数据类型,当然前面还有其他类型的数据,类型 后面接的就是具体的参数。从图中可以看到。每收到 一个参数 R A M 都会拉高一个周期 同时地址_w ren 会 自加一位 这样 就可 以把参数存 储到 R A M 中 而类 型 数 据 并 没 有 引 起 R A
20、M w l e n p a r a l a m a d d r e s s的 变化 从而精确地将类型和参数数据分开。在整个参 数传递 的过 程 中,p a r a_s t a t u s 信 号为 1 1,表 示此 时正 在 从 串 口接 收 数 据 从 而 有 效 地 阻止 总 控 模 块 对 R AM 的操作。p a r a me t e r R c v发送数据 仿真结 果如 图 1 0所 示 图 1 O发送数 据仿 真结果 发送 的参 数 主要 是根 据 t r a n s m i t_a d dre s s 来 确 定 发 往 哪一 个模 块 的 从 图 中可 以看 出 1 6位 的
21、t r a n s mi t_a d d r e s s 信号的高四位用于区别不同类型的参数。另 外 还 可 以发 现,在 给 出 R AM_r d a d d r e s s 后,RA M o u t p u t 延迟 了两 个周 期才 输 出正确 的数 据 使 用缓 存 技 术 使得 t r a n s m i t_a d d r e s s 与 tr a n s m i t_d a t a并 没有 受 到延迟的影响。在整个参数传递的过程中D a r a s t a ms 始终为 0 1 表示此时正在 向其他模块发送参数 阻止 接 收从 串 口发 送 过 来 的数 据。在 参数 发 送 完
22、 毕 后 p a r a _ s t a t u s变为 1 0 表示 发送参 数成 功。4 结语 参 数控 制 对于 医用 超声 设 备来 说是 一 个很 重 要 的部分 不管是在调试还是在实际的使用过程中都是 这样。本文立足于工程设计与实现,从防真结果中可 以看出 设计能够很好地满足要求 为后续钧 研究打 下了坚 实的基础 参考 文献 1 史兴 F P G A技 术在 全数 字 化超 声诊 断议 中 的应 用研 究 f D 武汉:华 中科 技大 学 2 0 0 5 2 吴继 华,王诚 等 A h e r a F P G A C P L D设 计(基础 篇)f M 1 北京:人 民邮 电出社
23、 2 0 0 5 3 刘荔 全 数字 B超诊 断仪 中数字信 号处 理 的 F P G A设计 与实 现 D 杭州:浙江 大学,2 0 0 5 4 夏宇 闻 V e r i l o g数 字系 统设 计教 程 Mj 北京:北京 航空 航天 大学 出版社 2 0 0 3 5 周 润 景,图雅 等 基 于 Q u a r t u s I I的 F P GA C P L D数字 系 统设 计实例 M 北 京:电子工 业出版 社,2 0 0 7 6 吴继 华,王诚 等 设 计 与验 证 V e r i l o g HD L M 北京:人 民邮电 出版 社 2 0 0 6 D a n d I mp l
24、e me n t a t i o n o f P a r a me t e r Co n t r oe s i q n a n d I t h e a r a me t e r Co n t r o l U l o f t h e Ul t r a s o n i c F r o n t En d Ba s e d o n FP GA L V T a o (C o l l e g e o f C o mp u t e r,S i c h u a n U n i v e r s i t y,C h e n g d u 6 1 0 0 6 5)Abs t r a c t:As a k i nd o
25、 f c o mp l e x me d i c a l t e c h n o l o g y,t h e u l t r a s o n i c e x a mi ni n g t e c h n o l o gy h a s a t o t o f c o n t r o U i n g pa r a me t e r s wh i c h n e e d t o d e c i d e a c c o r d i n g t o t h e s u i t a bl e s i t u a t i o n,f o r e x a m-pl e,p r o b e t y p e,r e
26、 s o l u t i o n a n d S O o nI n o rde r t o i mp r o v e the e n v i r o n me n t a d a p t i v e n e s s a-bi l i t y o f the e q u i p me nt,i t i s n e c e s s a r y t o rec e i v e param e t e rs f r o m the u p p e r c o mpu t e r throu g h t h e c o mp u t e r i n t e r f a c e(s e r i al p o rt,S P I)Ke y wor d s:FP GA;Ul t r a s o n i c;S e r i a l Po rt MO D E R N C 0 M P u T E R 2 0 0 9 1 1 现 代 计 算 机 总 第 三 -_ 九 期