基于Linux下USB主机接口设计

[09-13 16:55:47]   来源:http://www.88dzw.com  接口定义   阅读:8370

文章摘要:为内核及外部组件提供高达100 mA的电流,3.3 V VDDIO提供I/O线电源,独立的3.3 V VDDFlash提供Flash电源,具有掉电检测的1.8 V VDDCORE提供内核电源。2.2 AT91SAM7X256的USB设备端口设计AT91SAM7X256的USB设备端口原理图,如图2所示。由于AT91SAM7X256支持USB2.0全速(每秒12 Mbit)设备接口,故AT91SAM7X256的2个引脚DDM和DDP与外界USB相连,直接实现USB设备端口。由USB接口输入5 V直流电源,二极管VD1用于限制电源的导通方向,经过C18、C19滤波,然后经过SPXll7M-3.3将

基于Linux下USB主机接口设计,标签:接口技术,微机原理与接口技术,http://www.88dzw.com

  为内核及外部组件提供高达100 mA的电流,3.3 V VDDIO提供I/O线电源,独立的3.3 V VDDFlash提供Flash电源,具有掉电检测的1.8 V VDDCORE提供内核电源。

  2.2 AT91SAM7X256的USB设备端口设计

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


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

  2.3 USB主机端口设计

  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所示。


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

  3 系统软件实现

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

  3.1 USB设备驱动程序框

  图5所示Linux中USB驱动的体系结构。Linux USB主机驱动由3部分组成:USB主机控制器驱动,USB驱动和不同的USB设备类驱动。USB驱动程序首先要向Linux内核进行注册自己,并告之系统该驱动程序所支持的设备类型及其所支持的操作。这些信息通过usb_driver结构传递。

上一页  [1] [2] [3] [4]  下一页


Tag:接口定义接口技术,微机原理与接口技术接口定义
分类导航
最新更新
热门排行