位置:51电子网 » 技术资料 » 接口电路

基于S3C4510B的USB主控器驱动设计

发布时间:2008/5/27 0:00:00 访问次数:512

        

    

    

    来源:现代电子技术 作者:洪艳伟 赖娟

    

    1 引言

    在现代社会,嵌入式系统逐渐深入到人们生活的方方面面,各类嵌入式系统产品之间往往通过某种接口进行交互或数据传递。而现在,usb已经成为嵌入式数据交换的最主要的方式,可是各种usb接口的设备都是基于pc机系统的,所以,基于嵌入式系统的usb接口的研究具有实用的价值和意义,特别是起master作用的host端接口的研究。

    解决这一问题的根本办法就是在需要使用usb设备的嵌入式系统中扩展usb host功能模块,使之具有与usb设备进行数据传输的能力。

    usb协议按功能分为2部分,usb host(usb主协议)和usb slave(usb从协议)分别应用于usb host control-p.htm" target="_blank" title="control货源和pdf资料">controller-p.htm" target="_blank" title="controller货源和pdf资料">controller(usb主控制器)和usb device(usb设备)。一般,usb host要比usb slave复杂,对于广大的非pc用户来说,尤其是嵌入式系统用户来说,由于usb协议的不对称性,使得实现usb host比usb slave要困难地多,philips公司的isp1161a1芯片很好地解决了这种问题,他封装了复杂的usb协议,使得在嵌入式系统中实现usb host和usb slave变得简单方便。

    2 usb host技术简介

    usb的通信可以用图1表示,图1中,左半部分为usb主机端,可以看出,usb主机端由2部分构成,即软件体和硬件体,实际上是3个软件组件组成了usb host解决方案,即usb客户驱动程序,usb驱动程序和usb主机控制器驱动程序,应用程序的事务处理是由usb客户驱动程序(设备驱动程序)启动的,客户驱动程序把usb设备当做一个可以被访问的端点集合,他可以被控制并与他的功能单元进行通信,usb系统软件包括usb驱动程序和usb主控制器驱动程序,usb驱动程序负责配置管理、用户管理、总线管理和数据传输,usb主控制器驱动程序负责调度管理,队列管理和控制器管理,以及数据的位编码、封包、循环校验、发送、错误处理等。

    

    

    

    

    

    

    如图2所示,usb host的软件结构分为3大部分,即usb总线驱动(usbd),usb host控制器驱动(hcd)、客户软件、其中客户软件处理和设备有关的信息,usbd处理和硬件无关的协议,而hcd则处理与硬件相关的协议,usbd和hcd都包含了一系列管理各种状态的寄存器。

    

    

    

    

    

    

    3 sp1161体系结构

    

    要实现usb协议,必须要通过一系列寄存器来完成,这些寄存器要能实现usb软件结构中的usbd和hcd,即要完成usb协议状态的控制,还要有一定的缓冲区来存放进出的数据,isp1161专门针对usb协议设计的特殊硬件结构可方便地实现usb host和usb slave。isp1161的硬件结构主要是3类不同的寄存器,用户通过操作这3种寄存器来达到实现usb传输的目的,这3类寄存器是:

    (1)hc control and status registers:usb主控制器控制和状态寄存器,主要用于传输过程中控制命令的存放和状态的读取,可读可写的寄存器有2个地址,只读或只写的寄存器只有1个地址。

    (2)isochronous transfer list (itl):同步传输列表缓冲区。

    (3)acknowledged transfer list(atl):接收传输列表缓冲区。

    

    根据usb协议,数据传输分为4种模式,control(控制),bulk(整批),interrupt(中断)和isochronous(同步)。其中itl是为了实现同步传输,atl则实现其他3种模式的传输。

    

    4 isp1161x主控制器编程实现

    设计isp1161x主控制驱动程序主要涉及以下2个重

        

    

    

    来源:现代电子技术 作者:洪艳伟 赖娟

    

    1 引言

    在现代社会,嵌入式系统逐渐深入到人们生活的方方面面,各类嵌入式系统产品之间往往通过某种接口进行交互或数据传递。而现在,usb已经成为嵌入式数据交换的最主要的方式,可是各种usb接口的设备都是基于pc机系统的,所以,基于嵌入式系统的usb接口的研究具有实用的价值和意义,特别是起master作用的host端接口的研究。

    解决这一问题的根本办法就是在需要使用usb设备的嵌入式系统中扩展usb host功能模块,使之具有与usb设备进行数据传输的能力。

    usb协议按功能分为2部分,usb host(usb主协议)和usb slave(usb从协议)分别应用于usb host control-p.htm" target="_blank" title="control货源和pdf资料">controller-p.htm" target="_blank" title="controller货源和pdf资料">controller(usb主控制器)和usb device(usb设备)。一般,usb host要比usb slave复杂,对于广大的非pc用户来说,尤其是嵌入式系统用户来说,由于usb协议的不对称性,使得实现usb host比usb slave要困难地多,philips公司的isp1161a1芯片很好地解决了这种问题,他封装了复杂的usb协议,使得在嵌入式系统中实现usb host和usb slave变得简单方便。

    2 usb host技术简介

    usb的通信可以用图1表示,图1中,左半部分为usb主机端,可以看出,usb主机端由2部分构成,即软件体和硬件体,实际上是3个软件组件组成了usb host解决方案,即usb客户驱动程序,usb驱动程序和usb主机控制器驱动程序,应用程序的事务处理是由usb客户驱动程序(设备驱动程序)启动的,客户驱动程序把usb设备当做一个可以被访问的端点集合,他可以被控制并与他的功能单元进行通信,usb系统软件包括usb驱动程序和usb主控制器驱动程序,usb驱动程序负责配置管理、用户管理、总线管理和数据传输,usb主控制器驱动程序负责调度管理,队列管理和控制器管理,以及数据的位编码、封包、循环校验、发送、错误处理等。

    

    

    

    

    

    

    如图2所示,usb host的软件结构分为3大部分,即usb总线驱动(usbd),usb host控制器驱动(hcd)、客户软件、其中客户软件处理和设备有关的信息,usbd处理和硬件无关的协议,而hcd则处理与硬件相关的协议,usbd和hcd都包含了一系列管理各种状态的寄存器。

    

    

    

    

    

    

    3 sp1161体系结构

    

    要实现usb协议,必须要通过一系列寄存器来完成,这些寄存器要能实现usb软件结构中的usbd和hcd,即要完成usb协议状态的控制,还要有一定的缓冲区来存放进出的数据,isp1161专门针对usb协议设计的特殊硬件结构可方便地实现usb host和usb slave。isp1161的硬件结构主要是3类不同的寄存器,用户通过操作这3种寄存器来达到实现usb传输的目的,这3类寄存器是:

    (1)hc control and status registers:usb主控制器控制和状态寄存器,主要用于传输过程中控制命令的存放和状态的读取,可读可写的寄存器有2个地址,只读或只写的寄存器只有1个地址。

    (2)isochronous transfer list (itl):同步传输列表缓冲区。

    (3)acknowledged transfer list(atl):接收传输列表缓冲区。

    

    根据usb协议,数据传输分为4种模式,control(控制),bulk(整批),interrupt(中断)和isochronous(同步)。其中itl是为了实现同步传输,atl则实现其他3种模式的传输。

    

    4 isp1161x主控制器编程实现

    设计isp1161x主控制驱动程序主要涉及以下2个重

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!