USB-HOST实时数据采集嵌入式模块的实现
发布时间:2008/5/27 0:00:00 访问次数:346
摘要:提出利用sl811hs和8位单片机实现usb-host实时数据采集嵌入式模块。该系统的数据传输,遵守大规模存储协议和usb 1.1协议规范,可作为嵌入式设备的数据输入输出模块。它以文件的形式,与slave端的usb移动存储器进行数据传输。
关键词:sl811hs usb-host 大规模存储协议 usb1.1
引言
随着数据采集系统、工控行业和嵌入式用户对移动存储的需求越来越大,传统的通过软盘、串行口(rs232/rs485)或以太网等传输数据的方式已不能满足当前数据存储和交换的需求。如何在嵌入式模块中实现usb移动存储已成为急需解决的问题。
本文提出利用sl811hs和8位单片机实现usb-host嵌入式模块的一种方案。它带有标准usb数据总线接口,完全遵守usb 1.1协议和大规模存储协议规范。移动存储设备的文件操作方式支持fat16文件系统。
1 usb-host嵌入式模块原理
usb技术规范将使用usb进行数据传输的双方划分为两种角色——host和slave,并且规定,数据传输只能发生在host和slave之间。目前,绝大多数host功能角色被集成在各种类型的pc机上,如笔记本电脑、台式机、mac机及服务器等;而各种各样的基本usb的移动设备都集成了usb slave功能角色,例如u盘、带usb接口的数码相机等。这样,就导致这些作为usb slave的usb接口的数字设备中的数据,离开pc机无法读写。解决这一问题的根本办法就是在需要使用usb设备的系统中集成usb host功能模块,使之具有与usb slave设备进行数据传输的能力。
利用sl811hs和8位单片机实现的系统完成了usb host功能,并且提供了usb总线的接口方式。它可以作为一个数据接口模块集成到用户的嵌入式系统中,使用户系统能够读/写作为slave的usb移动存储器,从而完成数据存储和交换功能。由于它支持fat16文件系统,所以可以将用户系统发来的数据以文件的方式存储到usb移动存储器中,因此,用户可以在需要时,将usb移动存储器取出,并拿到自己数据处理中心的pc机,直接将采集到的数据进行分析,极大地方便了用户数据的采集和处理。其原理如图1所示。
2 sl811hs芯片介绍
cypress公司提供的usb嵌入式主控制器芯片sl811hs具有标准的微处理器总线接口,可以提供全速(12mb/s)和低速(1.5mb/s)usb数据转换。图2为sl811hs主从控制功能模块。
它具有以下功能:
①自动检测全速或低速设备;
②8位双向数据输出端口;
③集成芯片的串行接口驱动和usb接收;
④256字节内部sram缓存,乒乓处理;
⑤自动生成内部帧同步和crc5/16校验;
⑥自动地址增益模式,可以节省存储器读写周期。
3 硬件电路设计
图3为sl81hs电路设计图,在实际项目中已经得到了应用。
其中ad0~ad7、cs、rd、wr均与单片机89c51相连,由单片机进行控制。虽然sl811hs可以使用12mhz晶振,然而在实际使用过程中发现,当晶振质量不太好时,电路稳定性较差,故建议在条件许可的情况下,尽量使用48mhz的有源晶振。
4 sl811hs的工作过程
①通过sl811hs向从机发送数据过程。接收数据过程同发送数据过程类似。
②通过sl811hs向从机发送数据的ping-pong方式的实现。若有大量的数据(如以512字节为最小单位的扇区写操作)需要传送,就要考虑到ping-pong传送。其具体过程为:
*向buffer中同时写入2个帧;
*发出第1个帧;
*等待确认信息;
*收到确认信息后发出第2个帧,在第1个帧的位置上填充第3个帧,同时开始等待确认信息。
ping-pong方式利用等待的时隙,填充buffer,可以极大提高系统的性能,
摘要:提出利用sl811hs和8位单片机实现usb-host实时数据采集嵌入式模块。该系统的数据传输,遵守大规模存储协议和usb 1.1协议规范,可作为嵌入式设备的数据输入输出模块。它以文件的形式,与slave端的usb移动存储器进行数据传输。
关键词:sl811hs usb-host 大规模存储协议 usb1.1
引言
随着数据采集系统、工控行业和嵌入式用户对移动存储的需求越来越大,传统的通过软盘、串行口(rs232/rs485)或以太网等传输数据的方式已不能满足当前数据存储和交换的需求。如何在嵌入式模块中实现usb移动存储已成为急需解决的问题。
本文提出利用sl811hs和8位单片机实现usb-host嵌入式模块的一种方案。它带有标准usb数据总线接口,完全遵守usb 1.1协议和大规模存储协议规范。移动存储设备的文件操作方式支持fat16文件系统。
1 usb-host嵌入式模块原理
usb技术规范将使用usb进行数据传输的双方划分为两种角色——host和slave,并且规定,数据传输只能发生在host和slave之间。目前,绝大多数host功能角色被集成在各种类型的pc机上,如笔记本电脑、台式机、mac机及服务器等;而各种各样的基本usb的移动设备都集成了usb slave功能角色,例如u盘、带usb接口的数码相机等。这样,就导致这些作为usb slave的usb接口的数字设备中的数据,离开pc机无法读写。解决这一问题的根本办法就是在需要使用usb设备的系统中集成usb host功能模块,使之具有与usb slave设备进行数据传输的能力。
利用sl811hs和8位单片机实现的系统完成了usb host功能,并且提供了usb总线的接口方式。它可以作为一个数据接口模块集成到用户的嵌入式系统中,使用户系统能够读/写作为slave的usb移动存储器,从而完成数据存储和交换功能。由于它支持fat16文件系统,所以可以将用户系统发来的数据以文件的方式存储到usb移动存储器中,因此,用户可以在需要时,将usb移动存储器取出,并拿到自己数据处理中心的pc机,直接将采集到的数据进行分析,极大地方便了用户数据的采集和处理。其原理如图1所示。
2 sl811hs芯片介绍
cypress公司提供的usb嵌入式主控制器芯片sl811hs具有标准的微处理器总线接口,可以提供全速(12mb/s)和低速(1.5mb/s)usb数据转换。图2为sl811hs主从控制功能模块。
它具有以下功能:
①自动检测全速或低速设备;
②8位双向数据输出端口;
③集成芯片的串行接口驱动和usb接收;
④256字节内部sram缓存,乒乓处理;
⑤自动生成内部帧同步和crc5/16校验;
⑥自动地址增益模式,可以节省存储器读写周期。
3 硬件电路设计
图3为sl81hs电路设计图,在实际项目中已经得到了应用。
其中ad0~ad7、cs、rd、wr均与单片机89c51相连,由单片机进行控制。虽然sl811hs可以使用12mhz晶振,然而在实际使用过程中发现,当晶振质量不太好时,电路稳定性较差,故建议在条件许可的情况下,尽量使用48mhz的有源晶振。
4 sl811hs的工作过程
①通过sl811hs向从机发送数据过程。接收数据过程同发送数据过程类似。
②通过sl811hs向从机发送数据的ping-pong方式的实现。若有大量的数据(如以512字节为最小单位的扇区写操作)需要传送,就要考虑到ping-pong传送。其具体过程为:
*向buffer中同时写入2个帧;
*发出第1个帧;
*等待确认信息;
*收到确认信息后发出第2个帧,在第1个帧的位置上填充第3个帧,同时开始等待确认信息。
ping-pong方式利用等待的时隙,填充buffer,可以极大提高系统的性能,