PIC单片机USB接口应用设计
作者:赵斌斌
来源:《消费电子》2012年第16期
摘要:随着信息技术高速发展,计算机和外围设备通讯重要性日益增强,传授速度快,连接简便的USB接口是实现通讯的最常见接口,支持USB的外围设备已经成为了一种反应技术性能的关键指标,本研究以PIC单片机18F67J50为控制器,对医用肺功能测定仪进行了重新设计,实现了USB数据通讯的接口功能。 关键词:PIC;USB;单片机;应用
中图分类号:TP368.12 文献标识码:A 文章编号:1674-7712 (2012) 16-0049-01
肺功能测定是临床较为常见的一种检查,对于患者肺及气道早期检查具有积极作用,同时可以对患者病情严重程度给予评估。能够通过检测呼气流速实现多项生理参数评估的医学仪器,由于一些早期肺功能测定仪不支持USB通信,在数据导入导出中不够方便,本研究通过带有USB模块的单片机改造,实现了USB通信功能。 一、PIC单片机USB模块
带改造肺功能测试仪采用的单片机为PIC18F6720型,为确保兼容性,加快改进速度,本次选用的单片机为PIC18F67J50系列单片机。 (一)USB外设
PIC18F67J50系列单片机的USB模块能够实现USB2.0串口兼容,同时可支持全速接口(12Mb/s)和低速接口(1.5Mb/s),可以全面支持中断、控制及批量传输,能够支持双向16对端点,最多32个端点(双向16对),RAM具有CPU和USB模块双重存取特性。 (二)USB电源模式
在USB电源配置方面,有着不同的要求和配置,比较常见模式为的电源模式包括Self-Power Only(仅自供电)、Dual Powe(双电源)、Bus Power Only(仅总线供电)等三种供电模式。其中仅总线供电模式下是最简单和是最常用的一种供电方式,这种方式电源自USB接口,在供电方式上非常简单。为符合USB2.0对于浪涌电流的规范化要求,Vbus同接地端间等效电容应在l0uF以下。按照USB2.0的规范,USB还应可以支持低功耗挂起模式。在USB提供V的Vbus线供电过程中,其实际电流消耗应在500uA以内,通信停止至少3ms来实现主机和外设之间的挂起模式通信。在elf-Power Only(仅自供电)模式中,USB采取自身提供电源的方式,仅有很小电源来自USB,并通常都需要增加相应的连接指示器,来显示USB和主机连接及Vbus供电情况。
龙源期刊网 http://www.qikan.com.cn
(三)振荡器
USB模块具有相应的时钟要求。在低速运行状态下,需要给予USB模块6MHz的时钟脉冲频率,在全速运行状态下,需要USB模块48MHz的时钟脉冲频率为48MHz。然而,无论USB模块的时钟脉冲频率如何,单片机CPU等外设振荡器均需要在一定的时钟速度运行。 二、PIC单片机固件开发
本研究选择的PIC单片机程序环境为MPLAB IDE,改集成开发环境平台中,可全面支持机器码编译连接、源程序编写、开发调试工具等功能。软件可免费通过微芯公司官方网站进行下载,此外,在开发语言上也完全支持C语言以及第三方语言工具,主要包括:Byte Craft、CCS、B Knudsen Data、HI-TECH等。本研究中原有肺功能检测仪的采取的程序编译器为第三方提供的HI-TECH,有因此支持nc器件较少,开发成本较高,在综合考虑成本因素和实用因素的基础上,本研究最终采用的编译器为微芯公司的MPLAB C18。
而采取微芯公司的MPLAB C18需要对而这需要对肺功能检测仪原程序的变量定义实施修改,所以必须首先对MPLAB C18的变量的存储区进行定义。默认状态下,编译器会假定无跨越存储区边界问题。因此在创建超过256字节的变量中可对链接描述文件进行相应修改。 三、固件编程
肺功能检测仪固件改进的目的重要在于通过USB接口实现计算机数据处理和本机数据提取功能。因此,在主要改进容物就集中在保持原有操作代码基础上的USB的HID类通信上,实现USB总线的通信命令传送和数据采集并及时返回。 (一)USB状态和控制
在编写USB模块固件程序时会用到USB传输状态寄存器(USTAT)、USB配置寄存器(UCFG)、USB控制寄存器(UCON) 3个寄存器进行当前工作状态的设置和查询,并进入到相应的控制流程当中。
控制寄存器主要包括零电平复位、USB模块等状态配置管理;配置寄存器主要包括片上上拉电阻、总线速度、片上收发器与USB模块硬件相关的配置;状态寄存器则主要负责提供串行接口引擎(SIE)中的状态报告,一旦发现中断信号,应首先进行该寄存器的读取工作,并以此完成传输的状态的确认。 (二)USB中断
USB模块的绝大部分活动均有中断进行触发,和其他单片机中断源一样,该模块也有着自身的特定中断逻辑结构。能够通过一组寄存器允许USB中断,同时可以用一组单独的标志
龙源期刊网 http://www.qikan.com.cn
寄存器来实现中断事件捕获。在本研究中的单片机中断逻辑中,USB中断源均通过顶层的USB中断请求来反应和标志位USBIF,在通过中断第二层寄存器来进行确认。 四、系统流程与釆集
当肺功能测试仪开启后,应首先对单片机以及液晶屏等进行初始化处理。再通过USB检测引脚来对高电平情况进行判断,如果出现高电平则可以说明已连接上了USB线,可以对PIC单片机的USB模块进行初始化配置工作,在肺功能测试仪液晶屏上出现“连接USB线”提示,在这一期间应禁止键盘中断使能,也就是不允许实施本机操作。随后实施USB枚举过程,进行接口和端点配置。在完成配置工作后,即可以实施相应的计算机操作工作。通过控制输出端点0上位机将命令向下位机进行发送。设备完成对命令的响应工作,开始进行数据采集工作,通过中断输入端点1可实现返回数据。 参考文献:
[1]张巍,郑建彬.基于VC++实现在线签名认证系统与USB的通信[J].计算机与数字工程,2007,10.
[2]扶文树,何军,陆信如.USB HID数据通信接口的设计与实现[J].工业控制计算机,2009,22(2). [3]叶君耀,刘克宁.加密存储设备驱动程序的优化设计[J].软件导刊,2010,2. [4]钱宇红.人机接口类型USB设备的程序设计[J].微计算机信息,2010,26(12).
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- zrrp.cn 版权所有 赣ICP备2024042808号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务