基于Linux下USB主机接口设计

2010-09-29 21:08:47来源: 电子设计工程 关键字:嵌入式系统  USB主机端口  主机控制器  USB互连

  由于人们对数字形式信息的需求量越来越大,数据通信及其应用技术受到越来越广泛的关注和应用。随着技术的发展。USB通信正向高速、方便快捷、稳定可靠的方向发展。目前,大多数USB设备都是需要与PC机相连进行通信,而USB设备之间的通信则无法实现。而对于一些处在特殊环境下的称重设备的数据传输和系统升级,PC机很不方便实现,因此迫切要求开发出能够识别USB设备的主机端口。这样使用U盘等设备就能实现数据传输。本系统设计在AT91SAM7X256控制器的基础上,增加了主机端口,适用于工矿企业中称重设备的数据更新和系统升级。

  1系统整体方案

  USB(UniversalSerialBus)即通用串行总线,提供一种兼容不同速度的、可扩充的,使用方便的外围设备接口,同时也是为解决计算机接口太多等问题而设计的。在嵌入式系统中如果处理器集成了OHCI标准的USB主机控制器,则直接就可以引出USB主控端口:而对于没有集成的处理器,则需要使用USB主控器件,从总线上扩展USB主机接口。很多IC制造商都提供这种主控器件,如Scanlogic公司的SL811HS/T等。在编写USB设备驱动程序设计时,可以分为3部分编写:主机端设备驱动程序、主机控制器驱动程序设计和设备端驱动程序。对于一些不具备USB主机端口的设备,为了实现通信的方便、快捷性,如与U盘直接通信等设备是完全有必要在原来设备的基础上扩展USB主机端口。

系统整体方案

  该系统硬件设计是由电源、复位、时钟电路以太网口、USB主机和设备端口以及串口组成,其结构框图如图1所示。其中,以太网口用于将设备接入网络实行远程管理和监控。将设备的数据接入Internet,实现远程监控,适用于工矿企业设备的集中化管理和维护。USB主机端口通过主机控制器SL811HS/T与控制器AT9lSAM7X256相连,进行数据通信。USB设备端口作为与PC机通信的接口。该系统设计的创新在于该设备抛开了PC机,既可作为主机,也可作为外设,并与其他0TG设备直接实现点对点通信

  2硬件电路设计

  USB主机与设备之间的通信最终都是通过USB主机控制器和USB设备的总线接口间的电缆实现的,任何一个输出请求都是由主机控制器组成包的形式发往总线的。USB,总线中只有一个主机,它是USB树形结构的根,通过一个根HUB提供一个或多个连接点,由其连接各个USB设备。

  2.1核心器件选型

  该系统设计选用Scanlogic公司的SL811HS/T作为USB主机接口器件,该器件是既能用作Host模式又能用作Slave模式的,具有标准微处理器总线接口USB控制器,适用于非PC设备在Host模式下,它支持嵌入式主机与USB外围设备的通信,在Slave模式下,可作为主机的一个外设。SL811HS具有以下特点:是遵循USBl.1协议的嵌入式USBHost/Slave器件;提供8bit宽数据总线及中断支持,方便与微处理器、微控制器连接;通过硬件设置或软件设置,工作在Host或Slave模式;自动探测所接设备是低速设备还是高速设备:8bit双向数据总线;片上SI-E、USB收发器;软件控制下运行为单个USB主或从设备主机或从设备模式有1.5Mb/s的低速,12Mb/s的全速,自动识别低速和全速设备8位双向数据,工作于12MHz或48MHz晶振或振荡器

  微处理器是系统核心,其性能直接决定该系统设计的准确性,稳定性可靠性。基于本系统对精度和实时性的要求。选用ATMEL公司的AT9lSAM7X256单片机。它具有以下特点:1)内部集成ARM7TDMIARMThumb处理器,支持嵌入式ICE内电路仿真以及调试通信接口:2)复位控制器(RSTC),基于上电复位单元,提供外部信号整形和复位源状态;3)时钟发生器(CKGR),低功耗RC振荡器,3~20MHz片上振荡器和1个PLL;4)电源管理控制器(PMC),具有电源优化功能,包括慢速时钟模式(低于500Hz)和空闲模式,4个可编程外部时钟信号;5)USB2.0全速(每秒12Mbit)设备接口,具有片上收发器,大小为1352字节的可配置成FIF0;6)10/100base-T(Mb/s)的以太网口;7)提供片上1.8V稳压器,为内核及外部组件提供高达100mA的电流,3.3VVDDIO提供I/O线电源,独立的3.3VVDDFLASH提供Flash电源,具有掉电检测的1.8VVDDCORE提供内核电源。

   2.2AT91SAM7X256的USB设备端口设计

  AT91SAM7X256的USB设备端口原理图,如图2所示。由于AT91SAM7X256支持USB2.0全速(每秒12Mbit)设备接口,故AT91SAM7X256的2个引脚DDM和DDP与外界USB相连,直接实现USB设备端口。

AT91SAM7X256的USB设备端口原理图

  由USB接口输入5V直流电源,二极管VD1用于限制电源的导通方向,经过C18、C19滤波,然后经过SPXll7M-3.3将电源稳压至3.3V。为了降低噪声和出错率,应隔离模拟电源与数字电源,图3中的L1和L2用于电源隔离元件(将数字电源的高频噪声隔离)。SPXll7M-3.3是Sipex公司的LDO器件,其特点为输出电流大,输出电压精度高稳定性高。SPXll7M系列LD0器件输出电流可达800mA,具有电流保护和热保护功能,可广泛应用于数字家电和工业控制等领域。

电源隔离元件

  2.3USB主机端口设计

  AT91SAM7X256的USB主机端口原理图,如图3所示。SL811HS/T选用48引脚的TQFP封装形式,SL811HS/T既能用作Host模式又能用作Slave模式。将SL811HS/T的M/S引脚接地,即设为低电平信号(M/S=0),选择作为主机端口。

  SL811HS/T的D0~D7端口为双向数据I/O端口,与控制器的PAl0~PAl7端口相连,实现数据通信。SL811HS/T的nRD引脚与AT91SAM7X256的PA9相连,nWR引脚与AT9lSAM7X256的PA8相连,SL811HS/T的nCS引脚与AT91SAM7X256的PA7相连,AO引脚与AT91SAM7X256的PA6相连,控制SL811HS/T的读写状态,如图4所示。

控制SL811HS

  访问存储器和控制寄存器的空间时,先设A0=0后写地址,接下来设A0=1,再进行寄存器/存储器读/写周期。当nWR或nCS处于无效时,SL811HS写或读操作终止。对于连接到SL81lHS的设备,在writenWR信号之前取消片选nCS,数据将一直保持并与指定的值相同。SL811HS/T的nRST引脚与AT91SAM7X256的PAl8相连,实现软件低电平复位功能。SL811HS/T的引脚7、8与USB接口的DATA+,DATA-相连实现数据通信。S-L811HS/T的Clk/X1引脚和X2引脚与外接12MHz晶振相连。

  3系统软件实现

  USB设备驱动程序设计包括主机端设备驱动程序、主机控制器驱动程序和设备端驱动程序3部分组成。主机端设备驱动程序就是设备驱动程序,它是主机环境中为用户应用程序提供一个访问USB外设的接口。Linux为这部分驱动程序提供编程接口,设计者只要按照需求编写驱动程序框架,通过调用操作系统提供的APl接口函数可以完成对USB外设的特定访问。

[1] [2]

关键字:嵌入式系统  USB主机端口  主机控制器  USB互连

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/0929/article_3421.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于网格的电子投票系统的应用设计
下一篇:智能自动灌溉系统的设计与实现

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
嵌入式系统
USB主机端口
主机控制器
USB互连

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved