




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文以汽车轮毂轮型代码目动识别系统为应用背景针对原有系统的不足之处 设计了u s b c a n 适配卡取代p c i 一4 8 5 卡:在u s b c a n 适配卡设计方面提出了一个 新思路,采用u s b c d c 仂议将u s b 虚拟成串口模拟r s 一2 3 2 与上位机通信,不 必开发针对用户特定系统的u s b 设备接口驱动程序,实现免驱动醴计,降低开发难度: 同时采用两路c a n 接口实现冗余设计既充分利用了l p c 2 3 6 8 微处理器的片内外 设资源,叉提高了系统的可靠性,提高生产效率。 本文介绍了u s b c a n 适配卡的硬件电路设计以受软件设计方案,实现了数据准 确可靠传输以及协议转换功能,并在实际应用中证明了本设计在接口方案上的易用性 和可靠性。 关键词:0 a n 总线u s b 总线微处理器l p 0 2 3 6 8c d c 类 a b s t r a c t i nt h i sp a p e rnu s e sa u t o m o b i l ew h c dh u bw h e e l - t y p ec o d eo fa u t o m a l i ci d e n t i f i c a t i o n s y s t e ma sa p p l i c a t i o nb a c k g r o u n d f o rt h ei n a d e q u a c i e so ft h eo r i g i n a ls y s t e mu s b c a n a d a p t e rw a sd e s i g n e dt or e p l a c ep c i 一4 8 5c a r d i nt h eu s b c a na d a p t e rd e s i g ni tp m s f o n v a r dan e ui d e ai tm a k e st h eu s bi n t oav i r t u a ls e r i a lp o r tb 3t h eu s b w c d cp r o t o c o l a n da n a l o g sr s 一2 3 2t oc o m m u n i c a t ew i t ht h eh o s tc o m p u t e rw i t h o u th a x i n gt od e v e l o pt h e s 、s t e mf o ru s e r - s p e c i f i cd r i 、e r sf o ru s bd e x i c el n l e r f a c et oa c h i e x7 ef r e ed r i v e rd e s i g na n d r e d u c et h ed “e l o p m e n te f f o r t :t h es a n l et i m e u s i n gl w oc a ni n t e r f a c e s t oa c h i e v e r e d u n d a n td e s i g ni tb o t h f u l l j u s e so ft h el p c 2 3 6 8m i c r o p r o c e s s o rc h i p p e r i p h e r a l r e s o u r c e sa n di m p r o v e ss y s t e mr e l i a b i l i t yi n c r e a s e sp r o d u c t i o ne f f i c i e n c 3 t h i sp a p e ri n t r o d u c e sh 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 f t h eu s b c a na d a p t e ni t a c h i e v e sa c c h r a ca n dr e l i a b l ed a mt r a n s m i s s i o na n dp r o t o c o lc o n v e r s i o nf u n c t i o n s a n dw a s p r o v e d t h i n t h i s d e s i g np r o g r a mo nt h ei n t e r f a c eu s a b i l i t 3 a n dr e l i a b i l i t 3i n p r a c t i c a l a p p l i c a l i o n k c 、w o r d s :c a nb u su s l 3b u sm i c r o p r o c e s s o rl p c 2 3 6 8c d c c l a s s 摘 要 a b s t i t a c t 目景 第一章绪论 目录 1 课题的来源 2 研究的目的和意义 3 国内外研究现状 4 本课题的主要内容 第二童系统总体方案设计 21 轮型识别系统功能概述 22 u s b c a n 适配卡设计目标 23 系统总体设计方案比较 第三童c a n 接r q 方案及底层驱动程序设计 31c a n 相关技术概要 32 l p c 2 3 6 8 c a n 模块介绍 33c a n 接口电路设计 34l p c 2 3 6 8c a n 驱动程序设计 第四童u s b 设备控制器程序设计 4 1u s b 柑关技术概要 4 2l p c 2 3 6 8u s b 模块介绍 4 3u s b 接口电路设计 4 4u s b 设备控制器底层驱动程序与u s b 设备层协议程序设计 第五章u s b c a n 在轮型识别系统中的应用 51u s b - c a n 适配卡设计与实现 52u s b c a n 适配卡在轮型识别系统中的应用 结 论 致 谢 参考文献 附录 ;叶:4;m m忙”m引翌mn n 始拈“拈非 11 课题的来源 第一章绪论 本论文课题来自于秦皇岛市戴卡轮毂制造有限公司与长春理工大学签订的汽车轮 毂轮型代码自动识别系统委托研制项目。 】2 研究的目的和意义 该汽车轮毂轮型代码自动识别系统取代人工识别方法自动识别大批量生产的各 种机动车辆轮毅轮型代码,并进行产品型号标定,生产统计以及检测等操作对于提 高企业生产效率有重要意义。 原有的汽车轮毂生产线采用的是r s 一4 8 5 网络r s 一4 8 5 总线弥补了r s 一2 3 2 通信速 率低以及距离短等缺陷但是其本身也存在许多局限性,如总线效率低、系统实时性 差、通讯可靠性低、传输距离不理想、单总线可挂接的节点少、后期维护成本高、网 络工程调试复杂、应用不灵活以及单主多从的通讯方式等等”。由于不能从根本上解 决r s 一4 8 5 总线的这些问题,我们则需要寻求一种更好的解决方案。 c a n 总线以易用、成本低、卓越的通信能力、极高的可靠性、良好的抗电磁干扰 能力和传输距离远等特点而被众多领域所采用“1 。c a n 总线工作于多主方式,是一种 有效支持实时控制或分布式控制的串行通信网络被公认为最有前途的现场总线z 一, 适合汽车轮毂轮型代码自动识别系统工业现场监控设备的互联。 因而在该轮型识别系统中采用c a n 总线取代r s - 4 8 5 总线是一种比较彻底的解决 方案。表卜i 是r s 4 8 5 总线与c a n 总线的优缺点比较,由此可以看出r s 一8 5 只是 成本以及开发难度比c a n 稍具优势,其他性能没有可比性。 表1 - 1r s 4 8 5 总线与c a n 总线的优驶点比较 特性r s 一4 8 5 总线c a n 总线 成本低相对比较高 总线利用率低 高 网络特性单主节点 多主节点 数据传输速率低向 容错机制 无 可靠的侦错机制 通讯失败率非常低 节点错误影口自可致整个网络瘫痪无 通讯距离 l5 k m可达1 0 k m - 5 k b 口s 网络调试 难 易 开发难度 简单需有一定技术基础 后期维护成本很高低 同时该汽车轮毂生产线的外设与上位机的通信接口采用的是p c i 总线。p c i 总 线虽然传输速率最高可达1 3 2 m b p s 但是其扩展槽相当有限插拔也不方便且殴计 复杂”。而u s b 正是顺应这一要求提出的一种传输速率高、双向同步数据传输可靠、 成本低且支持热插拔的通用串行总线其内置电源可为电压5 伏电流低于5 0 0 m a 的 低压设备供电”o 简单易用节约成本。正是由于u s b 的诸多优点,本设计以u s b 总线取代p c i 总线,实现与c a n 总线的协议转换。而u s b c a n 适配卡与上位机接口 采用u s b 总线也可提高通信速率,在汽车轮毂轮型识别系统工业测量和控制领域具有 广阔的应用前景。 3 国内外研究现状 2 0 世纪8 0 年代初,德国的b o s c h 公司就曾提出了用c a n 控制器局域网络来解 决汽车内部的复杂硬信号连接问题。目前,其应用范围已经扩展到机器人、数控机床、 过程控制、医疗器械、纺织机械、农用机械以及传感器等领域,而不再只是局限于汽 车行业15 1 。c a n 总线自诞生以来就以其独特的设计思想低成本、高可靠性、实时 性、抗干扰能力强等良好的功能特性越来越受到工业界欢迎得到了广泛应用。 在由c a n 总线组成的汽车轮毂型号测控网络中,需要设计一个网络适配 来实现 与上位机监控单元的数据通信功能。目前,市场上有很多带c a n 接口的网络适配卡 传统网络适配卡与p c 机数据通信大多为p c i 、r s 2 3 2 串,亍总线等,于是便形成了 c a n p c i 、c a n r s 2 3 2 等c a n 适配卡。但这两种传统白勺c a n 适配卡在设计和实际应 用中存在一些弊端。首先,r s 2 3 2 总线本质上仅仅是一个物理层标准,需要用户自己 定义帧格式和开发通信协议:其次,它的最高传输速率仅为2 0 k u p s ,使得c a n 。r s 2 3 2 适配卡成为轮型识别系统通信的瓶颈。c a n p c i 适配卡的通信速率虽然可以得到保证 但是其开发的难度较大。同时,它还占用p c 机的插槽资源,这在p c 插槽资源十分紧 张的情况下是一个不可回避的问题”l 。 u s b 通用串行总线的出现解决了这个问题。鉴于u s b 接口宽带高、便携性以及即 插即用等优点,采用u s b c a n 适配卡可以满足轮型识别系统中c a n 总线测控网络的 各项要求。该适配卡目前己处于开发研究阶段,其技术规范也在改进中,虽然市场上 已出现了u s b - c a n 适配卡如广州周立功公司就一直在致力于c a n 总线技术的推广 以及c a n 产品的研发。但有的产品芯片中并没有同时包含c a n 控制器和u s b 接口, 这样实现的硬件电路比较复杂价格昂贵同时也降低了稳定性。而且对这些u s b c a n 适配卡虽然也可以将它们应用于轮毂型号识别系统中,但是在软件功能的实现上, 我们是没有选择余地的因为其技术细节和资料生产厂商是不予公开的,使得我们在 实践改造以及功能扩充等二次开发方面均遭遇了壁垒。因此尽管这种成型产品通用性 强但却只能依靠厂商提供的相关适配忙的驱动软件,用户则无法根据自己的实际情 况对系统进行灵活设计也就无法满足实际应用中个性化需求。同时这些驱动软件往 往以d l l 文件即标准动态链接库的形式提供,这势必义会导致用户只能以调用动态链 接库的传统方式去实现p c 端u s b 应用程序。因此,设计一个简单易用、可靠性高, 同时适用于轮鼓型号识别生产线的u s b - c a n 适配卡就迫在眉睫了。 4 本课题的主要内容 本课题的重点就是设计一个u s b c a n 适配卡取代p c i - 4 8 5 卡并将u s b c a n 适配卡应用在汽车轮毂轮型代码自动识别系统中: 本文在分析了u s b 总线和c a n 总线的技术特点及其协议原理的基础上采用 l p c 2 3 6 8 ( a r m 7 处理器) + t j a l 0 5 0 ( c a n 收发器) 的嵌入式接口方案,以软硬件相 结合的方法将c a n 总线数据通过u s b 接口快速传送到b 位机进行数据处理分析 同时通过它向下位机节点传送数据或命令实现上位机与c a n 总线现场设备的通信。 第二章系统总体方案设计 21 轮型识别系统功能概述 本文设计的u s b c a n 适配卡主要应用于汽车轮毅型号自动识别生产线该生产 线的主要功能是利用机器视觉方法,将混杂在传送带上各种型号的轮毂毛坯进行自动 识别,并将识别出来的轮毂按照型号分发到不同的轮毂传送带上,进行后续的检测操 作等。该轮毂生产线的示意图如图二1 所示: 厂 j 兰苎塾! p 轮型识别程牛l 。 。 图2l 轮毂型号识别系统示意图 由图21 所示可知该轮毅生产线主要由三部分构成: ( 1 ) 上位机;主要向用户提供友好界面并负责轮型识别同时向各个节点发送控制命 夸,谚部分由光电传感器、c c d 相机、相机接口卡以及光源等组成。工作过程如下: 当光电传感器检测到待测轮毂后向上位机发送控制信号而后上位机控制c c d 相机 采集轮毂图片信息同时将c c d 相机采集到的图片信息进行处理提取轮鞍型号信息。 ( 2 ) u s b - c a n 适配卡。主要是实现数据通信的1 女议转换功能,即能够将上位机投送 的u s b 数据包转换为c a n 包转发各个节点,并将各个节点实时反馈回来的c a n 数据 包转换为u s b 数据包发送给上位机,起到“承上启下”的作用。 ( 3 ) x 光机( 以4 个为例1 。主要是埘上位机识别出的不同型号的轮毂毛坯进行铸造缺 陷榆测。同时也会将各个检测口的状态一- 一忙还是空闲信号通过u s b c a n 适配卡传 送给上位机,上位机则会根据信号状态来控带i 轮毂生产线的轮型识别以及轮毅检测的 分配调度工作。 二2u s b c a n 适配卡设计目标 集光机电技术于一体的轮毂生产线不仅能够自动识别轮毂型号,而且还能够进行 生产统计与产品分榆等操作,这就要求其不仅在线识别准确率高而且还要满足汽车 轮毂生产工业现场的生产要求。由图2 】可知u s b c a n 适配卡在轮毅生产线中占有 举足轻重的地位,不仅要实现c a n 总线和上位机之间准确的数据信息传输,还要在通 信方面满足c a n 总线协议标准。在本文中该适配卡要实现的设计目标如下所示: ( 1 ) c a n 数据传送速率不低于6 0 k b i l s : ( 2 ) 支持c a n 20 a 或c a n 20 b 协议: ( 3 ) 支持u s b 20 协议,兼容u s b l1 协议; ( 4 ) 支持热拔插,不会因插拔设备而造成系统死机: ( 5 ) 有较高的传输速率和正确率: ( 6 1 有较强的抗干扰能力: ( 7 ) 工作稳定、成本低; ( 8 ) 简单易用可快速应对故障; ( 9 1 采用u s b 文线供电或外接电源( + 9 v 计2 5 v 5 0 0 m a ) : ( 】0 】运行环境为w i n d o w s x p 。 :3 系统总体设计方案比较 2 3 1 器件选型 要实现上述设计目标首先需要确定一个可完成u s b 协议转换以及c a n 协议转 换的硬件平台即要选择支持对应协议的u s b 接口芯片和c a n 控制器而且至少由 一个微处理器来控制它们。对此,可以选择方案如下: 方案一:u s b 通信接口芯片采用p d i u s b d l 2 ,负责与带u s b 接口的微处理器和 上位机进行数据信息交换。p d i u s b d l 2 是p h j l i p s 公司的一款成本低、性能优化的u s b 高速并行接口芯片遵从u s b l1 协议包括多路复用、非多路复用以及d m a 共三种 并行传输方式。p d i u s b d l 2 需外接微控制器才能实现数据转换以及协议处理功能, 接口方便灵活。 c a n 总线接口由c a n 总线控制芯片s j a l 0 0 0 ”1 以及c a n 总线收发器 p c a 8 2 c 2 5 0 ”构成其中s j a l 0 0 0 主要用来与微处理器通信并实现c a n 总线协议转 换,p c a 8 2 c 2 5 0 则主要负责与c a n 总线的物理接口进行通信。为增强c a n 总线的抗 干扰能力控制芯片s j a 】0 0 0 与接口芯片p c a 8 2 c 2 5 0 之间采用高速光耦6 n 3 17 进行 隔离同时p c a 8 2 c 2 5 0 的输出端c a n h 、c a n l 均接有一个1 2 0 q 终端电阻以及一个 t v s 管硅雪崩型瞬态电压抑制器,可消除反射信号并有效隔离c a n 总线上的干扰 信号提高了轮毂型号识别系统的可靠性。 微处理器可以采用单片机如8 0 5 l 、p i c 、a v r 等8 位系列单片机:a d 或t i 公 司的d s p 系列等1 6 位单片机;3 2 位则包括i n t e l 公司的a r m 系列等等。这些芯片都 是目前市场上的主流微控制器芯片: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 网络节点号和工作方式则可 通过上位机软件进行设置;该方案的框图如图22 所示: 圉2 2u s b c a n 适配卡方案一框图 万案二:采用微处理器l p c 2 3 6 8 该系列微处理器使用了一个高| 生能的3 1 位a r m 7 内核t 它包含个1 2 m b p s 的u s b 20 全速接口和2 路c a n 20 a 通道u s b 设备控制 器支持控制、中断、批量和同步娌种数据传输模式并且允许在由c p u 控制与d m a 模式之间进行动态切换:硬件接口只需外接c a n 电线收发器t j a l 0 5 0 以及少量元器 件就可以实现数据传输与| 办议转换功能了;该方栗的框图如图13 所示: 眄习。厂司j 鬻u 。蹴眵 世:1 1 11j i 隔离电路l t j a l 0 5 0 圉二3 u s b c a n 适配卡玎巽二框图 以上两种方案比较可知万案一均采用分立元件构成接口灵活方便但是所占 空问大功耗也比较高而且外设接口扩展受一定局限:方案二的徽处理器芯片l p c 2 3 6 8 同时包含c a n 控制器和u s b 接口芯片而且外接的高速c a n 总线驱动器t j a l 0 5 0 提供了对c a n 总线的差动发送功能和对l p c 2 3 6 8c a n 控制器的差动接收功能以及物 理总线与c a n 控制器之间的接口,t j a l 0 5 0 引脚功能可参见图14 :t j a l 0 5 0 ”是一 种标准的高速c a n 收拉器,与“i s o1 】8 9 8 ”标准完全兼容不仅数据传输速度可选 1m b p s 而且电磁辐射( e m e ) 极低电源和地均有短路保护功能还具有热保护性能 刚时发送数据( t x d ) 控制超时显性功能则可防止出错的l p c 2 3 6 8c a n 控制器发送持续 的显性t x d 信号从而将总线筘位在显性电平。 )(n n 一 jt j o 超时lj 厂_ l 1 显性控制ju 【一 l 驱动器i l 热保护 卫一 j 收发器】j 参考电压ij 腿 | + 图24 c a n 总线驱动器t j a 】0 5 0 引脚功能框图 因此l p c 2 3 6 8 和 - j a 0 5 0 构造的u s b c a n 通信模块硬件结构比较简单,稳定 性好而且提高了电磁辐射性能和抗电磁干扰性能比较符合本项目的开发需要,放 本设计采取第二种方案。 2 32 方案分析与比较 在器件型号选好阻后我们主要考虑的问题就是如何实现u s b c a n 数据通信的 协议转换功能以及u s b 与上位机之间的通信问题。 原有的轮毂型号识别系统采用的适配卡是p c i - 4 8 5 适配卡,在实际生产中,我t 1 发现这种适配卡经常会出现一些问题,而且当r s - 4 8 5 节点出问题以后,只能及时更换 新的p c i - 4 8 5 适配卡否则难以保证该轮毂型号识别生产线生产工作顺利进行。针对 这一问题,本文将u s b c a n 适配卡设计成两路c a n 总线与u s b 进行协议转换,这 样不仅能保证在一路c a n 总线节点出现故障的情况下可立即更换另一路c a n 总线 确保生产不受影响,提高快速应对故障的能力,同时也可充分利用l p c 2 3 6 8 的! 路 c a n 20 a 通道,避免了资源的浪费。第三章将对该方案的具体实现进行详细介绍。 在u s b 与上位机的通信方面,我们可以采取两种方案: 方案一:在w i n d o w s 系统下,与u s b 外设进行通信的传统做法就是建立u s b 设 备驱动程序”该驱动程序是系统应用程序与殴各u s b 驱动接口之甸通信的“ 乔 梁”,使得系统应用程序可以忽略u s b 外设的物理连接虬及具体协议等细节从而保 证代码可通过外设名字就能访问该端口目的地。但是,一般所使用的u s b 设备都需要 开发者根据系统硬件编写相应的驱动程序,本设计也不例外。编写驱动程序不仅要熟 悉上位机操作系统的软件编写环境,而且还涉及到与u s b 设各驱动相关的部分,对于 本文有相当大的难度,并且会耗费大量的时间。因此需要采用一个更好的解决方 法。 方案二:为了降低开发难度,缩短开发时日本设计将嵌入式系统l p c 2 3 6 8 通过 片内u s b 接口与上位机进行连接,采用u s b c d c 协议,将u s b 虚拟成串口”,模 拟r s 一2 3 2 与上位机通信,而且由微处理器l p c 2 3 6 8 直接完成u s b 虚拟串口的协议转 换功能。由于绝大部分的w i n d o w s 操作系统( 本设计运行环境) 都自带支持c d c 类 的设备驱动程序,可以自动识别c d c 类的设备,这样不仅无需开发针对用户特定系统 的u s b 设备接口驱动程序而且简化了u s b 设备驱动的安装。第四章将对该方案的 具体实现进行详细介绍。 2 3 3 系统总体方案设计 本设计的u s b c a n 适配卡结合了u s b 和c a n 的优点符台轮毂轮型识别系统 的设计目标,将图23 进一步细分我们可以得出整个系统的总体框架圈,如图25 所 不: 百f 、1 f 片内 世鲨 片内 识别l 主机 园 u s b 设c a n 控 备控制 量 制器 器:掌矧:i , 可一盯一 层 j 【。一 i p c 2 3 6 8 中央处理单元 p c 应用程序端 嵌入式u s b - t o 。c a n 转换端以 致嵌入式c a n t o u s b 转换端 、 c a n c a n 自线廷二 收发器 t j a l 0 5 0 c a n 收发嚣端 图:5 轮毂型号识别系统总体框架图 从圈25 可以看出,数据包要经过多次的数据传递才能完成一次由上位机到c a n 总线的传输且每次数据传递都不能出现任何差错除了硬件可靠性比较高以外,软 件设计也要合理如下所述: ( 1 ) 上位机轮型识别应用程序调用a p i 接口函数,向u s b 端口芨出命令和数据, l p c 2 3 6 8 片内u s b 设备控制器在接收到数据后产生中断,在中断服务程序中将数据存 储到u s b t o c a n 的环形缓冲区中,然后直接调用c a n 发送程序,将数据通过c a n 收发器t j a l 0 5 0 发送到c a n 网络上,在中断程序中进行u s b 到c a n 的数据格式转 换,效率非常高实时性好。 ( 2 ) l p c 2 3 6 8 片内c a n 控制器在接收到来自c a n 收发器t j a l 0 5 0 的数据后,产 生接收中断,中断服务程序将数据从c a n 接收缓冲器转移到c a n t o u s b 环形缓冲区 中紧接着调用u s b 技送程序,将数据通过u s b 总线发送给上位机的轮型识别应用 程序,同样是在中断中进行c a n 到u s b 的数据格式转换。 ( 3 ) c a n 收发器丁j a 】0 5 0 主要是接收和发送来自l p c 2 3 6 8 片内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 适配卡模块 主要由微处理器l p c 2 3 6 8 构成其内部又可以分为c p u 控制模块、u s b 接口模块以 及c a n 控制器接口模块,后文将对这部分做详细的介绍: 第三章c a n 接口方案及底层驱动程序设计 31c a n 相关技术概要 3 1 1c a n 协议简介 正式产生于】9 8 6 年2 月的控制器局域网( c o n l x o l l e r a r e a n e t w o r k ) ,是r o b e r t b o s e h 公司为其汽车车内控制系统而设计的一种主要面向控制的串行通信协议。c a n 总线从 其产生到现在己经有2 5 年的历史已经成为全球最重要的总线之一,并且在不断的发 展和完善中目前广泛应用于汽车车内控制航空航天,工业机械控制建筑自动化 等领域。 c a n 支持多主机的3 2 作方式,任何一个节点都可以成为主机主动地向c a n 网 络发送信息,灵活方便:各节点之间以数据包( 报文) 为单位进行信息交换,数据包 分为不同的优先级,确保优先级高的数据包最先得以传输,保证实时性:多个节点同 时发送信息时优先级高的节点获得总线使用权;c a n 侦错机制完善,包括c r c 校 验错误、帧错误、填充错误、位错误、应答错误。其中,高效的仲裁机制以及完各的 侦错机制是c a n 得以在工业控制领域广泛应用的重要原因4 】 15 】“。 3 1 - 2c a n 的仲裁机制 报文的优先权是由封装在包头的m e s s a g ei d e n t i f i e r ( 报文标识符) 所决定的, i d e n t i f i e r ( 标识符) 的属性由系统开始所给定的二进制数值所决定且该数值是不能一 直改变的。如果数值越小,则享有越高的优先顺位7 】。 3 1 3c a n 侦错机制 c a n 提供了五种侦错机制使其错误发生率可以低于4 1 0 iv ;c a n 的五种侦 测错误机制可参见表3 】: 表3 - ic a n 的五种侦错机制 错误类型错误描述 循环冗余校验( c r c ) 错误发送器c r c 计算的结果可组成c r c 序列。接收器以 相同的方法计算c r c 。如果计算的结果与接收到的 c r c 序列不匹配,则检测出一个c r c 错误。 形式错误当报文固定格式的位区中出现一个或多个非法位时, 则可检测出一个形式错误。 a c k 错误在应答间隙,发送嚣未检测到显性位时,则表明没有 节点成功接收数据由此检测出一个应菩错误。 位错误 总线节点通过对比自发送的位状态与总线上的位状 态如果不匹配,则报错。在“仲裁场”和“应答位” 发送隐性而检测到显性时不报错。被动错误节点发送 p a s s i v ee r r o rf l a g 而检测到显性时也不报错。 位填充错误在帧起始和c r c 定界符之间,如果节点检测到6 个 连续且极性相同的位,说明违反了位填充规则。此时 节点将产生错误帧,表明发生了位填充错误。报文将 重新发送。 如表3 1 所示当有上述错误发生时,都将对数据传输产生影响,那么数据传输 失败中止同时产生错误封包,此时发送器端则会尝试重新发送数据包。而且各个节点 也将会重新竞争优先权。 3 2l p c 2 3 6 8c a n 模块介绍 l p c 2 3 6 8 m o 片内c a n 模块包括控制器和滤波器,兼容c a n 规范20 b ,i s o 】8 9 8 1 :控制器一共两个分为c a n 】和c a n 2 ,资源完全相同支持1 1 位和2 9 位 的标识符具有两个接收缓冲器和三个发送缓冲器:滤波嚣搜索算法是由硬件实现的 过滤标识符可以明确定义和分组定义能满足不同需求的应用。 3 2 1c a n 控制器内部结构 图3ic a n 控制器内郎结构图 如图31 所示c a n 控制器由错误管理逻辑、位时序逻辑、位流处理器、发送缓 冲器和接收缓冲器等构成。发送缓冲器用来暂存将要发送到c a n 网络上的报文,一共 三个,可以减少c p u 向缓冲区填充数据的等待时司。提高发送效率。接收缓冲器一个 两个。使得c p u 能够同时接收一个报文和处理另外一个报文。错误管理逻辑负责错误 界定,从获得错误状态并向接口管理逻辑和位流处理器报告错误的相关统计。位时序 逻辑监视串行c a n 总线并处理总线相关的位时序,给传输导致的时间延时和相移提供 可编程的时问片补偿,确定采样点和单个位时问内的采样次数。位流处理嚣控制着c a n 昏线和发送缓冲器以及接收缓冲器之间的数据流,实质是一个时序发生:n i - ”。 3 2 2c a n 全局验收滤波器 c a n 全局验收滤波器的实质是为控制器接收数据提供一种高效、快速的i d 号筛 选机制,主要由i d 表r a m 和控制寄存器组成。 33c a n 接口电路设计 c a n 接口电路的设计要从两个方面入手即抗干扰能力和节点自身的可靠性,以 确保c a n 网络在干扰严重的轮毂生产线上仍然能正常工作。 在本设计中,c a n 控制器与收发器t j a l 0 5 0 之曰采用高速光电耦台器6 n 1 3 7 r ”a - | 1 1 进行隔离的同时,电源也是隔离的,因为仅仅有光电耦合器隔离是不起作用的。由 于l p c 2 3 6 8 的i o 口为33 v 光电耦合器也起到了电平转换的作用。为了确保节点自 身的可靠性,充分利用两路c a n 控制器的优势本电路采用了两路c a n 构成一个节 点的冗余设计。图32 所示为双路c a n 接1 3 电路。 圈3 2 积路c a n 接口电路图 图32 中l p c 2 3 6 8 的片内双路c a n 控制器均足在高速光电耦台器6 n 1 3 7 的隔离 下通过串 亍数据输入线r x d 和串行数据输出线t x d 连接到c a n 收发器t j a l 0 5 0 上 的,同时c a n 收发器t j a l 0 5 0 则通过其具有差动发送和接收功能的总线引脚c a n h 以及c a n l 连接到c a n 总线网络中,它的参考输出电压引脚v r e f 接地。引脚s 用于 模式控制,接地表示工作模式为高速模式,此时c a n 总线输出信号有固定的斜率并且 能够以尽量快的速度切换,而且收发器循环延迟也是最小的。 另外值得注意的是处于网络终端的节点必须连接阻值为1 2 0o 的终端匹配电阻 可防止信号在传输过程中来回反射,造成干扰。 34l p c 2 3 6 8c a n 驱动程序设计 c a n 模块驱动程序的设计可以从如下几个方面进行: ( 1 ) 模块初始化,主要包括c a n 控制器波特率设置和匹配滤波器的设置: ( 2 ) 数据发送处理程序: ( 3 ) 数据接收处理程序。 3 4 1c a n 模块初始化 c a n 模块初始化包括,选择模块a p b 时钟,设置i o 端口,确定波特率相关参数, 设置匹配滤波器,设置v i c ( 向量中断控制器) 中断入口: ( 1 ) 、使能c a n 模块时钟源 l p c 2 3 6 8 的片内外设时钟源是由外设功率寄存器p c o n p 控制的p c o n p 是3 2 位寄存器,每个位对于一个外设。位】3 和位1 4 分别与c a n i 和c a n 2 对应,当位】3 和位1 4 被设置为o 时,表示给c a n l 和c a n 2 的时钟源被禁止,反之表示使能。 本文c a n l 和c a n 2 都用到,以c a n l 设置为例,代码如下: p c o n p 户( i l 1 3 ) : ( 2 ) 、设置c a n 模块时钟的分频系数 外设时钟选择寄存器0 和1 ( 即p c l k s e l 0 和p c l k s e l l ) 控制着片内外设的时 钟分频系数p c l k s e l 0 和p c l k s e l 中每两位构成一组每组对应一个外设,提供 4 种分频系数0 0 表示对c c l k ( c p u 时钟) 四分频得到p c l k ( 外设时钟) ,0 1 表示 不分频,1 0 表示二分频,】1 表示八分频( c a n 模块例外,为六分频) 。以c a n i 设置 为例p c l k s e l 0 的位:6 与为2 7 与之对应,代码如下: p c l k s e l 0 = 旧l 2 6 1 : p c l k s e l l = ( 3 l 2 6 ) f 3 1 、选择i o 端口 l p c 2 3 6 8 的i o 引脚是多功能复用的通过配置可以选择与不同的外设进行相连, 作为该外设的输入或输出端口:但是每次配置只能选择与一个外设相连。管脚功能选 择寄存器( p i n s e l ) 用来选择i o 引脚的功能,两个位为一组,每组一个1 0 引脚。由 于引脚布线要求,选择p 27 和p 28 的第二功能作为c a n l 的输入与输出对应于 p i n s e l 4 的位1 4 到位1 6 ,代码如下: p i n s e l 4 = ( 3 “1 4 ) : p i n s e l 4 = ( 1 1 4 ) : p i n s e l 4 = 3 ( ( 1 6 1 , p i n s e l 4 卜f 1 收发数据的接口函数。 1 、c p u 与s i e 问的接口函数 c p u 与u s b 串行接口引擎( s i e ) 间的通信是通过命令来实现的并不是像普通 外设一样直接访问地址也就是说,c p u 要控制s i e 完成某项功能,首先必须发送命 令。命令由命令代码和可选的命令数据组成。 s i e 的一些基本配置都要通过c p u 来控制完成,包括设置地址,配置设各,设置 模式,| 殳置设备状态,选择端点:c p u 也需要即时获得s i e 的一些状态信息,包括设 备状态,错误状态,错误代码等等。 2 、标准u s b 设备请求处理函数 u s b _ i 力议一共规定了1 1 种标准的u s b 蹬各请求,以实现主机对设备的各种配置 操作:u s b 标准请求见表4 一i ”。: 表4 - iu s b 标准请求娄型 u s b 请求类型请求码功能描述 g e t s t m u s ( 读取状态) 0 0 h读取u s b 设备相关的状态 c l e a r f e a t u r e ( 清除特性) 0 1 h 清除或禁i 上u s b 设备相关的某些特性 s e t f e a t u r e ( 设置特性) 0 3 h 设置或使能u s b 设备相关的某些特性 s e t a d d r e s s ( 设置地址) 0 5 h 设置u s b 设各地址 g e t d e s c r i 州o n ( 读取描述符)0 6 h 读取设备描述符 s e t d e s c r i p t o r ( 设置描述符) 0 7 h 添加新的描述符或者对现有的描述符 进行更新 g e t c o n f i g u r a t i o n ( n 取n n ) 0 8 h读取u s b 设备当前配置值 s e t c o n f i g u r a t i o n ( 设置配置) 0 9 h 给u s b 设各设置一个合适的配置 g e l l m e r f a c e ( 读取接口) 0 a h读取u s b 指定接口的当前可替换设置值1 s e f l m e r f a c e ( 设置接口) o b h 给u s b 指定接口设置一个合适的可替换 设置值 s y n c h f r a m e ( 同步帻) 0 c h读取u s b 同步端点所指定的帧序号 当u s b 设各连接到主机的时候u s b 主机通过标准的设备请求来获取设备的描述 符信息并完成对设备的基本配置。u s b 协议规定所有u s b 设备都必须对这些标准的描 述符进行支持和处理。 本文以设置地址请求处理函数r e q s e l u s b a d d r e s s ( ) 和读取配置请求处理函数 r e q g e t u s b d e s c p t o r ( ) 为例来说明u s b 设备对标准请求的处理 ( 1 1r e q s e t u s b a d d r e s s ( 1 r e q s e t u s b a d d r e s s 0 函数辟 束对醴置地址请求的啊应,该函数的主要作用就是接收 主机发送过来的地址并通过设置地址命夸将该地址写到s i e 中。 ( 2 ) r e q g e t u s b d e s c r i p t o r ( ) r e q g e t u s b d e s c r i p t o r o 函数用来对读取描述符请求的响应,该函数的主体结构是包 含三种状态的s w i t c h 语句,这三种状态分别对应于设备描述符,配置描述符,字符串 描述符。在对应c a s e 中将设置好的描述符发送给主机。 3 、类请求处理函数 本文用到的是c d c 协议,所以只对c d c 类请求进行介绍。c d c 类请求主要包括 c d cg e tl i n ec o d i n g 、c d cg e ts e r ms t a t e 、c d cs e tl i n ec o d i n g 、 c d cs e tc o n t r o ll i n es t a t e 这四种。 c d cg e tl i n ec o d i n g 和c d cs e tl i n ec o d i n g 对应类请求处理函数 主要是获取或者设置串口属性如波特率,停止位位数校验类型数据位位数。 c d cg e ts e r l a ls t a t e 和c d cs e tl i n ec o d i n g 对应,类请求处理函数 主要是获取或者设置串口的d t r 和r t s 位。 4 、设置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 描述符总体上可以分为三大粪,u s b 设备描述符,u s b 配置描述符,u s b 字 符串描述符。 ( 1 ) 设备描述符设置 每个u s b 设备只能有一个设备描述符,设备描述符记录的是设备的总体信息;在 枚举阶段u s b 主机首先获取的便是设备描述符。设备描述符一共1 4 个字段,固定为 1 8 个字节。以本文的u s bc d c 串口设备描述符来介绍一下对该描述符的涵义和具体 的设置。本文定义个长度为】8 个字节数组来与设备描述符的1 4 个字段相对应,具 体设置如下: c o n s tu 8u s bd e v l c e d e s c i p t o r 1 = 1 8,描述符长度t 字节) ,设备描述为固定的1 8 个字节 o x o l描述符类型,设备描述符代码为们h o x 0 0 0 x 0 2 u s b 协议类型两个字节0 x 0 2 0 0 表示u s b 20 协议 0 x 0 2 设各所属类别码c d c 属j _ - j 匝信设备对应值为o x 0 2 0 设备所属子娄别码,对于c d c ,此处值为0 0 设备协i 义码对于c d c ,此处值为0 6 4 端点0 最大信息包长度,本文设置为6 4 个字节 0 x f e 0 x f t 川商i d ,测试选用一个非法的v i d :f i f e 0 x 7 7 0 x 6 6 0 x 0 1 0 x 0 1 0 x 0 1 0 x 0 1 产品i d 制造厂商的字符串描述符的索引值 产品字符串描述符的索引值 序列号字符串的索引值 ,配置描述符的个数,本文的应用只有一个配置描述符 j : 但1 配置描述符设置 u s b 设备的配置描述符可以有多个本文只有一个。配置描述符本身的结构并不 复杂但是u s b 主机读取配置描述时也一起读取了与端点和接口相关的描述符,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 11《别伤着自己》 第二课时(教学设计)2023-2024学年统编版道德与法治一年级上册
- 2023二年级语文上册 第二单元 4 田家四季歌配套教学实录 新人教版
- 铁路运输业智能化调度及维护管理方案
- 2《我向国旗敬个礼》(教学设计)2024-2025学年统编版(2024)道德与法治一年级上册
- 2025年碳纤维正交三向织物项目合作计划书
- 9日益重要的国际组织 第二课时 教学设计-2023-2024学年道德与法治六年级下册统编版
- 13 我能行 (教学设计)-2023-2024学年统编版道德法治二年级下册
- 居间工程项目合同
- 10《白天与黑夜》教学设计-2024-2025学年科学六年级上册青岛版
- 2024-2025学年新教材高中英语 Unit 4 Amazing art导读 话题妙切入教学实录 外研版必修第三册
- 2024年世界职业院校技能大赛高职组“研学旅行组”赛项参考试题库(含答案)
- 《金融科技概论》完整全套课件
- 2025年新疆生产建设兵团兴新职业技术学院高职单招高职单招英语2016-2024年参考题库含答案解析
- 2024年陕西警官职业学院高职单招职业适应性测试历年参考题库含答案解析
- 围棋入门基本知识
- 2024年新疆生产建设兵团兴新职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2025年贵州蔬菜集团有限公司招聘笔试参考题库含答案解析
- 医院设施日常巡查管理制度
- 急性心房颤动中国急诊管理指南(2024)解读
- 人教版四年级下册数学第二单元观察物体(二) 单元测试
- 建筑工程公司绩效考核制度范本
评论
0/150
提交评论