历史上的今天
返回首页

历史上的今天

今天是:2025年03月19日(星期三)

正在发生

2021年03月19日 | CC3000的胶囊内窥镜WiFi转发器设计

2021-03-19 来源:eefocus

引言

近年,由于微电子技术和便携式电子设备的发展,使用传感器获取身体的生理数据成为热门的研究领域[12]。越来越多的嵌入式处理器和无线技术应用于生理参数的获取。使用传感器可以获取如血压、血氧饱和度、血糖、脉搏、体温、呼吸、心率、心电、脑电等生理信息。这方面的研究已经许多成果,如使用安卓手机进行心电监测[3]、ZigBee的多生理参数监测[4]等,这些信息可以通过无线方式发送给便携式数据记录仪或远程服务器。如今,智能手机有足够的处理和存储能力来完成这些身体参数的处理,可以使用蓝牙或WiFi接收这些数据,但考虑到蓝牙或WiFi芯片的体积和功耗,胶囊内窥镜[56]的图像不宜采用蓝牙或WiFi进行传输。因此,如不借助其他设备,胶囊内窥镜使用专用的无线传输芯片采集到的图像无法直接传输到智能手机或远程服务器。


为了解决这个问题,本文设计了一种用于胶囊内窥镜的转发器,主要功能是转发胶囊内窥镜的图像数据。提出的适配器通过使用与胶囊内窥镜配套的无线收发模块来接收图像数据,然后由微处理器控制WiFi模块转发图像数据到手持设备。此外,适配器也可直接通过WiFi将图像发送到远程服务器存储,从而实现胶囊内窥镜的远程诊断。


1 系统总体设计

作为胶囊内窥镜和数据采集终端的中间设备,转发器主要用于转发胶囊内窥镜的图像数据。本文使用Android手机作为数据采集终端,胶囊内窥镜使用的是nRF24L01+传输芯片。图1是使用转发器的胶囊内窥镜远程诊断系统。



2 转发器设计

2.1 硬件设计

转发器的硬件设计如图2所示,包括微控制器STM32F103RCT6[7]、无线收发芯片nRF24L01+、WiFi芯片CC3000[8],各模块使用SPI总线进行通信。转发器保留了其他传输方式的外部接口,因此也能用于其他传输方式的生理传感器。



(1) 微控制器图3CC3000外围电路设计


微控制器STM32F103RCT6,主要负责数据的缓存、处理转换,并根据预定义的方式从相关接口传送数据。它控制RF接收器和WiFi模块的数据传输相关的所有活动,以及总体管理产生的控制信号。STM32系列专为要求高性能、低成本、低功耗的嵌入式应用而设计。时钟频率为72 MHz时,STM32功耗为36 mA,相当于0.5 mA/MHz。


(2) RF接收器


选择nRF24L01+作为转发器的接收芯片,是由于其具有低功耗、小尺寸和高带宽等特点。它与单片机SPI口的通信速度可达8 MHz;最大支持2 Mbps的数据传输速率,且正常的功耗为14 mA;支持自动应答及自动重发,内置地址及CRC数据校验等功能。虽然自动应答降低了通信速度,但它是生物医学应用中所必需的。


(3) WiFi模块


转发器的功能取决于设备本身和接收工作站之间的通信。WiFi的应用越来越广泛,在许多地方都作为一种主要的通信媒介。本文使用TI公司的WiFi嵌入式芯片CC3000,为电子设备提供Internet连接能力。这款芯片包含完整的TCP/IP协议栈和WiFi驱动,支持标准的Socket编程,具有IEEE802.11b/g无线网卡功能。在IEEE802.11g工作模式下,传输功耗为190 mA,接收功耗为92 mA。CC3000的外围电路设计如图3所示,只保留了SPI通信接口和UART调试接口。


(4) 电源供应


采用输出3.7 V的锂电池作为电源的供应,电池可以通过USB线进行充电。


2.2 控制程序设计

软件控制程序是分层模块化的,以便添加新的硬件时不必对软件进行大规模改动。底层驱动程序是由ST公司提供的一个完整的STM32设备固件库。该库提供了STM32所有外设的底层驱动函数,开发人员不必自己编写驱动函数,只需在这些底层函数的基础上编写应用程序。CC3000使用官方提供的Hostdriver驱动库,上层应用层包括数据处理、系统配置等模块。STM32通过SPI初始化CC3000和RF射频模块,配置nRF24L01+为接收模式,自动应答,每次传输32字节数据。为了确保数据接收与发送同步操作,CC3000的数据包也设置为32字节。因为针对的是远程诊断,而远程服务器的IP地址一般是固定的,因此配置CC3000为服务端的工作模式。转发器工作时,从RF的SPI口读取到的数据先存到存储缓冲器中,然后由STM32将数据交由CC3000转发出去。


转发器的工作流程如图4所示。


当连接指定AP超时,CC3000便进入Smart_Config模式[9],Smart Config是CC3000独有的AP配置信息模式,可以使用任何带WiFi的设备配置CC3000连接到AP。很多嵌入式的设备不带有键盘和液晶,而WiFi配置又极其复杂,为了便于客户重新配置WiFi的连接,CC3000模块设计了Smart Config模式。


3 Android手机接收程序

本文使用Android手机完成图像数据的接收、处理、显示、保存。转发器通过WiFi将图片发送到手机,图像数据是通过转发器的TCP/IP协议转发的。Android是一个开源移动操作系统,它有一个强大的基于Java框架的软件开发包。Bitmap类[10]是Android系统中有关图像处理的最重要类之一,可以用于获取图像文件信息,进行图像相关处理。


开发的图像采集应用程序主要由3部分组成:


① DeviceListActivity:主要完成设备的连接,连接后的设备通过Socket通信。


② RecieveService: Android后台服务进程,它长时间运行在手机应用程序进程的主线程内,不会干扰其他组件或用户界面。这里包括Socket的监听、数据的接收、图片的显示与写入SD卡的后台服务。


③ WiFiWCERecieve:与用户交互的Activity组件,是应用程序的可见部分。


CC3000与手机利用WiFi连接立TCP连接,通过Socket传输图片。配置Android手机为服务端,使用ServerSocket来建立带有端口的Socket服务器,然后一直监听请求连接。其中Android终端和CC3000处于同一局域网。图像启动采集的时候,客户端使用Socket的构造器连接服务器,指定服务器IP和端口号。服务器端的accept()方法得到响应后,服务器端和客户端就形成了一对互相连接的Socket。Socket通信时都是通过输入/输出流进行。从手机Socket口获取到的图像数据流,通过Android里面的bitmap类生成JPEG图像并显示,添加SD权限,把图像写进SD卡中。


4 实验与分析

胶囊内窥镜使用nRF24L01+发送图像数据。转发器处理接收到的数据,通过无线网络转发给Android处理、显示、保存。图5为Android机接收到的图片。



不同组件的平均功耗如图6所示。可以看出,最耗电的为CC3000。总的耗电量为200 mA,在2 000 mAh锂电源的工作环境下,能工作10小时。由于胶囊内窥镜一般工作8小时左右,因此足够胶囊内窥镜的应用。



实验结果表明,该转发器能够稳定转发胶囊内窥镜图片,可作为胶囊内窥镜远程诊断的转发装置。转发器有以下优势:


① 体积小、功耗低。


② 安装相关软件,任何带有WiFi的安卓手机都可以用作胶囊内窥镜数据采集和处理设备。


③ 可以使用手机实时监控胶囊内窥镜图像。


④ 可以直接通过WiFi将图像传输到远程服务器。


⑤ 预留其他外部接口,可以支持其他的传感器。


结语

本文设计了基于STM32F103的WiFi转发器,并用于胶囊内窥镜的图像转发;系统地分析了胶囊内窥镜图像数据的转发、数据传输的原理和过程,在软件设计方面,设计了基于Android智能手机的采集程序。通过系统测试,整个系统成功实现了对图像的实时监测和数据接收。


推荐阅读

史海拾趣

Compact公司的发展小趣事

随着全球环保意识的提高,电子行业对环保和可持续发展的要求也越来越高。Compact公司积极响应这一趋势,加大环保投入,采用环保材料和工艺,降低生产过程中的能耗和排放。同时,公司还致力于推动循环经济的发展,通过回收和再利用废旧电子产品,减少资源浪费和环境污染。这一举措不仅提升了公司的社会形象,还为公司的可持续发展奠定了坚实基础。

请注意,以上故事仅为示例,并不代表任何真实存在的企业情况。如果需要关于特定企业(如Compact公司)的准确信息,建议查阅相关公司的官方资料、行业报告或新闻报道。

德旭电子(DEXU)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,德旭电子深知只有不断创新才能在竞争中立于不败之地。因此,公司始终坚持技术创新和产业升级的战略方向。

德旭电子在产品研发方面不断投入大量人力物力,积极引进国内外先进技术和管理经验。同时,公司还加强与高校、科研机构的合作与交流,共同开展技术研发和人才培养工作。这些举措使得德旭电子在技术创新方面取得了显著成果,不断推出具有市场竞争力的新产品和新技术。

CAROLCABLE公司的发展小趣事

在激烈的市场竞争中,CAROLCABLE公司深知技术创新是企业发展的核心动力。因此,公司不断加大研发投入,引进先进的生产设备和技术人才,推动技术创新和产业升级。经过多年的努力,CAROLCABLE成功研发出了一系列具有自主知识产权的高性能线缆产品,这些产品在传输速度、稳定性和耐用性等方面均达到了行业领先水平。

随着产品技术的不断升级,CAROLCABLE开始积极拓展国内外市场。公司参加了多个国际电子线缆展会,与全球同行交流学习,寻找合作机会。同时,CAROLCABLE还加强与国内大型电子企业的合作,为其提供定制化的线缆解决方案。这些举措不仅为公司带来了更多的商机,也进一步巩固了CAROLCABLE在电子线缆行业的领先地位。

这两个故事仅是对CAROLCABLE公司发展起来的简要描述,实际上,公司的成长历程中还有许多值得探讨的细节和里程碑事件。如需了解更多关于CAROLCABLE公司的故事,建议查阅相关新闻报道或公司官方资料。

Cornell Dubilier公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,Cornell Dubilier公司积极引进智能化生产设备和解决方案。例如,公司部署了Rethink Robotics的智能协作机器人,显著提高了生产效率和质量。通过与机器人技术的结合,Cornell Dubilier公司在电力电容制造领域取得了显著的成绩,实现了生产过程的自动化和智能化。

Beta Dyne Inc公司的发展小趣事

Beta Dyne Inc最初是一家专注于研发新型半导体材料的小型创业公司。在创始人的带领下,公司成功研发出一种具有高效能、低功耗特性的新材料,这一技术突破迅速引起了业界的关注。随后,Beta Dyne积极与各大电子设备制造商合作,将其新材料应用于智能手机、平板电脑等消费电子产品中,成功开拓了新的市场。

EasySync公司的发展小趣事

EasySync公司一直秉承环保理念和社会责任。公司在生产过程中注重节能减排和资源循环利用,努力降低对环境的影响。此外,公司还积极参与公益事业和社会活动,为社会做出积极贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,仅供参考。如果您对EasySync公司的实际发展历程感兴趣,建议您查阅相关官方资料或新闻报道。

问答坊 | AI 解惑

AD620仪用放大器原理与应用

AD620仪用放大器原理与应用…

查看全部问答>

急求助---ARM+GPRS!=短信!

最近在用ARM+GPRS做收发短信系统,但总是没反应,短信发不了!困惑很久,请路过的兄台多多指点,帮我看看程序有何错误!谢谢!谢谢! # include # include # include # include # include # include # include # include # includ ...…

查看全部问答>

用labview做可编程控制器实验

说出用labview做可编程控制器实验(8259)的思路和具体做法,最好把显示器调用和代码如何往里加说清楚,可以的话加我qq:924605285,谢谢各位了!…

查看全部问答>

【急】一个DeviceIoControl的问题

用DeviceIoControl中用FSCTL_GET_RETRIEVAL_POINTERS获取指定文件的分布情况,获得的数据加入ExtentCount有n个,那么LCN中很多时候highpart是为0,lowpart有数据,问一下各位大虾,我从这里中我如何知道这些碎片的具体位置? 补充一下:虽然积分少 ...…

查看全部问答>

TCP/IP数据传输问题

//发送文本 void CTCPIPDlg::OnSendtest() {     DWORD actlen, cnt = 0;     int nErrorCode;         if (m_Socket == NULL)         return;         ...…

查看全部问答>

关于红外线接收问题

89s52中我用INT0和计时器T1做了个红外线接收器 能接收 但还是有点问题 我把程序烧进单片机去  按键 有时按一下 它会处理几次甚至无数次相应操作 有时有不会只操作一次 比如说我按了\"Down\"向下键 它会处理了几次\"向下\"的操作 &n ...…

查看全部问答>

CE6编译另一错误

error C2039: \'GPGUP\' : is not a member of \'S3C2450_IOPORT_REG\'…

查看全部问答>

pic单片机串行输出信号请指点

pic串行输出信号有一段是跳动的是怎么回事,是连到lcd驱动芯片的,lcd显示的是一串稳定的数字,示波器看到的信号由一段是跳动的,什么原因?请高人解释,谢谢…

查看全部问答>

初学usb驱动开发,实验的环境问题?

能简单就简单,能省钱就省钱,大家看看我怎么建立个实验环境呢??…

查看全部问答>