1、 本科 毕业 设计 (论文 ) (二零 届) CAN 总线中继器设计 -电路设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘要 CAN 中继器是网络物理层上面的连接设备。适用于完全相同的两类网络的互连,主要功能是通过对数据信号的重新发送或者转发, 来扩大网络传输的距离以及增加节点的最大数目,是 CAN 组网的关键设备之一。 本设计首先简要分析了国内外 CAN 总线中继器的设计,并对 CAN 总线的原理进行了研究和吸收。在此基础上设计了以 LPC2294 为主控 MCU 的中继器。详细阐述了中继器的硬件组成和工作原理,单独设计了 CAN 总线接口电
2、路。由于 LPC2294 含有 4 个 CAN 接口,所以无需再设计 CAN 控制器,由 MCU 执行完整的 CAN 协议,完成通讯的功能。 CAN 收发器则实现 MCU 与总线间逻辑电平信号的转换。考虑到驱动及功耗的问题,在两者之间还添加了三极管,以增大驱动能力 。由于 LPC2294 的使用电源为 3.3V 以及 1.8V,所以本文还介绍了电源部分的设计。为了保证数据的完整性以及传送的可靠性,对于电路还采取了一些抗干扰的措施。此外,还外扩了一个高性能的 SRAM,以实现数据的存储及快速的转发。 在理论上,此次设计的 CAN 总线中继器在使用过程中可以增加联网的节点数,延长网络的传输距离,降
3、低网络延迟。本文的研究内容具有普遍的意义。 关键词: CAN总线;中继器; LPC2294 II Can bus repeaters design-the circuit design Abstract CAN Repeaters is a network connection of above the physical equipment. Suitable for exactly the same two kinds of network interconnection, main function is based on the data signals to send or forwa
4、rding, to expand the network transmission distance, and increase the maximum number of nodes, is one of the key equipment CAN networking. This design first briefly analyzes the domestic and foreign the can bus Repeaters design, and the principle of CAN bus was studied and absorption. On the basis LP
5、C2294 as the controller is designed for the Repeaters MCU. Expounded the Repeaters hardware and working principle, separate design the CAN bus interface circuit. Because LPC2294 contains four CAN interface, so need not design by MCU CAN controller, perform a complete CAN agreement, complete communic
6、ation function. The can transceiver is to MCU and bus logic level signals between the conversion. Considering the drive and power consumption in between the problem, still added triode, in order to increase the drive ability. Due to the use of LPC2294 power supply for 3.3 V and 1.8 V, so this paper
7、also introduces the design of electric part. In order to ensure the integrity of the data and transmit reliability, for circuit also had taken some anti-interference measures. In addition, the outside enlarge a high-performance an SRAM, in order to realize the data storage and fast forwarding. In th
8、eory, the design of CAN bus Repeaters in use process CAN increase the number of nodes in the network, the transmission distance prolong the network, reduce the network delay. This research content is of general significance. Keywords:CAN bus; Repeater; LPC2294 III 目录 摘要 . I Abstract . II 1 绪论 . 1 1.
9、1课题的来源 . 1 1.2课题的意义 . 1 1.3 课题研究的主要内容及方法 . 1 2 CAN总线中继器的设计原理 . 3 2.1 CAN总线的性能特点 . 3 2.2 CAN总线的技术规范 . 4 2.3 CAN总线中继器国内外发展现状 . 6 3总体设计方案 . 7 3.1系统功能描述及要求 . 7 3.2 设计方案 . 8 3.3设计要点 . 8 3.4芯片的选择 . 9 4系统硬件设计 . 12 4.1 CAN控制电路 . 12 4.2 CAN接口电路 . 13 4.3电源的设计 . 14 4.4 复位电路 . 15 4.5 UART电路 . 16 4.6其余电路 . 16 4.
10、6.1外部存储器电路 . 16 4.6.2 LED显示电路 . 18 4.6.3调试与测试电路 . 18 4.7 硬件抗干扰技术 . 19 结论 . 22 参考文献 . 23 致谢 . 错误 !未定义书签。 附录图 1 硬件设计原理图 . 24 附录图 2 PCB印制板图 . 25 附录 3 材料清单 . 26 附录 4 流程图及程序 . 27 CAN 总线中继器设计 -电路设计 1 1 绪论 1.1 课题的来源 CAN 作为控制器局域网络 ,属于工业现场总线的范畴。与一般的通信总线相比 ,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计 ,CAN 总线越来越
11、受到人们的重视及应用。例如汽车电子、自动控制、电力系统、安防监控等领域。随着 CAN总线网络区域的扩大, 2个节点之间的直接数据传送难 以满足远距离通信要求。并且 在使用过程中因为存在总线长度超过限制、网络布线复杂、节点数超过限制、节点协议不同、需要降低子网负荷、增加传输速率等情况,因此需要 CAN总线交换机来隔离总线、中继信号。根据实际使用场合和功能要求有很大的可能需要定制 CAN总线协议和设备。 1.2 课题的意义 CAN总线是现阶段应用最广泛的现场总线之一。尽管 CAN总线有很多优点,但是下面两点却制约着其发展: ( 1) 传输距离最大只能达到 10Km,而且并不是真正的可靠传输 ; (
12、 2) 节点数量最多只能有 110个。 CAN总线一般都是在环境比较 恶劣,控制室与现场比较远的场合中使用。尤其是当传输的距离比较远时,由于各种干扰的存在,其数据可能出现错误,总线电压差值较小是其中主要的原因的缘故之一。为了解决这个问题,有的人采用升压,有的人采用降压等电路,但是因为每个接收器都得增加一个调理电路,这样实物的造价很明显就上去了,所以这些都是不现实的。另外,即使升压了,由于 CAN总线技术规范中按照仲裁发送决定了总要遇到由于延迟而形成闭合回路的问题。 为了解决远距离传输的问题,可以在中间加入 CAN 总线中继器。选择使用合适的MCU能够及时处理 CAN 总线上的数据,使得 设计也
13、变得比较简单,不需考虑 CAN总线两边的数据发送冲突。只要 MCU 有 1K 的缓存就可以。这个设计不仅解决了远距离传输的问题,而且可以满足数据传输的可靠性。 1.3 课题研究的主要内容及方法 主要内容: CAN总线是一种常见的现场总线之一,通信介质选择广泛,可以是双绞线、同轴电缆或光导纤维。通信速率可高达 1MBPS。利用 CAN总线中继器达到远距离传输的目的。本设计的主要内容包括以下几部分: CAN 总线中继器设计 -电路设计 2 (1)CAN接口电路设计; (2)中继和转发机制设计; (3)电源电路设计; (4)远程程序 下载。 研究方法: (1)本文对 CAN总线的原理进行充分的消化和
14、吸收; (2)运用 Protel 等画图工具设计系统的硬件电路原理图,并制作 PCB印制电路板; (3)对系统进行适当的硬件抗干扰设计。 CAN 总线中继器设计 -电路设计 3 2 CAN 总线中继器的设计原理 2.1 CAN 总线的性能特点 CAN 总线是一种常见的现场总线,通信介质可以是双绞线、同轴电缆或光导纤维 ,选择灵活。由于其高性能、高可靠性、及独特的设计等优点, CAN越来越受到人们的重视。其应用范围广泛,有汽车行业、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医 疗器械及传感器等领域 3。 CAN已经形成国际标准,并己被公认为几种最有前途的现场总线之一。 CAN 属
15、于总线式串行通信网络,由于其采独特的设计,较高的性能,与一般的通信总线相比, CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其特点可概括为: ( 1)利用 CAN 控制器将控制模块连接到 CAN 总线上,以此形成多主机局部网络,并且具有仲裁功能和优先权 13。 ( 2)由报文的 ID 决定是否接收该报文。 ( 3)具有传输距离较远、实时性强、成本低、抗电磁干扰能力强等优点。 ( 4)在高噪声干扰环 境中也可以可靠的工作,因为它采用双线串行通信方式,大大增加了检错能力 6。 ( 5) 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。 ( 6) 具有自动重发的功能。当发送的信息
16、遭到破坏后,会将此信息重新发送。 ( 7)具有自动退出总线的功能,有时节点会出现严重的错误,此功能有效的解决这个问题 。 (8) 报文不包含源地址和目标地址,仅用标志符来指示优先级信息和功能信息。 ( 9) CAN每帧信息都有 CRC校验及其它检错措施,保证了数据出错率极低。 ( 10) CAN采用非 破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级高的顾名思义将率先进行数据的传输,以此往下排,而优先级最低的节点会自动地退出发送。从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络错误情况。 ( 11) CAN 协议的一个最大特点是废除了传统的站地址编码,而代之
17、以对通信数据块进行编码 17。 CAN 总线中继器设计 -电路设计 4 2.2 CAN 总线的技术规范 CAN作为应用最为广泛的总线之一,对于各应用领域通信报文的标准化至关重要。为此, 1991 年 的 9 月 PHILIPS 制订并发布了 CAN 技术规范 ( VERSION 2.0)。该技术规范包括了 A和 B两个部分。 2.0A给出了 CAN报文格式的定义,并且能够能提供 11 位地址;而 2.0B 给出了标准的和扩展的两种报文格式,提供 29位地址 11。此后,又颁布了 ISO11898,给 CAN总线的发展又是锦上添花。 1 CAN的一些基本概念 ( 1)报文:报文作为网络中基本的数
18、据传输,包含了将要发送的完整的数据信息,其长短可以不同。在传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头。 ( 2)位填充: 一帧报文中的每一位都由不归 零码表示 ,可保证位编码的最大效率。可是,这样又会产生很多问题,比如可能会由于存在太多相同的电平为而失去同步。同步沿采用位填充产生,使得同步性大大提高。其方法为如果出现了五个连续的相同位,则在其后添加一个相反位。在数据接收时 ,删除这个相反为。位填充就是让 CAN 更加容易的检查错误:如果在一帧报文中出现 6 个相同位 ,CAN就自动认定为发生了错误 8。 ( 3)总线检测: 有时 CAN 中的一个节
19、点可监测自己发出的信号。因此 ,发送报文的站可以观测总线的电平并且探测发送位和接收位的差异。 ( 4)位仲裁: 由于要对数据 进行实时处理 ,所以必须将数据快速传送 ,这就要求数据的物理传输通路有很高的速度。当几个站同时需要发送数据时 ,就要求快速地将总线进行分配。实时处理通过网络交换的数据有很大的不同。一个快速变化的物理量需要更频繁地传送数据并要求更短的延时 。 CAN 总线进行数据传送的格式以报文为单位 ,报文的优先级在 11 位标识符中结合 ,具有最低二进制数据的标识符有最高的优先级 1。这种优先级具有唯一性和确定性,即一旦被系统确立后就无法再更改。总线读取中的冲突便可通过位仲裁来解决。
20、 ( 5)帧检查:所谓帧检查就是通过检查帧的格式与大小来 确定报文的正确性 ,主要用于检查格式上的一些错误。 ( 6)循环冗余检查:为了确保一帧报文的准确性,在其中加入冗余检查位,这样就可以保证报文正确。接收站通过 CRC 检查来判断报文是否出错。 ( 7)数据错误检测:不同于其它总线 ,CAN 协议不能使用应答信息。但是它可以将发生的任何数据错误用信号发出 15。 ( 8)连接: CAN 串行通信线路是一条众多节点均可被连接的总线,理论上,单元数目是无限的,实际上,节点总数受限于延迟时间和总线的电气负载。 CAN协议可使用五种检查错误的方法 ,其中前三种是根据报文的内容检查 。 CAN 总线
21、中继器设计 -电路设计 5 2 CAN的报文格式 在总线中传送的报文 ,每帧由 7 个部分组成。 CAN 协议有两种报文格式 ,它们的区别在于标识符的长短不同 ,标准格式为 11 位 ,扩展格式为 29 位 19。在标准格式中 ,报文的第一位称为帧起始 ,接下来是由 11 位标识符与远程发送请求位 (RTR)组成的仲裁场。 RTR位的作用是标明数据帧还是请求帧 ,在请求帧中不包括数据字节。 控制场由标识符扩展位 (IDE)及一个保留位 (ro)组成 ,其中前者的作用是之处其格式为标准格式还是扩展格式,后者为留给将来扩展使用 6。用来指明数据场中数据的长度 (DLC)的是最后四个字节。数据场包含
22、有 0 8个字节 ,其后有一个用于检测数据错误的循环冗余检查 (CRC)。 应答位和应答分隔符组成了应答场 (ACK)。发送站以隐性电平 (逻辑 1)的方式发送这两位 ,这时正确接收报文的接收站发送主控电平 (逻辑 0)将它覆盖掉。使用这种方法的好处是可以保证网络中至少有一个接收站能够正确的接收到该报文 16。 报文的最后一位由帧结束标出。在相邻的两条报文之间有一个很短的间隔位 ,当没有站进行总线存取时 ,总线将处于空闲的状态。 2 错误的类型 在 CAN总线中有 5种不同错误的类型 。 ( 1) 位错误:将总线电平与发送的位电平进行比较,当两者的电平出现不同时,则表明在该位时刻,出现了一个位
23、错误。 ( 2)填充错误: 如果在一帧报文中出现了 6 个相同位 ,CAN 就自动认定为发生了一个位填充错误。 ( 3) CRC 错误: CRC 序列是由发送器 CRC 计算的结果组成的。如接收器的计算结果与接收到的 CRC序列不相同,则检出一个 CRC错误。 ( 4)形式错误:当固定形式的位场中出现一个或多个非法位时,则检出一个形式错误。 ( 5)应答错误:所谓应答错误,顾名思义就是 如果发送站没有收到接收站明确的应答 ,那么表明帧中出现了错误 ,也就是说 ,ACK场已损坏或网络中的报文无站接收 14。 CAN 总线中继器设计 -电路设计 6 2.3 CAN 总线中继器国内外发展现状 其它现
24、场总线相比 ,CAN 总线具有很多的优点,比如通信速率高、容易实现、且性价比高等。是一种已形成国际标准的现场总线。正是这些特点,使得 CAN总线应用于众多领域 ,具有强劲的市场竞争力。 现场总线是当今自动化领域技术发展的热点之一 ,被誉为自动化领域的计算机局域网。它的出现使分布式控制系统各节点之间的数据通信更加实时、可靠。为很多系统提供了强有力的技术支持。同时采用 CAN 总线可以降 低网络布线的复杂性,提高可靠性和灵活性。在国内外有不少 CAN 总线中继器的设计,比如有使用一片 MCU 加 2 路 CAN控制器的结构实现中继器;基于独立双 CAN 控制器的中继器设计;双 MCU 的CAN 总线中继器的设计。上述方案电路复杂, MCU 与 CAN 控制器通过外部总线连接,对于数据的传输有一定的延迟,并且降低了传输的速率,整体的可靠性与处理速度难以满足日益发展的控制网络的需求。也有基于 ARM7 LPC2119的单芯片 CAN 总线中继器设计,相对于其它设计,此方案有其突出优势。不过LPC2119 只有 2 路内置 CAN 控制器。本设 计采用的是含有 4 路内置 CAN 控制器的 LPC2294,而且考虑到功耗及驱动问题,利用三极管以增大相关芯片的驱动能力,以及设计了大量的抗干扰电路。