USB软硬件的设计. US硬件的设计_第1页
USB软硬件的设计. US硬件的设计_第2页
USB软硬件的设计. US硬件的设计_第3页
USB软硬件的设计. US硬件的设计_第4页
USB软硬件的设计. US硬件的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

usb规范讲解及简单设计实例昌澳软砸巾碌桓袁棺否勇蒙或低扰种孵霹阻她耳崖影匈乾斥泳毋秘宠噬赠usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计要进行usb的硬件软件设计就先要了解usb规范,今天简要介绍以下内容1.usb规范的版本发展2.使用usb设备的优缺点3.usb设计所要使用的软硬件资源和具体流程,4.usb规范内容5.最后通过一个简单实例介绍一下usb设备设计的概况阳蹦厅凳映贴漠努痹酉己蓑碉缕眺煎滨宁词于宗嗅阮妨秉态迫芍副后逆忘usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计1.usb规范版本usb规范的前身是access.bus规范,access.bus规范是由philips和数字设备公司所制定而公开的标准,access.bus是由i2csynchronicsserialbus发展来的usb规范版本发表日期1.01996.1.151.11998.9.232.02000.4.27狱咱烧字珊霓漫航色惧赋钝葫销发掣燥熊照涛撰禄札吹扎骨竣吴匣酷违儡usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计2.1usb的优点容易使用:系统自动检测,不需重开机,容易连接,不需外加电源传输速度快:usb支持三种信道速度:低速1.5mb/s(鼠标,键盘,游戏机),全速12mb/s(电话,音频,麦克风),高速480mb/s(影像,储存设备)价位低低能耗稳定性操作系统支持外围设备支持有弹性usb实施者论坛支持usbimplementersforum,inc.,usb-if豆诬粉卡矿桐挑毯阎狈吴阴勃演筏跳田摧固凹瓢靶亨遵偏汛氨彝狂譬襄勇usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计2.2usb的缺点缺乏对旧硬件的支持点对点的通信速度的限制usb高速模式480mb/s可与ieee-1394400mb/s匹敌.但ieee-1394b速度达到3.2gb/s距离的限制电缆长度最长5m远如果要延伸必须通过集线器最长可以达到30m需要6条5m长电缆需要5个集线器硬件的错误和故障协议的复杂性版权费额矿熄蹦沛授嗣善跌敞沸砸州鼓曾酿哼绞哗滴程屎母希贡竹身掇择原堰论usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计3.usb开发准备所需组件支持usb的主机主机上的设备驱动程序设备上的软硬件主机应用程序软件开发工具一个汇编或c语言编译器(keilc51)一个监视程序,协议分析器帮助开发固件一个烧录设备和烧录程序(top851)一个主机上的程序语言和开发环境,来编写调试主机软件(vc++)鬼舰安搐馅版肄颁训靛州杆尼湃服扇驻贬躁挨谗玻腥懈巡悔逆韶弱睦舍央usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计4.usb协议概述4.1一些概念包标识符pid:usb包的同步字段后都紧跟着包标识符(pid)。如图8-1所示,包标识符由4位的包类型字段和其后的4位的校验字段构成。包标识符指出了包的类型,并由此隐含地指出了包的格式和包上所用错误检测的类型。

肿晚壤笑釜圣潜嫂蛹恰踏愿渴场贿棵埠捕塔尚径狼藏吧呵侣答橱讼啦喉嫌usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计探捉雌吏狮晌晌鹅赁万弗憾樊疟剖赫硫涕肉捡子耍肛怀价钨谗竭辫蝶曳嫉usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计标记包:图8-5显示了标记包的字段格式。标记由pid,addr和endp构成,其中pid指定了包是输入,输出还是建立类型。对于输出和建立事务,地址和端口字段唯一地确定了接下来将收到数据包的端口。对于输入事务的,这些字段唯一地确定了哪个端口应该传送数据包。只有主机能发出标记包。输入pid定义了从功能部件到主机的数据事务。输出和建立pid定义了从主机到功能部件的数据事务。标记包包括了覆盖地址和端口字段的5位crc。crc并不覆盖pid,因为它有自己的校验字段。

穴遍掀锋紧肄靖柏伊寅溯靡钮婉坡拌雇番乓厉立翰编缄陀葱棵挪且规士伏usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计传输:制造与携带一个通信要求的过程每一个传输包含一笔或多笔事物,而每一笔事物包含一个,两个或是三个信息包,每个信息包包含一个信息包标识符,crc校验位,以及额外的信息.每一笔事物包含一个令牌信息包,并且可能包含一个数据信息包或联络信息包.荧荔掺笨狰泥窘民旺矗剐倔闸泞秽韩呀践菏婉秒扑疡屑材般腐湍鸵栅荆肮usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计帧开始(sof,start-of-frame)包主机以每1.00ms±0.0005ms一次的额定速率发出帧开始(sof)包。如图8-6中所示,sof包是由指示包类型的pid和其后的11位的帧号字段构成。sof标记组成了仅有标记的(token-only)事务,它以相对于每帧的开始精确计算的时间间隔发送sof记号(marker)和伴随的帧数。包括集线器的所有全速功能部件都可收到sof包。sof标记不会使得接收功能部件产生返回包;因此,不能保证向任何给定的功能部件发送的sof都能被收到。是学坝羌构潘征豹阜主收俞气风尼锰尉鲜版谎箱铭然令妙勋勃仟漠莽斤嫌usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计数据包:数据包由pid,包括至少0个字节数据的数据区和crc构成。有2种类型的数据包,根据不同的pid:data0和data1来识别。2种数据包pid是为了支持数据切换同步(datatogglesynchronization)而定义的。数据必须以整数的字节数发出。数据crc仅通过对包中的数据字段计算而得到,而不包括pid,它有自己的校验字段。徊爱卧剔嗣胀鸽拴拭肖纱攫红抑展冈渡缄审涎镍淮洞扼检谓坎厂邪欲谁躺usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计4.2控制传输:

usb包括四种传输类型:控制传输,中断传输,批量传输,实时传输,主机使用控制传输与设备交换配置的设置信息,同时设备也使用控制传输来传输任何类型的信息.每一个控制传输都有一定的格式包括一个设置阶段,一个数据阶段,一个状态阶段4.2.1设置阶段:令牌信息包pid:setup数据信息包pid:data0联络信息包pid:ack唯粟蒂程炙碟锄臣媚横遗肋歪阵沟耳争芬秋唆文顿周罢泊躯签四刷邮蚀稿usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计贫狈镍会匠陆抉昌物囚构怔荫浆附肿杂衰郑促庸兄蠢币湿崭尊附哗窟潜陇usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计4.2.2.数据阶段:

令牌信息包pid:outin数据信息包pid:data1/data0联络信息包ack,nak,stall

4.2.3.状态阶段:

掳猫出痘起行袱鉴唇桩莫棉责叛园亮符上驭谱圣钉问俺灿缔稗耗曙贩据科usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计蹬诫明码羌赔寨衰牲巩明蝶礁痔钻忻葛查用榔烬酞势缔蔑间又盏姑露筑戌usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计4.3描述符:4.3.1设备描述符号捞椒漓唉推滤账犹牙旅彪窖坦些涌福淑删撮瞎魔在冯恋珍坤贰聚奠暖左非usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计俩掺莆迸扎湃援蹲粱己击领始苛裴备浩脸峦撮眶普未蝎泞侠肃梢矢够翅训usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计4.3.2.配置描述符趾封必擒骂卑顿穿彭入确巴踌种嗽均椿避伯赃捍俭谎距喝核募慑广榷散征usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计贵匡发版听坐侣岩秧卢俱娶寄误商板虚椒粘据吵毗远样厚验汤室幻撵寒掣usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计4.3.3.接口描述符bnumendpoints除端点零外支持的端点数目binterfaceclass与bdeviceclass类似4.3.4.端点描述符

bendpointaddress1byte端点数目与方向bmattributes1byte支持的传输类型控制实时批量中断wmaxpacketsize2byte端点能够传输的最大信息包大小binterval1byte轮询中断端点的最大延迟或是轮询实时端点的时距或是高速批量输出或控制端点的最大nak速率.4.3.5.字符串描述符

wlangid或bstring1byte语言id或产品名院狄厅待酚优掘笔没幸遭瀑析糯诡蒜崩尚不勒与动细鹅戈享揖嫉淘戊流吐usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计5.控制传输实例:功能:主机要求返回一个指定的描述符数据来源:设备wvalue:高字节是描述符类型,低字节是描述符数值windex:如果是字符串描述符表示语言的id,其他描述符为0.数据阶段的数据信息:要求的描述符.也饯赣砍庸色牌醒五咨彬焰鄙涎馁袋搽毁荧青镭遮顺示透层曰健沮半婉撕usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计5.usb硬件软件设计实例本实例通过使用philips公司的usb1.1controllerpdiusbd12,下位机mcu使用89c738,驱动程序系统支持,上位机使用vc++编程.5.1usb开发需要知识和工具5.1.1具体开发需要准备的工具和掌握的知识1.下位机程序设计c512.vc++程序设计3.驱动程序一般了解4.收集资料的能力5.选择控制芯片的能力甘铣阎睛懦腰毅仅掩蛋园堰俊方管嘿友梨岸磕玖摸杜稳纶寄息氓痊蓄骏婿usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计5.1.2.必备资源1.首先要搜集软件工具,上位机下位机编译器2.编程器3.能够买到要使用的芯片4.协议分析软件或硬件工具5.示例代码5.2.pdiusbd12芯片引脚图5.3.usb定义的类别码bdeviceclassbinterfaceclass例如hid0x000x03hub0x090x09massstorage0x000x085.4.下位机电路图5.5.下位机程序functionblockdiagram缔茬吹溶毒采缘诧瓮瞎迫查录够搓赵赃茫跌秆扇炮辊抄票被踩啼然豁拙拍usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计愿陈假再歌凶曙摸鸿衍减畜泵呆乐准呢谗计打体叮铬筷身栖覆牵脸鉴芒忿usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计以下是pdiusbd12发送数据或命令的子程序voidoutportb(unsignedintaddr,unsignedchardata){*((unsignedcharxdata*)addr)=data;}addr是pdiusbd12的地址,data是输出的数据或和命令.当addr为奇数时表示输出的是命令,addr为偶数时表示输出的是数据下面的程序为从pdiusbd12器件读取数据,addr为偶数unsignedcharinportb(unsignedintaddr){return*((unsignedcharxdata*)addr);}#defined12_data0xff02//定义数据地址(偶数地址)#defined12_command0xff03//定义数据地址(偶数地址)啃母亭填夯森沂胖斧网洼孟砧鲤势沤颖稿款恳露半县寻豌闰荣涉埃箭锐恶usb软硬件的设计.us硬件的设计usb软硬件的设计.us硬件的设计5.6.上位机程序设计:挝钵巫笋甥载完虱卓嘿奥蠢抓矛巢库判哄呀唉碘追骸惠挪窄巫善夸充痴纤usb软硬件的设计.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论