基于S3C44B0和SL811HS设计与应用.doc

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
基于S3C44B0和SL811HS设计与应用

基于S3C44B0和SL811HS的设计与应用 摘要 利用arm7处理器s3c44b0和usb驱动芯片sl811hs实现了嵌入式usb的host(主机)和slave(从机)的开发和设计,并在此基础上利用usb接口开发读写海量存储类设备(u盘,移动硬盘)的嵌入式驱动程序。 关键词 sl811hs arm7处理器s3c44b0读写海量存储 1嵌入式usb主机设计 1.1usb芯片的选择 sl811hs是cypress公司推出的一款嵌入式usbhost/slave芯片。该芯片支持usb1.1的全速和低速设备,提供usb主机的硬件接口及总线管理的物理机制,带有sie和usb发送器以及根集线器hub。因此,满足了嵌入式us主机系统所需要的功能,即由主机接口芯片来完成总线底层物理数据包的发送、接收,并能检测总线状态发出中断请求。所以,选择sl811hs作为本系统的usb接口芯片是合适的。 1.2嵌入式usb的硬件设计 回放仪系统扩展包括:存储器(16mbsram、32mbnor flash)、usb主从机(sl811hs)、打印和按键等硬件资源。sl811hs芯片实现usb主/从机控制功能,可以在没有计算机介入的情况下对usb设备进行直接控制和读写操作,同时也可以作为从机设备,与计算机连接,实现数据交换功能。usbhost/slave芯片sl811hs的结构框图如图1所示。sl811hs由微处理器总线接口、中断控制、host/slave控制、subsie(串行接口引擎)、时钟模块、ram缓冲器及模拟收发器等组成。 sl811hs与处理器s3c44b0x硬件连接如图2所示。g4选用的是有源晶体ksh060448mhz,v10选用的是bt8550c,如图1所示,arm通过ngcs4片选sl811hs来确定sl811hs的基地址。d0-d7为数据和地址的复用线,并通过addr0来区分,当addr0为“0”的时候,d0-d7上传输的是偏移地址;反之,当addr0为“1”的时候,d0-d7作为数据线用。gpc1是主机和从机的选择控制端。gpc0是上拉选择控制端。 2嵌入式usb的软件设计 2.1嵌入式usb的软件总体设计 usb主机为usb系统提供的功能有:(1检测usb外设的接入和移出;(2)管理主机和外设之间进行的usb标准流量控制;(3)枚举外设;(4)管理主机和外设之间的数据流;(5)搜集系统状态和性能的统计信息;(6)主机与外设之间的电气接口,包括供电。根据油田需要,要求能够读写海量存储,我们开发了usb接口的海量存储类设备嵌入式驱动程序,该系统支持热插拔。 2.2usbmassstorage类协议的实现 usb协议能够在启动或是当设备插入系统时对设备进行配置,这就是usb设备为什么可以直接插拨的原因。usb设备被分成以下几类:显示器(monitors)、通讯设(communicationdevices)、音频设备(audio)、人机输入(humaninput)、海量存储(massstorage)。特定类(class)的设备又可划分成子类(subclass),划分子类的软件就可以搜索总线并选择所有它支持的设备。 每个设备有一个或多个配置(configuration),配置用于定义设备的功能。如果某个设备有几种不同的功能,则每个功能都需要一个配置。配置(configuration)是接口的集合。接口指定设备中是哪些硬件与usb交换数据。每一个与usb交换数据的硬件叫做一个端点(endpoint)。因此,接口是端点的集合。usb的设备类别定义(usbdeviceclassdefinitions)定义特定类或子类中的设备需要提供的缺省配置、接口和端点。 2.3usb通讯协议的实现 这是整个usb体系软件的根基,它负责主机和设备之间数据传输。首先通过调用voidsl811write(u8a,u8d)函数对sl811hs内部寄存器进行设置,完成sl811hs的初始化。然后查询是否有usb设备连接,有则通过控制传输来交换信息、设置地址、读取设备描述符、识别设备并对设备进行重新配置,实现主机对设备枚举。 usb设备枚举完成,主机系统根据预先给定的设备类协议对usb设备操作。如果目标设备是u盘,类协议使用的是massstorage类协议,采用bulk-only传输协议,而子类采用ufi命令。bulk-only传输协议通过调用usb批量输入函数来实现,发送和接收massstorage类协议中的命令块封包bcw和命令状态块封包csw,而ufi命令则是在bulk-only传输协议基础上实现u盘文件的读写。 2.4fat文件系统的实现 移动存储设备采用的可能是三种(fat12\fat16\fat32)文件系统中的一种来管理文件系统。整个文件系统通过mass

您可能关注的文档

文档评论(0)

zhengshumian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档