嵌入式心电血压监测仪的USB接口设计

发布者:水手谷水手最新更新时间:2016-10-11 来源: ofweek关键字:S3C44B0X  心电血压  监测仪  USB接口 手机看文章 扫描二维码
随时随地手机看文章
  监测仪的USB接口电路设计

  系统主控制芯片采用32位高性能嵌入式ARM微处理器S3C44B0X,USB专用控制芯片选用USBN9603。USBN9603内置7个FIFO端口,包括1个双向的控制端口,3个发送端口和3个接收端口,各有64字节。

  USB控制器与S3C44B0X的接口电路如图1所示。将USB控制器设计为Bank2,即将nGCS2存储体选择线作为USBN9603的片选线,则该芯片的片选地址为0x4000000。本文采用并行数据接口,两个芯片的低8位数据线D0~D7相连接,并行传输通信数据。将MODE0和MODE1引脚都接地,配置USBN9603为非复用方式,由于此工作模式需要地址线A0作为存取USBN9603片内寄存器DATA_IN、DATA_OUT和ADDR寄存器的选择线,需连接32位地址总线中的A18到USB控制器的A0。对USBN9603进行读写操作时,分为两个总线周期:首先,将地址线A0置高,即设置总线地址为0x4040000,将待访问寄存器的地址从数据线D[0:7]写入,这样,就在第一个总线周期将地址送到芯片;然后,在第二个周期,将A0置低,即设置总线地址为0x4000000,读写D[0:7]即可实现对寄存器的读写操作。整个USB通信过程主要是处理包括接收、发送数据等各种中断事件,将USBN9603的INT引脚连接到S3C44B0X的外部中断EINT0引脚,设置USB中断为向量中断请求模式。由于未使用DMA方式,需将DACK置高,DMA请求线DRQ悬空。USB电缆有4条导线,D+和D-是USB差分信号线,另外两个分别是5V电源线和地线。USBN9603支持低速和全速的USB通信,在D+信号线上连接1.5KΩ上拉电阻,使其工作在全速模式。

  监测仪的USB接口固件实现

  USB通信过程的操作是从主机开始的,按照约定的时序先发出一个令牌包,包含操作类型、方向、外设地址及端点号等信息,然后在令牌中指定数据发送者发出一个数据包或者指出没有数据传输。而USB外设要以一个确认包作出响应,表示传输成功。

  本文采用主从式USB通信结构,上位机通过发送各种事先约定好的协议命令,来实现对心电、血压数据的采集及对系统设备的初始化设置,主要包括以下几种数据:心电数据以段为单位,每段包括32KB心电数据及6B的采集时间信息,每次传输若干段,数据量大,对传输可靠性要求也高;血压数据包括舒张压和收缩压及其采集时间,共10B,由于血压监测比较频繁,每次会传输一段时间内的血压监测数据,数据量也比较大;下载升级版的固件等文件信息。这3种数据的数据流量都比较大,而且可靠性要求都较高,3种数据均选用块传输通道类型,另外,每个USB传输都必有控制传输通道。因此,需要使用3个通道,即控制通道、BulkIN通道和BulkOUT通道。

  USB固件数据结构 

  本文涉及USB设备配置枚举阶段上位机在控制传输中要求设备传输的4类描述符,按照层次依次为:设备描述符、配置描述符、接口描述符和端点描述符,其中,较高阶描述符会通知主机任何其它低阶的描述符信息。

  设备描述符是在设备连接时主机第一个读取的描述符,每个设备只能有一个设备描述符,包含整个设备的信息以及设备支持的配置号码,共18个字段。每个USB设备有一个或多个配置描述符,包含设备的电源管理以及设备配置所支持的接口号码,当设备收到获取配置描述符的要求后,传送该配置描述符及其所有接口、端点和其它附属描述符给主机,本文设置一个配置,其描述符共8个字段。接口包含一组端点,本文设置一个接口,其描述符有9个字段,为上位机提供了设备使用端点的数目及其类型等信息。每个接口描述符有零个或多个端点描述符,包含主机与端点通信所需的信息,端点0作为控制端点来通信,端点1和端点2分别为块传输模式,其描述符包含了端点号、传输方向、端点传输类型、数据包最大传输字节等信息。

  USB固件通信流程

  USB固件框架流程在进入通信模块后,固件首先调用初始化例程,配置USB接口设备,并使其进入操作状态,然后启用中断,USB通信的主要功能是在中断服务中实现的,主程序只是在循环等待是否有退出的按键,当检测到中断信号时,就会进入中断服务子程序,根据寄存器MAEV的值,判断中断类型,并进入相应的处理过程。

  设备的USB通信主要实现心电和血压数据的Bulk传输功能。在USB总线收发数据的通信协议基础上,监测仪还有特定的应用层通信协议。固件接收到用户通信命令后,解析控制命令并执行相应的例程。如传输心电和血压数据命令0x10,固件接收0x10命令码后,从命令参数中获取待传输数据长度、心电或血压的选择传输标志及其记录号等信息,根据记录号调用GetRecordData(),从Flash存储区中查找数据并存入BulkState的发送缓冲区,如果传输心电数据则还需通过GetTIme()获得该段心电数据的采集时间。所有待发送数据准备就绪后开始传输,由于Bulk传输的最大缓冲区为64B,首先发送64B数据,然后在TX_EV例程中判断上位机是否接收成功,若成功则传输下一批块输入事务,否则需要重发,循环重复上述过程直到数据发送完毕。

  USB固件各模块例程

  初始化

  USB接口的初始化例程,包括USBN9603芯片的初始化操作和用户变量的初始化,之后开始设备枚举操作。在初始化阶段,固件需要严格按照顺序对USBN9603的寄存器进行操作。

  USB设备枚举过程

  将系统的USB连接线接入一个USB连接端口(集线器或主机根集线器),设备处于开机状态;在USB的D+和D-数据线和所接入的集线器端口或主机的根集线器之间有两个15KΩ的上拉电阻。此时,上拉电阻会使数据信号线上的电平上升,通知集线器有新设备接入;然后,集线器使用中断通道,报告给主机所发生的事件,确实有新设备接入时,主机向连接设备的集线器发送Set_Port_Feature要求,使集线器向端口发送USB硬件复位命令并持续10ms,然后识别设备的速度。此时,设备已经完成了初始化操作,在主机证明设备已经离开重置状态时,开始在端点0的默认通道上进行USB控制传输,进入枚举阶段。
 

  监测仪的USB接口电路设计

  系统主控制芯片采用32位高性能嵌入式ARM微处理器S3C44B0X,USB专用控制芯片选用USBN9603。USBN9603内置7个FIFO端口,包括1个双向的控制端口,3个发送端口和3个接收端口,各有64字节。

  USB控制器与S3C44B0X的接口电路如图1所示。将USB控制器设计为Bank2,即将nGCS2存储体选择线作为USBN9603的片选线,则该芯片的片选地址为0x4000000。本文采用并行数据接口,两个芯片的低8位数据线D0~D7相连接,并行传输通信数据。将MODE0和MODE1引脚都接地,配置USBN9603为非复用方式,由于此工作模式需要地址线A0作为存取USBN9603片内寄存器DATA_IN、DATA_OUT和ADDR寄存器的选择线,需连接32位地址总线中的A18到USB控制器的A0。对USBN9603进行读写操作时,分为两个总线周期:首先,将地址线A0置高,即设置总线地址为0x4040000,将待访问寄存器的地址从数据线D[0:7]写入,这样,就在第一个总线周期将地址送到芯片;然后,在第二个周期,将A0置低,即设置总线地址为0x4000000,读写D[0:7]即可实现对寄存器的读写操作。整个USB通信过程主要是处理包括接收、发送数据等各种中断事件,将USBN9603的INT引脚连接到S3C44B0X的外部中断EINT0引脚,设置USB中断为向量中断请求模式。由于未使用DMA方式,需将DACK置高,DMA请求线DRQ悬空。USB电缆有4条导线,D+和D-是USB差分信号线,另外两个分别是5V电源线和地线。USBN9603支持低速和全速的USB通信,在D+信号线上连接1.5KΩ上拉电阻,使其工作在全速模式。

  监测仪的USB接口固件实现

  USB通信过程的操作是从主机开始的,按照约定的时序先发出一个令牌包,包含操作类型、方向、外设地址及端点号等信息,然后在令牌中指定数据发送者发出一个数据包或者指出没有数据传输。而USB外设要以一个确认包作出响应,表示传输成功。

  本文采用主从式USB通信结构,上位机通过发送各种事先约定好的协议命令,来实现对心电、血压数据的采集及对系统设备的初始化设置,主要包括以下几种数据:心电数据以段为单位,每段包括32KB心电数据及6B的采集时间信息,每次传输若干段,数据量大,对传输可靠性要求也高;血压数据包括舒张压和收缩压及其采集时间,共10B,由于血压监测比较频繁,每次会传输一段时间内的血压监测数据,数据量也比较大;下载升级版的固件等文件信息。这3种数据的数据流量都比较大,而且可靠性要求都较高,3种数据均选用块传输通道类型,另外,每个USB传输都必有控制传输通道。因此,需要使用3个通道,即控制通道、BulkIN通道和BulkOUT通道。

  USB固件数据结构 

  本文涉及USB设备配置枚举阶段上位机在控制传输中要求设备传输的4类描述符,按照层次依次为:设备描述符、配置描述符、接口描述符和端点描述符,其中,较高阶描述符会通知主机任何其它低阶的描述符信息。

  设备描述符是在设备连接时主机第一个读取的描述符,每个设备只能有一个设备描述符,包含整个设备的信息以及设备支持的配置号码,共18个字段。每个USB设备有一个或多个配置描述符,包含设备的电源管理以及设备配置所支持的接口号码,当设备收到获取配置描述符的要求后,传送该配置描述符及其所有接口、端点和其它附属描述符给主机,本文设置一个配置,其描述符共8个字段。接口包含一组端点,本文设置一个接口,其描述符有9个字段,为上位机提供了设备使用端点的数目及其类型等信息。每个接口描述符有零个或多个端点描述符,包含主机与端点通信所需的信息,端点0作为控制端点来通信,端点1和端点2分别为块传输模式,其描述符包含了端点号、传输方向、端点传输类型、数据包最大传输字节等信息。

  USB固件通信流程

  USB固件框架流程在进入通信模块后,固件首先调用初始化例程,配置USB接口设备,并使其进入操作状态,然后启用中断,USB通信的主要功能是在中断服务中实现的,主程序只是在循环等待是否有退出的按键,当检测到中断信号时,就会进入中断服务子程序,根据寄存器MAEV的值,判断中断类型,并进入相应的处理过程。

  设备的USB通信主要实现心电和血压数据的Bulk传输功能。在USB总线收发数据的通信协议基础上,监测仪还有特定的应用层通信协议。固件接收到用户通信命令后,解析控制命令并执行相应的例程。如传输心电和血压数据命令0x10,固件接收0x10命令码后,从命令参数中获取待传输数据长度、心电或血压的选择传输标志及其记录号等信息,根据记录号调用GetRecordData(),从Flash存储区中查找数据并存入BulkState的发送缓冲区,如果传输心电数据则还需通过GetTIme()获得该段心电数据的采集时间。所有待发送数据准备就绪后开始传输,由于Bulk传输的最大缓冲区为64B,首先发送64B数据,然后在TX_EV例程中判断上位机是否接收成功,若成功则传输下一批块输入事务,否则需要重发,循环重复上述过程直到数据发送完毕。

  USB固件各模块例程

  初始化

  USB接口的初始化例程,包括USBN9603芯片的初始化操作和用户变量的初始化,之后开始设备枚举操作。在初始化阶段,固件需要严格按照顺序对USBN9603的寄存器进行操作。

  USB设备枚举过程

  将系统的USB连接线接入一个USB连接端口(集线器或主机根集线器),设备处于开机状态;在USB的D+和D-数据线和所接入的集线器端口或主机的根集线器之间有两个15KΩ的上拉电阻。此时,上拉电阻会使数据信号线上的电平上升,通知集线器有新设备接入;然后,集线器使用中断通道,报告给主机所发生的事件,确实有新设备接入时,主机向连接设备的集线器发送Set_Port_Feature要求,使集线器向端口发送USB硬件复位命令并持续10ms,然后识别设备的速度。此时,设备已经完成了初始化操作,在主机证明设备已经离开重置状态时,开始在端点0的默认通道上进行USB控制传输,进入枚举阶段。

关键字:S3C44B0X  心电血压  监测仪  USB接口 引用地址:嵌入式心电血压监测仪的USB接口设计

上一篇:基于USB2.0接口的生物阻抗分析仪的研制
下一篇:STM32 通用定时器的学习

推荐阅读最新更新时间:2024-03-16 15:14

基于S3C44B0X的大型LED显示系统设计
大型LED显示系统已经广泛应用于各种室内外场合,但由于其多采用多机系统,提高了系统成本和软硬件设计复杂度。多机系统工作时,本质上相当于一个高总线宽度的计算机系统。其技术难点如下: ◆大型LED显示屏上的像素数以万计,随着显示面积增大,电路结构随之增大。 ◆为了保证一定的显示质量,帧频应在30帧/s以上。对于一个512%26;#215;252的单色LED屏,每秒的数据传输量至少为480 KB以上,对于彩屏及显示质量高的场合,数据传输量还将按整数倍增长。 ◆当LED屏位于室外时,上下位机通信可能在百米甚至千米以上,要求通信速度快且可靠。 鉴于上述前两个技术难点,为能够使用单CPU系统代替多机系统控制大型LED显示系统,
[应用]
基于单片机和CH371USB接口芯片实现虚拟示波器的设计
一、引言 对于学校教学实验以及某些特定需求来说,目前市场上的模拟及也许并不适用,价格高昂、体积较大且很多专业功能并不实用。而现在电脑的普及程度也达到了相当的规模,利用电脑以及附加的数采模块实现一个灵活便捷的能够满足大多数的工作、学习和开发需要,并且可以通过较低代价的硬件和软件升级实现相当复杂的信号处理功能,能够以较低的成本、较小的体积实现配置灵活的智能仪器组合;完全可以与便携电脑结合,构成便携式检测维修工作站。目前已经有计算机并口通信的数据采集器,但是USB的应用日趋广泛和深入,如果将USB功能融合在里面则可以实现更高的数据传输率、更方便的使用方式,更为优越的体现出的性能。 二、 此虚拟的数据采集器由以下功能模块组成:前端信号
[单片机]
基于单片机和CH371<font color='red'>USB接口</font>芯片实现虚拟示波器的设计
USB接口电磁兼容(EMC)解决方案
  usb接口具有传输速度快,支持热插拔以及连接多个设备的特点,目前已经在各类计算机、消费类产品中广泛应用。   一、 usb接口面临电磁兼容问题   由于usb接口其运行速率较高,容易通过usb连接线缆对外高频辐射超标,同时由于带电热插拔,容易受到瞬间电压冲击和静电干扰。因此我们在产品接口设计时,需要着重从接口滤波设计,防护设计, PCB设计 、结构电缆多个方面考虑电磁兼容设计。   本文电磁兼容解决方案主要结合usb2.0接口电路特点,从产品原理图的接口电路出发,提供符合产品实际设计要求的具体的emc设计方案,从而使产品能够满足电磁兼容标准与规格要求,获得良好的emc品质,提升产品的可靠性。   二、 usb接口标准要求   
[嵌入式]
PIC单片机的USB接口的应用 一个简单的USB CDC 测试程序
单片机的USB接口,通常用法, 1)HID 是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。(参考百度 https://baike.baidu.com/item/USB-HID ) 2)CDC 虚拟串口,可与PC机直接联机通讯,如同RS232。 3)USB MSC (Mass Storageclass) MSC是一种计算机和 移动设备 之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。设备包括: 移动硬盘 ,移动光驱,U盘,S
[单片机]
PIC单片机的<font color='red'>USB接口</font>的应用 一个简单的USB CDC 测试程序
基于USB接口的虚拟示波器的开发实现
为了克服虚拟示波器应用中的一些缺点,在虚拟示波器中采用了一种新的总线接口标准——USB接口。主要介绍了基于USB的虚拟示波器的独特优点,着重说明了系统整体设计、外插硬件设计、USB驱动软件设计和客户应用软件设计。 关键词:虚拟示波器,USB,Windows驱动模型,快速傅里叶变换 1 系统总体设计   USB规范中将USB分为5个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB设备以及针对不同USB设备的客户驱动程序。根据设备对系统资源需求的不同,在USB规范中规定了四种不同的数据传输方式:等时传输方式(isochronous)、中断传输方式(interrupt)、控制传输方式(control)和批(bulk)传输
[模拟电子]
基于微处理器S3C44B0实现SJY-1射频监测仪系统的设计
引言 发电机是电力系统的核心,随着单机容量的不断增大,其运行可靠性显得尤为重要。对于发电机而言,并网运行后实现在线监测和诊断已成为一项亟待解决的课题。其主要目的在于:检出发电机在初始阶段出现的缺陷,以便有计划地安排检修,减少强迫停机次数,避免事故的发生;延长发电机平均无故障时间及缩短平均修理时间,降低发电机的维护费和提高发电机的可用性。 发电机运行状态监测原理 发电机长期运行后,绝缘性能渐趋劣化,而绝缘结构的劣化是各种劣化的综合表征。目前,射频监测法是较为常用的监测发电机绝缘状态的方法。 本文论述的远程监测系统配合在线运行的SJY-1射频监测仪,通过监测射频仪的输出信号,进行初步的故障诊断。如何确定射频监测仪的示值变化与发
[单片机]
基于微处理器S3C44B0实现SJY-1射频<font color='red'>监测仪</font>系统的设计
给身体装个“USB接口” 让装假肢变得更自如
对于因为病患或事故截肢的残疾人来说, 假肢 的出现为他们带来了新的生活,但是,假肢除了给他们的生活带来一些便利之外,更多的是痛苦。目前来说,假肢需要定制,每个人有不同的尺寸,价格也十分昂贵,而且如果病人的体型发生变化(胖或瘦),那么还要对假肢进行调节,由此又增加了成本。更重要的是,长期佩戴假肢,会时不时地对人的身体造成伤害,比如假肢长期接触会造成皮肤出血,更严重会引起炎症甚至感染等,这些都会成为佩戴假肢患者的痛苦回忆。 近日,初创企业“剑桥生物强化系统(Cambridge Bio-Augmentation Systems,CBAS)”在著名孵化器 Y Combinator举办的Demo Day上大放异彩,他们所做的东西,
[医疗电子]
基于S3C44B0X的移动机器人的应用研究
移动机器人利用导航技术,获得机器人的目前所处的位置,结合传感器技术对周围外界环境(障碍物等)作实时探测,并根据环境提供的信息规划一条可行路径完成达到目标点的任务。移动机器人技术涉及到传感器技术,导航技术,计算机技术,人工智能等多个领域,因而对移动机器人的控制部分提出很高的要求,特别是视觉传感器的出现,要求控制系统不仅存储量大,而且处理速度快等。以往基于PLC和单片机控制的移动机器人就不能很好的满足实时性快速性的特点。 随着ARM处理器的出现和发展以及嵌入式系统的发展,移动机器人的实时性快速性要求便能得到很好满足,现在该技术已经在多种领域得到有效的应用。本文是以SAMSUNG公司一款基于ARM7TDMI核的低功耗高性能的32位处理
[工业控制]
基于<font color='red'>S3C44B0X</font>的移动机器人的应用研究
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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