USB初步

      最近一直在学习USB相关的知识,包括一个协议,传输方式,固件程序框架,以及在Linux下的驱动.我们小组做了一个USB系统,使用的是赛朴拉斯公司 产的CY7C68013A芯片做的一个USB系统.以前只知道应用程序,后来知道应用程序是基于驱动的,拿X86来说,如果你是Windows那么你就要 用Windows驱动,如果你是Linux操作系统,那么你就要用Linux驱动,但一直不知道,在驱动之下还有一个固件程序一说.在这次学习中我明白了 什么是固件程序.拿USB来说(我用的是Linux-OS)要完整的开发一个USB的软件,那么我们要做一下的几部分工作: 主机程序 --> 驱动程 --> 固件程序, 固件程序下来就是我们的USB硬件设备.
      驱动程序有好几种,比如Windows,Linux,Mac等,但是我们发现我们的U盘,MP3等无论是插在那个操作系统上它们都可以工作,知识所需要的 驱动不同罢了,而对于固件来说,才不管你主机是什么系统,也就是USB处理驱动的请求,而不分是什么OS系统的请求.
      在USB协议中规定了四种传输方式: 块传输,中断传输,同步传输,控制传输 .各有特点.对于块传输来说只能用于高速或者全速设备,不能用于低速设备.特别适用于打印机扫描仪之类的设备.一个完整是块事物处理包括三个部分: 令牌,数据和握手 . 令牌包括IN和OUT.而USB特有的数据触发机制来保证数据收/发的同步;在中断传输中,三种模式(低速,高速,全速)都可以使用,和块传输一样,中断 事物处理也包括三个阶段:令牌,数据,握手.也使用数据触发机制来保证收发的同步.且中断传输一般传少量数据,在键盘,鼠标中用的较多;在同步传输中,和 块传输一样同步传输也只能用于大量数据的传输,但同步传输没有握手阶段,只有令牌和数据阶段;最后也就是比较特俗的控制传输方式,它也是可以用于三种模式 下.USB协议时通过端点来控制USB设备的,在USB协议中规定低速USB中有只3个端点,而在高速中可以有全部的16个.其他端点的传输模式都没有要 求,唯有端点0要求必须是控制传输方式.
目前就先只了解了这么.发现USB很有趣,继续努力.
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值