低功耗微型胶囊内窥镜图像采集系统设计
2018-11-22蔡乐才刘川莉张超洋
刘 鑫, 蔡乐才,2, 高 祥, 刘川莉, 张超洋,2
(1.人工智能四川省重点实验室, 四川 自贡 643000;2.宜宾学院,四川 宜宾 644000)
引 言
无线图像采集传输是一种典型的无线场合应用[1]。胶囊内窥镜是一种全新的诊断方式[2],可以检测传统内窥镜不能检测的小肠盲区[3]。随着临床应用的不断展开,胶囊内窥镜的局限性也逐渐显现出来。其中,不能精确定位和控制以及可工作时长不足等是目前迫切需要解决的问题。现有低功耗方法有:用自主研发的ECS1020芯片来降低功耗[4]、设计一种低功耗MCU的待机模式电路[5-6]、降低摄像模块中的晶振电路来降低功耗[7]等,但这些研究成果都不具备精确定位能力。
文献[8]采用nRF24LE1的胶囊内窥镜系统,但nRF24LE1自带的51单片机内核主频不高,处理速度慢,从而导致发射图像的帧率太慢。
本文在满足胶囊内窥镜对于功耗和体积大小的要求下,可控制精确定位,在体内采集图像后发射到体外图像接收端,并存储到SD卡[9]。本设计是一种短距离无线图像采集、传输、存储,具有定位功能的医疗场合应用。本设计与现有胶囊内窥镜系统设计[8,10]相比,为满足定位设计了轴向充磁磁环,采用易于控制且定位精度高的五维磁定位技术,为满足低功耗在对硬件进行改进的基础上再通过软件设计来降低功耗。
1 胶囊内窥镜总体设计
该胶囊内窥镜图像采集系统包括:用于采集和发送人体内部消化道数据的胶囊内窥镜[11],该模块外壳套有磁环以配合磁定位阵列实现磁定位;用于接收和处理消化道图片数据及定位数据的图像工作站,包括计算机主机和胶囊内窥镜图像接收终端组成。
为解决胶囊内窥镜不能精确定位的问题,考虑使用现有的磁定位技术,但在电磁定位技术中,接收线圈较大,目前难以集成到胶囊内窥镜中,所以采用永磁定位技术。本文选择轴向充磁方式的磁环来实现定位,因为磁环易于实现电路的封装。通过给胶囊内窥镜外壳加上一个薄的轴向充磁磁环作为激励源。将磁环近似看成磁偶极子,其产生的磁场是其中心位置和南北极方向的函数。在人体周围布置磁场传感器阵列测量磁场,通过LM算法求解胶囊的位置和镜头的方向,实现定位[12-13]。因为胶囊内窥镜在人体中的位置和方向一直在变,所以系统还定义了相对不变的全局坐标系和相对变化的物体坐标系,并通过矩阵变换实现这两个坐标系的转换,以实现磁定位需要。
胶囊内窥镜对体积有严格的要求,要求其体积小、易于吞服,设计时要考虑在有限空间内集成光电模块、图像处理模块、无线通信模块、供电电源,且要求系统能至少工作8 h。表1列出了市场现有胶囊内窥镜的体积、图像传感器、帧率、工作时长参数比较,从中发现胶囊体积基本都限定在28 mm×12 mm以下,而且胶囊都以每秒2张以上的图片传输速率工作,工作时间8 h~10 h不等。
表1 胶囊内窥镜参数比较
系统要求胶囊内窥镜能在人体消化道内实时采集图像,并通过无线的方式将图片传输到接收端,而且在采集、传输图片的同时能进行磁定位跟踪。因此,在设计时需考虑到整个系统的体积、功耗、成本、安全等方面的因素,以及满足电磁兼容方面的要求。
为了设计出的磁定位胶囊内窥镜能满足要求,综合考虑系统设计的具体技术参数如下:CMOS图像分辨率≥320×240,尺寸≤26 mm×12 mm,可工作时长≥8 h,可实时定位精度≤5 mm,采集及传输速率2 Fps,无线传输距离≤10 m。
胶囊内窥镜图像采集系统由进入消化道的胶囊内窥镜本体和体外的图像接收终端两部分组成,其组成框图如图1和图2所示。设计时功耗和体积是重点考虑的因素,本设计中胶囊本体尺寸选定为:直径12 mm、长度24 mm。胶囊内窥镜不仅要实现图像采集功能还要实现磁定位功能,因此系统采用了永磁体和胶囊组合的方式,以轴向充磁磁环为磁定位系统的激励源。胶囊本体主要由:短焦镜头、CMOS图像传感器OV2640[14]、LED照明模块LM3643、MCU控制模块STM32L4R5、无线发射模块nRF24L01[15]、电源管理模块LP5907[16]、轴向充磁磁环、电池组成。图像接收终端主要由:无线接收模块nRF24L01、MCU控制模块STM32L4R5、SD卡存储模块、USB通讯模块、USB充电管理模块、串口通讯块模组成。
图1 胶囊内窥镜本体组成框图
图2 图像接收端组成框图
2 胶囊内窥镜硬件设计
2.1 MCU控制
MCU控制电路负责CMOS图像传感器时序操作及数据获取、灯光照明系统和无线通讯模块控制、系统的电源管理。系统电路设计时,除了要考虑功耗和体积之外,还要考虑系统的内部资源是否能满足要求。综合考虑,选择ST公司STM32L4系列的STM32L4R5单片机[17]。
2.2 图像采集OV2640摄像头及闪光灯
胶囊内窥镜的主要功能就是采集人体消化道图像,并发送至体外图像接收终端存储,由临床医师诊断筛选。理论上,分辨率越高采集的图像越清晰,对病情分析也越有利,因此图像传感器分辨率选择是越高越好。但是,胶囊内窥镜是一个系统,图像传感器的选择还受体积、功耗的限制。
OV2640是一款低电压供电,支持UXGA(1632×1232)分辨率图像,6.35 mm×6.35 mm小封装,支持影像处理的CMOS图像传感器,可支持整帧、子采样、缩放和取窗口等方式下各种分辨率8位或者10位影像数据输出。OV2640可以通过SCCB接口控制,实现自动曝光控制、白平衡、对比度调节、色饱和度调节等功能。OV2640CMOS图像传感器硬件电路设计如图3所示。
图3 图像传感器硬件电路图
从图3可知,传感器一共有15根数据线与MCU核心控制芯片连接,电路的时钟源由外部12 MHz有源晶振提供。其中:OV_D0~OV_D7为图像传感器数据接口,负责传感器采集压缩图像数据输出;OV_SDA、OV_SCL为两个SCCB控制线,负责传感器的初始化和寄存器配置;OV_HREF、OV_VSYNC分别为图片的行参考信号和帧同步信号;OV_PCLK为图片数据输出时的时钟信号;OV_PWDN为掉电控制信号线,负责传感器低功耗控制。
在胶囊本体中设置:拍照前先开启闪光灯、再拍照、拍摄完之后停止触发LED,以达到CMOS图像传感器曝光与闪光灯同步。闪光灯驱动电路如图4所示。
人体胃肠道环境非常复杂,有空间狭小的小肠也有空间宽阔的胃部。在空间狭窄的小肠,低照度可以拍摄出高质量图像,但是在类似胃部宽阔的环境,要获得高质量图像就要提高LED照明亮度。闪光灯功耗占胶囊系统功耗的很大一部分,照明系统必须能根据拍摄环境自动调节亮度,减少系统拍摄图像过度曝光或者图像过于黑暗,实现平衡照明,这样也可以最大限度的节省功耗。
LM3643是一款支持双LED闪存驱动器芯片,大小只有1.69 mm×1.31 mm,内部两个128级电流源可灵活调整LED亮度,提升系统的照明效率。LM3643的两个电流驱动输出口各并联了3个LED,I2C口控制其工作模式和输出电流,由STROBE引脚控制来触发LED灯输出。
图4 闪光灯驱动电路图
2.3 无线收发
无线通讯方式的选择是搭建胶囊内窥镜系统的关键[18],nRF24L01在2 Mbps发射模式下功耗只有11.3 mA,外围电路简单,体积只有4 mm×4 mm。胶囊内窥镜无线通讯模块是胶囊对外数据交互的关键,主要负责将采集压缩后的JPEG图像传输到体外的移动图片接收端[19-20]。无线通讯模块电路如图5所示。
图5 无线通讯模块电路图
3 胶囊内窥镜软件设计
3.1 JPEG图像数据获取
通过SCCB时序访问设置,可以对OV2640的传感器窗口、图像尺寸、输出格式进行设置。传感器输出1630×1220分辨率图像即200万像素,胶囊内窥镜实际应用30万像素即可满足要求,可以通过图像尺寸设置功能设置输出图像大小,这里设置图像分辨率为640×480输出。设置完窗口后再设置图片输出格式为JPEG输出。
OV2640通过像素时钟PCLK、帧同步信号VSYNC、行同步信号HREF控制图像输出信号D[9:0]输出图像数据。图像获取是先由行输出时序获取每行像素点数据后,再根据帧时序得到整幅图片的数据。
一帧图像缓存后还要判断是否是有效数据,即判断是不是以“0XFF”和“0XD8”为数据头且以“0XFF”和“0XD9”为数据结尾,如果是则表明是一帧有效数据,如果不是则丢弃,重新接收数据。需要说明的是,一开始接收图片数据时需要先丢弃开始的5张照片,以等待自动曝光、白平衡等参数自动调节好。
3.2 无线发射模块软件设计
胶囊内窥镜主要功能是将采集的消化道图片发送出去保存。图像无线发射模块软件的主要流程是:无线模块发射数据之前要判断CMOS图像传感器OV2640、nRF24L01无线发射模块、闪光灯控制模块LM3643是否初始化成功;初始化成功后要将图像传感器配置为JPEG输出,设置nRF24L01为发射模式;上述工作都正常后,开闪光灯并采集图像数据,缓存至MCU内部SRAM;缓存图片后,判断是否是一幅完整的JPEG图片,如果是完整的JPEG图片,就通过无线连续发射出去。
3.3 主程序流程与系统实现
低功耗胶囊内窥镜图像采集系统软件设计流程如图6所示。
图6 低功耗胶囊内窥镜图像采集系统软件流程图
3.4 低功耗调试
系统功耗较大的有闪光灯、OV2640、无线收发模块。因MCU选用的是低功耗芯片,故只需对这三项进行低功耗的设置。对OV2640部分,通过控制拍照、无线发射部分分别单独轮流工作,对于MCU控制闪光灯和OV2640拍照时,将体内胶囊内窥镜的无线发射设置为停止工作状态。当成功拍照后发射模块才启动工作,而闪光灯与OV2640停止工作。通过测试,这种工作状态收发模块的时长并不影响OV2640每秒采集2张图片。
OV2640部分是进入standby模式,软件配置为SCCB_WR_Reg(0x09,0x02),表述在采集图片程序前开启拍照,将SCCB_WR_Reg(0x09,0x16)放在采集图片的程序后关闭闪光灯及拍照。无线收发模块nRF24L01通过将软件配置为“PWR_UP register=1,nRF24L01_CE=0;nRF24L01_Write_Reg(NRF_WRITE_REG+CONFIG,0x02)”,从而进入standby1模式。
4 实验与分析
为了节省空间,电路中的图像传感器、电源管理芯片、闪光灯控制芯片都选用BGA封装,电阻电容等无源器件都是选用0201(0.6 mm×0.3 mm)封装。胶囊内窥镜电路采用四层电路设计,中间两层为柔性电路,顶层和底层为硬板,使用时可以折叠在内窥镜外壳中。将胶囊内窥镜装入带有永磁体磁环的外壳中,配上体外磁阵列,在进行图像采集的同时完成定位实验测试。
本部分实验以一段长度为1.5 m、直径约7 cm的猪大肠作为模拟环境,胶囊内电池额定电压3.0 V,总容量为240 mAh。内窥镜在猪肠道中行进的过程中,进行了肠道场景图像采集、接收、存储过程的测试。当胶囊内窥镜放入猪肠道后开始计时,待图像变得模糊无法识别时,即电池电量耗尽时停止计时。定位采用制作了15 cm×15 cm大小的磁传感器平面阵列,可在采集图像的同时对胶囊实时跟踪。
经过实验测得:在8 h工作时间内,体外图像接收端可以有效地接收到所拍摄的图像,当超过8 h后,电池耗尽。当图像接收端在猪大肠2 m范围内移动时,也能接收到图像。胶囊本体一秒采集完2张图片后,CMOS传感器进入休眠状态,LED闪光灯只在采集图像数据时打开,无线发射模块在发送接收完数据也进入休眠状态,只在新的一帧图像需发送时,MCU发出唤醒信号后激活,因此可保证发射端的低功耗。因硬件选的是低功耗器件,且在软件上进行代码编写设置,二者叠加可以保证胶囊内窥镜本体的低功耗。经实验测得整个胶囊内窥镜图像采集系统在无线发射图像时的电流为33 mA、功耗为99 mW。当配置无线芯片的发射速率为250 Kbps时,能发送2幅15 KB大小的图像,为保证采集图片数据清晰,像素设置为640×480大小,经过JPEG算法压缩后一幅图片不超过30 KB,这样每秒可传送一张高清图片。加入软件跳频协议解决其他ISM频段对2.4 G模块数据的干扰而可能存在的丢包现象,使得通信比较稳定。
胶囊接收终端采集完数据后保存在SD卡,另外也可由串口DMA发送上位机软件实时显示,接收效果如图7所示。
图7 SD卡保存猪大肠图片显示及图像接收端接串口发上位机显示
对比了新系统与之前非低功耗情况下的效果,实验数据见表2。
表2 两种系统的数据对比
从表2可知,相对与原MCU为STM32F103RE的设计,系统功耗降低了(160.5-99)×100%/160.5≈38.3%,总可工作时间延长了(8-5)/5×100%=60%,较好地完成了降低功耗与延长工作时间的目标。
5 结束语
针对现有胶囊内窥镜功耗较大的缺点,本文提出并设计了一种低功耗的胶囊内窥镜图像采集系统。本胶囊直径12 mm、长度24 mm、功耗99 mW、定位精度1.37 mm,低功耗延长了胶囊可工作时长。系统图像采集功能完善、体积紧凑、工作稳定,可以很好地完成图像采集、发送、接收、存储功能。为使图像接收端的可便携,系统增加了SD卡存储模块,可将无线接收模块接收到的图像数据存储在SD卡中。实验测试表明,该系统具有良好的可行性,系统功耗有明显降低,可工作时间得到了延长。