您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 基于CH563的远程医疗系统设计
基于CH563的远程医疗监控系统设计1.1绪论本设计是一个软硬件结合的设计,以CH563单片机为控制中心控制整个下位机系统,实现将医疗数据接收,远程传送到服务器,从而实现对消费者医疗信息的监控。本设计的主要功能如下:数据的采集离线数据的存储TFT屏显示GPRS远程数据传送固件的升级以MCU为主控制器,接收来自传感器的数据,获取RTC芯片的时间信息,并将它们在TFT显示屏上显示出来,当收到上传数据命令的时候,将最新的数据通过GPRS模块传送到服务器。如果发送没有成功,则将数据保存到U盘中,这些保存的数据将会在后面的传输数据成功时再进行发送。系统的结构很清晰,主要难点是操作U盘和固件升级,以及如何对中断进行合理地嵌套处理。本设计的上位机部分采用C#进行编写,主要用到C#编程语言中的下面几个功能,分别是:Excel文件的读写控制、SerialPort的编程。其中SerialPort的功能是从COM口读取数据,Excel文件读取是用来将接收到的数据存储到Excel文件中。1.2设计思路由于该远程医疗系统需要通过串口控制GPRS模块和接收传感器的信息,因此选择的单片机至少应该有2个串口,另外做即时显示的时候选用的是240*320分辨率的TFT显示屏,因此单片机需要较快的主频。最重要的一点是需要操作U盘,单片机一定要拥有USB接口。初步选择为ARM内核的单片机。经过网上查询MCU资料,当前ARM内核的MCU价格普遍比较高,主流的Cortex-M3内核单片机公司,如:ST、Philip、Ti等,它们的单片机性能较好,但是价格相比较高,并且有USB接口的单片机价格很贵。相比之下南京沁恒的CH563L单片机拥有很高的性价比,其价格低于市场上相同配置的芯片,主频最高可以达到130MHz,主要硬件接口为:1个USB2.0高速主从接口,1个内置PHY的100M网络接口,2个串口,2个SPI接口,1个8位被动并口,74个通用IO口等。完全可以满足我的设计要求,并且可以降低设计的成本,因此选择CH563作为下位机的主控芯片。1.3硬件器件的选择在系统设计的时候,硬件的选择是很重要的,在1.2节中我们已经选择了下位机的主控MCU,后面将会对系统的各个模块进行选取,并给出选择的依据。1.4GPRS模块的选择采用GPRS模块作为数据传输,那么有两种方式可以用来传输数据,第一:采用短信的方式,将接收到的数据直接编码成对应的字符串,通过短信的方式发送到对应的号码,从而完成数据的传输。第二:通过GPRS数据传输,将接收到的数据进行编码,生成字符串,将该字符串发送到对应的地址。方式一的下位机操作相对简单,而且不需要检测短信是否发送成功,因为只要短信发送出去了,即使对方暂时没有收到,电信运营商会在一段时间之后,重新发送短信内容。由于本系统的上位机是运行在Windows下的软件,无法接收到短信内容,如果采用读取飞信软件的相应动态链接库文件,将会增加复杂程度;而且因为收发数据比较频繁,尤其是需要实现固件更新,采用短信模式,费用消耗太大。因此选用GPRS数据传输模式,只要将SIM卡每个月开通30MB的流量,就足够使用。经过搜索GPRS模块的资料和相应的销售信息,大多数公司只是提供了单纯的GPRS模块,不提供数据转发服务,在进行数据通信的时候,加大了开发的难度。根据前文分析系统采用GPRS模式进行数据的传输,就需要固定上位机PC的IP地址,或者上位机PC有个固定的域名,否则无法进行通信。这样一来上位机的开销太大。经过比对,北京天同在GPRS模块销售的同时,还提供了一个服务器。在使用该模块进行数据通信的时候,首先在PC机上运行无线串口软件Wireless,输入注册的账号和密码,将在其公司购买的GPRS模块的编号添加到Wireless软件中,并将服务器数据虚拟到PC机的一个COM口上,这样就可以在不固定上位机IP地址的条件下,接收到GPRS模块发送过来的数据,而且PC端数据的读取是通过串口的方式,使得数据的接收处理更加的简单了。因此选择北京天同的GPRS模块,传输方式采用GPRS数据传输方式。1.5时钟芯片的选择因为下位机系统不是持续供电的,而在进行数据传输的时候,数据包含有时间信息,这就需要下位机的运行的过程中可以获取到比较准确的时间信息。我们采用的单片机CH563L没有RTC模块,因此需要外置RTC模块。经过比较性能和价格,将DS1302和PCF8563作为RTC芯片的选择范围。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。PCF8563是PHILIP公司推出的一款工业级内含IIC总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能可以完成各种复杂的定时服务,甚至可为单片机提供看门狗。内部时钟电路、内部振荡电路、内部低电压检测电路以及两线制IIC总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。同时每次读写数据后,内嵌的字地址会自动产生增量。而且PCF8563也解决了2000年问题。经过查询DS1302和PCF8563的使用情况,DS1302具有较大的时间偏差,在该方面,PCF8563表现出较好的性能。另外我们在传输数据的时候是通过中断来触发的,而PCF8563具有中断输出功能,符合我们系统的设计,因此我们选择PCF8563作为系统的RTC芯片。1.6硬件系统框图经过上面分析可知,整个硬件系统由一个CH563单片机控制,硬件系统框图如下图所示。硬件系统框图1.7系统结构分析CH563作为主控制器,其主要作用是医疗信息的U盘存储、驱动GPRS模块和服务器进行通信、接收数据接口传来的数据、驱动TFT显示屏来进行下位机显示,当进行升级操作的时候,将固件文件存储到U盘中,从而对MCU中的固件进行升级。U盘主要有两个功能,第一个是在服务器断电的情况下进行数据的暂存,从而在后续的过程中将之前的数据发送到服务器上;第二个功能是在系统选择升级固件的时候,先将固件文件存储在里面,然后CH563升级自身的固件,从而使得系统工作在最新的固件版本下。串口数据接口是预留的一个USART接口,用来和传感器接口相连接。GPRS是该系统中的通信模块,主要用来和服务器进行通信,在使用的过程中需要插入SIM卡,并会消耗一定的数据流量。(如果不用无线GPRS也可使用CH563的以太网接口和服务器相连,但这样需要网线连接)PCF8563为系统提示时间,并每2分钟在中断引脚INT(低电平有效)产生一次中断,CH563一旦接收到中断,就会进行一次将数据传送到服务器的操作。当有数据从数据接口传输过来的时候,CH563首先将其在显示屏上显示出来,并将此时的数据在缓存中存储起来,后面如果有新的数据过来,则先显示,再更新到缓存中;当PCF8563产生中断的时候,CH563会将缓存中最新的数据结合此时的时间以及用户设备的识别号码发送到服务器,并开始等待服务器应答,如果接收到应答,表明发送成功;如果超时等待时间没有收到应答,表明发送失败,此时将会把这次发送失败的数据存储到U盘中,在下次可以发送成功的时候,再进行发送。1.8MCU和各接口电路的设计MCU(CH563L)的封装为LQFP128,总共有128个引脚,在实际使用的时候用到的引脚比较少,实际电路中CH563L的接口电路如下图所示。XI、XO是晶振输入和输出引脚,只要使用该单片机,就必须连接。串口0的输入输出引脚为第109(PB8/RXD0)和110(PB9/TXD0),这两个引脚是用来和GPRS模块的串口输出出入相连接的。串口1的输入引脚为第111(PB10/RXD1/RXTX1),这个引脚用来和传感器接口的发送引脚进行相连,因为此处的数据传送方向为单向的,所以不需要使用串口1的发送引脚。CH563没有硬件IIC接口,因此需要用普通IO口模拟IIC接口,本系统中采用第117引脚(PD0)和第118引脚(PD1)模拟IIC接口分别和PCF8563的SCL和SDA引脚相连接。CH563的USB接口为第23引脚(DN)和第24引脚(DP),在电路中分别和USB插座的DN和DP引脚相连接。CH563的第83—90引脚为PA0—PA7,在这里和TFT显示屏的并行数据接口DB0—DB7相连接。CH563的第96引脚(PA8)和TFT显示屏控制引脚的RW引脚进行连接,CH563的第97引脚(PA9)和TFT显示屏控制引脚的RS引脚进行连接,CH563的第98引脚(PA10)和TFT显示屏控制引脚的CS引脚进行连接,CH563的第99引脚(PA11)和TFT显示屏控制引脚的RST引脚进行连接。原理图中的供电引脚这里不再叙述。1.9RTC电路的设计RTC电路如下图所示,R1、R2为IIC总线上拉电阻,若总线速度高于100KHz,电阻值要更小,这里我们采用的是6.2KΩ的电阻。由于PCF8563的中断输出方式为开漏输出,所以需要外接上拉电阻,时钟输出也为开漏输出,因为我们没有用到这个引脚,为了较小能耗,这里不接上拉电阻。对于PCF8563芯片,需要外接时钟晶振32768Hz,PCF8563典型应用电路推荐使用15pF的晶振匹配电容,但是这里我们使用的是两个20pF的贴片电容串联得到一个10p的电容,经测定OSCI引脚波形,频率稳定在32768Hz左右。当系统断电的时候,时钟芯片由纽扣电池供电,从而保证系统在关机之后,时间继续更新。PCF8563的SCL和SDA引脚和CH563中对应的引脚相连接,上面已经说明。PCF8563电路和接口方式2.0其它接口下图标明了TFT接口的引脚和连接图,TFT显示屏采用8位并行接口,这样可以有较快的数据传输速度。引脚中的DB0—DB7是数据接口,和CH563中对应的接口相连接。RS、RW、CS、RST、RD是控制接口,其中RS、RW、CS、RST分别和CH563对应的引脚相连接,在上文已经说明,RD需要连接到高电平,否则无法对显示屏进行操作。该型号的TFT显示屏是带触摸的,因为在本系统中只作为显示使用,因此没有写触摸相对应的驱动。因为显示屏是能耗比较高的模块,这里采用的供电电压是5V。TFT显示屏接口USB插座接口方式2.1下位机的软件设计上文中基于GPRS的远程医疗监控系统的硬件已经设计出来了,但是系统的运行不仅仅需要硬件这个躯体,也需要软件的支持,因为我们这个系统的特殊性,不仅仅有运行在单片机上的软件,还有运行在PC机上的上位机软件。整个监控系统的软件涉及到很多,包括GPRS模块的驱动、TFT显示屏的驱动、U盘的驱动和PCF8563的驱动。在我们实际调试的过程中,采用的是模块化的思想,首先单独地将各个部分调试出来,然后将它们结合到一个系统中,并将它们之间的逻辑关系联系起来。2.2下位机的软件流程图下位机软件的流程图系统开机之后对硬件开始初始化,包括TFT显示屏的描绘、PCF8563的数据读取、U盘的驱动等等。下面将根据实际的代码来了解该流程图。2.3系统软硬件初始化系统开机之后就进入该状态,进入该状态的目的是为了将整个硬件配置到准备好的状态,进行后面数据的采集和传输,整个配置过程如下:进行短时间的延时,等待系统稳定将显示屏进行初始化USB接口的初始化,此时USB接口上必须有U盘插入,否则进入死循环对RTC中断相关的寄存器进行设置对2路串口以及串口对应的中断进行设置对定时器及其中断相关的寄存器进行初始化系统完成启动准备2.4系统软件完成启动之后系统完成了上面所说的初始化之后,开始正式进入到工作的状态,开始进行判断是否有一下三种请求,分别是“是否有接收数据中断请求”、“是否有数据上传请求”、“是否有固件升级请求”。首先判断系统是否收到“数据接口端传送过来的数据”请求,如果有,则将传输过来的数据在显示屏上特定的位置显示出来,以
本文标题:基于CH563的远程医疗系统设计
链接地址:https://www.777doc.com/doc-5118682 .html