独立can总线控制器的rtl级设计_第1页
独立can总线控制器的rtl级设计_第2页
独立can总线控制器的rtl级设计_第3页
独立can总线控制器的rtl级设计_第4页
独立can总线控制器的rtl级设计_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1、工学硕士学位论文独立 CAN 总线控制器的 RTL 级设计刘延科哈尔滨工业大学2006 年 6 月国内图书分类号:TN47国际图书分类号:621.3.049.77工学硕士学位论文独立 CAN 总线控制器的 RTL 级设计硕 士 研 究 生: 刘延科导师: 毛志刚教授申 请 学 位: 工学硕士学 科 、 专 业: 微电子学与固体电子学所 在 单 位: 微电子科学与技术系答 辩 日 期: 2006 年 6 月授予学位单位: 哈尔滨工业大学Domestic Classified Index: TN47U.D.C.: 621.3.049.77Dissertation for the Master De

2、gree in EngineeringRTL DESIGN OF STAND-ALONECAN BUS CONTROLLERCandidate:Supervisor:Academic Degree Applied for:Specialty:Date of Oral Examination:University:Liu YankeProf. Mao ZhigangMaster of EngineeringMicroelectronics and Solid-stateElectronicsJune, 2006Harbin Institute of Technology哈尔滨工业大学工学硕士学位

3、论文摘要控 制 器 局 域 网 CAN(Controller Area Network) 是 由 ISO(InternationalOrganization for Standardization)定义的串行通信总线,属于现场总线范畴。由于 CAN 总线具有很高的实时性能,目前已经广泛应用于汽车工业、工业控制、航空电子和医疗器械等领域。CAN 网络的关键部分是总线控制器,因此设计具有自主知识产权的控制器对我国汽车工业及其它相关产业的发展具有重要意义。本文首先详细分析了 CAN2.0 协议,并依据协议,完成了 CAN 总线控制器 SaCAN 的 RTL 级设计。SaCAN 采用自顶向下的设计流程

4、,将设计模块划分为 CAN 核心模块、数据缓冲器和收发逻辑。CAN 核心模块是实现CAN 协议的主要模块,由内部寄存器、接口管理逻辑、数据流处理器、验收滤波器和时序处理器五部分组成。数据缓冲器用于存储收发的信息,包括发送缓冲器和接收缓冲器。收发逻辑建立各种输入输出模式,包括发送控制逻辑和接收控制逻辑。本文继续对 SaCAN 进行了验证,验证过程包括功能点验证和节点通信验证两部分。功能点验证根据设计规格书中定义的功能逐一进行验证,目的是为了保证设计的功能特性是正确的。节点通信验证模拟 CAN 总线网络的通信过程,目的是为了保证 SaCAN 可以作为一个总线节点正常的工作。仿真结果表明 SaCAN

5、 功能符合设计要求和 CAN2.0 协议,达到了预期设计目标。SaCAN 同时支持收发标准格式和扩展格式的报文,具有多种工作模式。作为独立的 CAN 总线控制器,SaCAN 既可以做为外挂式应用,也可以与微控制器集成到一起作为嵌入式应用。关键词串行通信;控制器局域网;总线控制器-I-哈尔滨工业大学工学硕士学位论文AbstractController Area Network protocol, which belong to Field Bus, is a serialcommunication bus defined by ISO. Because of its high real-time

6、 performance,the CAN serial bus system is used in a broad range of automobile industry,industry controlling, avionics and medical instrument. The key to the CAN bussystem is to design CAN bus controller chip. Consequently its meaningful todesign and produce the chip of independent intelletual proper

7、ty in thedevelopment of automobile industry and other correlative industry.First, CAN2.0 specification is analyzed detailed in the thesis. Then the RTLdesign process of CAN bus controller (SaCAN) is done according to thespecification. The SaCAN, devided into CAN core module, data buffer andtransceiv

8、er, is under Top-Down design flow. CAN core module is the mainmodule in implementing CAN specification. It consists of inner registers,interface management logic, data flow processor, acceptence filter and timingprocessor. Data buffer consists of transmitter buffer and receiver buffer. It isused to

9、store message. Transceiver consists of transmit control logic and receivecontrol logic. It builds different IO mode.Later, the thesis verifies the SaCAN. The verification process consists offunctional verification and verification of Communication between nodes. Thefunctional verification, which is

10、to ensure functional characters validity, verifiesthe functions defined in the specification. The verification of Communicationbetween nodes, which is to ensure SaCANs working as a bus node, simulates theprocess of CAN bus networks communication. The simulation results indicatethat SaCAN is function

11、al right, to CAN2.0 protocol and SaCAN specification,which achieves the object of design.SaCAN support simultaneously the message of both standard formate andextend formate. It has many working modes. As a stand-alone CAN buscontroller, SaCAN not only work as extrapolated application but also work,i

12、ntegrated with microcontroller, as embedded applications.Keywordsserial communication; controller area network; bus controller- II -哈尔滨工业大学工学硕士学位论文目录摘要 . IAbstract . II第 1 章 绪论 . 11.1 国内外研究状况 . 11.1.1 CAN总线发展状况及特点 . 11.1.2 CAN总线控制器的研究状况 . 61.2 研究的目的和意义 . 81.3 课题的主要研究内容 .101.4 论文结构 .10第 2 章 CAN协议介绍 .

13、112.1 CAN协议标准 .112.2 CAN协议分层结构 .112.3 CAN的报文传输 .142.3.1 数据帧 .142.3.2 远程帧 .162.3.3 错误帧 .162.3.4 过载帧 .172.3.5 帧间空间 .172.4 报文滤波与校验 .182.4.1 报文滤波 .182.4.2 报文校验 .192.5 错误处理 .192.5.1 错误检测 .192.5.2 故障界定 .202.6 总线位时序 .212.7 总线访问时间与吞吐量 .222.8 本章小结 .22第 3 章 CAN总线控制器的设计 .233.1 整体结构的设计 .23- III -哈尔滨工业大学工学硕士学位论文

14、3.2 CAN控制器核心模块的设计 .243.2.1 内部寄存器 .243.2.2 接口管理逻辑 .283.2.3 数据流处理器 .283.2.4 验收滤波器 .363.2.5 时序处理器 .373.3 数据缓冲器和TX/RX控制逻辑的设计 .433.3.1 数据缓冲器 .433.3.2 TX/RX控制逻辑 .463.4 本章小结 .48第 4 章 CAN总线控制器的验证 . 494.1 验证策略 . 494.2 验证步骤 . 504.2.1 功能点验证的步骤 . 504.2.2 节点通信验证的步骤 . 524.3 验证过程 . 534.3.1 工作模式的验证 . 534.3.2 寄存器验证

15、. 544.3.3 通信功能的验证 . 544.3.4 错误分析功能的验证 . 554.3.5 睡眠/唤醒功能的验证 . 594.3.6 输入/输出模式的验证 . 594.3.7 位时序与时钟输出的验证. 604.4 验证的实施与结果 . 604.5 本章小结 .62结论 .63参考文献 .攻读学位期间发表的学术论文 .哈尔滨工业大学硕士学位论文原创性声明 .哈尔滨工业大学硕士学位论文使用授权书 .64676868致谢 .- IV -69哈尔滨工业大学工学硕士学位论文第1章 绪论1.11.1.1国内外研究状况CAN 总线发展状况及特点1.1.1.1 CAN 总线的发展状况CAN(Control

16、ler Area Network) 是 由 ISO(International Organization forStandardization)定义的串行通信总线,它是一种架构开放、广播式的新一代网络通信协议,属于现场总线范畴。CAN 总线最早由 Bosch 公司于 1986 年 2 月在底特律的汽车工程协会上提出。1991 年 9 月 Philips 半导体制订并发布了CAN 技术规范(VERSION 2.0),其中给出了标准和扩展两种报文格式。在此基础上,1993 年 11 月 ISO 正式颁布了道路交通运载工具数字信息交换高速通信控制器局域网国际标准(ISO11898),并在 1995

17、年进行了 29 位标识符的扩展1。从 2000 年开始,一个由数家公司组成的 ISO 任务组织定义了一种时间触发 CAN 报文传输的协议。此协议定义为“时间触发通讯的 CAN(TTCAN)”2CAN 总线是为汽车开发的串行数据通信总线,最初应用于汽车控制系统。为了降低汽车自身重量、方便生产自动化和车辆的维修维护,现代车型内部的电子子系统采用了标准化的、串行通信方式,通过车身内部的网络联系在一起。CAN 总线就是应用最为广泛的这样一种总线协议。现代轿车的设计中,CAN 已经成为必须采用的装置。目前,一些在世界上举足轻重的汽车制造商都在积极地将 CAN 总线用在新型汽车上。包括奔驰、宝马、大众等一

18、些名牌汽车厂商都已开始采用 CAN 总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。CAN 总线己成为汽车总线的主流技术,从全球汽车电子发展趋势来看,CAN 总线的崛起是必然的38。如图 1-1 所示,为 Philips 半导体公司的汽车网络解决方案,较粗线代表CAN 总线,它连接了传动装置控制单元、灯控单元、门控单元、座椅控制单元以及仪表盘控制单元等等。较细线代表 LIN 总线,作为 CAN 网络的辅助网络,连接了车窗控制单元等低速设备。可以说明 CAN 总线完成的是车辆本身的控制,负责整个车辆的数据交互9-12。-1-。哈尔滨工业大学工学硕士学位论文图 1-1 Philips S

19、emiconductors 公司的汽车网络解决方案Figure 1-1 Philips Semiconductors automatile network solution由于 CAN 总线在传输速率、传输实时性、安全性和可靠性方面的优越特性,它的应用范围已不再局限于汽车行业,而向工业控制、航空、船舶和医疗器械等领域发展1314。CAN 的发展历史如表 1-1 所示。表 1-1 CAN 历史事件一览表1518Table 1-1 CAN history events时间1983198619871991199119921992199319941994199519952000事件Bosch 公司计划

20、发展一种串行总线用于客车系统Bosch 公司正式公布了 CAN 总线的协议Intel 和 Philips Semiconductors 率先推出了 CAN 芯片Philips 半导体公司的 CAN2.0 规范发表瑞士工程办公室组织制定了 CAN 的高层协议“CAN Kingdom”CiA(CAN in Automation)用户集团成立CiA 制定了应用层协议 CAL(CAN Application Layer)CAN 的国际标准 ISO11898 发布CiA 开始每年召开一次国际 CAN 会议(iCC)Allen-Bradley 公司公布了 CAN 高层协议“DeviceNet”国际标准 I

21、SO11898 进行了 29 位标识符的扩展CiA 发表了 CAN 高层协议“CANopen”TTCAN (Time-triggered communication protocol for CAN)诞生-2-哈尔滨工业大学工学硕士学位论文1.1.1.2 CAN 总线的技术特点(1)CAN 总线数值CAN 中的总线数值为两种互补逻辑数值之一: “显性 ”或 “隐性 ”。 “显性”(Dominant)数值表示逻辑“0”,而“隐性”(Recessive)表示逻辑“l”。“显性”和“隐性”位同时发送时,最后总线数值将为“显性”。在“隐性”状态下,CAN-H 和CAN-L 被固定于平均电压电平,差分电

22、压近似为 0。在总线空闲或“隐性”位期间,发送“隐性”状态。“显性”状态以大于最小阈值的差分电压表示。由于 CAN总线中传送的是差分电压信号,它能够有效避免或减少各种电磁噪声带来的影响。因为 CAN 总线的双线受到干扰是一致的,差分信号仍保持不变1920。CAN 总线的数值如图 1-2 所示。图1-2 CAN总线数值示意图Figure 1-2 CAN bus numerial value(2)非破坏性的总线仲裁CAN 采用非破坏性总线裁决技术,大大节省了总线冲突裁决时间;最重要的是在网络负载很重的情况下也不会出现网络瘫痪情况。CAN 协议废除了传统的站地址编码,而对通讯数据块进行编码,使网络中

23、的节点个数在理论上不受限制,网络中的不同节点可同时接收到相同的数据,使总线上传输的信息总量减少。CAN 总线的仲裁与以太网的 CSMA/CD 方案相似21。总线空闲是呈现隐性电平。这时任何一个节点都可以发送一个显性电平作为一帧的开始。如果同时有两个以上的节点同时发送,即产生总线竞争。CAN 总线解决竞争的方法是对标识符按位进行仲裁。各发送节点一面向总线发送电平,一面与回收总线-3-哈尔滨工业大学工学硕士学位论文电平进行比较,电平相同继续发送下一位,电平不同则不再向下发送,退出总线竞争。所谓的电平不一致是指在发送隐性电平时回收到显性电平,它说明总线上尚存在发送显性电平的节点,这样的节点继续在支配

24、着总线,而自己因发送隐性电平而退让。同时发送显性电平的节点可能不止一个,它们继续向下按位仲裁。CAN 总线的仲裁过程如图 1-3 所示22。图1-3 总线仲裁Figure 1-3 Bus arbitration(3)多主与多节点接收CAN 采用多主方式工作,网络上任意节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,通讯方式灵活。CAN 网络具有点对点、一点对多点和全局广播等几种通讯方式2325。CAN 总线靠标识符的优先级争用总线,取胜后继续完成一帧的发送,因标识符级报文中不包含与总线结构有关的参数,如接收站地址等,所以总线中各个非发送点,包括欲发送而被迫退让的节点都可接收。

25、各接收站根据标识符的性质进行过滤,决定是否将报文拆帧取用。这样做的好处有:节点数目理论上可以无限,实际上受限于物理实现的可能;各节点可以在线自由,上线与离线不影响总线的工作。对于实时性很高的系统这一点是宝贵的2628。以图 1-4 为例。总线上每个节点都在监听发送站(节点 2)。在收到帧后所有的节点都根据自己的接收过滤寄存器进行判断是否接收该帧。-4-哈尔滨工业大学工学硕士学位论文CAN 节点 1发送功能模块CAN 节点 2发送功能模块CAN 节点 3接收功能模块CAN 节点 4接收功能模块滤波发送滤波滤波滤波bus lines图 1-4 广播方式Figure 1-4 Broadcast pa

26、ttern(4)传送速率与距离在总线范围内保证数据的一致性是 CAN 总线的一个重要特性,总线上每一帧报文对各个节点应保证同时有效,即满足时间上和空间上的一致性条件。CAN 总线的标称传输率为 1Mbps,距离不超过 40m。降低传输速率可以相应的延长总线距离2930。传输速率与总线长度的关系如表 1-2 所示。表1-2 CAN节点之间的最大距离Table 1-2 The longest distance between CAN node位速率1Mbps500kbps250 kbps125 kbps100 kbps50 kbps20 kbps10 kbps5 kbps最大总线长度40m130m

27、270m530m620m1.3km3.3km6.7km10km注:适用 Philips SJAI000 CAN 控制器,晶振频率为 16MHz-5-哈尔滨工业大学工学硕士学位论文(5)可靠性CAN 信息帧采用短帧结构,每一帧的有效字节数为 8 个,这样传输时间短,受干扰的概率低。CAN 总线规范中采用了多种检错机制尽力提高数据在高噪声环境下的安全性,包括发送电平和回收电平相校验,CRC 校验,位填充校验,报文格式校验和发端报文响应校验。通过这些校验可以发现网中的全局性错误、发送站的局部性错误和报文传输中 5 个以下的随机分布错误和小于 15 个的突发错误。CAN 的剩余出错概率为传输率的 4.

28、7*10-113134。当节点发送错误计数器大于 255,则监控器要求物理层置节点为“脱离总线”状态,具有较强的抗干扰能力。1.1.2CAN 总线控制器的研究状况当 CAN 总线协议的内容基本确定之后,Intel 在 1987 年交付了首枚 CAN控制器芯片 82526,这是 CAN 协议的第一个硬件实现。随后 Philips 半导体也推出了其 CAN 控制器 82C200。随着 CAN 技术的成熟和在各行业的广泛应用,各大芯片供应商纷纷支持 CAN 协议。表 1-3 列出常见的 CAN 器件。表 1-3 常见的 CAN 器件Table 1-3 Familiar CAN devices制造商I

29、ntelPhilipsMotorolaSimensNEC产品型号825268252787C196CA87C196CBP82C200SJAl000P8xC592P8xCE598TOUCANMSCANMCAN81C90/91/92SABC167CPD72005功能特点CAN 控制器,2.0A,BasicCANCAN 控制器,2.0B,FulICAN8 位 CPU+82527+10 位 A/D+I/O87C196CA 的高性能版本CAN 控制器,2.0A,BasicCANCAN 控制器,2.0B8051CPU+CAN 控制器+A/D+PWM,2.0A8051CPU+CAN 控制器+A/D+PWM,2

30、.0A 电磁兼容683XXX,带微控制器,2.0B,FuIICAN68HC08 系列 AZO 和 AZ32,2.0B,BasicCAN68HC05x4/xl6CPU+CAN 控制器,2.0ACAN 控制器,2.0A微控制器+CAN 控制器,2.0BCAN 控制器,2.0B,FullCAN由于国内汽车产业刚刚起步,同时汽车电子市场还没有形成。因而国内芯片设计企业对汽车电子的关注也相对较少。对 CAN 总线芯片的设计在国内未见报道。国内有关 CAN 的应用基本都是采用国外的芯片,而没有自主知识产-6-哈尔滨工业大学工学硕士学位论文权的 CAN 控制器硬件实现3536。在网络的层次结构中,数据链路层

31、和物理层是保证通信质量至关重要、不可缺少的部分,也是协议中最复杂的部分。CAN 控制器就是扮演这个角色,对外它提供了与微控制器的物理线路接口。通过对它的编程,微控制器可以设计它的工作方式,控制它的工作状态,把应用层建立在它的基础之上。CAN 芯片按结构形式可分为嵌入式、外挂式和单片式三种。嵌入式指包含 CAN 控制器及微处理器的芯片,比如 Intel 的 87C196CA,这种结构使电路设计简化和紧凑,使得控制节点模块具有更小的体积,可以有效的降低成本,节省空间,如图 1-5 所示。微控制器读写CAN 收发器 CAN_H上层过滤高层协议应用协议控制数据缓存串行接口数据过滤控制收发信号错误控制C

32、AN_L图 1-5 嵌入式 CAN 芯片节点模型示意图Figure 1-5 Embedded CAN chip node module单片式就是一个能够在 CAN 网络里充当一个输入输出网关的单芯片,比如 Philips 的 82C150。它能把报文转化为实际的数字 IO 信号,也能读 IO 引脚把数据当作报文传输,它还能集成 A/D 转换器来生成报文,并传输到网络上,如图 1-6 所示微控制器CAN_H上层过滤高层协议应用协议控制数据缓存数据过滤收发信号错误控制CAN_L图 1-6 单片式 CAN 芯片节点模型示意图Figure 1-6 Monolithic CAN chip node mo

33、dule外挂式只包含 CAN 控制器的芯片,比如 Philips 的 SJA1000,它可以与多-7-哈尔滨工业大学工学硕士学位论文种类型的单片机、微型计算机的各类标准总线进行接口组合,使用上更为灵活,软件的重用性更好,如图 1-7 所示。CAN 控制器微控制器上层过滤高层协议应用数据协议控制数据缓存串行接口错误控制CPU 接口读写CAN 收发器 CAN_H收发信号数据过滤控制控制CAN_L图 1-7 独立式 CAN 芯片节点模型示意图Figure 1-7 Stand-alone CAN chip node module1.2研究的目的和意义近年来,我国汽车工业发展迅速,中国国产汽车产量正以每

34、年约 25%的速度递增。以目前的情况来看,平均每辆汽车使用 CAN 总线节点数根据汽车档次的不同而不同,大致在 20-40 之间。由此可见,中国汽车行业对 CAN 总线套片的消费能力在 12,400 万套/年以上,并且随汽车的年产量增加而逐步增长。与此同时,中国与汽车相关的半导体消费预计将以每年 28%的速度递增。汽车芯片市场到 2007 年将增长到 14.5 亿美元。中国汽车芯片市场预计占全球芯片消费量的 10%3739。然而由于我国的汽车行业并没有自己的核心技术,汽车电子的技术水平与国际先进水平相比,落后大约 10 年40。同时汽车电子市场还没有形成,因而国内芯片设计企业对汽车电子的关注也

35、相对较少,对 CAN 芯片的设计在国内未见报道。随着 CAN 的应用越来越广泛,CAN 相关部件的研究也越来越受到各个方面的关注和重视。总线控制器作为 CAN 网络的核心部件,开发具备自有知识产权的芯片,摆脱国外大公司对 CAN 总线芯片领域的垄断,能够促进我国汽车工业及其它相关产业的发展,有益于 CAN 总线技术在我国的应用和推广,具有较大的理论和实际意义。-8-哈尔滨工业大学工学硕士学位论文本课题预期达到的目标是完成结构合理、功能全面的独立 CAN 总线控制器 SaCAN 的 RTL 级设计。SaCAN 主要有以下特性:1) 同时支持 CAN 2.0A 和 2.0B 规范,支持 11 位和

36、 29 位报文标识符。2) 通信位速率可达 1Mbps。3) 可与不同的微处理器接口。4) 具有仅听模式和自测试模式,可单次发送。5) 具有基本模式和扩展模式。6) 可屏蔽的中断源。7) 可编程的输出驱动器配置。8) 能够接收自身报文(自接收请求)。9) 多种滤波模式。10) 两个发送缓冲区。11) 除 13 个字节的接收缓冲器,另有扩展的 64 字节接收缓冲器。12) 自动位速率检测。13) 仲裁丢失捕捉。14) 可访问的错误计数器和错误报警界限。SaCAN总线控制器作为独立应用在CAN节点中的位置如图1-8所示。传感器执行元件微控制器总线控制器收发器传感器执行元件微控制器总线控制器收发器CAN 总线图1-8 CAN网络节点Figure 1-8 CAN network nodeSaCAN提供与微控制器的接口,在与CAN收发器相连接的一侧提供多种数出信号,可以连接各种集成或者分立的CAN收发器。收发器实现的是CAN网络-9-哈尔滨工业大学工学硕士学位论文的物理层,它将来自总线控制器的TTL电平转换成符合IEEE11898电气标准的差分电平在CAN总线上传送41。SaCAN实现了CAN总线的数据链路层协议和部分物理层协议。应用层由软件编程实现,应用层采用何种协议根据不同应用场合可自行决定。另外,S

温馨提示

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

评论

0/150

提交评论