基于STM32的MIT-BIH心电数据的D/A回放

时间:2012-02-08来源:网络

1.3 USB全速设备接口
USB外设接口实现了USB 2.0全速总线和APB1总线间的接口,为PC主机和微控制器所实现的功能之间提供了符合USB规范的通信连接。PC主机和微控制器之间通过共享USB端点缓冲区来实现数据的传输。
STM32芯片内部集成了USB外设,大大减轻了USB电路的设计负担,只需设计USB接口电路,就可以实现STM32芯片的电路板的USB通信设计。D/A回放系统选用的USB硬件接口电路如图3所示:USB上拉电压接在D+线上,所以本设计USB实现全速通信,PC机为USB接口供电。USB+连接在GPIO管脚PA11,USB-连接在GPIO管脚PA12,如图2所示:

2 固件程序设计
固件程序是运行于USB设备中的程序代码,用于辅助硬件完成USB的功能。该系统固件程序选用的是STM提供的The USB-FS-Device Libra ry固件程序库。主要完成如下功能:一是处理USB标准请求和用户自定义请求;二是根据USB规范设置设备的各种描述符;三是初始化系统得各级中断和内部端点的配置。在Keil编译环境下,利用现成固件程序框架函数,根据设备需求在STM提供的固件程序的框架中添加相应的程序代码,完成本回放系统的功能目的。
2.1 STM32F103xxUSB固件程序库简介
STM32F103xxUSB固件程序库是意法半导体公司专为STM32F103XX系列ARM微处理器提供的固件程序库,主要分为内核层和应用接口层,结构框图如图4所示。

c.jpg


内核层:该层管理使用USB IP硬件与USB标准协议两者间的直接通信。USB库内核遵从USB 2.0标准并和标准的STM32F103XX固件库分离。
应用程序接口层:该层为用户提供了内核和最终应用程序之间的完整接口。应用接口层和最终应用与固件库通信来管理应用的硬件需求。
2.2 固件程序的设计
在本系统的开发中,没有对内核层进行深入研究和修改,仅对应用接口层进行完成设备功能需要的设计。应用层的开发主要包括:系统初始化,主要开启系统和所用外设的时钟;USB时钟配置,设置并使能USB时钟,为48 MHz;USB初始化主要是完成USB设备的枚举;定时器模块配置、DAC和DMA模块配置主要是完成所用外设的初始化;最后配置好标志位后等待上位机发送数据。所有代码都是用库函数来完成的,主程序流程图如图5所示。

d.jpg


插入USB设备时,主机轮回查询各个USB端口,检测到D+和D-之间有电压差,会识别出有USB设备的插入,然后对设备进行枚举。在设计的D/A回放系统中,枚举过程的实现主要是对USB设备的设备描述符、配置描述符、端口描述符和端点描述符的配置来实现的。USB设备枚举的过程就是通过读取各个描述符来获取USB设备的信息,然后将它配置为其中的一种功能。

1 2 3

关键词: 数据 回放 心电 MIT-BIH STM32 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版