基于ARM7的无线内窥系统设计

发布者:明石轩最新更新时间:2011-07-07 关键字:ARM7  JPEG-LS  蓝牙  CMOS摄像头  CPLD 手机看文章 扫描二维码
随时随地手机看文章

    引 言

  目前微米、纳米技术的研究非常活跃,使得微小技术、微型机械电子系统(MEMS)技术得到迅速发展,从而大大促进,医用器材的微型化、微观化,出现了医用光电微传感器(如无线内窥镜)。无线内窥镜以微机电系统为基础,由感知外界信息(力、热、光、生、磁、化等)的微型传感器、控制对象的执行器、信号处理和控制电路、通信接口和电源等部件组成,将信息的获取、处理和执行集成在一起,形成一体化的、具有多种功能的微型系统。

  当前,医用无线内窥镜已有产品问世。以色列GI公司早在2001年5月即推出其M2A无线内窥镜产品,并获得美国FDA认证。GI公司生产的胶囊型内窥镜长为26 mm,直径为11mm,重3.5g;采用微功耗CMOS图像传感器,可观察视角为14O°,可看清0.lmm左右的物体,采集速度为2帧/s。日本RF公司也于2001年底研制出NORIKA3胶囊型内窥镜系统。该产品采用超小型CCD摄像头,含有8个镜头,可观察视角为360°,图像帧率可达30帧/s。“NORIKA3”利用位于药丸内的转子线圈与产生磁场的体外定子线圈形成马达结构来实现药丸系统姿态控制。RF公司在其网站上发布了产品的设计模型。此外,Gong和Park等人电独立发表论文,描述了各自关于无线内窥镜的设计。

  目前国内尚无独立制造该产品的能力,而国外的产品价格昂贵,因此,研发具有自主知识产权的无线内窥镜产品具有重要意义。本文介绍无线内窥系统的系统结构,图像压缩标准JPEG-LS在ARM7平台上的实现,以及实现过程中所采用的调试方法、优化方法。

  1 系统组成与工作原理

  1.1 内窥系统组成结构

  如图1所示,无线内窥镜系统主要由主机和从机(无线内窥镜)组成。从机由摄像头采集原始图像,经过压缩处理,通过无线方式把压缩后的图像数据传输给主机;主机通过USB连接蓝牙适配器接收压缩图像,并转发给PC上的管理软件,管理软件将图像解压缩并显示出来。

基于ARM7的无线内窥系统设计

  1.2 无线内窥镜组成结构

  如图2所示,无线内窥镜采用CPLD芯片EPM7256-144,实现30万像素CMOS摄像头OV7660的图像采集控制,以及数据和地址总线的切换。利用Atmel公司的ARM7芯片AT91R40008,实现JPEG-LS无损图像压缩与蓝牙无线数据传输,实现温度、压力采集以及可控光源和系统控制。CPLD和ARM7之间的图像数据交换通过8位数据总线实现,ARM7和CPLD之间的握手控制则通过I/O口线实现。由于图像数据量较大,按640×480分辨率、8位图像的格式计算达几十万字节,故本系统外部扩展了2片上作在乒乓方式的512KB的SRAM作数据缓存。

基于ARM7的无线内窥系统设计

  1.3 系统工作原理

  内窥系统可以实现图像的连续采集以及温度、湿度、照明亮度等的控制。其中图像采集是系统的核心,其工作流程如下:

  ①默认情况下,系统工作在休眠状态。

  ②工作人员通过PC管理软件发送命令开始采集图像,软件通过USB接口把命令发送给蓝牙适配器,然后发送给无线内窥镜。

  ③内窥镜接收到图像采集命令后,ARM控制CPLD开始采集图像数据。

  ④CPLD把采集到的一帧图像数据写入一块SRAM中,把ARM的总线切换到该SRAM上,并通知ARM进行压缩;同时CPLD往另一块SRAM中继续采集下一帧图像,便于提高系统的吞吐率。

  ⑤ARM通过蓝牙模块返回响应命令,并返回采集JPEG-LS图像的头信息。

  ⑥PC管理软件发送命令接收下一行压缩图像,ARM压缩该行原始图像,并发送压缩数据;如果出错,可以重新发送。重复本步骤可以获取整帧压缩图像。[page]

  ⑦PC软件对压缩图像解码并显示,并提供其他附加功能,如图像处理、保存等。

  ⑧重复步骤②~⑦,获取下一帧压缩图像。

  由上述流程可以看出,JPEG-LS压缩以及无线信道传输决定整个系统的图像传输速率。无线传输采用蓝牙技术,其标称空中速率为1 Mbps,不易提高;因此,系统设计的核心是JPEG-LS的编码效率。

  2 ARM与摄像头接口设计

  系统采用美国Omni Vision公司(简称为“OV公司”)开发的CMOS彩色图像传感器芯片。该芯片将CMOS光感应核与外围支持电路集成在一起,具有可编程控制与视频模/数混合输出等功能。

  (1)SSCB配置

  为使芯片正常上作,需要通过SCCB总线来完成配置工作。SCCB总线是OV公司定义的一套串行总线标准,与I2C总线类似。配置时,主要是写OV7660的内部寄存器,使芯片输出格式正确的彩色图像数据。OV7660共有100个左右的寄存器可以配置,其数据手册并未提供可用的配置值。系统调试过程中,通过各种测试,测出以下一系列配置数据,可使OV7660输出颜色丰富的图像,如表l所列。

基于ARM7的无线内窥系统设计

  (2)图像数据访问

  AT91R40008不带摄像头接口,因此系统增加了一块CPLD实现CMOS摄像头的时序,如图3所示。ARM只须访问SRAM就可以访问图像数据。CPLD确保ARM的总线每次都只挂接一块有完整图像的SRAM。

基于ARM7的无线内窥系统设计

  3 ARM与蓝牙接口设计

  蓝牙是无线数据和语音传输的开放式标准。它将各种通信设备、计算机及其终端设备、各种数字系统,甚至家用电器,采用无线方式连接起来。为了优化系统设计,我们采用性价比高的CSR BC2实现蓝牙无线串口。CSRBC2是一款高度整合的模块级蓝牙芯片,主要包括:基带控制器、2.4~2.5GHz的数字智能无线电和程序数据存储器。通过该模块,系统可以提供无线标准UART接口,支持多种波特率(如9.6 kbps、19.2 kbps、38.4 kbps、57.6kbps、115.2 1kbps、230.4 kbps、460.8 kbps、92l.6 kbps)。本系统经过测试发现,当速率为460.8 kbps时,蓝牙芯片能够正常工作;而在921.6kbps时,会有很高的误码率。蓝牙模块接口电路如图4所示。

基于ARM7的无线内窥系统设计

  4 JPEG-LS图像编码

  系统采集的原始图像相关性大、数据量大,需要进行图像压缩。医学图像要求将图像质量放在首位,因此必须采用无损压缩算法。本系统采用静态图像无损压缩技术JPEG-LS,它是目前无损压缩算法中性能较好的一种算法。JPEG-LS是ISO/ITU组织提出的最新的连续静态图像近无损压缩标准。该标准采用LOCO-I(Low Complexity Lossless Compression for Images)核心算法,建立简单的上下文模型,在低复杂度的情况下实现了高压缩率;同时,算法对图像逐行进行压缩,降低了系统对图像缓冲区的要求。

  4.1 JPEG-LS工作原理简介

  如图5所示,JPEG-LS的编码过程主要包括预测、上下文建模和熵编码。核心算法LOCO-I采用邻域非线性预测和Golomb熵编码。

基于ARM7的无线内窥系统设计

  上下文建模是JPEG-LS编码的基础,使用的建模方法是基于对上下文的认识。上下文首先根据图5中a、b、c、d处像素值决定对x处像素足采用常规模式编码还是采用游程模式编码。当从上下文估计的连续像素在近似无失真编码要求的容限内几乎完全相同时,选择游程模式;否则,选择常规模式。

  常规模式下首先完成预测。预测器对位于a、b、c等3个邻近像素的重建组值Ra、Rb、Rc进行综合,形成x像素的预测值Px,即:

基于ARM7的无线内窥系统设计

[page]

  预测误差是x像索的实际值和预测值的差分。通过一个与上下文有关的项对预测误差进行修正,以补偿预测中的系统偏移。如果采用近无损编码,则要对预测误差进行量化,所允许的最大误差用一个“NEAR"参数表示。对已修正的预测误差进行Golomb编码。Golomb编码相当于几何分布下的Huffman编码。它依赖于上下文,而前面编码的预测误差也是以相同的上下文为基础。

  为进一步提高数据压缩效率,JPEG-LS引入了游程模式。此时编码过程直接跳过预测和误差编码程序:编码器从x处开始对像素值和a处像素重建值相同的一系列连续像素进行计数,即统计游程的长度。当遇到一个具有不同值的像素或当前行的行尾时,游程终止。该游程长度经过一个专门的性能更好、更适用的Golomb编码扩展程序来编码。

  4.2 JPEG-LS的移植问题

  本系统使用HP实验室提供的开源JPEG-LS开发包。完整的JPEG-LS开发包支持多种颜色模型,如多平面压缩、逐行或者逐点等压缩方式。本系统考虑到ARM系统资源的限制,只裁减了其中的逐行单文件压缩方式。原始开发包运行在Linux或者Windows平台上,移植过程最主要的工作包括3点。

  ①裁减不必要的功能,如原始开发包中对多图像编码的支持。

  ②针对系统设计移植后的接口,如本模块移植后,只提供以下几个接口:

  ◇jls_global_init,全局初始化函数,计算查询表等,只需要启动时调用一次;

  ◇jls_image_init,每帧图像开始压缩时都要调用一次的初始化;

  ◇jls_encode_one_line,压缩一行图像。

  ③对原开发包中使用的动态内存分配需要移植,解决的方案有2个:

  ◇开发一个简单的内存管理模块;

  ◇手动分配内存。

  考虑到源码包中使用的动态内存不多,系统采用第2种方案。在移植过程中,建议先在PC上分配好一大块内存,然后,给开发包中需要分配的地方手动分配。在PC上调试通过之后,就可以直接在ARM上面使用了。

  5 调试及优化方法

  5.1调试方法

  嵌入式系统的调试是一个很繁琐而复杂的过程。在调试之前划分好模块,可以大大提高调试效率;另外为了调试,还需要添加一些计划项目之外的调试工具。

  本系统的调试工作分为3个部分。

  (1)蓝牙无线链路层调试

  蓝牙无线链路层的调试可以直接借助PC上很多现有的串口工具来实现。

  (2)CMOS摄像头调试

  CMOS摄像头的调试有两个部分:SCCB配置时序、RGB图像数据时序。

  一般的处理器都不带SCCB接口,因此要用处理器的口线模拟SCCB时序。此时的调试一般都是通过示波器观察模拟的时序,看足否符合芯片手册上的要求。为了验证是否正确,一般可先读一个指定的寄存器(这些寄存器都有出厂默认值);然后写一个数据,读取出来验证是否吻合。

  RGB图像数据时序由CPLD产生,此时的调试需要ARM来配合。本系统在调试时,在PC上编写了一个简单的串口接收程序,ARM把SRAM中的图像数据通过串口发送给该PC,PC上的程序把这些原始的RGB数据插值并显示出来,从而可以得知CPLD的时序是否正确。当然,调试时序时,示波器仍然是必不可少的工具。

  (3)JPEG-LS算法调试

  JPEG-LS算法的调试分为两个步骤:PC上的算法验证和目标板上的调试。

  PC上的算法验证使用VC6.O模拟目标板上的运行环境,测试目标板上的各个功能接口。本部分的验证代码可供下载。

  目标板上调试时,还是要借助串口,把压缩的图像和原始图像通过串口发送至PC。Pc上的JPEG-LS解码程序解码压缩图像,然后与原始图像对比,从而找出算法中的错误。

  5.2 优化方法

  为提高图像传输的帧率,本系统主要采用了2种优化方法。

  (1)硬件优化

  硬件优化主要是在CPLD采集数据时,使用双缓冲,使得连续采集下一帧图像和传输上一帧图像可以并行,从而提高系统的吞吐率。

  (2)软件优化

  软件优化的作用在本系统的调试过程中效果明显;本系统的第一个版本,图像采集速率仅为3 s/帧;通过软件优化后,达到了最终的O.3 s/帧。其优化如下:

  ①循环外移,避免在循环中重复运算;

  ②频繁使用的变量申明为寄存器变量;

  ③把所有的JPEG-LS编码函数代码拷贝到RAM中执行。

  默认情况下,所有的代码都存放在Flash中。ARM运行时,从Flash中读取指令并且执行。众所周知,Flash的访问速度相对RAM而言,相差一个数量级,因此,如果把关键代码放在RAM中,执行速率将会大大提高。而AT9lR40008内部自带512 KB的RAM,足够本系统使用,因此,这个方法可行。

  解决的方法有两个,一是写一个启动程序,在启动时,把系统所有的代码都拷贝到RAM中,这样系统速度会提高。然而,该方法实现起来较麻烦,且如果程序扩展,可能会超过RAM的512 KB限制。因此,本系统采用另外一个简单方法。采用IAR Embedded Workbench开发环境,通过阅读其编译器手册发现,在函数之前添加一个__ramfunc伪指令,那么链接器在生成启动代码时,会将该函数拷贝到RAM中,从而提高运行效率。其使用例子如下:

  __ramfunc void encode_oneline(vcrid)

  通过使用该方法,系统的运行效率提高了约lO倍。

  结语

  本系统以ARM为核心,实现了JPEG-LS无损图像压缩算法,并日结合CPLD实现了CMOS摄像头的时序控制。通过蓝牙传输,实现了数字化的无线内窥系统。

  本系统具有良好的扩充性,可以使得系统更加微型化。首先,如果采用CSR公司更新的BC3系列芯片,则将融合ARM核以及蓝牙功能,可以更加减小内窥镜的体积。最重要的是,如果发展自主产权的内窥镜芯片,那么以现有的SOPC技术,可以将ARM核、CPLD逻辑门以及蓝牙通信功能集成在一起,形成无线内窥镜的集成解决方案,从而使其产业化成为可能。

  本系统在实现过程中,完成了一系列的调试工具,积累了调试以及优化经验。我国现有的医疗设备开发技术相对比较落后,在此分享,希望对同类型的产品设计以及芯片生产能有一些参考价值。

 

关键字:ARM7  JPEG-LS  蓝牙  CMOS摄像头  CPLD 引用地址:基于ARM7的无线内窥系统设计

上一篇:基于ARM和加速度传感器的电子画笔设计
下一篇:ARM嵌入式平台的VGA接口设计

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

选择ARM处理器的ARM7还是Cortex-M3
1.1 ARM处理器系列 每个ARM处理器都有一个特定的指令集架构(ISA),而一个ISA版本又可以有多种处理器实现。ISA随着嵌入式市场的需求而发展,至今已经有多个版本。ARM公司规划该发展过程,使得在较早的架构版本上编写的代码也可以在后继版本上执行(即代码的兼容性)。 1.1.1 命名规则 早期ARM使用如图1.1所示的命名规则来描述一个处理器。在 ARM 后的字母和数字表明了一个处理器的功能特性。随着更多特性的增加,字母和数字的组合可能会改变。注意:命名规则不包含体系结构(ISA)的版本信息。 ARM {x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S} x 系列 y 存储管理/保护单元 z cache T
[单片机]
#51单片机#蓝牙模块(ATKSPPHC06从机串口)的使用方法
#include AT89X51.H #include intrins.h // 函数原形定义 #define uchar unsigned char #define uint unsigned int void main (void); // 主函数 void LED_OUT(uchar X); // LED单字节串行移位函数 void LED_print (uchar p, uchar x) ; unsigned char code LED_0F ; // LED字模表 sbit DIO = P1^0; //串行数据输入 sbit RCLK = P1^1; //时钟脉冲信号 上升沿有效 sbit SCLK =
[单片机]
#51单片机#<font color='red'>蓝牙</font>模块(ATKSPPHC06从机串口)的使用方法
低功耗和能量收集技术如何使物联网更加绿色
物联网(IoT)已经彻底改变了许多行业,为创新和经济增长开辟了新的途径。然而,这个新的连接时代到来也带来了严重的电池问题。每年有数以十亿计的电池被扔掉,污染了全世界。 电池的经济成本也是惊人的。想想那些使用电子货架标签显示价格的零售商店。考虑到材料成本和人工成本,更换所有这些电池的成本极高。为了解决这些问题,科技行业开始采用能够延长电池寿命的解决方案。 连接设备延长电池寿命的一种方法是使用支持最新蓝牙5.0标准的低功率无线电实现。蓝牙5.0平台的续航时间是前代的4倍,速度是前代的2倍,带宽是前代的8倍。 通过极低功耗的实现,设备可以使用蓝牙5.0更有效地相互连接,从而延长电池寿命。蓝牙5.0的实现可以通过将功耗降低5到
[物联网]
基于CPLD技术的数字时序控制电路设计
1、引言   六自由度电磁敏感定位系统作为一种新型的跟踪定位装置,可实时地确定目标的六个参数,已在机载火控系统(头盔瞄准具)、精密医疗器械、单兵作战模拟训练中获得广泛应用 。该跟踪系统由正弦信号发射电路、敏感信号接收电路组成的硬件和从敏感接收数据中求解目标参数的算法程序两部分组成,定位计算精度受制于上述两部分的误差。目前,在不考虑环境因素影响的情况下,算法误差已达到小于1毫弧的水平,因此,硬件电路的误差成为制约系统定位精度的主要因素。根据工作原理,该系统采取按时序依次激励发射天线,从而根据敏感天线接收信号组成接收矩阵计算目标参数。然而,作为时序控制电路的模拟器件,存在无法避免的温度漂移和时间漂移问题,从而大大影响了时序发射的精度
[工业控制]
基于<font color='red'>CPLD</font>技术的数字时序控制电路设计
欧胜迷你编码解码器为无线耳机提供高保真音效
英国爱丁堡和美国拉斯维加斯, 2007 年 1 月 8 日 - 欧胜微电子有限公司 ( 伦敦股票交易所: WLF.L) 即将推出一款世界上最小的编码解码器 ( CODEC ) ——WM8987 ,它内置具有完全差分功能的耳机驱动器。 WM8987 可为头戴式无线耳机或其他 “ 可穿戴型 ” 电子产品提供高保真品质的 立体声音效。 这款新型器件 是专为使用 BluetoothA2DP (蓝牙音频传输模型协定)的产品而设计,同时当它应用在无线耳机中以实现高保真立体声音效时,它是同等的专利替代技术。    欧胜新型的 WM8987L 可在一个 4mm x 4m
[新品]
一款基于CPLD的LED显示屏控制电路解决方案
引言   近年来,随着 计算机 技术和 集成电路 技术的飞速发展,得到广泛应用的大屏幕 显示 系统当属视频 led显示 系统。在LED显示技术中,由于红色、绿色发光二极管的 亮度 、 光效 色差等性能也得到了很大的提高,加之计算机多媒体制作软件的发展,现在伪彩视频LED显示系统的制造成本大大降低,应用领域不断增加。这种伪彩色视频LED显示系统采用了计算机多媒体技术,全同步动态显示视频图像,图像清晰,亮度高,无拼缝,每种颜色的视频灰度等级已经由早期的16级灰度上升现在的256灰度,随着大规模集成电路和专用元器件的发展,256级灰度的全彩色视频LED显示系统随时都可能实现。    LED电子 显示技术发展迅速,已成为当今 平
[电源管理]
一款基于<font color='red'>CPLD</font>的LED显示屏控制电路解决方案
基于单片机的蓝牙装置自动控制无线电台设计
  目前无线电台工作的方式均为单工方式,用户在使用过程中必须按下PTT开关才能进行收发的切换,这给用户造成了一定的麻烦和不便,如何能将用户的双手解放出来,利用一个有效装置自动控制无线电台的发送和接收是一个亟待解决的问题。 无线蓝牙 技术是一个可以在10m范围内进行有效通信的成熟技术,将蓝牙技术应用在单工方式工作的无线电台中,利用话音激活方式,用户讲话时控制电台PTT按键自动发送,从而实现了无线电台的自动控制。 本文以此为思路,通过研究无线蓝牙,设计和实现了将蓝牙和无线电台结合的电台自动控制装置,从而有效将用户的双手解放出来。给出了基于蓝牙装置自动控制无线电台的整个设计和实现过程,通过P89C58单片机和CMX5683及蓝牙
[单片机]
基于单片机的<font color='red'>蓝牙</font>装置自动控制无线电台设计
哪种技术解决方案可以促进无线互联的互操作性?
互操作性是智能市场中的一个关键词。事实上,具有相同无线电技术的智能设备必须能够相互通信,这是智能建筑扩张的先决条件。 NodOn嵌入式电子工程师Nicolas Thiers解释说,如今,还没有一种低功耗的无线协议能够成功地成为标准。 面对这一现象,有两个对立的阵营:全球市场希望有一个开放和标准化的协议,以促进互操作性(相当于WiFi,对于智能建筑而言),而一些制造商放弃互操作性,选择创建自己的生态系统,他们在为用户创造更多依赖性。 Nicolas Thiers解释说:“互操作性意味着创造一个用户可以根据设计、需求和预算自由选择所需设备的世界。”。 技术观点 Nicolas Thiers认为,有两种可能的方法来促
[网络通信]
哪种技术解决方案可以促进无线互联的互操作性?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved