




已阅读5页,还剩65页未读, 继续免费阅读
(信号与信息处理专业论文)基于arm9的usb与多通道can转换器的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于a r m 9 的( j s b j 多通道c a n 转换器的设计中文摘受 基于a r m 9 的u s b 与多通道c a n 转换器的设计 中文摘要 u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 是一个外部总线标准,用于规范电 脑与外部设备的连接和通讯,目前它是p c ( p e r s o n a lc o m p u t e r ,个人计算机) 与键 盘、鼠标、显示器、打印机、数码相机、扫描仪和游戏手柄等外部设备相连的标准协 议之一。 c a n ( c o n t r o l l e r a r e a n e t w o r k ,控制器局域网络) 是国际上应用最广泛的现场总 线之一,其所具有的高可靠性和良好的错误检测能力,使得它被广泛应用于汽车工业、 过程控制、纺织机械、农用机械、机器人、医疗器械等领域,已经成为汽车计算机控 制系统和嵌入式工业控制局域网的标准总线。 不过由于这两种网络的总线结构,通信协议及传输特点各不相同,给不同设备之 间的连接带来很多麻烦,因此设计一个u s b 与多通道c a n 转换器来实现u s b 主机 与现场测控网络的通信,具有十分重要的意义。 论文首先分别介绍了u s b 和c a n 的发展及各自的特点,提出了本课题研究的必 要性和意义。接着详细介绍了u s b 总线及c a n 总线的通信协议,并对u s b 与c a n 总线的接口技术以及两个网络的信息交换技术进行了研究,提出了两种总线协议转换 的思路。然后,详细介绍了系统的硬件设计,其中包括核心处理器电路设计、u s b 硬件电路设计和c a n 硬件电路设计,并且在c a n 硬件电路设计中,采用接口转换 模块将微处理器与c a n 控制器s j a l 0 0 0 联系起来。最后,详细介绍了软件部分的设 计,包括下位机软件设计和上位机软件设计。其中下位机软件部分是在l i n u x 平台下 开发的,首先完成了嵌入式l i n u x 操作系统的移植,包括交叉编译器的建立、u b o o t 的移植和l i n u x 2 6 内核的移植;接着分别完成了l i n u x 系统下u s b 和c a n 的设备驱 动程序的开发。上位机软件部分主要包括上位机u s b 驱动程序的丌发和上位机应用 程序的编写,其中上位机u s b 驱动程序是采用v i s u a lc + + 、w i n d o w sd d k ( d e v i c e d e v e l o p m e n tk i t ,设备开发包) 和d r i v e r s t u d i o 联合开发的基于w d m ( w i n d o w s d r i v e rm o d e l ) 模式的即插即用的上位机u s b 驱动程序,上位机应用程序是采用v i s u a l 中义摘要 堆十a r m 9 的u s b j 多通道c a n 转换器的设计 c + + 编写的,主要是调用上位机u s b 驱动程序编写了一个简单的具有数据收发等功 能的窗口。 关键词:通用串行总线;控制器局域网;w d m ;嵌入式l i n u x ;a r m 作者:张同祥 指导教师:曲波 d e s i g no fm u l t i - c h a n n e lu s b c a nc o n v e n e rb a s e do na r m 9 a b s t r a c t d e s i g no fm u l t i - c h a n n e lu s b a s e do na r m 9 a b s t r a c t u s b ( u n i v e r s a ls e r i a lb u s ) ,a ne x t e r n a lb u ss t a n d a r d ,i su s e dt os t a n d a r d i z et h e c o n n e c t i o na n dc o m m u n i c a t i o nb e t w e e nc o m p u t e ra n di t se x t e r n a ld e v i c e s a n di th a s b e c a m eas t a n d a r dp r o t o c o lo ft h ec o n n e c t i o nb e t w e e np ca n di t se x t e m a ld e v i c e s ,s u c ha s k e y b o a r d s ,m i c e ,m o n i t o r s ,p r i n t e r s ,d i g i t a lc a m e r a s ,s c a n n e r sa n dg a m ep a d s ,e t c c a n ( c o n t r o l l e ra r e an e t w o r k ) ,o n eo ft h em o s tw i d e l yu s e df i e l d b u si n t e r n a t i o n a l l y , h a sw i d e l yu s e di nt h ea u t o m o t i v ei n d u s t r y , p r o c e s sc o n t r o l ,t e x t i l em a c h i n e r y , a g r i c u l t u r a l m a c h i n e r y , r o b o t i c s ,m e d i c a le q u i p m e n ta n do t h e rf i e l d s ,b e c a u s eo fi t sh i g hr e l i a b i l i t ya n d g o o d e r r o rd e t e c t i o nc a p a b i l i t ya t t e n t i o n a n di th a sb e c o m eas t a n d a r db u si n t h e a u t o m o t i v ec o m p u t e rc o n t r o ls y s t e ma n de m b e d d e di n d u s t r i a lc o n t r o ln e t w o r k b u tt h ed i f f e r e n c e so ft h eb u sa r c h i t e c t u r e ,c o m m u n i c a t i o np r o t o c o la n dt r a n s m i s s i o n c h a r a c t e r i s t i c so ft h eb o t hb u s e sc a u s eal o to ft r o u b l e s oi th a sg r e a ts i g n i f i c a n c et od e s i g n au s bt om u l t i c h a n n e lc a nc o n v e r t e rw h i c hc a nr e a l i z et h ec o m m u n i c a t i o nb e t w e e nt h e t w ob u s e s f i r s t l y , t h ed e v e l o p m e n ta n dc h a r a c t e r i s t i c so ft h eu s ba n dc a n w e r ei n t r o d u c e d r e s p e c t i v e l y , s ot h en e c e s s i t ya n ds i g n i f i c a n c eo f t h er e s e a r c hw e r ep u tf o r w a r d s e c o n d l y , t h ec o m m u n i c a t i o np r o t o c o l so fu s ba n dc a nb u s e sw e r ei n t r o d u c e d a n dt h ei n t e r f a c e t e c h n o l o g ya n d t h ei n f o r m a t i o ne x c h a n g et e c h n o l o g yo ft h et w ob u s e sw e r es t u d i e di nt h i s p a p e r , w h i c hm a d et h ei d e ao ft w ob u s e s sp r o t o c o lc o n v e r s i o n t h e n ,t h eh a r d w a r ed e s i g n w h i c hi n c l u d i n gt h ec o r ep r o c e s s o rc i r c u i td e s i g n ,u s bh a r d w a r ec i r c u i td e s i g na n dc a n h a r d w a r ec i r c u i td e s i g nw a sa n a l y s e di nd e t i a l ,a n dt h ei n t e r f a c ec o n v e r s i o nm o d u l ew a s u s e dt oc o n n e c tt h em i c r o p r o c e s s o rt oc a nc o n t r o l l e rs j a10 0 0i nc a nh a r d w a r ec i r c u i t d e s i g n f i n a l l y , t h es o f t w a r ed e s i g n ,w h i c hi n c l u d i n gt h em i c r o p r o c e s s o rs o f t w a r ed e s i g n a n dp cs o f t w a r ed e s i g nw a si n t r o d u c e di nd e t i a l t h em i c r o p r o c e s s o rs o f t w a r ew a s d e s i g n e du n d e rt h el i n u xp l a t f o r m ,a n dt h ee m b e d d e dl i n u xo p e r a t i n gs y s t e mw a s t r a n s p l a n tf i r s t l yw h i c hi n c l u d i n gt h ee s t a b l i s h m e n to fc r o s s - c o m p i l e r , u - - b o o tk e r n e l p o r t i n ga n dl i n u x 2 6m i g r a t i o n ;t h e nu s ba n dc a nd e v i c e d r i v e rd e v e l o p m e n tw e r e i i i a b s t r a c t d e s i g no fm u l t i c h a n n e lu s b c a nc o n v e n e rb a s e do na r m 9 c o m p l e t e d i nl i n u x o p e r a t i n gs y s t e m p cs o f t w a r ed e s i g n i n c l u d ep cu s bd r i v e r d e v e l o p m e n ta n dp ca p p l i c a t i o ns o f t w a r ed e s i g n a n dp cu s bd r i v e r , b a s e do nw d m ( w i n d o w sd r i v e rm o d e l ) m o d e ,w a sap l u ga n dp l a yu s bd r i v e rw h i c hw a sd e v e l o p e d b a s e do nv i s u a lc + + ,w i n d o w sd d k ( d e v i c ed e v e l o p m e n tk i t ,e q u i p m e n td e v e l o p m e n t k i t ) a n dd f i v e r s t u d i o p ca p p l i c a t i o ns o f t w a r e ,m a i n l yc a l lp cu s bd r i v e r , w a sw r i t t e n u s i n gv i s u a lc + + t od e s i g nas a m p l ew i n d o ww i t ht h ef u n c t i o n so fs e n da n dr e c e i v ed a t a o n p c k e y w o r d s :u s b :c a n :w d m :e m b e d d e dl i n u x ;a r m w r i t t e n b y - z h a n gt o n g x i a n g s u p e r v i s e db y :q ub o 摹于a r m 9 的u s b j 多通道c a n 转换器的设计 第一帝绪论 1 1u s b 概述 1 1 1u s b 的发展 第一章绪论 u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) ,是一种应用在p c 领域的新型接口 技术。1 9 9 4 年,i n t e l ,m i c r o s o f t ,n e c 等世界著名的计算机和通讯公司成立了u s b 论坛;早在1 9 9 5 年,就已经有p c 机带有u s b 接口了,但由于缺乏软件和硬件设备 的支持,这些p c 机的u s b 接口都闲置未用【i 】。1 9 9 8 年后,微软在w i n d o w s9 8 操作 系统中内置了对u s b 接口的支持模块,并且随着u s b 设备的r 益增多,u s b 接口逐 步走进了实用阶段。1 9 9 8 年9 月u s b l 1 协议公布;2 0 0 0 年4 月u s b2 0 协议正式 推出。u s b 协议的出台得到了各计算机生产商,芯片制造商和计算机外设厂商的广 泛支持。如今,w i n d o w s 操作系统已全面支持u s b 标准,很多计算机外设都采用u s b 接口,各种带u s b 接口的芯片也在市场上不断涌现【2 j 。 1 1 2u s b 的特点 u s b 是一种方便、灵活、简单、高速的总线结构,u s b 与传统的外围接口相比, 主要有以下一些特点: 1 支持即插即用与热插拔,当有新的u s b 设备接入或移走时,p c 会自动检测 到它。当接入新设备时,主机软件会自动给接入的新设备分配地址和配置参数,作出 动态的调整,而且可以在任何时候连接或断开u s b 设备。u s b 外设不需要用户进行 任何设置就可被主机识别,不需要系统资源f 3 1 。 2 u s b 支持四种传输模式:批量( b u l k ) 传输、控带t ( c o n t r 0 1 ) 传输、中断( i n t e r r u p t ) 传输、同步( s y n c h r o n i z a t i o n ) 传输,可以适用于很多类型的外设。 3 通信速度快。u s b 支持三种总线速度,低速1 5 m b p s 、全速1 2 m b p s 和高速 4 8 0 m b p s 。 4 可靠的数据传输。u s b 采用差分传输方式,并且具有检错和纠错功能,保证 了数据的j 下确传输。 第一章绪论基于a r m 9 的u s b j 多通道c a n 转换器的设计 5 u s b 采用单一形式的连接头和连接电缆,实现了单一的数据通用接口。u s b 采用统一的4 针插头,取代了p c 机上种类繁多的串并插头,实现了将计算机常规i 0 设备、大部分媒体设备、通信设备( 电话、网络) 以及家用电器统一为一种接口的愿 望,一个接口就能满足多种外设。 6 易于扩展,通过使用u s b 集线器( h u b ) 扩展,可连接多达1 2 7 个外设。传 输距离可长达5 米,通过h u b 或中继器可以使外设距离达到3 0 米。 7 独立供电。u s b 接口提供了内置电源,它能向低压设备提供5 v 电源。因此, 新的设备就不需要专门的电源供电,从而降低了这些设备的成本,提高了性价比。 8 低价、低能耗。u s b 简化了外设的连接和配置的方法,有效地减少了系统的 总体成本。u s b 外围设备处在待机状态时,会自动启动节电的功能来降低耗电量。 当要使用设备时,又会自动恢复原来的状裂4 1 。 1 2c a n 概述 1 2 1c a n 的发展 在2 0 世纪8 0 年代初,博世( b o s c h ) 的工程师们就丌始评估当时的串行总线系 统应用于客车的可行性。因为没有一种现成的网络协议能够完全满足汽车工程师们的 要求,于是在1 9 8 3 年初,u w ek i e n c k e 开始开发一种新的串行总线系统。 1 9 8 6 年2 月,c a n 诞生。在底特律的汽车工程师学会( s a e ) 大会上,由博世 公司开发的新总线系统正式推出,它当时被称为“汽车串行控制器局域网”。该协议 是基于非破坏性的仲裁机制,该机制能确保总线无延迟地传输具有最高优先级的消 息。其抛弃一般串行总线的单个中央总线主控器机制,实现了各个节点均能主动发送 数据的多主结构。 在2 0 世纪9 0 年代早期,博世c a n 规范( c a n2 0 版) 被提交到国际标准化组 织,并于1 9 9 3 年1 1 月发布了c a n 的国际标准i s 0 1 1 8 9 8 。除了c a n 协议外,它也 规定了最高为1 m b p s 波特率时的物理层。同时,在i s 0 1 1 5 1 9 2 中也规定了c a n 数 据传输中的容错方法。1 9 9 5 年,i s 0 1 1 8 9 8 标准进行了扩展,以附录的形式说明了2 9 位的c a n 标识符。 2 0 0 0 年初,一个由数家公司组成的i s o ( i n t e r n a t i o n a ls t a n d a r d i z a t i o no r g a n i z a t i o n ) 2 糕于a r m 9 的u s b j 多通道c a n 转换器的设计第一章绪论 任务组织定义了一种时问触发的c a n 信息传输协议。b e m dm u e l l e r 博士、t h o m a s f u e h r e r 、b o s c h 公司员工以及半导体工业专家、学术研究专家将此协议定义为“c a n 上的时间触发通讯,( t t c a n ) 【5 1 。 在应用方面,c a n 在与人类生活息息相关的各种应用领域中使用。而且正在不 断的深入到各个工业控制和自动化领域和新的行业。包括智能楼宇,铁路通讯,矿用 通讯,灯光控制,舞台控制等等【6 j 。 1 2 2c a n 的特点 c a n 总线采用了许多新技术及独特的设计,属于串行通信网络。与一般的通信 总线相比,它的数据通信具有突出的可靠性、实时性和灵活性【7 1 。其特点概括为: 1 灵活的通信方式,c a n 网络上任一节点可在任意时刻向网络上其他节点发送 信息,不分主从。 2 通信距离远,直接通信距离最远可达1 0 k m ( 速率5 k b p s 以下) ;当通信距离 小于4 0 m 时,通信速率最高可达1 m b p s 。 3 c a n 的通信介质可选择灵活,比如双绞线、同轴电缆或光纤。 4 数据出错率极低,报文采用了短帧结构,传输时问短,受干扰频率低。 5 极好的检错效果,c a n 的每帧信息都有c r c 校验及其它检错措施。 6 在报文标识符上,c a n 上的节点分成不同的优先级,可满足不同的实时要求, 优先级高的数据最多可在1 3 4 p s 内得到传输【8 1 。 7 c a n 上的节点数主要取决于总线驱动电路,目前可达1 1 0 个。在标准帧中报 文标识符有1 1 位,在扩展帧的报文标识符有2 9 位。 8 c a n 节点在错误严重的情况下具有自动关闭输出的功能,以使总线上其他节 点的操作不受影响。 9 c a n 采用非破坏总线仲裁技术。当多个节点同时向总线发送信息时就会出现 冲突,这时优先级较低的节点会主动退出发送,而最高优先级的节点不受影响会继续 传输数据,从而大大节省了总线冲突的仲裁时阳 【9 1 。 1 0 c a n 总线具有较高的性价比。它结构简单,器件容易购置,每个节点的价格 较低,而且开发技术容易掌握。 c a n 总线卓越的多种错误检测机制特性、极高的可靠性和独特的设计特别适合 1 第一章绪论基于a r m 9 的u s b j 多通道c a n 转换器的设计 工业过程监控设备的互连,受到工业界的高度好评。 1 3 课题研究的必要性与意义 u s b 和c a n 在各自的领域中都发挥着不可替代的作用,分别成为各自领域内的 标准。u s b 和c a n 本身仍然在不断发展、不断完善,以满足市场和社会的新需求。 通过p c 的u s b 接口接入c a n 专业网络,可把u s b 的通用性和c a n 的专业性 结合起来,把它们之间的优势融合起来。将二者进行转换原因可概括为以下两个方面: 一方面,随着计算机技术的飞速发展,p c 机己经把u s b 作为通用总线和通用接 口标准,而且使用起来极为方便,安装必要的应用软件和驱动程序之后,p c 就可以 通过u s b 接口介入各控制系统中。但是,对于c a n 这样的专业网络,p c 并没有将 其作为标准接口,p c 的接入必须经过必要的改造或适配。 另一方面,二者在控制领域的应用上仍有各自的局限性。u s b 的传输距离只有 几米,经常达不到工业应用的要求,而c a n 网络的通信距离可达1 0 k m ;c a n 适配 器与主机的接口连接十分繁琐,不利于c a n 的应用扩展,而u s b 即插即用。 本设计主要应用于汽车电子,作为“测试工具使用。汽车电子网络本身由多个 c a n 总线组成,将本设计的多个c a n 接口连接到汽车c a n 网络中,可以通过主机 来完成对汽车电子设备的控制与测试。 本课题的研究,使得位于生产现场的测量控制设备通过现场总线互连构成底层控 制网络,并通过u s b 与多通道c a n 转换器连接到p c 上,有效解决了控制系统中现 场总线和上层信息管理层的互联问题。因此,该转换器的设计,将为c a n 总线与u s b 互连提供简便低成本的接口,为其它现场总线在我国的应用提供借鉴和经验,具有重 要的应用价值。 1 4 本课题的目标和主要工作内容 鉴于上述情况的分析,本课题的研究目标就是从构建高性能、高实用性的多通道 u s b c a n 转换出发,来实现u s b 和多路通道( 最多8 个) c a n 总线的双向数据传 输,并通过上位机的应用程序可以设置c a n 的通道以及c a n 数据的收发功能。 本设计是用基于a r m 9 内核的$ 3 c 2 4 4 0 a 作为核心控制器,实现两种总线的数 4 基于a r m 9 的u s bi j 多通道c a n 转换器的设计 第一章绪论 据的双向交换和传输。主要工作可划分为硬件设计和软件设计两大部分。 硬件设计主要工作: 1 微处理器系统设计,包括s 3 c 2 4 4 0 a 与n a n df l a s h 、s d r a m 的连接方式以 及复位电路的设计。 2 u s b 通信接口电路设计,$ 3 c 2 4 4 0 a 芯片内部共有2 路h o s tu s b :d n 1 : 0 】及d p 1 :0 】,1 路d i v i c e - p d n 0 及p d p 0 。其中d p i ,d n l 分别与p d p 0 ,p d n 0 接口复用,可根据相关寄存器来配置为不同功能。采用复用端口d p i ,d n l 作为本 设计的u s b 口,从而可以在软件上来配置其为主机或者器件。 3 c a n 通信接口电路设计,一方面利用c p l d 作为接口转换模块,完成了数 据地址复用总线与数据地址非复用总线的转换,从而实现c a n 控制器s j a l 0 0 0 与处 理器$ 3 c 2 4 4 0 a 的总线互联。另一方面完成了c a n 总线控制器s j a l 0 0 0 和收发器 t j a l 0 5 0 的电路设计。 4 其它外围电路的设计,包括:电源模块的设计,用于为整个系统提供电源; 串口调试电路设计,利用$ 3 c 2 4 4 0 a 自带的u a r t 模块与电平转换芯片组成r s 2 3 2 串口电路,提供软件调试之用;j t a g 电路设计,作为下载程序的接口;l e d 灯的电 路设计等。 软件设计主要工作: 1 嵌入式l i n u x 开发环境搭建,主要是交叉编译环境的建立。 2 嵌入式l i n u x 系统的移植,包括u b o o t 的移植和l i n u x 内核的移植。 3 l i n u x 平台下u s b 驱动程序开发,完成$ 3 c 2 4 4 0 a 寄存器配置及驱动程序的 编写和移植。 4 c a n 的驱动程序开发,根据硬件电路设计,完成接口转换模块程序设计和嵌 入式l i n u x 下c a n 驱动程序的编写和移植。 5 l i n u x 下的应用层软件设计,主程序调用u s b 驱动程序和c a n 驱动程序, 完成c a n 数据与u s b 数据的转换。 6 上位机软件设计,包括上位机u s b 驱动程序的设计和上位机应用程序的设 计。其中上位机u s b 驱动程序是利用v i s u a lc + + 、w i n d o w sd d k 和d r i v e r s t u d i o 共 同开发完成的;上位机应用程序利用v i s u a lc + + 开发一个窗口调用上述u s b 驱动, 完成对c a n 网络的监控和数据传输。 5 第_ 二章u s b 和c a n 的网络模型及协 义介绍幕于a r m 9 的u s b j 多通道c a n 转换器的设计 第二章u s b 和c a n 的网络模型及协议介绍 2 1 通用串行总线u s b 2 1 1 u s b 系统模型 u s b 的物理拓扑为分层的星型结构,由三部分组成:u s b 主机( h o s t ) 、u s b 集 线器( h u b ) 和u s b 设备( d e v i c e ) i i o l 。 u s b 主机包括u s b 主控制器、u s b 系统软件和用户软件三部分1 1 】: 1 u s b 主控制器,总线在主机方面的接口,是软件和硬件的总和。用于支持 u s b 设备通过u s b 总线连到主机上。主机控制器对高速设备的控制通道端点支持8 、 1 6 、3 2 、6 4 字节的长度,对低速设备支持8 字节的长度。它不能支持更大的或更小 的其它长度。 2 u s b 系统软件主要是指p c 上操作系统所提供的一系列软件和驱动程序,主 要由u s b 核心驱动程序和u s b 主控制器驱动程序组成。 3 用户软件包括u s b 用户驱动程序和用户软件,u s b 用户驱动程序把用户要 求的u s b 命令发送给u s b 的主控制器硬件,同时初始化内存缓冲区。用户软件指用 户和u s b 系统之间的一种界面,它主要完成用户对u s b 的控制。在本设计中,就需 要开发用户软件来从驱动程序中获得数据并进行处理,并在窗口中显示。 u s b 设备包括u s b 总线接口、u s b 逻辑设备、u s b 设备功能单元【1 2 】。 1 u s b 总线接口包括u s b 主控制器和根集线器,其中u s b 主控制器用来管理 主机和u s b 设备之间的数据传输,负责处理主机与设备之间电气和协议层的互连; 根集线器则提供u s b 设备连接点。 2 u s b 逻辑设备对u s b 系统来说就是一个端点集合。端点可以根据它们实现 的接口来分类。 3 u s b 设备功能单元用于在特定的操作系统中支持u s b ,它由操作系统提供。 与具体的u s b 设备无关,也独立于用户软件。 完整的u s b 系统构成如图2 1 所示f 1 3 】: 6 綦十a r m 9 的u s bj j 多通道c a n 转换器的设计第一二章u s b 和c a n 的列络模型及协议介绍 主机 设备 功能层 u s b 设备层 u s b 总线接u 层 _ _ 母= = = = 冷 物理通信流逻辑通信流 图2 1u s b 系统构成 u s b 系统的软硬件资源可以分为3 个层次,即功能层、设备层和总线接口层。 功能层提供每个u s b 设备所需的特定的功能,主机端的这个功能由用户软件提 供。用户软件必须通过u s b 软件编程接口来操纵应用设备。在运行中,用户软件必 须独立于u s b 上的其它设备。 设备层主要提供u s b 基本的协议栈,执行通用的u s b 的各种操作和请求命令, 就是u s b 系统软件与u s b 逻辑设备之间的数据交换。 总线接口层涉及的是具体的物理层,主要实现物理信号和数据包的交互,也就是 在主机端的u s b 主控制器和设备端的u s b 总线接口之间实际传输的数据流【1 4 1 。 2 1 2u s b 底层通信协议 包是u s b 最基本的数据单元,每个包包含了一个完整的u s b 信息。按照其在整 个u s b 数据传输中的作用不同,分为三种类型的包:令牌包、数据包和握手包。它 们之间的区别是由更小的单元域来划分的。域又分为七类:同步序列域、包标识 域、地址域、端点域、帧号码域、数据域和c r c 校验域【1 5 】【1 6 】。 1 域 ( 1 ) 同步序列域( s y n cf i e l d ) 所有的包都从同步序列域开始的,同步序列域是产生最大的边缘转换密度( e d g e t r a n s i t i o nd e n s i t y ) 的编码序列。同步字段里的最后的2 位是同步字段结束的标记, 标志了包标识符( p i d ,p a c k e ti d e n t i f e r ) 的开始。 7 第一:章u s b 和c a n 的网络模型及协议介绍 基于a r m 9 的u s b j 多通道c a n 转换器的设计 ( 2 ) 包标识域( p i d ,p a c k e ti d e n t i f i e rf i l e d ) 所有u s b 包的同步序列域后都紧跟着包标识符。如图2 2 所示,包标识符由4 位的包类型字段和4 位的校验字段构成。其中包类型字段指出了包的类型;校验字段 是通过对包类型字段的二进制的求反码产生的。 (lsb)(msb) 图2 2p i d 格式 包标识符被分为4 个编码组:令牌,数据,握手和专用。包标识符传送的前2 位p i d i :0 指出了其属于哪个组,后两位p i d 3 :2 指出了组的类型。其中令牌组中含 有输入( i n ) 、输出( o u t ) 、帧起始( s o f ) 和建立( s e t u p ) 四种类型;数据组中 含有d a t a 0 、d a t a l 和d a t a 2 三种类型;握手组中含有确认( a c k ) 、不确认( n a k ) 和停止( s t a l l ) 三种类型;专用组则为前同步字( p r e ,p r e a m b l e ) ,这说明包标识 符编码的分布。 ( 3 ) 地址域( a d d r ,a d d r e s sf i e l d ) 功能部件是通过其地址域指定的,至于是数据包的发出地还是目的地,则取决于 令牌p i d 的值。如图2 3 所示,a d d r 6 :0 指定了总共1 2 8 个地址。a d d r 域规定在 i n ,s e t u p 和o u t 令牌以及p i n g 和s p l i t 特许令牌中使用。根据定义,每个a d d r 值都定义了一个功能设备。在复位和上电后,功能设备的默认地址值是0 ,但是功能 设备地址0 是保留的默认地址,不可被分配作任何别的用途。必须在枚举过程由主机 进行编程来设置一个设备地址。 (lsb)(msb) 图2 3 地址域 ( 4 ) 端点域( e n d p o i n tf i e l d ) 如图2 4 所示,附加的4 位的端口( e n d p ) 字段在功能部件需要一个以上端口 时允许更灵活的寻址。端口域只对i n ,s e t u p 和o u t 令牌有定义,而且所有的功 能部件都必须在端口0 提供一个缺省控制管道。除了端e l0 之外,端口个数由功能部 件决定。对于低速设备,每个功能部件最多提供三个管道:控制管道端口0 和两个附 基j 二a r m 9 的u s b j 多通道c a n 转换器的设计 第一二章u s b 和c a n 的网络模型及协议介绍 加管道,其中两个附加管道可以为两个控制管道,或是一个控制管道和一个中断端v i , 或是两个中断端口。对于全速设备,可以支持多达1 6 个的任何类型的端口。 (lsb)(msb) 图2 4 端口域 ( 5 ) 帧号码域( f r a m en u m b e rf i e l d ) 帧号码域是一个1 1 位的域,主机在每个帧的基础上加1 。帧号码域在到达最大 值7 f f h 后丌始循环,它只在每个帧开始的s o f 令牌中发送。 ( 6 ) 数据域( d a t af i e l d ) 数据域的范围是0 - 1 0 2 3 字节,而且必须是整数个字节。图2 5 是多字节的格式。 每个字节的数据位都是由l s b 首先移出。数据包的大小随着传输类型而变化。 (msb)(lsb)(msb)(lsb) 曰团卫 卫卫亚圈 图2 5 数据域格式 ( 7 ) c r c 校验域 循环冗余校验( c r c ,c y c l i cr e d u n d a n c yc h e c k s ) 被用来在令牌和数据包中保护。 所有的非p i d 域。 令牌c r c ( t o k e nc r c ) :使用5 位的c r c 字段来校验标识包。 数据c r c ( d a t ac r c ) :使用1 6 位的c r c 字段来校验数据包。发送方将要校验 的数据进行一定方法的计算,其结果作为c r c ,接收方将接收到的数据用同样的方 法计算,把计算的结果与接收到的c r c 比较,如果一致,则数据传输正确。很多u s b 接口芯片中,c r c 是由硬件完成的。 2 包 u s b 总线传输包括4 种信息包:令牌包、帧开始包、数据包和握手包4 种。下 面就来分别作介绍: ( 1 ) 令牌包( t o k e np a c k e t ) 令牌包由p i d 、a d d r 、e n d p 和c r c 构成,其中p i d 指定了分组是i n 、o u t 还是s e t u p 类型。对于p i d 为o u t 和s e t u p 类型的传输,地址和端点域唯一地确 9 第_ 二章u s b 和c a n 的网络模型及协议介绍 慕于a r m 9 的u s b1 j 多通道c a n 转换器的设计 定了接下来将收到数据包的端口。对于p i d 为i n 类型的传输,这些域唯一地确定了 应该传送数据包的端口。只有主机能发出令牌包。如图2 6 所示,令牌包包括了覆盖 地址域和端口域的5 位c r c 。c r c 并不覆盖p i d ,因为它有自己的校验域。 8 b i t s7 b i t s4 b i t s5 b i t s 图2 6 令牌包格式 ( 2 ) 帧丌始( s o f ,s t a r t - o f - f r a m e ) 包 主机以每1 0 0 m s 士0 0 0 0 5 m s 一次的额定速率发出s o f 包。如图2 7 中所示,s o f 包是由指示包类型的p i d 域、1 1 位的帧号字段和校验域组成。 8 b i t sll b i t s5 b i t s 图2 7 帧开始包 令牌包和帧开始包是由包结束( e o p ,e n do f p a c k e t ) 界定的。如果包被译码为 合法的令牌包或帧开始包,却没有在3 个字节之后以e o p 终止,则被认为是无效包。 ( 3 ) 数据包( d a t ap a c k e t ) 如图2 8 所示,数据包由p i d 、数据区和c r c 构成。根据p i d 的不同,可以将 数据分为两种类型:d a t a 0 和d a t a l 。u s b 发送数据的时候,如果一次发送的数据 长度大于相应端点的容量,就需要把数据包分为几个包发送,并且d a t a 0 包和d a t a l 包交替发送。但在同步传输中,所有的数据包都是为d a t a 0 。 8 b i t s0 10 2 3 b i t sl6 b i t s 图2 8 数据包格式 数据必须以整数个字节发出。c r c 仅通过计算包中的数据域而得到。 ( 4 ) 握手包( h a n d s h a k ep a c k e t ) 1 0 基十a r m 9 的u s b 。j 多通道c a n 转换器的设计 第h 二章u s b 和c a n 的阀络模型及协议介绍 握手包仅由一个8 b i t s 的p i d 构成。握手包用来报告传输事务的状态,表示数据 成功接收、命令被接收或拒绝、流控制( f l o wc o n t r 0 1 ) 和停止( h a l t ) 条件的情况。 只有批量、控制和中断传输爿1 能返回握手信号。握手包有三种类型t 确认包( a c k ) :表明数据成功接收。 无效包( n a k ) :指出设备暂时不能发送或接收数据,但无需主机介入即可恢复, 可以解释成设备忙。不能由主机发出。 出错包( s t a l l ) :指出设备不能传送或接收数据,但需要主机介入才能恢复。 不能由主机发出。 2 1 3u s b 数据传输类型 u s b 通过通道在主机缓冲区与设备端点间传送数据。为了满足多种不同类型的 设备的数据通信要求,以实现u s b 的通用性,u s b 协议提供了4 种数据传输方式: 批量传输、控制传输、中断传输和实时传输【1 7 1 。 1 批量传输 批量传输用于传输大块数据,并且对数据传输的周期性和传输速率没有要求。批 量传输可以占用总线的任何空闲带宽来传输数据,但是如果总线的带宽被其它必须保 证传输速率的传输方式占据时,批量传输必须等待。批量传输采用数据检错和数据重 传等方法保证数据正确到达目的地,是一种可靠的数据传输方式。 2 控制传输 控制传输用于处理主机到u s b 设备的数据传输,主要是主机向设备发送设备控 制指令、设备状态查询及确认命令。当u s b 设备收到这些数据和命令后,依据先进 先出的原则处理到达的数据。 3 中断传输 针对只发送或接收少量的数据,而且并不经常进行数据传输的设备常使用中断传 输,但它们有一个确定的传输周期。使用这种传输方式的设备有键盘、鼠标等。 4 实时传输 实时传输适用于需要连续传输数据,且对数据的正确性要求不高而对时间极为敏 感的外部设备,如麦克风、嗽叭以及电话等。它能保证设备与u s b 主机之间恒定的 数据传输速率,确保发送方与接收方的速率匹配。是一种周期性数据传输方式。 1 l 第二章u s b 和c a n 的网络模型及协议介绍基于a r m 9 的u s b j 多通道c a n 转换器的设计 在本设计中,用到的是批量传输。那么下面详细介绍一下批量传输的通信机制。 批量传输可使用包括端点0 在内的其他的端点来组成双向传输。批量传输包括令牌, 数据和握手三个阶段。对于输入设备和输出设备,如果它们不能返回数据或接收数据, 必须发出n a k 或s t a l l 包。图2 9 说明了批量传输事务格式。 窄闲 空闲 圈主机工功能部件 图2 9 批量传输事务格式 u s b 总线属于一种轮询方式总线,主机控制器初始化所有的数据传输。当主机 准备好接收数据的时候,发出输入令牌包,用于描述传输动作的种类、方向、u s b 设备地址和终端号。功能部件一收到输入令牌包,便可返回数据包,如果不能返回数 据包,则返回n a k 或s t a l l 握手作为应答,如果数据无错地被主机接收则主机发 出a c k 握手。这时发送端开始发送包含信息的数据包或表明没有数据传送。u s b 设 备从解码后的数据包的适当位置取出属于自己的数据。如果收到数据时主机检测到错 误,它不返回握手包给功能部件【1 9 】。 图2 1 0 说明了批量传输的读、写过程及时序位和数据包p i d 的使用。 批处理写 o u t ( o ) lo u t t l ) i ljl j d a t a od a t a l 广 广 批处理读l 盟l 业 d a t a 0d a t a l 图2 1 0 批量读和写 1 2 匠网 d a t a o l 回 d a t a 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林防护巡护知识培训内容课件
- 森林火灾业务知识培训课件
- 森林扑火知识培训班课件
- 2025年电商物流运营管理专家面试模拟题集及答案解析
- 2025年GCP考试题库附参考答案(综合题)
- 2025年电子商务创业实战面试官指南与模拟题解析
- 2025年专业级物业电梯管理员应聘技巧与预测题
- 桥梁工程基础知识培训课件
- 2025年酒店管理招聘笔试模拟题与面试技巧
- 湖北省恩施高级中学、十堰一中、十堰二中等2026届化学高三上期中达标检测试题含解析
- 收纳师培训课件下载
- pmc内部培训课件
- 口腔护理教学课件设计与实施要点
- 中医诊所安全管理制度
- 2024年海南三亚市海棠区机关事业单位招聘笔试高频难、易错点备考题库及参考答案详解
- 耳石症诊断与治疗讲课件
- 空管招聘面试题及答案
- 物流投标流程管理制度
- 广东省高州市全域土地综合整治项目(一期)可行性研究报告
- 创伤中心各种管理制度
- 期货实物交割管理制度
评论
0/150
提交评论