天祥arm视频第10节.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
天祥arm视频第10节

主讲:冯 坤 出品:天祥电子 网址: 学ARM和学单片机一样简单 学ARM和学单片机一样简单 第十讲: USB驱动编程 学ARM和学单片机一样简单 Linux下USB系统文件节点:同其他外设一样,上层应用软件对连接在系统地USB设备访问是通过文件系统的形式进行的。每个连接到系统总线上的USB设备可以同时对应有一个或者多个驱动程序。即一个USB设备可以在Linux系统上形成一个或多个设备节点,以供应用程序使用。在Linux系统上,每个设备节点都有其相关的主设备号和次设备号。 USB主机驱动结构:Linux USB主机驱动由三部分组成: 1) USB主机控制器驱动(HCD):是USB主机驱动程序中直接与硬件交互的软件模块,其主要功能有:主机控制器硬件初始化;为USBD层提供相应的接口函数;提供根HUB(ROOT HUB)设备配置、控制功能;完成4种类型的数据传输等。 2) USB驱动(USBD):是整个USB主机驱动的核心,其主要实现的功能有:USB总线管理、USB总线设备、USB总线带宽管理、USB的4种类型数据传输、USB HUB驱动、为USB设备类驱动提供相关接口、提供应用程序访问的USB系统的文件接口等。 学ARM和学单片机一样简单 3) USB设备类驱动:是最终与应用程序交互的软件模块,其主要实现的功有:访问特定的USB设备、为应用程序提供访问接口等。   应用程序首先通过文件系统(POSIX)接口来访问相应的USB设备类驱动程序和USBD;USB设备类驱动程序则通过USBD提供的相关接口将数据请求包传递给USBD;USBD通过HCD提供的接口,进一步将数据包传递给HCD;HCD最终将数据发送到USB总线上。Linux定义了通用的数据结构URB用来在USB设备类驱动和USBD,USBD和HCD间进行数据传输。统一的URB(Universal Request Block)结构为usb主机驱动程序的开发带来了很大方便。 USB时序: 数据传输时序:在USB总线上,所有的数据传输都是由USB HOST发起的。每个USB设备通过地址过滤出自己要接受的数据包,并根据数据包请求的类型与USB HOST进行数据传输。由于数据传输的时序和总线带宽问题,当应用程序通过设备类提供一个URB时,该数据包并不能立即被送到USB总线上,而只能在USB总线上有足够带宽的情况下,该数据请求才会被传输。因而,HCD层为不同类型的数据传输维护了相应的数据链,当数据链上的数据包传输结束后,HCD通过调用与该数据包相关联的回调函数来通知设备类驱动程序。 学ARM和学单片机一样简单 CH375B的linux主控制器驱动 CH375B 的HCD 对Linux的USB 协议栈进行补充,加入对CH375B主设备控制器的支持。 CH375B的HCD可以分为以下功能模块: ◎ 对虚拟根hub 的支持; ◎ USB 请求队列 ◎ USB 请求安排表 ◎ 中断处理 ◎ USB 请求转化为USB 事务和包 ◎ USB 包的发送和接收 HCD支持中断,控制,和批量端点,不支持同步的端点。 HCD与Linux USB内核接口通过一系列的API 函数接口。 学ARM和学单片机一样简单 设备连接和断开 学ARM和学单片机一样简单 学ARM和学单片机一样简单 2.设备断开 学ARM和学单片机一样简单 学ARM和学单片机一样简单 学ARM和学单片机一样简单 struct usb_bus *usb_alloc_bus(struct usb_operations *op) void usb_free_bus(struct usb_bus *bus) void usb_register_bus(struct usb_bus *bus) void usb_deregister_bus(struct usb_bus *bus) 学ARM和学单片机一样简单 学ARM和学单片机一样简单 学ARM和学单片机一样简单 学ARM和学单片机一样简单 学ARM和学单片机一样简单

文档评论(0)

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

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

1亿VIP精品文档

相关文档