欢迎来到天天文库
浏览记录
ID:56980608
大小:211.50 KB
页数:16页
时间:2020-07-25
《基于嵌入式ARM9的USB设计与实现课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于嵌入式ARM9的USB设计与实现引言1S3C2440A特点2.2串口电路2.3电源电路3驱动程序的研究3.1USB主机3.2USB传输类型3.3USB设备请求3.4USB驱动程序结构4结语USB(UniversalSerialBus)是通用串行总线的缩写,因其具有方便易用,动态分配带宽,容错性优越和高性价比等特点,现已成为计算机的主流接口。随着嵌入式系统的广泛应用,各种小型终端需要开发出与外界联系的USB接口。目前,常用的技术有两种。基于单片机的USB接口,特点是需要外置芯片,电路复杂,留下的CPU资
2、源不多;基于ARM的USB接口,特点是资源丰富,但arm系列产品较多,如果选型不当,还需要搭接较多的外围电路,且不能很好地发挥CPU性能。该设计采用三星公司arm9核的S3C2440A芯片作为CPU,因为该芯片内部集成了控制USB的所有部件,外围电路简单,易于实现。引言S3C2440A的CPU部分主要集成了电源模块、复位和时钟模块、触摸屏和小键盘模块、程序存储器和数据存储器模块。同时提供如下丰富的外围接口:同步存储器(SDRAM)和NANDFLASH控制接口,可扩展到1GB的存储的空间;4个DMA通道和2
3、4个中断端口;能控制STNLCD和TFT液晶屏显示,支持触摸屏功;USB接口A型和B型各一个;3个串行口、I2C,SPI,I2S等接口;带AC97音频接口;具备SD卡、数码相机接口和网络接口。1S3C2440A特点S3C2440A还具备多种工作模式,管脚为17×17方型分布,横向从左1到右17编号,纵向从下A到上U编号,分类为A1~A17,B1~B17,C1~C17依此类推到U1~U17.这些管脚所对应的功能并不是惟一的,通常只要使能变化,S3C2440A就能实现不同的控制功能。该设计涉及到的S3C244
4、0A,其管脚如表1所示分为3类。串口在该设计中的作用是通过计算机加载USB驱动程序,原理如图2所示。2.2串口电路由于S3C2440A芯片的管脚对电压提出了不同要求,所以需要完成电源的变压,其原理如图3所示。2.3电源电路按USB接口,其设备结构可分为USBHost(主机)和USBDevice(外部设备)。USB主机控制USB设备进行通信,而主机与主机之间,或USB设备与USB设备之间是不能通信的。3驱动程序的研究USB主机的功能通常包含以下几个部分:验证USB设备是否安插好或拔除;控制USB主机与设备两
5、者中的数据流;返回USB主机的所显状态。USB系统软件由以下3个部分组成:主机控制器驱动(HCD)、USB驱动(USBD)、主机软件(HostSoftware)。主机控制器所具备的功能如表2所示。HCD和USBD包含基于不同抽象层次的软件接口,两者以一定的方式协同完成任务,用以实现USB系统的功能。它们的任务差别没有具体定义,然而HCD要具备的一项功能就是必须支持多种不同主机控制器芯片。在一些操作系统中,当系统必须实现某些基本功能时,可由HostSoftware实现。3.1USB主机USB定义了4种传送类
6、型:控制传送、同步传送、中断传送、批传送。其中,控制传送是指可靠的、非周期性的、突发的,并由主机客户软件所发起的通信,主要应用于控制命令和状态信息的传送;同步传送是指在主机和设备之间周期性的、连续的通信,一般用于传送时实信息,这种类型保留了将时间概念包含于数据的能力,但传送并不一定很紧急;中断传送是指少量数据的、低速的、周期的传送;批传送是指非周期的、大量的、可靠的传送,其典型应用在于传送那些可以利用带宽的数据。3.2USB传输类型USB设备应通过缺省控制管道(DefaultControlPipe)响应来
7、自主机的请求命令。这些请求是通过使用控制传输来完成的。请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。USB设备请求包含的请求类型有三种:标准、厂商和设备类。标准请求用来完成设备的枚举过程;厂商请求用来完成使用者自己定义的请求;设备类请求指的是某些特定的USB设备类所传输出的请求,例如打印机类就属于这一类。设备请求要求有严格的定义,包含的内容有类型、设备请求、值、索引和长度。3.3USB设备请求S3C2440A芯片支持USB1.1协议和USB2.0协议。该设计是针对US
8、BHost(主机,A型),并基于USB1.1协议编写的。程序结构和数据传输的流向如图4所示。3.4USB驱动程序结构驱动程序的编写主要分为以下几个部分考虑:硬件提取层、中断服务程序、标准设备请求和主循环。硬件提取层实现的是S3C2440A对I/O端口直接的读写操作;中断服务程序处理各种中断,包括总线任务上的请求;标准设备请求完成主机送来的各种标准请求,用于完成各种枚举请求;而主循环则负责完成前台的数据采集等工作,所有的任务结束
此文档下载收益归作者所有