(交通信息工程及控制专业论文)基于USB接口的CAN总线控制系统的设计.pdf_第1页
(交通信息工程及控制专业论文)基于USB接口的CAN总线控制系统的设计.pdf_第2页
(交通信息工程及控制专业论文)基于USB接口的CAN总线控制系统的设计.pdf_第3页
(交通信息工程及控制专业论文)基于USB接口的CAN总线控制系统的设计.pdf_第4页
(交通信息工程及控制专业论文)基于USB接口的CAN总线控制系统的设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(交通信息工程及控制专业论文)基于USB接口的CAN总线控制系统的设计.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文 第1 页 摘要 当前,自控技术不断发展,深入渗透到了生产和生活各个领域。实际 应用中,不仅对监控设备的高速性,抗干扰性和成本控制有了更高要求, 更进一步在通用性和便利性方面提出了要求。 作为主流的现场总线,工业控制局域网c a n ( c o n t r o l l e r a r e a n e t w o r k ) 总线具有非常广阔的应用前景,但目前c a n 总线与主机的连接 普遍采用r s - 2 3 2 ,r s 一4 8 5 ,i s a 等传统接口技术,一直缺乏和主机高速而 且便利的接口。具备即插即用特性的u s b ( u n i v e r s a ls e r i a lb u s ,通用 串行总线) 技术以其高速、灵活和便于使用的特点,可以成为设计c a n 监 控网络接口的一种新的良好解决方案,将极大的方便c a n 的应用环境。 本文简要介绍了c a n 总线技术与u s b 总线技术各自的特点,然后将两 者特点相结合,合理选用微控制器a t 8 9 c 5 2 ,u s b 控制芯片p d i u s b d l 2 和 独立c a n 控制芯片s j a l 0 0 0 ,完成了c a n 总线的u s b 接口设计,提出了一 个可实现的u s b c 州数据传输系统方案,并分别从硬件和软件开发的角 度阐述了实现的细节。最后给出了实际的调试环境和调试过程,并对系统 运行情况进行了总结。 该系统能实现c a n 总线与u s b 总线之间相互的数据转化和传输过程, 并且,在配合两台主机的情况下,能够完成两个节点之间数据的透明传输。 相比在传统接口上的设计,具有使用便利,传输速率较快等较大优势。 目前,u s b 技术与现场总线技术的结合应用与开发仍在起步阶段。但 c a n 总线在快速发展中对于接口速率和通用性越来越高的要求,以及u s b 接口将全面替代传统接口这一必然趋势,使得这一研究具备广阔的前景。 关键词通用串行总线u s b :c a n 总线;设备枚举;数据通信 西南交通大学硕士研究生学位论文 第| | 页 a b s tr a c t c u r r e n t l y , t h ea u t o - c o n t r o lt e c h n o l o g yd e v e l o p sq u i c k l y , i th a sw i d e l y p e r v a d e de v e r ya s 2 p e e t o fm a n u f a c t u r ea n d p e o p l e s l i v e s i n p r a c t i c a l a p p l i c a t i o n ,t ob e ag o o dc o n t r o ld e v i c e ,n o to n l yh i g hs p e e d ,a n t i i n t e r f e r e n c e a b i l i t ya n d c o s tc o n t r o la r eh i g h l yd e m a n d e d ,u n i v e r s a l i t ya n df a c i l i t ya r ea l s o v e r yi m p o r t a n t b e i n gam a i nt y p eo ff i e l d b u s ,c a n ( c o n t r o l l e ra r e an e t w o r k ) h a sa w i d ea p p l i c a b l eo u t l o o k b u tn o w , t h et r a d i t i o n a li n t e r f a c et e c h n o l o g y ( s u c ha s r s 一2 3 2 ,r s - 4 8 5 ,i s a ) i ss t i l lg e n e r a l l yu s e dt oc o n n e c tc a na d a p t e ra n d c o m p u t e r , c a nl a c k st h eh i 曲s p e e da n dc o n v e n i e n ti n t e r f a c et oh o s t u s b t e c h n i q u es u p p o r t sp n p b e c a u s eo f i t sh i g h - s p e e d ,f l e x i b i l i t ya n dc o n v e l l i e n c e , i tc a r lb ec o n s i d e r e dt od e s i g nt h eb e t t e ri n t e r f a c eo fc a nd e v i c e w h i c hw i l l g r e a d yi m p r o v e t h ea p p l i c a t i o ne n v i r o n m e n to f c a n a tt h eb e g i n n i n go f t h i st h e s i s t h em a i n p o i n t so f u s bp r o t o c o la n dc a n p r o t o c o la r eb r i e f l yi n t r o d u c e d a c c o r d i n g t ot h e i rc h a r a c t e r i s t i c sa n dp r a c t i c a l d e m a n d s ,m c ua t 8 9 c 5 2 ,u s bc o n t r o l l e rp d i u s b d l 2a n ds t a n d a l o n ec a n c o n t r o l l e rs j a l 0 0 0a r ec h o o s e dt od e s i g nt h eu s b c a ns y s t e m t h e n a n u s bi n t e r f a c eo fc a n a d a p t e r i sg i v e n a l s oar e a l i z a b l es c h e m eo fu s b c a n c o m m u n i c a t i o ns y s t e mi s p r o v i d e d a r e r 恤a t t h ep a p e rd e m o n s t r a t e st h e d e t a i l so f h a r d w a r ed e s i g na n ds o f t w a r ed e s i g no ft h es y s t e m a tt h ee n d ,t h e d e b u g g i n ge n v i r o n m e n ta n dd e b u g g i n gp r o c e s sa r ef u l l yi n t r o d u c e d ,t h e nt h e p a p e r c o n c l u d e st h eo p e r a t i o ns t a t u so f t h es y s t e m t h es y s t e mc a nf i l l f n lt h ep r o c e s so fd a t at r a n s f o r m i n ga n dt r a n s f e r r i n g b e t w e e nu s ba n d c a n c o m b i n i n g w i t ht w oh o s t so ne a c hs i d e ,i tc a r l r e a l i z e t h ed a t ac o m m u n i c a t i o no ft w o n o d e s c o m p a r i n gw i t ht h ed e s i g n sb a s e do n t r a d i t i o n a li n t e r f a c e s i ti sm o r ec o l l v e n i e n ta n di t ss p e e di sh i g h e r c u r r e n t l y , t h ec o m b i n a t i o no f u s ba n dc a n h a s h tb e e nw i d e l ys t u d i e d a n du s e d b e c a u s ec a nd e v i c e sh a v ei n c r e a s i n gd e m a n d so fi n t e r f a c es p e e d a n du n i v e r s a l i t y , a n du s bw i l lu l t i m a t e l yt a k ep l a c eo fo t h e ri n t e r f a c e s t 1 1 i s r e s e a r c hh a sv e r yb r o a d p r o s p e c t k e y w o r d s :u s b ;c a n ;d e v i c ee n u m e r a t i o n ;d a t ac o m m u n i c a t i o n 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 m i c r o s o f t 。i n t e l 等公司为了解决目益突出的p c 外设与有限的主板 插槽和端口之间的矛盾,于1 9 9 4 年推出了u s b ( u n i v e r s a l s e r i a lb u s , 通用串行总线) 协议。作为一种串行通信标准,其具有速度高、功耗低、 支持即插即用( p l u g p l a y ) 和使用维护方便等特点,满足了人们对计 算机外设高速和高通用性的要求。目前,u s b 已经逐渐成为计算机领域中 应用最广泛的外设连接规范,在鼠标、键盘、扫描仪、打印机、数码设备 和移动存储设备等外设上均得到了普遍应用。在控制和自动化领域,u s b 也得到了高度重视,一些数据采集系统和i c 卡系统都已经由传统的 r s - 2 3 2 接口技术转向基于u s b 接口技术,配置更加灵活便利,传输和处 理速度更快,更适应越来越高的自动化和智能要求。而且,随着全新的 u s b 2 0 规范诞生,u s b 设备的传输速率已经高达4 8 0 m b p s ,而且兼容u s b i 1 规范,应用前景得到进一步扩展。 目前,c a n ( c o n t r o l l e ra r e an e t w o r k ) 总线技术也日趋成熟,其传 输距离远,传输速率高,抗干扰能力强,易于组网,而且节约成本,被公 认为是最有前途的现场总线之一,在国内外控制领域获得了普遍重视。德 国现代汽车公司和欧洲其他几个主要汽车公司的车内控制系统全部采用 c a n 总线。国内的很多工业控制系统,车载控制系统,医疗控制系统和很 多智能小区中的智能控制系统都采用了c a n 总线技术。随着更完善的 c a n 2 o b 协议的提出,国外已有专家提出预言,c a n 总线的应用寿命至少 还有二十年。 虽然特点突出,但二者在控制领域的应用仍有其自身局限性。u s b 的 传输距离通常不超过几十m ,经常达不到工业应用的要求;而c a n 适配器 与主机在传统接口上的连接十分繁琐复杂,不利于c a n 的应用扩展。所以, 本设计考虑将传输距离较远的c a n 总线技术与有即插即用特性的u s b 接口 技术相结合,利用u s b 接口,方便的实现c a n 总线和主机的连接,有力的 扩展c a n 总线的监控和管理功能,扩大c a n 总线的应用范围。 u s b 接口技术和c a n 总线技术仍然在不断的发展和普及,两者的结合, 西南交通大学硕士研究生学位论文第2 页 将有利于工业控制系统及其他智能控制系统的进一步扩展,有利于实现更 大规模,更高效,实时性更强的网络通信和控制,具有较大的应用价值和 开阔的使用前景。 西南交通大学硕士研究生学位论文 第3 页 第2 9 _ u s b 总线协议 通用串行总线u s b 是m i c r o s o f t ,i n e l 等公司于1 9 9 4 年制定的一 种串行通信的标准。其具有传输速度快( 3 种速度,低速l - 5 m b s ,全速 1 2 m b s 和高速4 8 0 m b s ) 、灵活( 4 种传输类型:控制、块、中断、等时传 输和3 种传输速度,可适用于多种外设) 、易于使用( 自动配置,即插即用, 可进行热插拔) 、双向、同步传输等显著特点。随着p c 机的发展,u s b 总 线已经成为p c 机上的主要接口标准,将逐渐取代其他传统接口。 u s b 设备的安装不需要用户的设置。同时,u s b 总线不占用系统的地 址空间、中断号等系统资源,使得系统简化,解决了系统地址空间以及中 断号冲突的闯题。另外,u s b 总线还具有很高的容错性,通过硬件c r c 检 测,在协议中规定了出错处理和差错恢复的机理。 以下是对u s b 总线的结构和原理的简单介绍。 2 1 总线拓扑结构 u s b 总线的物理连接是一种分层的菊花链结构,集线器( h u b ) 是每个 星形结构的中心,p c 机就是主机和根h u b 。用户可以将外设或附加的h u b 与之相连。这些附加的h u b 可以连接另外的外设以及下层h u b 。u s b 支持 最多5 个h u b 层以及1 2 7 个外设。图2 - l 描述了u s b 物理拓扑结构,可以 看出每一段的连接都是点对点的。 图2 - 1 u s b 总线拓扑 3 t i e r 4 西南交通大学硕士研究生学位论文 第4 页 2 2u 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 驱动( u s b d ) 接口,主机控制驱动( h c d ) 接口。 2 3u s b 设备 u s b 设备包括h u b 和功能设备,功能设备跟端点( e n d p o i n t ) 和管道 ( p i p e ) 的概念联系紧密。 2 3 1h u b h u b 在u s b 结构中很关键,其提供了附加的u s 8 节点,这些节点被称 为端口。h u b 可以检测出每一个下行端口的状态,并且可以给下端的设备 提供电源。 2 3 2 端点和管道 每一个u s b 设备在主机看来都是一个端点的集合,主机只能通过端点 与设备进行通讯。每个端点实际上就是一个一定大小的数据缓冲区,在设 备出厂时就已经定义好了。u s b 系统中,每个端点都有一个地址,由设备 地址和端点号唯一确定。每个端点都有一定的特性,其中包括传输方式、 总线访问频率、带宽、端点号和数据包的最大容量等等。端点必须在设备 配置后才能生效( 端点0 除外) 。 端点0 通常为控制端点,用于设备初始化参数等。其他端点一般用作 数据端点,存放主机与设备之间往来的数据。 一个u s b 管道是驱动程序的一个数据缓冲区与一个外设端点的连接, 它代表了在两者之间移动数据的能力。管道只是一个逻辑上的概念。一旦 设备被配置,管道就存在了。管道有两种类型:数据流管道,其中的数据 没有u s b 定义的结构;消息管道,其中的数据必须有u s b 定义的结构。 所有设备必须支持端点0 以作为设备的控制管道,通过控制管道可以 西南交通大学硕士研究生学位论文 第5 9 获取描述u s b 设备的完全信息,包括设备类型、电源管理配置、端点描述 等。只要设备连接到u s b 接口上并且上电,端点0 就可以被访问,与之对 应的控制管道就存在了。 2 3 3 设备枚举和加载驱动 u s b 设备可以实现即插即用,但在使用之前必须对设备进行配置。一 旦设备连接到某一个u s b 的节点上,u s b 就会产生一系列的操作来完成对 设备的配置,这种操作被称为设备枚举,其中包括重要的驱动加载过程。 下面是p c 主机对u s b 设备的枚举过程: 1 主机通过集线器发送的状态改变消息发现新接入的设备: 2 集线器发送复位信号到新设备,并维持最少1 0 m s ,允许端口进行u s b 通信; 3 主机发现复位已完成,清除状态改变标志。此时设备已上电并复位,处 于缺省状态,将以设备地址0 ( 缺省地址) 响应主机请求; 4 主机要求设备的设备描述符; 5 主机给新设备分配一个设备地址,随后的所有请求都将发送到这个新的 地址: 6 主机从新地址要求设备完整的设备描述符,得到相应的响应; 7 主机要求设备的配置,设备响应该请求,传回配置描述符,该配置的所 有接口描述符,以及接口的所有端点描述符; 8 主机指定并加载设备驱动程序: 9 驱动程序要求一个设备配置,设备响应该要求后设置其配置,处于己配 置状态,接口已启用。 2 3 4 设备的电源和挂起 u s b 设备的电源供给有两种方式,可以由u s b 总线供电,也可以自备 电源。一个u s b 设备可以具有这两种供电方式,但同一时刻只能由一种方 式供电。这两种供电方式可以切换。 为了节电,当设备在指定的时间内没有总线传输,u s b 设各自动进入 挂起状态。如果设备所接的h u b 的端口被禁止了,设备也将进入挂起状态 ( 称之为选择挂起) 。主机也可以进入挂起状态。 匹南交通大学硕士研究生学位论文 第6 页 当总线活动时,u s b 设备就会离开挂起状态。同时,拥有远程唤醒能 力的设备也可以通过电信号来远程唤醒进入挂起状态的主机。 2 4u s b 总线协议 u s b 总线协议中,在串行线路上传输的最小数据块是包。一个包由同 步域、包i d ( p i d ) 域、地址域、可选的数据域和c r c 校验域等几个域构成。 2 4 1 域的类型 同步域( s y n c ) :所有的包都起始于s y n c 域,其用于本地时钟与输入 信号的同步,长度为8 位,固定值为0 0 0 0 0 0 0 1 。s y n c 的最后两位作为一 个记号,表明p i d 域( 标识域) 的开始。 标识域( p a c k e ti d e n t i f i e rf i e l d ) :对于每个包,p i d 都紧跟着s y n c 。 p i d 指明了包的类型及其格式。主机和所有外设都必须对接收到的p i d 域 进行解码,如果出现错误或者解码为未定义的值,那么这个包将被接收方 忽略。如果其指明的操作类型或者方向不被支持,外设将不作出响应。 地址域( a d d r e s sf i e l d ) :外设端点都由地址域指明,它包括丽个子 域:外设地址和外设端点。外设必须解读这两个域,其中有任何一个不匹 配,这个令牌就会被忽略。其中,外设地址域( a d d r ) 指定了外设,共7 位, 最多可以有1 2 7 个地址。一旦外设被复位或上电,其地址被缺省为0 ,这 时必须在主机枚举过程中被赋予一个唯一的地址。0 地址只能用于缺省值 而不能分配作为一般的地址。端点域( e n d p ) 有4 位,使设备可以拥有几个 子通道。所有的设备必须支持一个控制端点0 ( e n d p o i n t0 ) ,低速的设备 最多支持端点0 和一个附加端点,高速设备可以支持最多1 6 个端点。 帧号域( f r a m en u m b e rf i e l d ) 是一个11 位的域,指明了目前帧的排 号,每过一帧( 1 m s ) ,这个域值加i ,到达最大值后返0 。该域只存在于 s o f 令牌中。 数据域( d a t af i e l d ) :范围是o 1 0 2 3 字节,且必须是整数字节。 c r c 校验:包括令牌校验和数据校验。 2 4 2 包的类型 所有总线操作都可以归结为三种包的传输:令牌包( t o k e np a c k e t ) 、 西南交通大学硕士研究生学位论文第7 页 数据包( d a t ap a c k e t ) 和应答包( h a n d s h a k ep a c k e t ) 。任何操作都是从 主机开始的,主机以预先排好的时序发出一个描述操作类型、方向、外设 地址以及端点号的包,我们称之为令牌包。然后,在令牌包中被指定的数 据发送方发出一个数据包,或者指出它没有数据可以传输。而数据接收方 一般要以一个应答包作出响应,以表明传输是否成功。 令牌包:包括i n ( 输入) ,o u t ( 输出) ,s e t u p ( 设置) 和s o f ( s t a r to f f r a m e 帧起始) 四种类型。i n 、o u t 、s e t u p 的格式如图2 - 2 所示。 8 扫恤7 嘣t s4 “协5 b i 虹 三二工三三1 至【曼三 圈2 2i n 、o u t 、s e t u p 包数据格式 对于o u t 和s e t u p 来说,a d d r 和e n d p 中所指明的端点将接收到主机 发出的数据包:对i n 来说,所指定的端点将向主机发送数据包。 数据包:包括d a t a o 和d a t a l 两种类型,这两种包的定义是为了支持 数据触发同步。数据包包含了p i d 、d a t a 和c r c 三个域,如图2 3 。 8b i t s0 1 0 2 3b y 1 6b i t s 图2 _ 3d a t a 包数据格式 应答包:仅包含一个p i d 域,如图2 4 。应答包用来报告数据传输的 状态,只有控制传输、中断传输和批传输返回应答包,同步传输不返回。 8 “t s j 互 图2 4p i d 数据格式 应答包有三种类型:( 1 ) 确认包a c k ,表明数据接收成功;( 2 ) 无效包 n a k ,指出设备暂时不能发送或接收数据,可解释为设备忙:( 3 ) 出错包 s t a l l ,指出设备不能传送或接收数据,要主机介入才能恢复。主机不能 发出n a k 和s t a l l 。 另外,还有s o f 包和特殊包等几种包类型。 s o f 包的格式如图2 5 所示。主机以一定的速率( 1 m s o 0 5 m s 一次) 发送s o f 包。s o f 只标识一帧的开始,不引起任何操作。 8b l t 慷1 1b t h 5b j t 图2 - 5s o f 包数据格式 西南交通大学硕士研究生学位论文 第8 页 特殊包s p e c i a l :p i d 名称为p r e p r e a m b l e ,用于低速操作的情形,只 支持控制和中断传输方式。 2 5u s b 的数据传输 从逻辑上来讲,u s b 数据的传输是通过管道进行的。u s b 系统软件通 过缺省管道( 与端点0 相对应) 管理设备,设备驱动程序通过其它的管道来 管理设备的功能。接口实际的数据传输过程是这样的:设备驱动程序通过 对u s b d 接口( u s bd r i v e ri n t e r f a c e ) 的调用发出输入输出请求i r p ( i 0 r e q u e s tp a c k e t ) ;u s b 驱动程序接到请求后,调用h c d 接口( h o s t c o n t r o l l e rd r i v e ri n t e r f a c e ) ,将i r p 转化为u s b 的传输,一个i r p 可 以包含一个或多个u s b 传输:然后h c d 将u s b 传输分解为总线操作 ( t r a n s a c t i o n ) ,由主控制器以包( p a c k e t ) 的形式发出。需要注意的是, 所有的数据传输都是由主机开始的,任何外设都无权开始一个传输。 上述传输过程中,i r p 是由操作系统定义的,而u s b 传输与总线操作 是u s b 规范定义的,其中涉及帧的概念。u s b 总线将l m s 定义为一帧,每 帧以一个s o f 包为起始。在这l m s 里,u s b 可以进行一系列的总线操作。 为了满足不同外设和用户的要求,u s b 提供了四种传输方式:控制传 输,同步传输,中断传输和批传输。它们在数据格式、传输方向、数据包 容量限制和总线访问限制等方面有着各自不同的特征。 2 5 1 控制传输( c o n t r o it r a n s f e r ) 控制传输通常用于设置、命令、状态等情形。其中,设置操作s e t u p 和状态操作s t a t u s 的数据包具有u s b 定义的结构,因此控制传输只能通 过消息管道进行。 控制传输支持双向传输,对于高速设备允许数据包最大容量为8 、1 6 、 3 2 或6 4 字节,而低速设备只有8 字节。控制传输还具有数据传输保证, 在必要时可以重试,以保证数据的准确性。主控制器为控制传输保留了 1 0 的u s b 带宽。 控制传输主要包括两个操作阶段:设置阶段和状态阶段。还有一个可 选的数据阶段。主机发送请求信息启动一个设置事务,如果设备正确接收, 西南交通大学硕士研究生学位论文第9 页 将作出响应,并返回应答包。 2 5 2 同步传输( is o c h r o n o u st r a n s f e r ) 同步传输是一种周期的连续的传输方式,通常用于与时间有密切关系 的信息的传输。其数据没有u s b 定义的结构,由数据流管道传输。 同步传输是单向传输方式,若需要双向传输,则必须使用另一个端点。 其只能用于高速设备,数据包的最大容量可以从0 到1 0 2 3 个字节。同步 传输具有带宽保证,并且保持数据传输的速率恒定,每个同步管道每帧传 输一个数据包。其没有数据重发机制,要求具有一定的容错性。与中断方 式一起占用总线的时间不得超过一帧的9 0 。 同步传输包含两个阶段:令牌阶段和数据阶段。因为同步传输没有重 发机制,所以没有应答阶段。 2 5 3 中断传输( in t e r r u p tt r a n s f e r ) 中断传输一般用于非周期的突然发生的数据量很小的信息传输,如键 盘、鼠标等设备的信号传输。其数据没有u s b 定义的结构,由数据流管道 传输。 对于高速设备,中断传输允许数据包最大容量为小于或等于6 4 字节, 对于低速设备只能小于或等于8 字节。其只有输入一种传输方式,即外设 到主机。中断传输具有最大服务周期保证,即在规定时间内保证有一次数 据传输,而且具有数据传输保证,在必要时可以重试,以保证数据的准确 性。其与同步方式一起占用总线的时间不得超过一帧的9 0 。 中断传输包括令牌、数据和应答三个阶段。其只有输入一个方向,如 果设备不能返回数据,那么必须发出n a k 或s t a l l 包。 2 5 4 批传输( b u lkt r a n s f e r ) 批传输主要用于大量的但对时间没有要求的数据传输,其数据没有 u s b 定义的结构,由数据流管道传输。 批传输也是单向传输方式,若需要双向传输,则必须使用另一个端点。 其只能用于高速设备,允许数据包最大容量为8 、1 6 、3 2 或6 4 字节。批 传输没有带宽保证,只要有总线空闲,就允许传输数据,其优先级小于控 西南交通大学硕士研究生学位论文第1 0 页 制传输。具有数据传输保证,在必要时可以重试,以保证数据的准确性。 批传输也包括令牌、数据和应答三个阶段。对于输入操作,如果设备 不能返回数据,那么必须发出n a k 或s t a l l 包;对于输出,如果设备不能 接收数据,也要返回n a k 或s t a l l 。 西南交通大学硕士研究生学位论文 第11 页 第3 章c a n 总线协议 c a n 控制器局域网是德国b o s c h 公司2 0 世纪8 0 年代初为现代汽车应 用领先推出的一种多主机局域网,属于现场总线的范畴,是一种有效支持 分布式控制或实时控制的串行通信网络。c a n 协议目前已纳入is0 国际 标准( i s o l l 8 9 8 ) ,在国内外得到日趋广泛的应用。 c a n 总线传输距离远,通信速率较高,当通讯速率为i m b s 时,其任 意2 个节点之间的最大距离为4 0 m ;当通信速率为9 6 k b s 时,其任意2 个节点之间的距离可达5 k m ;当通信速率为5 k b s 时,通信距离可达l o k m 。 c a n 总线的最大特点是采用了通信数据块编码,而不是传统的站地址 编码,使得网络内的节点数在理论上不受限制。数据块的标识符可由 1 i b i t ( c a n 2 o a 协议) 或2 9 b i t ( c a n 2 o b 协议) 组成,这种数据编码方式 可以实现多主工作方式,数据收发方式灵活,可实现点对点、一点对多点 及全局广播等多种传输方式,在分布式控制系统中非常有用。 c a n 总线通过硬件完成c r c 检测并提供了相应的硬件处理能力,保证 了数据在通信中的可靠性。同时,c a n 总线具有非常强的配置灵活性,各 个节点可以连接在c a n 总线的任何部位,不需要特殊的网络连接器件, 通信介质可以是双绞线、同轴电缆或光纤等。 目前,c a n 总线以其高性能,高可靠性以及独特的设计,越来越受到 人们的高度重视,不仅在汽车行业中应用广泛,而且在工业控制、机器人、 医疗器械、智能建筑等领域发展迅速。 以下是对c a n 总线的结构和原理的简单介绍。 3 1 c 州的分层结构 c a n 协议采用分层结构,以实现设计的透明性和灵活性,其结构划分 及功能如图3 一l 所示。 c a n 协议中结构划分完全遵从o s i 参考模型,分为数据链路层和物理 层。其中数据链路层包括逻辑链路控制层l l c 和媒体访问控制层m a c 。l l c 层功能包括为数据传输和远程请求提供服务、通过接收滤波决定接收哪些 西南交通大学硕士研究生学位论文 第12 页 消息、提供恢复管理和超载通知。m a c 子层的功能主要是实现传输规则, 即帧控制、仲裁、错误检测、出错标注和故障标定、判断总线是否空闲、 是否开始接收以及位定时等。物理层完成不同节点间比特流的传输。 数据链路层 接收滤波 超载通知 恢复管理 数据封装,拆装 帧编码( 填充懈除填充) 媒体访问管理 错误检测 出错标定 应答 物理层 位编码青 码 位定时 同步 驱动器,接收器特性 连接器 监控器 故障界定 总线故障管理 图3 - 1c a n 的分层结构图和功能 3 2 c a n 总线协议 c a n 技术规范包括c a n 2 o a 和c a n 2 o b 两个部分。其中,c a n 2 o b 协议又 称为c a n 扩展标准,其兼容标准帧结构( 标志符为1 1 位) 和扩展帧结构( 标 志符为2 9 位) ,可实现更多的节点数目,具有更广阔的发展前景。 下面以c a n 2 o b 标准对c a n 协议进行介绍。 3 2 1 数据帧类型和格式 c a n 总线上的数据采用不归零编码( n r z ) ,总线数值为两种互补逻辑 值之一,即显性和隐性,显性数值表示逻辑“0 ”,隐性数值表示逻辑“1 ”。 显性位和隐性位同时发送时,总线数值将为显性。 西南交通大学硕士研究生学位论文 第13 页 c a n 的数据传输e h 四种类型的帧表示和控制:数据帧、远程帧、出错 帧、超载帧。另外,相邻数据帧或远程帧间由空隙分隔。 数据帧:数据的载体,用于传输数据。由帧起始、仲裁场、控制场、 数据场、c r c 场、应答场、帧结束等七个位场组成,如图3 2 所示。数据 域长度可为0 。 圈3 - 2 数据帧格式 其中,帧起始标志数据帧或远程帧的开始,由一个显性位构成。只在 总线空闲时才允许开始发送。所有节点必须同步于帧起始的上升沿。 仲裁场由标志符i d 和r t r ( 远程发送请求) 位组成。在c a n 2 o b 协议 中,规定i d 长度为2 9 位,这些位按i d 2 8 到i d o 的顺序发送,最低位为 i d o 。高7 位不能全为隐性。r t r 位在数据帧中必须是显性,而在远程帧 中为隐性。 控制场由6 位组成,包括d l c ( 数据长度码) 和两个保留位。d l c 标 志数据场的字节数,可以是0 ,l ,8 ,最多8 个字节。 数据场由被发送的数据组成,长度为0 到8 字节,每字节8 位,高位 先发送。 c r c 场包括c r c 序列和c r c 界定符。采用c r c 校验形式是因为c r c 码 对1 2 7 位以内的帧校骏结果最佳。c r c 界定符由一个隐性位构成。 应答场包括应答间隙和应答界定符两位。发送站发送两个隐性位,正 确接收到有效消息的接收站在应答间隙期间通过发送一个显性位将此信 息报告给发送站。应答界定符必须是隐性位。因此应答间歇被两个隐性位 包围。 每个数据帧或远程帧的帧结束均由7 个隐性位组成。 远程帧:用于要求源节点发送数据。由帧起始、仲裁场、控制场、c r c 场、应答场、帧结束六部分组成。其r t r 位为隐性,没有数据场。远程帧 格式如图3 3 所示。 图3 - 3 远程帧格式 西南交通大学硕士研究生学位论文 第1 4 页 出错帧;标识总线错误,由总线上任何检测到错误的节点发送。由两 个场组成,第一个场是来自各站的错误标记叠加,随后一个场是错误界定 符。错误标志有两种:激活错误标志和认可错误标志。 错误界定符由8 个隐性位组成。每个节点发送错误标志后送出一个隐 性位,同时监测总线状态,直到检测到一个隐性位,这表明所有节点e j 经 完成了错误标志发送。然后开始发送剩余的7 个隐性位。 超载帧:用于提供相邻数据帧或远程帧之间的附加延时,由超载标志 和超载界定符组成。超载标志由6 个显性位构成,超载界定符由8 个隐性 位构成。 有两种情况导致超载帧的发送:1 接收器内部情况要求延迟下一数据 帧或远程帧的接收;2 在间歇场检测到显性位。 帧间空隙:数据帧和远程帧与任何类型的前一帧( 数据帧、远程帧、 出错帧、超载帧) 的分隔由帧间空隙来完成。帧间空隙由间歇场和总线空 闲场组成。超载帧和出错帧前面以及多个超载帧之间不存在帧间空隙。 3 2 2 编码和发送接收 数据帧和远程帧的起始场、仲载场、控制场、数据场和c r c 序列采用 位填充方式进行编码。若发送器在发送位流中检测到5 位连续的相同电 平,将自动插入一个相反电平。 其它位场( c r c 分隔符、应答场、帧结束) 为固定格式,不做位填充。 出错帧和超载帧也是固定格式,不做位填充。 3 2 3 媒体访问和仲裁 c a n 采用广播的传输方式,当检测到间歇场未被显性位中断后,认为 总线空闲,允许节点访问。发送期间,发送数据帧或远程帧的每个节点均 为总线主站。 当许多节点一起开始发送时,需要对同时发送的帧进行仲裁,使得只 有发送具有最高优先权帧的节点变成总线主站,具有最高优先权的帧得以 发送。c a n 解决总线访问冲突的机理是基于竞争的仲裁,依靠标识符和随 后的r t r 位完成。一个系统内,每个数据帧和远程帧都必须标以唯一的标 识符,标识符越小,优先级越高。标识符相同的情况下,数据帧比远程帧 西南交通大学硕士研究生学位论文 第1 5 页 具有更高优先级,通过r t r 位数值标注。 3 2 4 错误检测 c a n 的m c 子层具有下列错误检测功能:监测,用于检查位错误;填充 规则校验,检查填充错误:帧校验,检查形式错误;1 5 位循环冗余码校验, 检查c r c 错误;应答校验,检查应答错误。 依靠m h c 层提供的服务,c a n 具有很强的故障检测和恢复手段,其自检 机制能有效判别暂时性故障和永久性故障。 西南交通大学硕士研究生学位论文 第16 页 第4 章硬件设计 4 1 整体硬件描述 系统硬件主要由两个大的部分组成:与主机u s b 接口相连的u s b 控制 部分:与c a n 总线相连的c a n 适配卡部分。其中u s b 接口芯片p d i u s b d l 2 用于实现u s b 信号与并行信号的转换,c a n 控制器s j a l 0 0 0 实现c a n 总线 间的数据通信。两者由单片机a t 8 9 c 5 2 联系起来,进行相应的控制和协调, 实现系统通信功能。系统整体结构框图如图4 - i 。其中涉及的器件的具体 介绍见下节。 i 刊星幕 s j a l 0 0 0 c p ci 星 a 帆l 善 8 2 c 2 5 0 t j n h 总 线 囱 图4 - 1 系统整体结构框图 4 2 器件选择和介绍 进行一个u s b 设备开发之前,首先要根据具体使用要求选择合适的 u s b 控制器。目前,市场上供应的u s b 控制器主要有两种:带u s b 接口的 单片机( m c u ) 或纯粹的u s b 接口芯片。带u s b 接口的单片机的最大好处在 于熟练的开发者对系统结构和指令集非常熟悉,开发工具简单。但对于简 单或低成本系统,价格偏高。 纯粹的u s b 接口芯片仅处理u s b 通信,必须有个外部微处理器来进 行协议处理和数据交换。主要特点是价格便宜、接口方便、可靠性高,尤 其适合于产品的改型设计,考虑到设计的功能要求和成本因素,系统采用 了p d i u s b d l 2u s b 控制器芯片。它就是一种纯粹的u s 8 接口芯片。 p d i u s b d l 2 是一款性价比很高的u s b 器件,通常用于基于微控制器的 系统,并与微控制器通过高速通用并行接口进行通信,也支持本地d m a 传 西南交通大学硕士研究生学位论文 第1 1 页 输。该器件采用模块化的方法实现一个u s b 接口,允许在众多可用的微控 制器中选择最合适的作为系统微控制器,允许使用现存的体系结构并使固 件投资减到最小。这种灵活性减少了开发时间、风险和成本,是开发低成 本但高效的u s b 外围设备解决方案的一种最快途径。d 1 2 完全符合u s b l 1 规范协议,还符合大多数器件的分类规格,非常适合开发很多u s b 外围设 备。此外,它还集成了许多特性,包括s o f t c o n n e t “、g o o d l i n k l “、可 编程时钟输出、低频晶振等等。 d 1 2 可实现的最高传输速率可达1 2 m b i t s ,完全满足c a n 总线的传 输波特率要求。其管脚配置见图4 2 。 z专 霉娄占吉墨lli 萤l 照蚕霉喜占吉墨姜委d 晷砉耋墨窖 llll 墓il ll 岂i 图4 - 2p d i u s b d l 2 管脚配置 d 1 2 管脚定义如表4 - 1 所示。 表4 - 1p d i u s b d l 2 管脚定义 引脚符号描 述 1d a t a 双向数据位0 2d a l h 双向数据位i 3d a l 双向数据位2 4d a t a 双向数据位3 5g n d地 6d a t a 双向数据位4 7 d a t a ( 5 )双向数据位5 8d a t a 双向数据位6 9d a l h 双向数据位7 西南交通大学硕士研究生学位论文 第18 页 1 0a l e地址锁存使能。在多路地址数据总线中,下降沿关闭地址信息锁存。 将其固定为低电平用于单地址数据总线配置 1 1c sn片选,低有效 1 2s u s p e n d器件处于挂起状态 1 3c l k o u t可编程时钟输出 1 4i n tn中断,低有效 1 5r dn读选通,低有效 1 6w rn写选通,低有效 1 7d m r e qd m a 请求 1 8d m a c kn d m a 应答,低有效 1 9e o tn伽 传输结束,低有效。e o t _ n 仅当d m a c kn 和r d n 或w rn 一起 一 激活时才有效 2 0r e s e tn 复位,低有效且不同步。片内上电复位电路。 2 lg lng o o d l i n kl e d 指示器,低有效 2 2) ( t l l晶振连接端1 ( 6 m h z ) 2 3x t a l 2 晶振连接端2 ( 6 m h z ) 。如果采用外部时钟信号取代晶振,可连接 x t a l i x t a l 2 应当悬空 2 4v c c电源电压( 4 o v 、5 ,5 v ) 2 5d -u s bd - 数据线 2 6d + u s b 叶数据线 2 7v o u t 3 3 3 3 v 调整输出。要使器件工作在33 v ,对v c c 脚和v o u t 33 脚都提 供3 3 v 2 8a o 地址位。a o = i 选择命令指令,a o = o 选择数据。该位在多路地址数 据总线配置时可忽略,应将其接高电平 c a n 总线端选用独立的c a n 控制器s j a l 0 0 0 ,其用于移动目标和一般 工业环境中的区域网控制,是p h i l i p s 半导体p c a 8 2 c 2 0 0c a n 控制器 ( b a s i c c a n 工作模式) 的替代产品,增加了一种新的工作模式( p e li c a n ) , 该模式支持具有更强大特性的c a n 2 o b 协议。c a n 总线的物理层和数据链 西南交通大学硕士研究生学位论文 第1 9 页 路层协议已经集成在芯片中,可通过硬件自动完成数据帧的发送和接收。 s j a l 0 0 0 的管脚配置见图4 - 3 。 套荟茑娶爱要,露基善囊塞 鲞囊蓍鎏薹蒌羹萎霎垂窭謇器量 专i x 一日 图4 - bs j m 0 0 0 管脚配置 s j a l 0 0 0 管脚定义如表4 -

温馨提示

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

评论

0/150

提交评论