CMOS图像通道在超声诊断仪中的应用

发布者:JoyfulHearted最新更新时间:2010-05-28 关键字:CMOS  ARM  嵌入式Linux  超声诊断仪 手机看文章 扫描二维码
随时随地手机看文章

      摘 要:本文介绍了一种以CMOS 图像通道进行图像传输的便携式超声诊断仪控制系统。系统基于 ARM 32 位微处理器和嵌入式Linux 操作系统,完成了诊断图像在CMOS 图像通道中的传输和处理,实现了诊断图像的实时显示和大容量非易失性存储。构建诊断仪不仅功能强大、扩展容易,而且还兼顾了小型化的需求。

1 引言

  随着医疗诊断仪器小型化、便携化的进程,高性能32位微处理器正在越来越多地应用于各类小型医疗影像设备中,但是如何利用这些微处理器传送和处理实时图像,却是一个丞待解决的问题。从ARM 7系列开始,ARM处理器就集成了CMOS(Complementary Metal Oxide SemiConductor)图像传感器接口,这为解决上述问题提供了可能。处理器可以通过CMOS图像传感器接口适应不同的CMOS图像传感器。通过CMOS接口,图像数据将被送入到系统的CMOS图像通道中。CMOS图像通道为CMOS图像传感器接口与系统AHB(Advanced High peRFormanceBus)总线之间的连接通路,由CSI (CMOS Sensor Interface)和PRP(Pre-Processor)组成。该通道专门用于高速图像传输,提供了多种图像格式输入和传输方式,并能在通道内进行颜色空间变换、窗体调整等多种操作,是诊断图像以及其他图像应用传输的理想通道。

  本文讨论了一种基于32位微处理器ARM9E和嵌入式Linux的便携式超声诊断仪的解决方案。系统以CMOS图像通道为诊断网像的传输通道,将采集的超声图像信息送人系统总线,在嵌入式Ijnux操作系统平台上,实现了诊断图像的实时显示和静态图像的大容量非易失性存储,所实现的诊断系统不仅功能强大、扩展容易,而且还兼顾了小型化的需求。

2 系统构架

  本文设计的便携式超声诊断仪系统结构如图l所示。用户通过输入设备向系统输入控制命令,完成超声图像的采集、显示、保存等相关处理。当执行扫描命令时,系统通过串口向以FPGA为核心的超声图像采集模块发送图像采集命令,控制超声探头扫描驱动电路和信号发射接收电路同步动作。接收的超声信号在超声图像采集模块中经放大、模数转换后送人FPGA,完成数字扫描变换(DCS)和插值运算后,得到二维的B超图像信息。将该图像信息进行格式转换后通过ARM芯片CMOS接13送人控制系统,经图像通道传输后,完成在LCD(Liquid Crystal Display)上的实时显示,同时可拔插的大容量SD(Secure Digital Memory Card)卡可对所需的图像进行保存。保存的图像信息可以进行离线处理,比如打印、电影回放、远程浏览等。

 

3 系统硬件设计

  3.1硬件框图

  本设计选用以ARM926EJ-S为内核的Freescale i.MX21作为处理器,控制系统的硬件框俐如图2所示,系统是以ARM处理器为核心,外加兼容的硬件外设。超声采集模块完成图像的采集和传入,LCD把传人的图像信息实时的显示出来,通过SD卡把大量的图像数据保存起来以便后期处理。通过外加USB HUB。可将鼠标、键盘、打印机接入系统。本地储存的诊断图像数据可以通过快速以太网控制处理器DM9000送入网口,通过以太网实现远程浏览。

  3.2 CMOS图像通道

  本控制系统CMOS图像通道框图如图3所示,超声图像数据的传入利用i.MX21芯片的CMOS图像传感器接口来实现。该接口支持的图像数据类型包括RGB565、RGB888、YUV422、YUV444等。不同类型的图像数据在CMOS口经过CSI 8位采样后,封装成32位图像数据送人CSI RxFIFO。CSI RxFIFO中的图像数据根据类型的不同,送显和存储的硬件和软件实现方法也是不同的。

      [page]

      (1)若类型为RGB565,且图像窗体不需要调整(显示设备单一)。图像数据可以通过DMA通道直接传送到显示缓冲区,如图3中通道①;

  (2)若类型为RGB565,且图像窗体需要调整(显示设备多样化),图像数据则需要经过前处理器(PRPl,在PRP中调整图像大小送入显示缓冲区,如图3中通道②;

  (3)若类型为YUV422,图像数据则需要经过PRP,在PRP中调整图像大小并转换成合适的颜色空间后送人显示缓冲区,如图3中通道②;

  (4)若类型为YUV444、RGB888,图像数据则需通过软件编程实现图像数据的颜色处理和转换后送入PRP调整窗体,最后送入显示缓冲区,如图3中通道③。

  本设计为使LCD接口输出的图像兼容QVGA、VGA、SVGA、XGA等尺寸的显示屏,且兼顾图像传输的速率、图像显示的质量,我们使用RGB565格式,选用罔3中通道②。因此需将超声图像采集模块所采集的图像信息构造为RGB565格式,故CMOS接口输入的罔像信息时序图如图4所示。

  图中Vsync是场I司步信号,Hsync是水平同步信号,Pixelk是象素数据输入同步信号,D [7:0]为象素数据信号。Vsync和Hsync为低电平时即可开始有效图像数据的输入,Pixelk上升沿的到来则表明进行数据输入,Pixelk的一个周期将完成一个图像数据字节的输入。在传输一帧图像过程中,即Vsync的一个周期内,Hsync会出现H次(H为行数)高电平。在Hsync的一个周期内,Pixelk将出现W*Pixelbytes次(W为列数,Pixelbytes为每象素占用字节数)高电平。而下一个Vsync信号上升沿的到来则表明一帧分辨率为W*H的图像输入过程的结束。

  CSI RxFIFO中的图像数据送入PRP进行窗体调整后,通过AHB(Advanced High peRFormance Bus)进入内存,PRP窗体的调整通过设置PRP控制寄存器实现。

  3.3图像显示及保存

  FrameBuffer是Linux为显示设备提供的一个接口,它是显存抽象后的一种设备.对该设备进行读/写则可直接对显存进行操作。通过驱动程序可为FrameBuffer在文件系统中创建一个设备文件fb0,用户要完成对FrameBuffer的图像输入,只需完成对fb0图像的写入操作。当LCDC(LCD Controller)中的Pixel FIFO为空或者部分为空时,LCDC要求从基于突发传输模式的FrameBuffer中取要显示的图像数据。当LCDC的传输请求被存储控制器中过的总线仲裁器接收并确认后,FrameBuffer中的图像数据将通过专用的DMA通道送入Pixel FIFO,然后经过字节翻转、背景前景图像合成后通过LCDC逻辑接口直接送入LCD显示屏接口。

  通过MMC/SD接口可将SD卡接入控制系统,利用驱动程序将SD卡挂载在文件系统中。用户可以编写应用程序将内存中的图像数据保存在SD卡中,也可将SD卡中的图像数据读入到内存中。

4 系统软件设计

  本控制系统是基于上述硬件平台和嵌入式Linux操作系统开发设计的。首先在硬件平台上实现嵌入式Linux操作系统内核和文件系统的移植,并实现对外设硬件的底层驱动。应用程序采用模块化设计,其中功能模块设计主要包括GUI(Graphical User Interface)和WebServer程序设计,应用模块主要包括采集模块子程序,LCD显示模块子程序,打印模块子程序,SD卡存储子程序,以太网传输子程序等。本文重点对罔像通道相关程序做出论述。

  如图3,设计CSI RxFIFO中的图像数据通过专用总线通道②送人PRP,DMA通道①被内部逻辑控制器关断。因此在CSI和PRP的驱动程序中,CSI和PRP的初始化代码应作如下修改:

  CSI初始化:

  * (uint32_t *)GPIOB_GIUS &= ~0x3FFC00; //关断DMA通道

      *(uint32_t *) CSI_CSICR1 |= 0x2; //图像数据上升沿触发

  *(uint32_t *) CSI_CSICR1 |= 0x80; //大端格式

  *(uint32_t *) CSI_CSICR1 |= 0x10000000; //PRP使能

  PRP初始化:

  *(uint32_t *)CRM_PCCR0 |= 0x8008000; //PRP时钟使能

  *(uint32_t *)EMMA_PRP_CNTL |=0x10000; //PRP复位

  *(uint32_t *)EMMA_PRP_INTRCTRL = 0x00000000; //关中断

  *(uint32_t *)EMMA_PRP_SPIX_FMT = 0x2CA00565; //RGB565格式数据输入

  *(uint32_t *)EMMA_PRP_SFRM_SIZE = 0x028001E0; //输入图像窗体为640 x 480

  *(uint32_t *)EMMA_PRP_DISIZE_CH1=0 x028001E0; //输出图像窗体为640 x 480

  *(uint32_t *)EMMA_PRP_DPIX_FMT = 0x2CA00565; //RGB565格式数据输出

  *(uint32_t *)EMMA_PRP_DLST_CH1 = 0x00000280; //行步为640

  本设计初始安装分辨率为640 x 480的LCD.如上设置初始化后,图像数据将由CSI RxFIFO进入PRP处理。为了使上层用户在不改变设备文件的前提下,直接利用CSI设备文件描述符,采用如下代码将CSI设备文件的虚拟地址映射为PRP输出的物理地址,用户就可以直接从CSI设备文件中读取经PRP处理后的图像数据。

  if ((csi_data_buf = (U32 *)__get_free_pages(GFP_KERNEL, 8))) {

  prp_buf_phy_addr = virt_to_phys((void *) csi_data_buf);

  printk("Buffer start: 0x%08x, PRP addr: 0x%08x\\n", (int) csi_data_buf, (int)prp_buf_phy_addr);

  } else {

  printk ("ERROR: cannot allocate buffer memory for driver ! \\n");

  return -1; }

 [page] 

      通过如上驱动程序的修改,用户就可以编写应用程序实现对PRP处理后的图像数据进行送显和存储。应用程序的程序概图如图5所示:

 

5 测试结果

  本文设计的控制系统经测试,诊断图像实时显示的帧率可以达到20‰,大于便携式B超图像10帧/s的帧率要求.且LCD观察图像画面清晰。采用RGB565格式的标准位图保存诊断图像信息,每张图片的数据大小为:

  640 * 480 * (5+6+5)/8=614400 bytes

  使用1G的SD卡作为外部存储设备,可以存储1747张诊断图片。完全满足便携式诊断设备的要求和实际诊断情况的需要。

6 结论

  本设计采用ARM9E为核心的Freescale i.MX21芯片作为便携式超声诊断仪中央处理器,利用其内置的CMOS图像传感器通道,将超声图像采集模块输入的图像信息实时的显示出来,并根据需要对显示的图像进行保存。经测试,该控制系统工作稳定可靠,满足了常规的诊断需要,具有较高的实用价值。

  本文作者创新点:本文采用的专用高速CMOS图像传输通道将超声诊断图像输入控制系统并进行处理。在软硬件都满足需求的基础上给出了详细的设计实现,说设计的系统在诊断图像的显示帧率、显示画面清晰度方面都达到了很好的效果。为同类系统设计、升级和改进打下了良好的基础。

  本项目产业化后投入市场,年经济效益可达 1000 万元。

参考文献:

  [1] 郑政,计建军,李穗等. 一种新型眼科超声生物显微镜[J].上海理工大学学报,
2005,(06).512-516

  [2] 杨柳,郑政,黄云开. 基于嵌入式Linux的便携式超声诊断仪控制系统[J].上海工程技术
大学学报,2007,12(21).361-364

  [3] 洪源. 嵌入式系统及其在ARM中的应用[J].微计算机信息,2007,11(2). P27-29

关键字:CMOS  ARM  嵌入式Linux  超声诊断仪 引用地址:CMOS图像通道在超声诊断仪中的应用

上一篇:英研发新碳基超导物质 可降低磁共振扫描仪成本
下一篇:EIZO推出高亮度医疗成像用彩色液晶显示器

推荐阅读最新更新时间:2024-03-16 11:38

ARM笔记: UART程序
UART程序: 一、head.S文件的编写 作用是启动代码 @****************************************************************************** @ File:head.S @ 功能:初始化,系统模式的栈 @****************************************************************************** .extern main .text .global _start _start: b Reset Reset: ldr sp, =409
[单片机]
嵌入式ARM汇编详解
ARM嵌入式开发中经常会涉及到汇编指令的知识,这里就总结一下最常用的几种ARM汇编指令。 零.预备知识 这里我们主要学习ARM的汇编指令,这些预备知识只是作为一个了解。 1.ARM与X86 要了解ARM,最好的是使用对比的方法。 ARM是一款32位的低功耗RSIC(精简指令集)微处理器。我们常了解的CPU可能就是办公中常用到的X86架构的计算机,X86使用的就是CSIC(复杂指令集),比如很有名的Intel处理器,下面就通过分析一下ARM架构与X86架构的区别来认识ARM: ARM的特点是: 体积小、低功耗、高性能 支持Thumb(16位)和ARM(32位)双指令 指令执行效率高 寻址方式简单 指令长度固定
[单片机]
嵌入式<font color='red'>ARM</font>汇编详解
arm-none-eabi-gcc编译STM32优化删除代码解决办法
前两天使用arm-none-eabi-gcc编译STM32F103C8程序,就是一个简单的流水灯程序。 #include stm32f10x.h int main(void) { int i; RCC- APB2ENR=0xFFFFFFFF; GPIOC- CRL=0X33333333;//outpp at 50M GPIOC- CRH=0X33333333; while(1) { GPIOC- BSRR=(1ul 13); for(i=0;i 720000;i++); GPIOC- BRR=(1ul 13); for
[单片机]
基于ARM7网络型汽车防盗系统的研制
  引言   随着人们生活水平的提高,汽车已逐步进入家庭, 但日益猖獗的汽车盗窃案件也呈上升趋势,如何有效防止汽车被盗是车主们最关心的问题。近年来,科学技术飞速发展,结合各种新技术的新型汽车防盗装备相继出现。随着通信技术的发展, 无线远程通信技术也被应用于汽车领域中。基于S3C44B0X网络型汽车防盗控制系统是采用ARM 7微处理器构造的嵌入式系统,结合了传统防盗技术和新型的GPRS无线通信技术,实现已有防盗器现有各种功能的基础上,开发了远程控制功能,提高了防盗系统的安全性、灵活性和可靠性。   1 系统设计   1.1 系统特点和功能   在对各类汽车防盗系统的特点进行分析后,设计了基于S3C44B0X网络型汽车
[单片机]
基于<font color='red'>ARM</font>7网络型汽车防盗系统的研制
快速学Arm(38)--定时器和计数器(2)
我们再来看看定时器/计数器的结构 我们再对照上图看一下下面的例子: 这个例子实现了这样匹配的功能:定时0.1s,定时到,定时器复位并产生中断,外部匹配输出0上的电平翻转. 下面一个例子实现了捕获功能: 这个例子实现了这样的功能:捕获通道0上的下降沿信号触发捕获事件并产生捕获中断. 下面这个例子实现了用定时器测量脉冲宽度的功能
[单片机]
快速学<font color='red'>Arm</font>(38)--定时器和计数器(2)
工艺进步刺激主频战升级 ARM将出3GHz芯片
由于传统X86架构和ARM架构的竞争,处理器的工艺可谓是一年比一年先进,随着台积电、GlobalFoundries在2014年批量投产20nm工艺,ARM处理器在工艺上的被动局面将会有所缓解。目前由于28nm工艺的限制,无论是高通的骁龙800,还是NVIDIA Tegra 4i,主频最高只能达到2.3GHz,A15架构的Tegra 4则只能达到1.8GHz。 台积电方面日前表示,在20nm工艺下,处理器主频可以提速30%,同时晶体管密度增加1.9倍,功耗则降低25%。这样的表态对于ARM处理器来说无疑是天大的好消息,仅靠工艺升级就能将主频提升到3GHz,同时还有更多可用的晶体管来添加新的功能模块。 功耗的降低还能带来更低的
[单片机]
三星发布采用45nm工艺技术的应用处理器
  日前,韩国三星电子发布了采用45nm低功耗CMOS工艺技术的应用处理器“S5P6440”。其特点是图形性能高、功耗及成本低等。适用于PND等家电产品。      该处理器配备有英国ARM工作频率533MHz或667MHz的CPU内核“ARM1176”。CPU内核、芯片上的所有硬件加速器及周边部件接口均由工作频率166MHz、64bit总线“AXI”连接。      还配备有支持现行及新一代多值NAND闪存的错误订正用硬件,以及支持移动DDR或DDR2的DRAM控制器。支持MIPI(mobile industry processor inteRFace)的显示器连接用接口“DSI”,OS支持美国微软的“Windows C
[单片机]
基于S3C6410的ARM11学习(十) 时钟初始化
之前已经用led验证了核心初始化的代码是可以用的了。接着就要进行到下一步,这一步就是时钟初始化,因为在时钟初始化之前,CPU的系统时钟都是跑在外部晶振12M上的,这速度也太慢了,S3C6410可是跑在600多M时钟上的。所以我们就需要对时钟进行配置,将系统时钟调高。 这时候,其实是可以初始化C所用环境,然后用c语言来写,不过为了练习编写汇编代码,就使用汇编代码来写了。 S3C6410的时钟是挺复杂的。比51单片机的时钟要是要复杂多了去了。下面是时钟的框图。 S3C6410共有3个PLL。PLL是时钟倍频用的。我使用的OK6410外部晶振是12M的。但是CPU的时钟是可以跑600多M的,这怎么实现的了。就是靠PLL来实
[单片机]
基于S3C6410的<font color='red'>ARM</font>11学习(十) 时钟初始化
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新医疗电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 医学成像 家庭消费 监护/遥测 植入式器材 临床设备 通用技术/产品 其他技术 综合资讯

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved