基于多主型SPI接口的CAN总线中继器设计

合集下载

基于STM32F407的5路CAN总线扩展设计与实现

基于STM32F407的5路CAN总线扩展设计与实现

基于STM32F407的5路CAN总线扩展设计与实现摘要:针对本单位某测试设备的设计需求,需要用到5路CAN总线接口,利用具有总线协议控制器MCP2515通过主控制器STM32F407的3路SPI接口,实现STM32F407的CAN总线扩展,满足了该设备的控制精度、处理速度以及5路CAN 总线接口的设计要求,具有较强的工程实用价值。

关键词:MCP2515, CAN总线,SPI总线,STM32F4070引言CAN(Controller Area Network)即控制器局域网络总线,是德国博世公司提出的一种串行总线通讯技术,是目前国际上应用最广泛的一种现场总线技术之一。

CAN总线的数据通讯在工业应用中相比其他总线在可靠性、实时性和灵活性等方面具有较大优势[1]。

CAN遵从IOS/OSI模型,采用了其中的物理层、数据链路层,通信速率最高可达到1Mbps(通讯距离不超过40m)。

本公司某测试设备需要5路独立的CAN总线接口,才能满足系统对外部数据的实时采集和控制需求。

控制器芯片STM32F407是STMicroelectronics即意法半导体公司开发的一款32位ARM 内核的微控制器芯片,是目前控制领域流行的处理器之一,该微控制器主频168MHz,带浮点数运算功能,精度和数据处理能力均可以满足系统要求。

仅依靠控制器自带2路CAN总线接口,不能满足系统5路独立CAN总线接口的需求,但是同时又自带有3路SPI(Serial Peripheral Interface)即串行外设接口。

MCP2515是Microchip公司开发的CAN控制器芯片,具有SPI接口的独立CAN控制器,它完全支持CAN V2.0B技术规范,因此可以STM32F407的SPI接口与MCP2515进行多路CAN总线接口扩展。

1 系统硬件电路设计硬件主要包括三部分:STM32F407微控制器,CAN控制器MCP2515,CAN收发器CTM8251。

多路CAN设计

多路CAN设计

基于MCP2515的多路CAN总线接口及驱动程序设计在铁路系统中,为了保证列车的安全运行,需要对铁轨及周围状况进行实时检测。

目前采用的方法是在铁路沿线安装多个检测设备,用于检测洪水、大风、泥石流等自然灾害及轨温等参数。

这些设备一般采用的通信方式是RS232、RS485或CAN,并通过专线连接至监控中心的各个监控设备。

这种方式极大浪费了线路资源,也不易于设备的统一管理。

因此,需要一种安装在铁路沿线的设备,它将附近的检测设备发送的信息统一收集并通过一条专线直接送往监控中心。

为了与多个检测设备通信,必须同时具有多个RS232、RS485和CAN接口。

基于这种应用需要,本文提出了扩展多个CAN总线接口的方法。

1 系统结构1.1 芯片介绍系统采用Atmel公司的AT91RM9200(以下简称“9200”)作为MCU。

该处理器基于ARM920T内核,主频为180 MHz时,性能可达到200MIPS;最高主频为209 MHz。

该处理器还具有丰富的外设资源,非常适合工业控制领域的应用[1];采用的操作系统是ARMLinux,内核版本为2.4.19。

目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(MCP2515等)与MCU 进行通信。

由于本设计采用PC /104总线扩展卡的方式来扩展多个RS232和RS485接口,没有多余的I/O片选线可用,因此最终选用9200的SPI接口与MCP2515进行多路CAN总线接口的扩展。

MCP2515是Microchip公司推出的具有SPI接口的独立CAN控制器。

它完全支持CAN V2.0B技术规范,通信速率最高可达1 Mbps,内含3个发送缓冲器、2个接收缓冲器、6个29位验收滤波寄存器和2个29位验收屏蔽寄存器[2];它的SPI接口时钟频率最高可达10 MHz,可满足一个SPI主机接口扩展多路CAN总线接口的需要。

1.2 系统硬件接口通过9200的SPI接口,连接了5个MCP2515。

一起来了解CAN中继器

一起来了解CAN中继器

一起来了解CAN中继器简介CAN中继器是一种用于CAN总线组网的设备,它可以增加CAN总线的长度和节点数量,提高CAN网络的可靠性和稳定性。

CAN中继器通常具备数据转发、数据隔离、灵活可靠的节点布置等特点,在工业自动化、汽车电子、航空航天等领域有广泛的应用。

工作原理CAN中继器基于CAN总线物理层通信协议,其工作原理可以简单理解为将CAN信号从一个节点转发到另一个节点,起到连接不同CAN总线和节点的作用。

CAN中继器通常有两个CAN总线接口和一个电源接口,其中一个CAN总线接口用于接收信号,另一个CAN总线用于发送信号。

CAN信号由接收端口接收,通过内部的电路或微控制器进行数据处理和过滤,然后从输出端口传输。

CAN中继器还具备数据隔离的功能,它可以在物理和电气方面分别隔离各个CAN网络,防止一个CAN总线故障影响整个网络。

同时,CAN中继器还可以实现节点布置的灵活性,网络节点只需要通过连接中继器扩展即可,而不必添加新的总线。

另外,CAN中继器还能过滤无用数据,不必发送到其他节点,提高网络传输速度。

应用场景CAN中继器广泛应用于工业自动化、汽车电子、航空航天等领域。

其中,在汽车电子领域,CAN中继器被广泛应用于汽车多总线的设计方案中,以实现车辆各个部件之间的互联互通。

例如,在汽车底盘控制系统中,可以利用CAN中继器连接不同物理层的CAN总线,改善车载控制系统的稳定性和可靠性,同时实现更多功能和新的应用。

在工业自动化领域,CAN中继器特别适用于建立大规模的远程监控和控制系统。

例如,在智能配电系统中,可以利用CAN中继器实现电气设备之间的实时监控和控制,为工业自动化的智能化升级提供了新的技术路径。

总结随着CAN总线的广泛应用,CAN中继器作为重要的组网设备,正在受到越来越多的关注和应用。

它不仅具有很好的可靠性和稳定性,还具备节点布置灵活、数据隔离等特点,广泛应用于工业自动化、汽车电子、航空航天等领域,为这些领域的发展提供了强有力的技术支持。

基于软件模拟的SPI端口CAN控制卡的软硬件设计

基于软件模拟的SPI端口CAN控制卡的软硬件设计
率 高 的 现 象 ,本 文 拟 通 过 对 外 围 通 用 端 口 的 软 件 模 拟 ,从 而 达 到 处 理 器 和 S I 口芯 片 的 正 常 通 P 接
讯 ,并且 加入 了对 C N 控 制 卡 ( 于 S I 口通讯 )的硬 件 和软 件设 计 ,并给 出相 关驱动 程序 。 A 基 P 端
了 MO I( s r O t l e n ,MIO ( atrI lv S Mat u a I) e S v S M e n Sae s O t L (C O K u) ,C K L C )三种 传输线 ,四线 工作模 式除 了具
有 以上三条 线 以外 还具 有 C C i S l t S(hp e c)线 ,目的是进 e 行 主从通讯 的时候 进行芯 片选择 ,S I 口的设置 可 以进 P接 行 主从 机 的设 置 ,设为 主模式 时 ,同步时钟 由主机 发出 , 设 为从模 式 时接 收 主机 的时 钟信 号 ,按照 时钟 的跳 动 来 接 收字 符 。因 此在 设 备通 讯 之前 设置 好 正确 的 S I 口 P端 参 数是保证 两机能 正常通讯 的重要前提 。
0 引 言
C N总 线 ,又称控 制 器局 域 网 ,是 现代 汽车技 术 中 A 领 先推 出的一种 多 主机 局部 网 ,由 于其卓 越 的性 能 ,极 高 的可靠性 ,独 特 灵活 的设 计 和低廉 的价 格 ,现 已广 泛 应 用于 工业现场 控制 、智能大厦 、小 区安 防 、交 通工具 、 医疗仪 器 、环境 监控等众 多领域 C N 已被 公认为 几种最 A
常 通 讯 的 目的 。
1 s l 口简 介 P接
S I 口是 一 种标 准 同步 串行 接 口 ,它 具 有标 准 的 P接 通 讯协 议 ,可进行 同步传输 ,从 而提高 了传输 速度 。

采用TMS320F28335的多节点CAN总线通信设计

采用TMS320F28335的多节点CAN总线通信设计

电子设计工程Electronic Design Engineering第29卷Vol.29第7期No.72021年4月Apr.2021收稿日期:2020-04-23稿件编号:202004200作者简介:宋耀东(1982—),男,河南新乡人,硕士研究生。

研究方向:电子控制系统设计。

CAN 总线指的是控制器局域网(Controller AreaNetwork ,CAN )总线,是最先由德国博世公司提出的用于汽车控制的一种实时应用的串行通信协议总线网络,因其具有高性能、高可靠性、高实时性和配置灵活等特点,已经成为世界上应用最多的现场总线之一[1-3]。

标准CAN 协议对物理层及数据链路层进行了定义,但在实际应用中还要对应用层进行协议明确[4-5]。

常见的应用层协议有DeviceNET 、J1939、CANOpen 等,这些协议偏重于通用性,其价格昂贵、结构复杂,不适用于具体应用。

因此,通常需要针对具体应用,根据标准CAN 协议设计相应的具体应用总线协议[6]。

随着航天航空电子综合化技术的发展,航天航空器内部的系统功能复杂化和体量庞大化的同时,不同设备之间需要快速、可靠的通信。

只有采用实时、稳定、可靠的数据传输技术才能实现此种需求[7]。

目前,航天飞行器内部常用总线有1553B 总线、CAN 总线等。

1553B 总线采用双余度和指令/响应方式异步通信的可靠性设计,在提高可靠性的同时,其成本也居高不下;而CAN 总线拥有很高的性价比,采用CAN 总线能够降低飞行器的研制成本[8]。

为满足某航天项目多节点高可靠总线通信的需求,从高性能、高可靠性、低成本的角度设计了一种基于TMS320F28335的CAN 总线的硬件接口、通信协议与软件配置。

1CAN 总线系统硬件接口设计CAN 总线是一种有效支持实时控制或分布式控制的串行通信网络。

CAN 总线中的设备都可以通过其控制单元上的CAN 总线接口进行数据的接收和采用TMS320F28335的多节点CAN 总线通信设计宋耀东,于淼,杜雪,李军(中国电子科技集团公司第二十七研究所,河南郑州450047)摘要:根据CAN 总线通信规范和TMS320F28335处理器eCAN 外设特点,设计了CAN 总线多节点通信网络连接方式及接口电路;根据TMS320F28335处理器eCAN 模块的配置规则,设计了CAN 总线数据帧格式,并给出了设置示例,对该模块进行了软件配置,实现了CAN 总线多节点的收发通信。

基于硬件SPI总线的高速无线传输系统的设计

基于硬件SPI总线的高速无线传输系统的设计

基于硬件SPI总线的高速无线传输系统的设计史星晟;王黎明;韩焱;姚金杰;王飞【摘要】This paper presents a design to achieve high—speed wireless transmission by hardware SPI bus. Based on the principle of synchronous serial communication interface, we use msp430fl49 series Microcontroller as the master, write C language program, the sender to send the data through the SPI interface to the wireless transmission modules with high—speed, high—speed data transmission through a wireless transmission module to the receiving end, to ensure the stability and efficiency of wireless transmission systems. The experiment's results show that: the system is reliable, and it can achieve high — speed wireless transmission with the speed of 1. 3Mb/s.%针对传统中短距离工控中无线传输速率低的问题,根据同步串行通信接口原理,提出一种利用硬件SPI总线实现高速无线收发的系统的设计方案;该设计采用msp430f149系列单片机作为主控,将发送端要发送的数据通过SPI接口高速传输给无线传输模块,通过无线传输模块将数据高速传输至接收端,保证无线传输系统的稳定性和高效性;实验结果表明:该系统稳定可靠,可以以1.3Mb/s的速率实现数据的高速无线传输.【期刊名称】《计算机测量与控制》【年(卷),期】2012(020)012【总页数】3页(P3315-3316,3328)【关键词】SPI总线;无线通信;高速传输;射频【作者】史星晟;王黎明;韩焱;姚金杰;王飞【作者单位】中北大学仪器科学与动态测试教育部重点实验室,太原030051;中北大学仪器科学与动态测试教育部重点实验室,太原030051;中北大学仪器科学与动态测试教育部重点实验室,太原030051;中北大学仪器科学与动态测试教育部重点实验室,太原030051;中北大学仪器科学与动态测试教育部重点实验室,太原030051【正文语种】中文【中图分类】TN990 引言伴随着中短距离无线通信技术的迅猛发展,无线数传芯片以其功耗小、成本低、体积小,使用方便等特点,在工业控制和生产生活领域得到了广泛应用。

CAN总线网络设计

1 引言can(controller area network)即控制器局域网络,最初是由德国bosch公司为解决汽车监控系统中的自动化系统集成而设计的数字信号通信协议,属于总线式串行通信网络。

由于can总线自身的特点,其应用领域由汽车行业扩展到过程控制、机械制造、机器人和楼宇自动化等领域,被公认为最有发展前景的现场总线之一。

can总线系统网络拓扑结构采用总线式结构,其结构简单、成本低,并且采用无源抽头连接,系统可靠性高。

本设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等持点。

2 系统总体方案设计整个can网络由上位机(上位机也是网络节点)和各网络节点组成(见图1)。

上位机采用工控机或通用计算机,它不仅可以使用普通pc机的丰富软件,而且采用了许多保护措施,保证了安全可靠的运行,工控机特别适合于工业控制环境恶劣条件下的使用。

上位机通过can总线适配卡与各网络节点进行信息交换,负责对整个系统进行监控和给下位机发送各种操作控制命令和设定参数。

网络节点由传感器接口、下位机、can控制器和can收发器组成,通过can收发器与总线相连,接收上位机的设置和命令。

传感器接口把采集到的现场信号经过网络节点处理后,由can收发器经由can总线与上位机进行数据交换,上位机对传感器检测到的现场信号做进一步分析、处理或存储,完成系统的在线检测,计算机分析与控制。

本设计can总线传输介质采用双绞线。

图 1 can总线网络系统结构3 can总线智能网络节点硬件设计本文给出以arm7tdmi内核philips公司的lpc2119芯片作为核心构成的智能节点电路设计。

该智能节点的电路原理图如图2所示。

该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步的说明。

图2 can总线智能网络点3.1 lpc2119处理器特点lpc2119是philips公司推出的一款高性价比很处理器。

带有SPI接口的独立CAN控制器MCP2515

主动错误帧 消极错误帧
过载帧
与主动错误帧格式一样,但是其只出现在数据帧、远 程帧之间。
帧空间
5.11 SPI接口 接口
SPI指令集 指令集
5.11 SPI接口 接口
读指令
在读操作开始时,CS引脚将被置为低电平。随后读指令和8仪地 址码(A7~A0)将被依次送入MCP2510在接收到读指令和地址码之 后,McP2510指定地址寄存器中的数据将被移出通过SO引脚进 行发送。每一数据字节移出后,器件内部的地址指针将自动加一 以指向下一地址。因此可以对下一个连续地址寄存器进行读操作。
5.1.2 MCP2510控制器概述 控制器概述
CAN协议引擎。 用来为器件及其运行进行配置的控制逻辑和SRAM寄存器。 SPI协议模块。
5.1.3 发送 接收缓冲器 发送/接收缓冲器
MCP2510具有3个发送缓冲器和2个接收缓冲器,2个验 收屏蔽寄存器(分别对应不同的接收缓冲器),以及6个验 收过滤寄存器。
5.5 位定时
时间份额
对时间段编程 1)传播段 相位缓冲断 相位缓冲断 。 传播段+相位缓冲断 相位缓冲断2。 传播段 相位缓冲断1≥相位缓冲断 2)传播段 相位缓冲断 传播段+相位缓冲断 传播段 相位缓冲断l≥TDELAY。 。 3)相位缓冲断 同步跳转宽度。 相位缓冲断2>同步跳转宽度 相位缓冲断 同步跳转宽度。
5.1.4 CAN协议引擎 协议引擎
5.2 CAN报文帧 报文帧
标准数据帧
5.2 CAN报文帧 报文帧
扩展数据帧 仲裁字段的前11位为29位标识符的最有效位(基本圆)。 紧随这11位的是替换远程请求(SRR)位,定义为隐性 状态。SRR位之后是IDE位,该位隐性时表示这是扩展 的CAN帧。

can总线接口电路设计

can总线接口电路设计Can总线是一种用于车辆电子系统中的通信接口,它在汽车电子技术中起着至关重要的作用。

本文将围绕Can总线接口电路的设计展开讨论。

Can总线是Controller Area Network的缩写,它是一种串行通信协议,旨在提供高可靠性、实时性和高带宽的数据通信。

Can总线接口电路的设计是为了实现Can总线与其他电子设备的连接和数据传输。

我们需要考虑Can总线的物理层接口电路。

Can总线使用差分信号传输,因此需要设计差分发送器和差分接收器。

差分发送器将逻辑高和逻辑低分别转换为正向和负向的差分信号,而差分接收器则将差分信号还原为逻辑高和逻辑低。

这样的设计可以提高信号的抗干扰能力,保证数据的可靠传输。

我们需要考虑Can总线的协议层接口电路。

Can总线采用帧格式进行数据传输,因此需要设计帧格式解析器和帧格式生成器。

帧格式解析器用于解析接收到的帧数据,提取出其中的控制信息和数据信息。

而帧格式生成器则用于生成符合Can总线协议的帧数据,并将其发送出去。

这样的设计可以保证数据的正确解析和生成,实现与其他设备的有效通信。

除了物理层和协议层接口电路,Can总线接口电路还需要考虑其他功能模块。

例如,需要设计时钟模块来提供时钟信号,以保证数据传输的同步性。

同时,还需要设计中断模块来处理Can总线接收到的中断信号,及时响应和处理来自其他设备的请求。

在Can总线接口电路的设计中,还需要考虑电路的功耗和成本。

可以采用低功耗的设计方案,选择低功耗的器件和电源管理电路,以降低整个系统的功耗。

同时,还需要根据实际的应用需求选择适当的元器件和电路结构,以降低系统成本。

Can总线接口电路的设计是为了实现Can总线与其他电子设备的连接和数据传输。

它涉及到物理层接口电路、协议层接口电路以及其他功能模块的设计。

在设计过程中,需要考虑信号的抗干扰能力、数据的可靠传输、接口的兼容性、功耗的控制以及成本的降低等因素。

通过合理的设计和选型,可以实现高可靠性、实时性和高带宽的数据通信,进而提升车辆电子系统的性能和功能。

can、i2s、i2c、spi、ssp总线简介【优质】

一、SPI总线说明串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。

SPI 用于CPU与各种外围器件进行全双工、同步串行通讯。

SPI可以同时发出和接收串行数据。

它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。

这些外围器件可以是简单的TTL移位寄存器,复杂的LCD显示驱动器,A/D、D/A转换子系统或其他的MCU。

当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。

发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。

主SPI的时钟信号(SCK)使传输同步。

其典型系统框图如下图所示。

SPI主要特点有: 可以同时发出和接收串行数据;∙可以当作主机或从机工作;∙提供频率可编程时钟;∙发送结束中断标志;∙写冲突保护;∙总线竞争保护等。

图2示出SPI总线工作的四种方式,其中使用的最为广泛的是SPI0和SPI3方式(实线表示):SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。

如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。

时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。

如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。

SPI主模块和与之通信的外设音时钟相位和极性应该一致。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

万方数据
 万方数据
 万方数据
 万方数据
基于多主型SPI接口的CAN总线中继器设计
作者:王亮, 杜洪亮, 魏衡华, 张培仁, WANG Liang, DU Hong-liang, WEI Heng-hua,ZHANG Pei-ren
作者单位:王亮,魏衡华,张培仁,WANG Liang,WEI Heng-hua,ZHANG Pei-ren(中国科学技术大学自动化系,合肥,230027), 杜洪亮,DU Hong-liang(中国人民解放军炮兵学院基础部计算中心,合肥
,230031)
刊名:
自动化与仪表
英文刊名:AUTOMATION & INSTRUMENTATION
年,卷(期):2009,24(3)
被引用次数:8次
参考文献(5条)
1.张培仁基于C语言C8051F系列微控制器原理和应用 2007
2.Dawarren;潘琢金C8051F040/1/2/3/4/5/6/7混合信号ISP FLASH微控制器数据手册 2004
3.Robert Bosch Bosch_CAN_User's_Guide 2006
4.杨亚江,李国阳,韦巍基于SPI总线技术的双CPU系统设计在多路电能表电量采集器中的应用[期刊论文]-机电工程 2002(5)
5.高红红基于双单片机的数据通信模块的设计[期刊论文]-现代电子技术 2005(23)
本文读者也读过(6条)
1.戴敏.曹杰.DAI Min.CAO Jie基于ARM的单芯片CAN总线中继器设计[期刊论文]-测控技术2010,29(5)
2.邹继军.饶运涛CAN中继器设计及其应用[期刊论文]-电子技术应用2003,29(8)
3.陈松立.宋慧敏远程多分站测控系统[期刊论文]-中国矿业大学学报2003,32(5)
4.胡永忠.陈春俊.HU Yong-zhong.CHEN Chun-jun基于ISM频段的无线通信中继器的设计[期刊论文]-昆明理工大学学报(理工版)2007,32(5)
5.王伟.吴海涛.WANG WEI.WU HAITAO基于FPGA的高速数据中继器设计[期刊论文]-微计算机信息2008,24(5)
6.艾萱.AI Xuan基于独立双CAN控制器的中继器设计与实现[期刊论文]-现代电子技术2007,30(21)
引证文献(5条)
1.潘铜,叶小荣,张娜,范建峰STM32的CAN总线中继器设计及应用[期刊论文]-单片机与嵌入式系统应用 2011(01)
2.金勇,赵宗平,于宁宁,杜存功基于LPC2194的4路CAN网桥设计[期刊论文]-单片机与嵌入式系统应用 2009(11)
3.陈雄威基于CAN控制器MCP2515-I/SO的模拟SPI串口通信的应用[期刊论文]-电脑知识与技术 2009(26)
4.戴敏,曹杰基于ARM的单芯片CAN总线中继器设计[期刊论文]-测控技术 2010(05)
5.曹煜泓列车运行监控记录装置控制主机的研究与开发[学位论文]硕士 2011
引用本文格式:王亮.杜洪亮.魏衡华.张培仁.WANG Liang.DU Hong-liang.WEI Heng-hua.ZHANG Pei-ren基于多主型SPI接口的CAN总线中继器设计[期刊论文]-自动化与仪表 2009(3)。

相关文档
最新文档