微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > USB在PCR仪器嵌入式系统中的应用

USB在PCR仪器嵌入式系统中的应用

时间:09-12 来源:互联网 点击:

随着U盘的普遍使用和USB技术的嵌入式系统应用,方便用户进行程序修改和程序的存储,PCR设计中采用可以热插拔的USB接口,即在PCR硬件系统中加入了USB主控芯片,使其能够对U盘等存储设备进行读写操作,从而实现数据的存储和转移。

1 USB系统的硬件设计

在数据采集系统中,USB的应用大体可以采用两种方案:一是直接采用集成USB设备接口的嵌入式微控制器;二是采用单独的控制器和独立的USB设备接口芯片。

为增强系统应用的灵活性,该方案采用瑞萨单片机M30627FJPGP,加上USB设备接口芯片搭建硬件系统,具有低成本、易移植的特点。设计中,USB 设备接口芯片采用CH375,涉及框图如图1所示。CH375是一款符合USB 2.0协议的USB总线通用接口芯片,支持主机(HOST)方式和设备(SLAVE)方式,并可以动态地切换主机和设备方式。

1.jpg

CH375芯片提供了通用的被动并行接口,包括:8位双向数据总线D0~D7、读选通输入引脚RD、写选通输入引脚WR、片选输入引脚CS、中断输出引脚 INT以及地址输入引脚A0。CH375以总线方式挂接在单片机数据总线上,并且与多个外围器件共存。单片机通过RD,WR高位地址译码产生片选CS和地址线P68(接CH375的A0引脚)的综合控制,完成与CH375的通信。外扩USB电路如图2所示。

2.jpg

CH375芯片的RD和WR分别连接到单片机的读选通输出引脚和写选通输出引脚。CS由单片机的CS4选通。INT输出的中断请求是低电平有效,可以连接到单片机的外部中断上,单片机使用中断方式获知中断请求。

当CS375(即CS)为低电平时,单片机可以与CH375进行通信操作。此时,当WR为高电平,RD和P68都为低电平时,CH375中的数据通过 D0~D7输出;当RD为高电平且CS和WR及P68都为低电平时,D7~D0上的数据被写入CH375芯片中;当RD为高电平且CS和WR都为低电平而 A0为高电平时,D7~D0上的数据被作为命令码写入CH375芯片中。

CH375芯片的UD+和UD-引脚直接连接到USB总线上。CH375芯片内置了电源上电复位电路,并可以产生复位信号。为确保上电复位次序,系统设计中,单片机的复位信号是通过CH375产生的,并将单片机与CH375共同接到外部复位电路上。

CH375芯片正常工作时需要外部为其提供12 MHz的时钟信号,在XI和XO引脚之间连接一个标称频率为12 MHz的晶体,并且分别为XI和XO引脚对地连接一个容量为30 pF的高频振荡电容。

CH375芯片支持5 V电源电压或者3.3 V电源电压。该系统使用5 V工作电压,并且V3引脚处外接容量为O.01 μF的电源退耦电容。

2 USB系统的软件设计

根据USB 2.O协议,在一个USB系统中,任何一次通信都是由USB主机发起的。USB设备根据主机发来的命令给予响应,执行相应的操作。在USB系统中,其软件包括以下几个部分:主机应用程序、设备驱动程序和设备固件程序。主机用于程序为用户提供设备应用的操作平台和交互界面,完成数据的处理和转换,向设备发出控制命令等。设备驱动程序是USB设备正常工作的基础,它提供了设备接人系统时要用到的引导文件、设备信息文件等。

2.1 动态链接库

系统应用中CH375提供了设备方式下标准驱动CH375WDM.INF和动态链接库 CH375DL L.DLL,通过加载驱动信息可以在应用程序中直接调用动态链接库。CH375在计算机端提供应用层接口。应用层接口是由CH375动态链接库DLL提供的面向功能应用的API,所有API在调用后都有操作状态返回,但不一定有应答数据。CH375动态链接库提供的API包括:设备管理API、数据传输 API、中断处理API。

设计中采用C语言作为计算机端应用软件的开发平台,首先需要将CH375的动态链接库、驱动程序添加到到编译环境中。动态链接库的使用,简化了USB设备开发的步骤,降低了开发难度,为系统调试节省了时间。

2.2 应用程序与设备间的通信

通过动态链接库的数据传输函数,CH375在与M30627FJPGP之间提供了端对端的连接。应用程序与设备固件间的通信采用请求加应答方式,该通信方式具有较好的交互性和可控性。请求加应答方式使用一个下传的主动请求和一个上传的被动应答进行交互式的双向数据通信,下传与上传一一对应,相互关联。所有的通信都由客户应用程序发起,然后以接收到M30627FJPGP的应答结束。

2.3 固件程序设计

CH375与M30627FJPGP之间设计成完全的中断驱动。当单片机处理前台任务时,USB的传输可在后台进行,这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。

后台ISR(中断服务程序)和前台主程序循环之间的数据交换可以通过事件标志和数据缓冲区来完成,其实现原理如图3所示。

应用中的单片机读写U盘软件可分成两大部分:应用程序和固件程序

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top