CAN总线单片机实现通信网络设计
基于单片机的CAN总线通讯实现
基于单片机的CAN总线通讯实现CAN总线通讯是一种广泛应用于车辆电子系统、工业自动化和机器控制等领域的通讯协议,它具有高可靠性、实时性强和抗干扰能力强等优点。
在基于单片机的CAN总线通讯实现中,单片机作为CAN节点可以通过CAN总线与其他节点进行数据的发送和接收。
一、硬件搭建1.单片机选型在CAN总线通讯实现中,可以选择支持CAN总线的单片机芯片。
常见的单片机有STC12C5A60S2、AT89C51CC03等。
2.CAN总线收发器CAN总线收发器是实现单片机与CAN总线之间相互之间通信的关键组件。
常见的CAN收发器有TJA1050、SN65HVD230等。
3.连接线需要准备好与单片机芯片和CAN总线收发器相适应的连接线,如杜邦线等。
二、软件实现1.硬件初始化首先,在单片机中需要初始化相关的硬件资源,包括引脚设置、定时器设置等。
同时,也需要对CAN总线收发器进行初始化设置。
2.CAN总线配置在单片机中,需要配置CAN总线相关的寄存器,包括波特率设置、帧过滤设置等。
波特率的设置需要与其他CAN节点保持一致才可以正常通信。
3.数据发送单片机向CAN总线发送数据时,首先需要检查发送缓冲区是否为空。
如果不为空,则需要等待缓冲区可用,并将要发送的数据写入到发送缓冲区中。
随后,单片机向CAN总线发送一个请求发送的指令,然后等待发送完成的中断信号。
4.数据接收单片机接收CAN总线数据时,需要首先检查接收缓冲区是否为空。
如果接收缓冲区有数据,则单片机将读取缓冲区数据,并进行数据的处理。
5.中断处理CAN总线通讯中,可以通过中断的方式来处理数据的发送和接收。
单片机通过设置相关中断触发源和中断服务程序来实现数据的异步传输。
三、通讯协议CAN总线通讯中,可以使用标准CAN和扩展CAN两种协议。
标准CAN协议使用11位标识符,扩展CAN协议使用29位标识符。
在通讯过程中,需要设置相关的协议参数,包括标识符、数据长度码、帧类型等。
用87C196NT单片机实现CAN总线通信
中 L L CAN 是 带 光 隔 的 CAN 控 制 器 和 物 理 总 线 间 T ・
AD R —D — R 丽 W 丽 AL E 丽 Vc c GND
络 负 载 很 重 的 情 况 下 也 不 会 出 现 网络 瘫痪 。 直接 通信 距离 最 大可达 l m ( 率 5 k / 0k 速 bs 以 下 ) 最 高 通 信 速 率 可 达 l b s ( 时 距 离 最 长 , M / 此 为 4 m ) 节 点 数 可 达 l 0个 , 通 信 介 质 可 以 是 双 0 l 绞 线 、 同 轴 电缆 或 光 导 纤 维 。 CAN 总 线 通 信 接 口 中 集 成 了 CAN 协 议 的 物 理 层 和 数 据 链路 层 功 能 , 可完 成 对 通 信 数 据 的 成帧
处 理 , 包 括 位 填 充 、数 据 块 编 码 、循 环 冗 余 检 验 、
图 1 L L C N收 发 器 内 部 逻 辑 功 能 图 T— A
3 丰 - 2 哼 ・入式冬 用_ 啊 健 田 圈
维普资讯
雌
表 1 L L C N引 脚 定 义 T -A
本 设 计 采 用 I tl 9 ne l 6系 列 中 的 8 Cl 6 7 9 NT单 片
机 。 8 C1 6 7 9 NT具 有 lMB的 寻 址 空 间 , 本 身 不带 CAN 控 制 器 , 所 以 要 实 现 与 CAN 总 线 之 间 的 通 信 , 需
外 加 CAN 控 制 器 和 CAN 驱 动 芯 片 。 在 本 设 计 中 我 们 采用 L LC T — AN 。L L C T . AN 是 一 种 C AN 总 线 控 制 、 驱 动 隔 离 收 发 器 , 由 CAN 控 制 器 芯 片 P CA8 C2 0、 2 0 C AN 驱 动 芯 片 P A8 C 5 C 2 2 0、 l MHz 晶振 及 光 隔 电 6 的 路 用 厚 膜 封 装 而 成 。 它 只 支 持 标 准 信 息 帧 格 式 , 其 内 部 逻 辑 功 能 如 图 l 示 。 L L CAN 引 脚 定 义 如 表 所 T .
CAN总线数据通讯功能设计
CAN总线数据通讯功能设计摘要:近年来,社会进步迅速,我国的智能化建设的发展也有了改善。
CAN(ControllerAreaNtework)即控制器局域网络,最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。
现代汽车越来越多采用电子装置控制,如发动机的定时、注油控制、加速、刹车、自动泊车、倒车雷达及复杂的制动防抱死系统(ABS)等。
这些电子装置的控制需实时检测及交换大量的数据,仅使用传统点对点的连接方式来实现子系统之间的随机通信,不但繁琐、昂贵,且难以解决问题。
采用CAN总线上述问题就能得以很好的解决。
因为CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,不分主次,通信灵活;采用短帧结构,数据传输时间短,最大传输数率可达1Mbps(通信距离小于40m)。
CAN总线技术由于高性能、高可靠性及其独特的设计备受人们的重视,经过十几年的发展,该技术已成为所有车载电子控制系统互联、互通的标准,广泛应用于汽车电子监测系统。
关键词:CAN总线;数据通讯;功能设计引言随着汽车的普及,人们对汽车舒适度要求越来越高,使得汽车电子技术发展迅速,越来越多的汽车电子控制单元(ElectronicControlUnit,ECU)被应用于汽车控制。
诊断功能的实现是ECU开发过程中的重要部分,对诊断功能进行集成测试是为了验证功能实现与设计规范的一致性。
1方案的实现电路主要由四个部分构成:微控制器、独立CAN通信控制器、CAN总线收发器、高速光耦。
微控制器负责CAN通信控制器的初始化。
CAN通信控制器有发送和接收两端,它能够同时读写总线,这个功能对于错误检测与总线仲裁都很重要,因此通过控制CAN通信控制器实现数据的接收和发送通讯任务。
CAN通信控制器要通过CAN总线收发器上的线驱动器和总线接口进行总线的读写,总线是通过典型的双绞线传输差分电压信号,处理CAN总线两端的节点应设置跨接在两根双绞线间的终端匹配电阻。
基于单片机的CAN总线数据采集设计与实现
基于单片机的CAN总线数据采集设计与实现一、背景介绍CAN(Controller Area Network)总线是一种现代化的通信协议,在汽车、工业控制和航空航天等领域得到了广泛的应用。
CAN总线具有高速传输、可靠性强、抗干扰能力强等特点,因此成为了现代化设备控制系统中不可或缺的部分。
基于单片机的CAN总线数据采集设计与实现,则是将单片机与CAN总线相结合,实现对CAN总线上的数据进行采集与处理,为现代化设备控制系统提供了稳定可靠的数据采集手段。
本文将介绍基于单片机的CAN总线数据采集的设计与实现过程。
二、设计原理1. CAN总线基本原理CAN总线是由BOSCH公司在1986年提出的一种串行通信协议,用于解决现代汽车中分布式电子系统的通信问题。
CAN总线采用了差分信号传输、抗干扰能力强、支持多主机通信等特点,因此在汽车电子领域得到了广泛的应用。
CAN总线的基本原理是采用数据帧的方式进行通信,数据帧包括了ID域、数据域、CRC校验等部分,通过CAN总线共享数据,实现了各个节点之间的通信。
在采集数据的过程中,需要对CAN总线上的数据进行解析,以获取需要的数据信息。
2. 单片机与CAN总线的通信单片机与CAN总线的通信可以通过CAN控制器实现,通常采用CAN芯片作为接口。
CAN 芯片负责与CAN总线进行通信,并将数据传输给单片机,单片机利用自身的处理能力对数据进行解析、处理,实现对CAN总线上数据的采集与控制。
在单片机与CAN总线的通信中,需要定义好通信协议,包括数据帧格式、ID定义、数据解析方式等,以确保单片机能够准确地获取需要的数据信息。
三、设计流程基于单片机的CAN总线数据采集设计与实现的流程包括了硬件设计、软件设计与测试验证三个基本环节。
1. 硬件设计硬件设计主要包括了单片机选型、CAN芯片选型、电路连接设计等内容。
在选型时需要考虑单片机的处理能力、通信速率要求、接口协议支持等因素,根据系统的应用场景选择合适的单片机和CAN芯片。
基于单片机的CAN总线通讯实现
CAN总线通信基于51单片机运用第一章媒介控制器局域网(CAN-Controller Area Network)属于现场总线(Fieldbus)的范畴,是浩瀚的属于现场总线尺度之一,它实用于工业控制体系,具有通信速度高.靠得住性强.衔接便利.机能价钱比高级诸多特色.它是一种有效支撑散布式控制或及时控制的串行通信收集,以其短报文帧及CSMA/CD-AMP (带有信息优先权及冲突检测的载波监听多路拜访)的MAC(序言拜访控制)方法而倍受工业主动化范畴中装备互连的厚爱.CAN的运用范围普遍从高速收集到低成本的多线路收集,它可以运用于汽车体系.机械.技巧装备和工业主动化里几乎任何类型的数据通信.跟着盘算机硬件.软件及集成电路技巧的敏捷成长,同时花费类电子产品.盘算机外设.汽车和工业运用等的需求不竭增长.高速.高靠得住和低成本的通信介质的请求也随之进步.现场总线是当今主动化范畴技巧成长的热门之一,它为散布式控制体系实现各节点之间及时.靠得住的数据通信供给了强有力的技巧支撑. 微处理器中经常运用的串行总线是通用异步吸收器传输总线(UART).串行通信接口(SCI).同步外设接口(SPI).内部集成电路(I2C)和通用串行总线(USB),以及车用串行总线,包含控制器区域网(CAN)和当地互连网(LIN)等.这些总线在速度.物理接口要乞降通信办法学上都有所不合.在盘算机数据传输范畴内,长期以来运用的通信尺度,尽管被普遍运用,但是无法在须要运用大量的传感器和控制器的庞杂或大范围的情形中运用.控制器局部网CAN(CONTROLLER AERANETW0RK)就是为顺应这种须要而成长起来的.跟着汽车电子技巧的成长,花费者对于汽车功效的请求越来越多,汽车上所用的电控单元不竭增多,电控单元之间信息交流的需求,使得电子装配之间的通信越来越庞杂,同时意味着须要更多的衔接旌旗灯号线,这就促进了车用总线技巧的成长.CAN 总线的消失,就是为了削减不竭增长的旌旗灯号线,所有的外围器件都可以被衔接到总线上因为CAN总线具有靠得住性高.及时性好.成本合理等长处,逐渐被运用于如船舶.航天.工业测控.主动化.电力体系.楼宇监控等其他范畴中.1.2 CAN总线的特色80年月末,在汽车工业中,因为浩瀚的控制装备与测试仪器之间须要进行大量数据交流,传统的总线无法知足需求,德国BOSCH公司提出了CAN 总线,这种新的串行数据通信协定.CAN总线即控制器局域网总线,通信接口中集成了CAN 协定的物理层和数据链路层功效,可完成对通信数据的成帧处理,包含位填充.数据块编码.轮回冗余磨练.优先级判别等项工作.CAN (Controller Area Network)属于现场总线的一种,在传统的工业控制范畴中,大部分的通信采取RS232.RS485或RS422总线.比拟之下,RS232.RS485或RS422总线有着通信距离近,通信速度慢,抗干扰机能差等缺陷.通信一般采取主从方法,经由过程主站查询方法进行通信,及时性.靠得住性较差.当体系有错误,多节点同时向总线发送数据时,导致总线呈现短路,从而破坏某些节点.基于CAN 总线的散布式控制体系在许多方面具有明显的优胜性.L而CAN 的电路构造简略,请求的线数较少,只须要两根线与外部器件互联,使得各控制单元可以或许经由过程CAN总线共享所有的信息和资本.达到简化布线.削减传感器数目.防止控制功效反复的后果.CAN 具有的完美的通信协定,并且可以经由过程CAN 控制器芯片及其接口芯片来实现,从而大大降低体系开起事度,缩短了开辟周期.CAN支撑散布式控制或及时控制,工作于多主方法,收集上各个节点均可以在任一时刻主动发送信息,可以点对点,点对多点以及全局广播方法收发数据.收分散的各节点都可依据总线拜访优先权,采取非破坏性总线总裁技巧,通信速度快,靠得住性高,可大大节俭了总线仲裁冲突时光,在收集负载很重的情形下也不会消失收集瘫痪.CAN没有采取站地址编码,而是对通信数据进行编码,这可使不合的节点同时吸收到数据,这使得CAN 总线的数据通信及时性强,并且轻易构成冗余构造,进步体系的靠得住性和体系的灵活性.它具有如下特色:1)CAN 是到今朝为止为数不久不多的有国际尺度的现场总线,总线协定已被国际尺度化组织认证,技巧比较成熟,控制的芯片已经商品化,性价比高,特别实用于散布式测控体系之间的数通信.2)CAN总线没有采纳传统的站地址编码,不合错误节点进行地址划定,而是把通信数据块进行编码.这种办法的长处可使收集内的节点个数在理论上不受限制,数据块的标识码可由1l位或29位二进制数构成.这种按数据块编码的方法,运用报文的标识符来指定报文的优先级以及报文的内容,高优先级的节点享有传送报文的优先权.还可使不合的节点同时吸收到雷同的数据,这一点在散布式控制体系中异常有效.采取短帧构造,每一帧的有效字节数为8个,数据传输时光短,受干扰的概率低,从新发送的时光短,从而包管了通信的及时性.3)CAN 总线采取了多主竞争式总线构造,通信介质可所以双绞线.同轴电缆或光导纤维,可以多个主站运行并且疏散仲裁.CAN总线上随便率性节点可以点对点,一对多及广播分散方法传送和接收数据,并且可以随便率性时刻主动地向收集上其它节点发送信息而不分主次,是以可在各节点之间实现自由通信.CAN 通信距离最大是1O公里(设速度为5Kbps),最大通信速度为1Mbit /s(设通信距离为4O米).4)CAN 采取非破坏性的总线仲裁技巧,即载波侦听多路拜访/冲突检测(CSMA/CD)的总线仲裁方法,当多个节点同时发送数据时,优先级低的节点会主动停滞发送,高优先级的节点可中断传输,节俭总线仲裁时光.防止多个节点同时开端发送新闻而造成总线冲突,包管优先级高的报文可以或许优先发送.5)CAN总线协定采取了完美的错误检测与错误处理机制,包含了CRC校验.错误报文主动重发.错误状况断定.暂时错误主动恢复等措施,从而很好的包管了数据通信的靠得住性.节点在错误轻微的情形下,具有主动关黔6)闭总线的功效,割断它与总线的接洽,以使总线上其他操纵不受影响.CAN 总线采取双线串行通信方法,检错才能强,可在高噪声干扰情形中工作.具有及时性强.传输距离较远.抗电磁干扰才能强.成本低等长处.可依据报文的ID 决议吸收或屏障该报文.靠得住的错误处理和检错机制,发送的信息遭到破坏后,可主动重发,报文不包含源地址或目标地址,仅用标记符来指导功效信息.优先级信息.CAN卓著的特点.极高的靠得住性和奇特的设计,特别合适工业进程监控装备的通信,是以,越来越受到工业界的看重,并已公以为最有前程的现场总线之一.CAN总线经由过程CAN 控制器接口芯片的输出端CANH和CANL与物理总线相连,而CANH端的状况只能是高电平或悬浮状况,CANL端只能是低电平或悬浮状况.CAN 总线的旌旗灯号状况为2种,隐位与显位.当隐位与显位发送消失竞争时,最终成果是显位.在处理冲突时,因为该旌旗灯号的二值且“单稳态”的特点变得简略,报错帧可以使所有节点很轻易地取得一致性的数据,并且包管了节点状况的同步,这种二值特点对CAN 总线的靠得住性有很大包管.并且CAN 节点在消失轻微错误的情形下,可以主动封闭输出,防止总线上其他节点的操纵受影响,从而包管不会因个体节点消失问题,而使得总线处于”逝世锁”状况.CAN 总线具有位填充.回读.错误束缚.出错主动重发等长处,同时通信速度高.通信距离远.轻易实现.且性价比高.1.3 CAN总线的成长远景CAN 最初是用于汽车行业的监测.控制,用来解决汽车内部的庞杂硬件旌旗灯号接线的低成本通信总线,现今CAN总线已经被公以为一种靠得住的收集总线在汽车上得以运用.CAN总线共享信息和资本,总线的数据通信进步了体系靠得住性.及时性.灵活性.可保护性,更好地匹配和调和各个控制体系.跟着汽车电子技巧的成长具有高度灵活性.简略的扩大性.优秀的抗干扰性和处理错误才能的CAN 总线,越来越受到人们的看重,它在汽车范畴上得到了普遍的运用.世界上一些有名的汽车制作厂商,都采取了CAN总线来实现汽车内部控制体系与各检测和履行机构间的数据通信.近年来CAN 总线已成长成为汽车电子体系的主流总线,已形成国际尺度的现场总线,并由ISO正式颁布了IS011898CAN 高速运用尺度和ISO11519CAN 低速运用尺度,这为CAN 总线的尺度化.规范化摊平了道路.CAN 总线以其高机能,高靠得住性及奇特的设计,在现代散布式测量与控制技巧范畴中的运用已愈来愈普遍.同时因为CAN 总线自身的特色,其运用范围今朝已不再局限于汽车行业,而是转向铁路.交通.主动控制.航空航天.帆海.机械工业.机械人.医疗器械及安防等范畴成长.CAN总线的成长已经颇具范围,它不但在汽车范畴的运用占领必定优势,在其他工业范畴内也占领一席之地.这要归根于通信技巧的不竭进步,对通信本身的请求不竭进步,这种形势下CAN 总线的优势在于其优胜的抗干扰才能和性价比.尽管CAN总线有必定局限,甚至还有破绽,但对CAN 总线的改良还在中断,信任在将来的成长中,CAN 总线经由过程不竭的更新和改良,可以或许取得更大的进步.第2章体系计划总体设计2.1 体系道理当CAN总线上的一个节点(站)发送数据时,它以报文情势广播给收分散所有节点.对每个节点来说,无论数据是否是发给本身的,都对其进行吸收.每组报文开首的11位字符为标识符,界说了报文的优先级,这种报文格局称为面向内容的编址计划.在同一体系中标识符是独一的,不成能有两个站发送具有雷同标识符的报文.当几个站同时竞争总线读取时,这种设置装备摆设十分重要CAN总线的报文发送和吸收.当一个站要向其它站发送数据时,该站的CPU将要发送的数据和本身的标识符传送给本站的CAN芯片,并处于预备状况;当它收到总线分派时, 转为发送报文状况.CAN芯片将数据依据协定组织成必定的报文格局发出,这时网上的其它站处于吸收状况.每个处于吸收状况的站对吸收到的报文进行检测,断定这些报文是否是发给本身的,以肯定是否吸收它.因为CAN总线是一种面向内容的编址计划,是以很轻易树立高水准的控制体系并灵活地进行设置装备摆设.我们可以很轻易地在CAN总线中加进一些新站而无需在硬件或软件长进行修正.当所供给的新站是纯数据吸收装备时,数据传输协定不请求自力的部分有物理目标地址.它许可散布进程同步化,即总线上控制器须要测量数据时,可由网上获得,而无须每个控制器都有本身自力的传感器. 2.2 体系总体设计方框图图2-1 体系总体设计方框图2.2.1 51单片机体系的控制芯片采取AT89S52单片机来控制,因为AT89S52运用比较普遍,并且成本低,操纵控制简略,功耗较低,运行靠得住性强.体系本身对处理器处理速度的请求不是很高,所以选择该款单片机.AT89S52是一种低功耗.高机能CMOS8位微控制器,具有8K 在体系可编程Flash 存储器.运用Atmel 公司高密度非易掉性存储器技巧制作,与工业80C51 产品指令和引脚完全兼容.片上Flash许可程序存储器在体系可编程,亦适于通例编程器.在单芯片上,失去灵活的8 位CPU 和在体系可编程Flash,使得AT89S52为浩瀚嵌入式控制运用体系供给高灵活.超有效的解决计划.AT89S52具有以下尺度功效: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗准时器,2 个数据指针,三个16 位准时器/计数器,一个6向量2级中断构造,全双工串行口,片内晶振及时钟电路.别的,AT89S52 可降至0Hz 静态逻辑操纵,支撑2种软件可选择节电模式.余暇模式下,CPU停滞工作,许可RAM.准时器/计数器.串口.中断中断工作.掉落电呵护方法下,RAM内容被保管,振荡器被冻结,单片机一切工作停滞,直到下一个中断或硬件复位为止.图2-2 AT89S52引脚构造图2-3 AT89S52内部构造图➢VCC : 电源➢GND: 地➢P0 口:P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL逻辑电平.对P0端口写“1”时,引脚用作高阻抗输入.当拜访外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下,P0具有内部上拉电阻.在flash编程时,P0口也用来吸收指令字节;在程序校验时,输出指令字节.程序校验时,须要外部上拉电阻.➢P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平.对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输进口运用.作为输入运用时,被外部拉低的引脚因为内部电阻的原因,将输出电流(IIL).此外,P1.0和P1.2分离作准时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示.在flash编程和校验时,P1口吸收低8位地址字节.表2-1 P1口引脚功效➢P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平.对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输进口运用.作为输入运用时,被外部拉低的引脚因为内部电阻的原因,将输出电流(IIL).在拜访外部程序存储器或用16位地址读取外部数据存储器(例如履行MOVX @DPTR)时,P2 口送出高八位地址.在这种运用中,P2 口运用很强的内部上拉发送1.在运用8位地址(如MOVX @RI)拜访外部数据存储器时,P2口输出P2锁存器的内容.在flash编程和校验时,P2口也吸收高8位地址字节和一些控制旌旗灯号.➢P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平.对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输进口运用.作为输入运用时,被外部拉低的引脚因为内部电阻的原因,将输出电流(IIL).P3口亦作为AT89S52特别功效(第二功效)运用,如下表所示.在flash编程和校验时,P3口也吸收一些控制旌旗灯号.表2-2 P3口引脚功效➢RS: 复位输入.晶振工作时,RST脚中断2 个机械周期高电平将使单片机复位.看门狗计时完成后,RST 脚输出96 个晶振周期的高电平.特别存放器AUXR(地址8EH)上的DISRTO位可以使此功效无效.DISRTO默认状况下,复位高电平有效.➢ALE/PROG:地址锁存控制旌旗灯号(ALE)是拜访外部程序存储器时,锁存低8 位地址的输出脉冲.在flash编程时,此引脚(PROG)也用作编程输入脉冲.在一般情形下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部准时器或时钟运用.然而,特别强调,在每次拜访外部数据存储器时,ALE 脉冲将会跳过.假如须要,经由过程将地址为8EH的SFR的第0地位“1”,ALE操纵将无效.这一地位“1”,ALE 仅在履行MOVX 或MOVC指令时有效.不然,ALE 将被微弱拉高.这个ALE 使能标记位(地址为8EH的SFR 的第0位)的设置对微控制器处于外部履行模式下无效.➢PSEN:外部程序存储器选通旌旗灯号(PSEN)是外部程序存储器选通旌旗灯号.当AT89S52从外部程序存储器履行外部代码时,PSEN在每个机械周期被激活两次,而在拜访外部数据存储器时,PSEN将不被激活.EA/VPP:拜访外部程序存储器控制旌旗灯号.为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND.为了履行内部程序指令,EA应当接VCC.在flash编程时代,EA也吸收12伏VPP电压.➢XTAL1:振荡器反相放大器和内部时钟产生电路的输入端.➢XTAL2:振荡器反相放大器的输出2.2.2 CAN总线收发器PCA82C250 是CAN 协定控制器和物理总线的接口这个器件对总线供给不合的发送才能和对CAN控制器供给不合的吸收才能.图2-4 82C250引脚构造 表2-3 82C250引脚管脚功效描写图2-5 82C250方框图功效描写:PCA82C50 是CAN 协定控制器和物理总线的接口,它重要用于汽车里的高速运用(高达1Mbaud).这个器件对总线供给不合的发送才能和对CAN 控制器供给不合的吸收才能完全和ISO11898尺度兼容.限制的电流值呵护吸收器输出级,防止阳极和阴极的短路,尽管在默认的前提下功率消费是增长的这个特点值将防止发送器输出级的破坏.假如节点温度超出大约160摄氏度,发送器限制的电流值输出被降低因为发送器占去大部分的功率消费,这将导致降额功耗和较低的片内温度,IC 中的其它部分在运用中将保持不变,当总线短路的时刻热呵护异常须要.这个CANH CANL 线也被呵护防止主动运作进程中电流的瞬变.表2-4 CAN 收发器真值表标识表记标帜 管脚功效描写TXD 1 1 发送数据输入GND 2 2 接地 VCC 3 3 供给电压 RXD 4 4 吸收数据输出 Vref 5 5 参考电压输出 CANL 6 6 低电平CAN 电压输入/输出 CANH 7 7 高电平CAN 电压输入输出 RS88 Slope 电阻输入留意:X=随便值表2-5 管脚 RS真值表管脚8 RS 有三种不合的工作模式可被选择: 高速,备用,斜率控制.对于高速工作模式,发送器输出级晶体管被尽可能地快启动和封闭,在这种模式下,没有措施用于限制上升和降低的斜度.建议运用屏障电缆可防止RFI 这种问题.经由过程把管脚8接地选择这个模式.对于低速或较短的总线长度,可运用一种没有屏障的双绞线或平行线.对于降低 RFI,上升和降低的斜率是个限制值,上升和降低的斜率可以或许被编程,经由过程从管脚8 接一个电阻至地,这个斜率和管脚8 的电流输出成比例.假如高电平被接至管脚8 ,电路进入低电流呵护模式.在这种模式下,发送器被封闭,吸收器开至低电流.假如控制位被检测(不合的总线电压<0.9V), RXD 将被开至低电平.这个微型控制器应对这个前提有所反响,经由过程转换收发器至正常工作状况.(经由管脚8)因为这个吸收器在备用模式下比较慢,第一条信息会丧掉掉落.2.2.3 CAN总线控制器CAN总线控制器选用SJA1000,SJAl000是一个自力的控制器,有两种不合的模式.(1)BasicCAN模式:体系上电后默认的模式,与PCA82C200兼容.(2)PeliCAN模式:支撑CAN2.0B协定划定的所有功效.图2-6 SJA1000引脚构造SJAl000功效模块重要有:接口治理逻辑.吸收FIFO队列.吸收滤波器.发送缓冲器和CAN焦点模块.CAN焦点模块基于CAN2.0B的协定履行对CAN帧的发送和吸收.逻辑治理接话柄现与外部单片机的衔接.SJAlO00的发送缓冲器可以存储一个完全的报文,当单片机开端一个传送时,逻辑治理接口会使CAN焦点模块读发送缓冲器的数据,按照CAN2.OB协定发送数据.当收到一个报文时,cAN焦点控制模块将中断的位转换为尺度的数据存放于吸收过滤器中,经由过程验收码存放器.验收屏障存放器进行过滤处理,将相符标记位请求的数据放人吸收FIF0队列中以下为SJA1000芯片的特色:◆管脚及电气特点与自力CAN总线控制器PCA82C200兼容;◆软件与PCA82C200兼容(缺省为根本CAN模式);◆扩大吸收缓冲器(64字节FIFO);◆支撑协定;◆同时支撑11位和29位标识符;◆位通信速度为1Mbits/s;◆加强CAN模式(PeliCAN);◆采取24MHz时钟频率;◆支撑多种微处理器接口;◆可编程CAN输出驱动设置装备摆设;工作温度范围为-40~+125℃.图2-7 SJA1000内部构造图从芯片的构造图中可以看出,SJA1000型自力CAN总线控制器由以下几部分构成:(1)接口治理逻辑:它吸收来自微处理器的敕令,控制CAN存放器的地址,并为微处理器供给中断和状况信息.(2)发送缓冲器:有13字节长.它位于CPU和位流处理器(BSP)之间,能存储一条将在CAN总线上发送的完全的报文,报文由CPU写入,由SBP读出.(3)吸收缓冲器(RXB.RXFIFO):它是CPU和吸收滤波器之间的接口,用来存储从CAN总线吸收并经由过程了滤波的报文.吸收缓冲器RXB是供给应CPU可拜访的13字节的窗口,这个窗口是属于吸收FIFO(RXFIFO)的一部分,共由64字节长.有了这个FIFO,可以在CPU处理一个报文的同时中断吸收其他到来的报文.(4)吸收滤波器:它把报文头中的标识符和吸收滤波存放器中的内容进行比较,以断定文报文是否被吸收.假如被吸收,报文存入RXFIFO.(5)位流处理器:它是一个控制发送缓冲器.RXFIFO并行数据和CAN总线(串行数据)之间数据的序列产生器,同时它也履行错误检测.仲裁.位填充和CAN总线错误处理功效.(6)位准时逻辑不:它将SJA1000同步于CAN总线上的位流.(7)错误治理逻辑:它按照CAN协定完成错误界定.2.2.4 光耦合器6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850 nm 波长AlGaAs LED 和一个集成检测器构成,其检测器由一个光敏二极管.高增益线性运放及一个肖特基钳位的集电极开路的三极管构成.具有温度.电流和电压抵偿功效,高的输入输出隔离,LSTTL/TTL 兼容,高速(典范为10MBd),5mA的微小输入电流.图2-8 6N137引脚构造特点:①转换速度高达10MBit/s;②摆率高达10kV/us;③扇出系数为8;④逻辑电平输出;⑤集电极开路输出;工作参数:最大输入电流,低电平:250uA 最大输入电流,高电平:15mA 最大许可低电平电压(输出高):0.8v 最大许可高电平电压:VCC 最大电源电压.输出:5.5V 扇出(TTL 负载):8个(最多) 工作温度范围:-40°C t o+85°C 典范运用:高速数字开关,马达控制体系和A/D 转换等.旌旗灯号从脚2 和脚3 输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平.当输入旌旗灯号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对吸收电路加上拉电阻或电压调剂电路.道理如上图所示,若以脚2 为输入,脚3 接地,则真值表如附表所列,这相当于非门的传输,若愿望在传输进程中不转变逻辑状况,则从脚 3 输入,脚 2 接高电平.)表2-7 真值表图2-9 测试电路和波形第3章体系硬件设计3.1体系硬件的根本构成部分该体系的硬件重要包含这几个部分:处理器.CAN总线控制器.CAN总线收发器.构造电路如下:图3-1 体系硬件构造电路3.2 单片机电路设计本设计选择AT89S52单片机.AT89S52自带有片内ROM和必定命量的RAM,一般不须要扩大片外的存储器,并且能和MCS—51产品兼容.本设计选用简略根本的经典复位电路,它运用电容和电阻的充放电来产生一个达到时光请求的中断低电压,并输入到单片机的复位管脚,如下图所示:图3-2 单片机构造电路3.3 CAN总线控制器电路设计SJA1000被设计为周全支撑CAN 2.0B协定,并且支撑多处理器接口,其接口电路十分简略,如下图所示:其电路图如下:。
CAN总线接口在单片机网络通信中的实现方法
CAN总线接口在单片机网络通信中的实现方法CAN(Controller Area Network)总线是一种广泛应用于汽车、工业控制和机器人等领域的串行通信协议。
它在单片机网络通信中具有重要的作用,可以实现高效可靠的数据传输。
本文将介绍CAN总线接口在单片机网络通信中的实现方法。
一、CAN总线的基本原理CAN总线是一种多主机、多从机的总线系统,其基本原理是基于广播方式进行通信。
CAN总线上的每个节点都可以发送和接收数据,它们通过共享线路传递信息。
在CAN总线中,每个节点都有一个唯一的标识符。
当某个节点发送一帧数据时,其他节点会接收到该帧数据并进行处理。
这种广播方式可以实现节点之间的高效通信。
二、CAN总线接口的硬件实现为了在单片机网络通信中实现CAN总线接口,我们需要使用一种具备CAN功能的单片机芯片,并连接相应的硬件电路。
1. CAN控制器:CAN控制器是实现CAN总线通信的核心部件,它负责发送和接收数据,并进行错误检测和纠正。
CAN控制器通常集成在专门的CAN芯片中,也可以作为单片机的一部分。
2. CAN收发器:CAN收发器是将CAN控制器产生的数字信号转换为物理信号,以便在CAN总线上进行传输。
它可以将接收到的差分信号转换为单端信号,并将发送的单端信号转换为差分信号。
3. 终端电阻:CAN总线上的终端电阻用于抵消传输线上的反射信号,并确保正确的信号传输。
终端电阻一般放置在CAN总线的两端。
4. 过滤器电路:过滤器电路用于过滤掉不需要的数据帧,只接收需要的数据帧。
它可以根据CAN帧的标识符进行过滤,提高系统的响应速度。
三、CAN总线接口的软件实现在硬件电路连接完成后,我们还需要编写相应的软件程序来实现CAN总线接口的效果。
1. 硬件驱动:首先,我们需要编写硬件驱动程序,通过设置单片机的寄存器配置CAN控制器和收发器。
这些寄存器包括CAN控制寄存器、接收缓冲区寄存器和发送数据寄存器等。
2. 初始化配置:在使用CAN总线前,我们需要进行初始化配置,包括设置波特率、模式选择、过滤器设置等。
基于单片机的CAN总线通讯实现
基于单片机的CAN总线通讯实现CAN(Controller Area Network)总线是一种现代的串行通信总线,广泛应用于汽车电子系统和工控领域。
它具有高可靠性、抗干扰能力强、高速传输、多节点连接等特点,成为实时控制系统的首选通信方式。
实现基于单片机的CAN总线通讯,需要经过以下几个步骤:1.硬件准备:选择合适的CAN控制器和单片机,常用的CAN控制器有MCP2515、SJA1000等。
接下来需要连接CAN控制器和单片机,包括连接CAN高低线路、配置引脚等。
2.引脚配置:根据所使用的单片机和CAN控制器的规格,配置相应的引脚。
通常需要配置CAN_TX、CAN_RX引脚,同时还需要配置中断引脚。
3. 初始化CAN总线:初始化CAN总线的过程包括设置波特率、模式选择、滤波器设置等。
波特率是通信的重要参数,需要保证发送和接收端的波特率一致,通常使用比较常见的波特率如500kbps。
4.发送数据:CAN总线通信是基于消息的,发送数据需要构建CAN消息帧。
消息帧包括标识符、数据长度、数据内容等。
在发送数据之前,需要准备好发送的数据,并将数据放入CAN消息帧中,最后将消息帧发送到总线上。
5.接收数据:接收数据需要配置CAN总线的工作模式和接收过滤器。
当有数据从总线上接收时,CAN控制器将数据存入接收缓冲器,并产生中断或者置位标志位来提醒主控处理接收到的数据。
6.数据处理:接收到的数据可以根据需要进行处理,包括解析、判断、存储等。
根据数据的标识符和长度等信息,可以将数据分发给不同的处理程序进行处理。
7.错误处理:在CAN总线通信过程中,可能会出现数据错误、通信超时等问题。
需要设置相应的错误处理机制,包括错误标志位的监测、错误计数器的清零等。
8.电源管理:在使用CAN总线通信时,需要合理管理系统的功耗和电源。
对于低功耗应用,可以将CAN控制器和单片机配置为睡眠模式,待接收到唤醒信号后再恢复正常工作。
总结:基于单片机的CAN总线通讯实现需要进行硬件准备、引脚配置、初始化CAN总线、发送数据、接收数据、数据处理、错误处理和电源管理等一系列步骤。
基于单片机的CAN总线系统设计
当 节 点 有 数据 输 入 , 制 器 产 生 中 断 请 求 标 记 , 中 断 服 控 在 务 程 序 内 对 完 成 对 数 据 的 接 收 , C N 口收 到 的数 据根 据 不 将 A
p r c n r l h p ot o to i . c
Ke r s AN o y wo d :C c mmu ia in C n c t ; AN u ;MCU; AN y c r n z t n o bs C S n h ia i o o
1引言
C N 技 术 是 国际 上 应 用最 广泛 的现 场 总线 之 一 , 一 种 A 是 实 时 控 制 的 串行 通 信 网络 。C N 通 信 具 有 十 分 优 越 的 特 点 : A
C N接 口控 制 器 sA 0 0初 始 配 置 ,在 数 据 处 理 阶 段 将 待 发 A J 10
送 数 据 写 入 s A10 , 过 C N总 线 发 送 , 用 中 断 方 式 接 收 J 00通 A 采 C N数 据然 后进 行处 理 。 A C N 报 文 传 输 包 含 4种 不 同 类 型 的 帧 :数 据 帧 ( a A Dt a
成 本 、 高 的 总 线 利 用 率 、 远 的 数 据 传 输 距 离 ( O m) 高 速 极 很 1k 、
率 (Mb s、 可 靠 性 、 接 方 便 。这 些 优 点使 得 CA 通 信 越 1 p)高 连 N
来 越 得 到 广 泛 通 信 领 域 的认 同 。在 底 层 现 场 级 传 输 中 被 广 泛
以及 串行收发 器构成 的多点通信 网络 , 介绍 了通信节点的硬件 电路设计和软件处理 流程 , 细阐述 了 C N帧结构 、 详 A 数据 流的收 发 问题 , 并针对 C N总线 网络的 同步方式以及 C N接 口控制器进行 了分析 。 A A
采用8位单片机的CAN系统解决方案
采用8位单片机的CAN系统解决方案摘要:CAN数据总线(控制器局域网)是一种有效支持分布式控制和实时控制的串行通信网络。
CAN总线是一种双向总线,即所连接的控制模块能发射和接受信息。
与一般的总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性等特征。
因此CAN总线作为系统的通讯标准,如何选择合适的处理器芯片就将成为很重要的问题,对实现功能较少、对芯片性能要求不是很高的系统来说,可以考虑采用8位单片机来实现。
芯片确定后,围绕该芯片确定相应的开发工具,开发工具的好坏往往是决定一个系统成败的关键。
根据具体情况,一套完整的CAN-BUS开发系统可采用不同的开发工具和测试工具。
关键词:CAN;原理和应用;单片机;芯片;开发系统;解决方案;CAN2.0B引言:CAN数据总线(控制器局域网)是一种有效支持分布式控制和实时控制的串行通信网络。
又被称为一个信息交流系统。
CAN最初是由德国的BOSCH公司为汽车监测控制系统而设计的。
现代高级汽车越来越多地采用电子装置控制,如发动机的定时等。
目前一些著名汽车厂商如奔驰、宝马等都采用CAN总线来实现汽车内部与各检测和执行机构之间的数据通信。
可见,随着汽车电控系统的不断发展,选择何种微处理器(芯片)来提高其处理能力、运算速度和集成度,显得非常重要。
对实现功能较少、对芯片性能要求不是很高的CAN 系统来说,可以考虑采用8位单片机来实现。
一、CAN系统原理和应用首先我们先来了解一下什么是CAN系统(CAN数据总线)?CAN数据总线(控制器局域网)是一种有效支持分布式控制和实时控制的串行通信网络。
CAN(Controller Area Network)(注:CAN数据总线简称CAN)是一个信息交流系统。
大多数控制模块都可以在数据线上接受和传输信息。
来自于传感器的信号被一个独立的模块所使用。
这些信号中的一些也可以转换成“CAN messages”(CAN信息),这些信息沿着数据线进行传输,以便被其他模块所使用。
基于51单片机的CAN总线系统设计
基于51单片机的CAN总线系统设计0 引言随着20世纪80年代初期德国Bosch公司提出CAN(Controller Area Network)总线,即控制器局域网方案以解决汽车控制装置问的通信问题。
经过20多年的发展,CAN总线现在广泛的应用在汽车领域,在汽车控制系统中应用CAN总线可以使硬件方案的软件化实现,大大地简化了设计,减小了硬件成本和设计生产成本,数据共享减少了数据的重复处理,节省了成本,可以将信号线减到最少,减少布线,使成本进一步降低等优点。
由于CAN总线通信的高性能、高可靠性、及独特的设计和适宜的价格可以广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,所以被公认为是几种最有前途的现场总线之一。
1 系统总体设计CAN总线系统总体结构如图1所示,主要包括上位机控制软件、USB-CAN转换模块、CAN节点、CAN总线介质(本处采用双绞线)组成。
其中一个CAN节点通过USB接口与PC 机相连,上位机控制软件能实时显示各CAN节点的数据且能通过上位机软件向各个CAN 节点发送数据以控制各节点的8个发光二极管的亮或灭。
2 系统硬件电路本系统由单片机外围电路、CAN总线硬件电路和USB-CAN转换电路组成。
单片机外围电路包括电源电路模块、复位电路模块、串口通信模块。
CAN总线硬件电路包括电气隔离模块、光耦隔离模块、CAN驱动器电路。
USB-CAN转换电路包括CH375与单片机接口电路模块和USB接口电路模块。
C8051F040单片机内部的控制器局域网(CAN)控制器是一个协议控制器,不提供物理层驱动器(即收发器),需要外部重新接入物理层驱动器。
本处采用TJ1050,TJA1050是控制器区域网络(CAN)协议控制器和物理总线之间的接口,是一种标准的高速CAN收发器。
TJA1050可以为总线提供差动发送性能,为CAN控制器提供差动接收性能。
TJA1050是PCA82C250和PCA82C251高速CAN收发器的后继产品。
周立功CAN总线设计详解通讯
-4– 文档编号:20030810_1
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax:38730925
CAN-bus 介绍
概述
CAN-bus(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。 起先,CAN-bus 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置 ECU 之间交换信息, 形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入 CAN 控制装置。
高层协议
CAN 高层协议························································································· 8 CANopen 协议 ························································································ 9 DeviceNET 协议 ···················································································· 10 ZLGCAN 系列产品介绍 ············································································ 12
我们立志成为国内第一流的 CAN-bus 开发、服务、应用的团队。关于 CAN-bus 的详细应用,请浏览技术支持 专业主页:
或进入 CAN-bus 技术讨论园地:
http:///club/bbs/bbsView.asp 我们的服务邮箱:
CAN总线数据通信系统的设计
封面作者:PanHongliang仅供个人学习CAN总线数据通信系统的设计摘要现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。
它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
CAN(ControllerArea Network)属于现场总线的范畴,是一种多主方式的串行通讯总线,数据通信实时性强。
与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。
本系统要在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯。
系统主要由四部分所构成:PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。
微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。
CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。
本系统通过扩展CAN总线控制器SJA1000,在单片机系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000的初始化,并且实现了数据发送和接收。
目录第1章原理与方案31.1设计目的与要求31.2CAN总线介绍31.3设计方案31.3.1 硬件设计方案41.3.2 软件设计方案5第2章硬件连接与说明52.1硬件连接52.1.1 模块使用说明52.1.2 实验箱连线62.2CAN总线控制器SJA100062.3CAN控制器接口PCA82C2506第3章软件流程图及说明错误!未定义书签。
3.1软件流程图73.1.1 主程序流程图73.1.2 初始化子程序流程图73.1.3 发送数据子程序流程图错误!未定义书签。
CAN总线通信典型电路原理图
CAN总线通信典型电路原理图(四款CAN总线通信电路原理图分享)CAN总线通信典型电路原理图(一)CAN总线通信硬件原理图(采用TJA1050T CAN总线驱动器)F040中内置CAN总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可以很方便地建立一个CAN总线智能测控节点。
本设计中采用PHILIP公司的TJA1050T CAN总线驱动器。
CAN总线通信硬件原理图如图3所示。
图中F040 的CAN信号接收引脚RX和发送引脚TX并不直接连接到TJA1050T的RXD和TXD端,而是经由高速光耦6N137进行连接,这样做的目的是为了实现CAN总线各节点的电气隔离。
为了实现真正意义上完全的电气隔离,光耦部分的VA和VB必须通过DC-DC模块或者是带有多个隔离输出的开关电源模块进行隔离。
为防止过流冲击,TJA1050T的CANH和CANL引脚各通过一个5的电阻连接到总线上。
并在CANH和CANL脚与地之间并联2个30P的电容,用于滤除总线上高频干扰。
而防雷击管D1和D2可以起到发生瞬变干扰时的保护作用。
TJA1050T的8脚连接到F040的一个端口用于模式选择,TJA1050T有两种工作模式用于选择,高速模式和静音模式。
TJA1050T正常工作在高速模式,而在静音模式下,TJA1050T的发送器被...CAN总线通信硬件原理图(采用TJA1050T CAN总线驱CAN总线通信硬件原理图(采用TJA1050T CAN总线驱动器) F040中内置CAN总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可以很方便地建立一个CAN总线智能测控节点。
本设计中采用PHILIP公司的TJA1050T CAN总线驱动器。
CAN总线通信硬件原理图如图3所示。
图中F040 的CAN信号接收引脚RX和发送引脚TX并不直接连接到TJA1050T的RXD和TXD端,而是经由高速光耦6N137进行连接,这样做的目的是为了实现CAN总线各节点的电气隔离。
单片机和单片机通信
单片机和单片机通信摘要:一、单片机通信的基本方式1.串口通信2.485通信3.CAN通信二、实现单片机与单片机之间通信的方法1.串口通信的实现2.RS232连接通信3.RS485连接通信三、适用于单片机通信的场景和距离1.短距离通信2.中距离通信3.长距离通信四、一个单片机与多个单片机通信的解决方案1.串口通信2.网络通信正文:随着科技的不断发展,单片机在各类工程应用中越发广泛。
在实际应用中,单片机之间的通信至关重要。
本文将详细介绍单片机通信的基本方式、实现方法以及适用于不同场景的通信方案。
一、单片机通信的基本方式1.串口通信:串口通信是最常用的单片机通信方式。
常用的串口通讯有三种,分别是TTL、RS232和RS485。
TTL通信电平编码为1时为5V,0时为0V;RS232电平编码为1时为负电压,0时为正电压。
2.485通信:485通信是一种串行通信方式,具有较高的传输速度,适用于远距离通信。
一般情况下,485通信的速度可以达到1200波特率。
3.CAN通信:CAN通信是一种多主控制器的串行通信协议,具有较高的抗干扰性和可靠性。
CAN通信的速度可以达到4800波特率,适用于较高要求的通信场景。
二、实现单片机与单片机之间通信的方法1.串口通信的实现:使用串行总线进行通信,交叉连接两个单片机的RXD 和TXD即可。
若采用Proteus仿真,可轻松实现两个单片机之间的串口通信。
2.RS232连接通信:通过RS232接口实现单片机之间的通信,适用于短距离通信。
通信距离可以达到几十米。
3.RS485连接通信:通过RS485接口实现单片机之间的通信,适用于长距离通信。
通信距离可以达到几百米甚至更远。
三、适用于单片机通信的场景和距离1.短距离通信:例如同一设备内的不同模块之间,或相邻设备之间的通信。
2.中距离通信:如同一建筑物内的设备之间,或相邻建筑物内的设备之间的通信。
3.长距离通信:如跨越城市、乡村等较远距离的设备之间的通信。
单片机系统中的CAN总线接口技术讲解与实现
单片机系统中的CAN总线接口技术讲解与实现近年来,CAN总线接口技术在单片机系统中得到了广泛的应用。
CAN (Controller Area Network)总线是一种高速、实时性强的串行通信协议,特别适用于汽车电子、工业控制、机器人控制等领域。
它具有可靠性高、抗干扰能力强、扩展性好等优点,成为了单片机系统中常用的通信方式之一。
CAN总线接口技术的讲解:1. CAN总线基本原理:CAN总线由两根不同的线组成,分别是CAN_H和CAN_L线。
CAN_H线的电位高表示发生器状态,而CAN_L线的电位高则表示终端器状态。
CAN总线采用差分传输的方式,通过CAN_H和CAN_L线之间的差值来进行数据传输。
这种差分传输的方式不仅能够提高传输速率,而且能够抵抗电磁干扰。
2. CAN总线通信基本过程:CAN总线通信基本过程包括初始化、发送数据、接收数据和错误处理四个阶段。
在初始化阶段,需要配置CAN控制器和滤波器。
发送数据阶段中,发送节点将数据帧封装成CAN消息,并通过CAN总线发送给接收节点。
接收数据阶段中,接收节点监听CAN总线并接收数据帧。
错误处理阶段中,控制器会监测错误,并尽可能提供错误处理策略。
3. CAN帧结构:CAN总线传输的数据帧由四个部分组成:帧起始位(SOF),帧类型位(Control Field),数据域和校验码。
其中,帧起始位用于同步接收节点,帧类型位则用于指示数据帧或者远程帧。
数据域中存放了传输的具体数据,校验码用于检测数据的正确性。
4. CAN总线速率选择:CAN总线可以根据实际需求选择不同的传输速率。
常见的CAN总线速率有125kbps、250kbps、500kbps和1Mbps等。
选择合适的传输速率可以提高CAN总线系统的性能,但也会受到物理层限制。
CAN总线接口技术的实现:1. 硬件设计:实现CAN总线接口首先需要选择合适的单片机芯片,该芯片需要具备CAN控制器的功能。
接着,需要连接CAN控制器的引脚与CAN总线上的CAN_H和CAN_L线。
基于C8051F单片机的CAN总线硬件系统设计
收稿日期:2006-12-13作者简介:曹少华(1982—),男,安徽人,在读硕士研究生,主要研究方向为嵌入式系统与控制网络;张培仁(1944—),男,教授,博士生导师,长期从事嵌入式系统、CAN /485等控制网络研究。
基于C8051F 单片机的C AN 总线硬件系统设计曹少华,张培仁,王津津,李 勇,胡晓柘(中国科学技术大学自动化系,安徽合肥 230027)摘要:从分析CAN 总线控制系统的设计思路入手,着重讨论设计中的主要问题,采用RS 2485/422辅助CAN 总线的混合总线结构,选用C8051F 系列单片机和US B 转UART 桥接器CP2102作为控制核心,设计了一种多主、多功能的混合式总线监控系统。
试验表明:该系统成功解决了数据传输瓶颈、数据冲突、同步等一系列问题,具有良好的实时性和稳定性,广泛适用于各类远程大型实时监控网络。
关键词:CAN;C8051F;US B 接口;远程监控系统中图分类号:TP336 文献标识码:A 文章编号:1000-8829(2007)11-0038-04D esi gn of CAN Hardware system Ba sed on C 8051F M CUCAO Shao 2hua,ZHAG NG Pei 2ren,WANG J in 2jin,L I Yong,HU Xiao 2zhe(Depart m ent of Aut omati on,University of Science and Technol ogy of China,Hefei 230027,China )Abstract:A kind of multi 2master and multi 2functi onal surveillance syste m based on C AN is designed .Foll owing the discussi on about the main issues of C AN system design,a m ixed bus architecture,CAN ass ociated with RS 2485/422,is intr oduced .The core design is C8051F S OC MC U s and CP2102,a ne w US B t o UART bridge .The result of i m p le mentati on shows that this syste m successfully s olves the main issues,for exa mp le,the bottleneck in data trans m issi on,data collisi on and synchr onizati on .The high real 2ti m e ability and stability make this design suitable f or vari ous l ong 2distance real 2ti m e surveillance net w orks .Key words:CAN;C8051F;US B interface;re mote surveillance syste m 控制器局域网(CAN,contr oller area net w ork )是Bosch 公司提出的一种串行数据通信协议,它的模型结构包括物理层、数据链路层和应用层,信号传输介质是双绞线,通信速率最高1M b /s (40m ),直接传输距离最远10k m (5kb /s ),每条总线可挂接设备多达110个,特别适用于实时性要求很高的网络。
单片机和MCP2510的CAN总线通信模块设计
络 上 报 文 的接 收 和 发 送 站 , 般 由 单 片 机 和 C 一 AN 控 制 器 或 二 者 合 二 为一 组 成 。
MC 2 1 P 5 0是 Mirc i 司 生 产 的 一 种 独 立 的 可 编 cohp公
12 结构 及 工作 原 理 .
MC 2 1 P 5 0有 P P、 OI 和 TS OP三 种 封 装 形 式 。 DI S C S
MC U对 C N 总 线 的操 作 A
图 1 M P 5 0 DP封装 O 2 1 I
p e msto. ( 稿 用 a r eec e 投 专 ) p@ n.r n n
Mcc t1 s me eS t s i 。 r1 &E b d sm 35 r n。 r 。 e d d ye
的应 用 实 例 。
信 , 寄存 、 冲 器 组 与 控 制 逻 辑 则 用 来 完 成 各 种 方 式 的 而 缓
设定 和操作控 制 。现结 合其 工作过程将各部分的功能 、 原
1 MC 2 1 片介 绍 P 5 0芯
MC 2 1 是 一种 带 有 S I 口的 C N控 制器 , I P50 P接 A DP封 装如 图 1 示 。它 支 持 C N 技 术 规 范 V . A B 能 够 发 所 A 20 / , 送或 接 收标 准 的和 扩 展 的 信 息 帧 , 同时 具 有 接 收 滤 波 和 信
变 得非 常简 便 。
1 1 MO 2 1 主 要特 点 . P 5 0的
◇ 支 持 C NV . A/ ; A 2 0 B ◇ 具有 S I 口, 持 S I 式 00 11 P接 支 P模 , 和 ,; ◇ 内含 3个 发 送 缓 冲 器 和 2 接 收缓 冲器 , 对其 优 个 可
51单片机can通信原理
51单片机can通信原理
51单片机CAN通信原理主要涉及到CAN总线的工作原理、硬件
连接和通信协议等方面。
首先,CAN(Controller Area Network)总线是一种串行通信
协议,用于在汽车、工业控制等领域中的实时控制系统中进行通信。
CAN总线采用差分信号进行通信,具有抗干扰能力强、传输距离远、传输速率高等特点。
在51单片机中,实现CAN通信需要通过CAN控制器和CAN总线
收发器来实现。
CAN控制器负责控制CAN总线的发送和接收,而CAN
总线收发器则负责将单片机的数字信号转换成CAN总线上的差分信号,并接收CAN总线上的差分信号并转换成数字信号供单片机处理。
在CAN通信中,数据通过CAN消息的形式进行传输。
CAN消息
由标识符(ID)和数据组成。
发送端通过CAN控制器将消息发送到CAN总线上,接收端通过CAN控制器接收并解析消息。
CAN总线采用CSMA/CR(Carrier Sense Multiple Access with Collision Resolution)协议,能够实现多个节点之间的协同工作,避免数据
冲突。
在硬件连接方面,需要将51单片机的CAN控制器和CAN总线收发器连接到CAN总线上,并通过电阻终端电阻来终止总线。
在软件开发方面,需要编写相应的CAN通信协议的驱动程序,实现CAN消息的发送和接收,并进行数据的解析和处理。
总的来说,51单片机CAN通信的原理涉及硬件连接、CAN消息的发送和接收、通信协议的实现等方面,需要综合考虑硬件和软件的设计。
希望这个回答能够全面地解答你的问题。
基于STM32单片机CAN通信控制网络设计
基于STM32单片机CAN通信控制网络设计
柴文峰;丁学明
【期刊名称】《电子科技》
【年(卷),期】2017(030)003
【摘要】通过分析点对点通信方式控制网络的缺陷及总线的发展状况,利用CAN 总线的特点和优势,设计了基于广播方式通信控制网络.采用C#编写上位机界面做控制器,智能节点(下位机)作为执行器,根据CANKingdom应用层协议,制定节点间相互通信规则,将发送的控制命令以帧的形式进行打包,设计节点控制算法执行相应功能.文中设计的基于广播式CAN通信网络实现了对40个节点的数据通信和现场实时监控功能.
【总页数】4页(P142-145)
【作者】柴文峰;丁学明
【作者单位】上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093
【正文语种】中文
【中图分类】TN915.04;TP368.1
【相关文献】
1.基于CAN通信的变频电动机控制设计与实现 [J], 布朋生
2.基于CAN通信的掘进机自动控制系统设计 [J], 申洋
3.电动拖拉机CAN通信网络设计及硬件在环测试 [J], 徐海龙; 徐立友; 刘晓慧; 刘
孟楠; 王通
4.基于冗余CAN通信的智能集成供液控制系统 [J], 赵康康
5.重型拖拉机CAN通信网络设计 [J], 阚辉玉;李军伟;李德芳;高松
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN总线单片机实现通信网络设计
1 概述
电流环形式因较RS-485/RS-422总线形式连线复杂等原因已基本退出历史舞台。
而RS-485总线接线形式较RS-422总线接线形式少了二极通信线且抗干扰能力增强,从而使接线形式更为简单、造价更低,因此,RS-485总线基本上独霸了以单片机为核心的分布式多机测控系统通信物理层的应用。
但随着科技的发展,RS-485总线的总线效率低、系统实时性差、通讯可靠性低、后期维护成本高、网络工程调试复杂、传输距离不理想、单总线可挂接节点少、应用不灵活等缺点慢慢地暴露出来,因此,迫切需要寻找一种新型、简单有效的通信物理层接口芯片来替代RS-485总线物理层接口电路进行网络通信,这对提高多机互连的分布式测控系统的可靠性具有重大意义。
与其他现场总线相比,CAN部迟疑不决在通信能力、可靠性、实时性、灵活性、易用性、传输距离和成本等方面有着明显的优势,成为控制等领域最有前途的现场总线之一。
对于CAN 总线的物理层接口,现有大多是CAN总线物理层接口电路与CAN总线控制器连接构成的CAN 总线通信网络。
经笔者的深入分析和实践证明:CAN总线物理层接口电路(符合ISO11898标准)也可与单片机直接连接构成一个高可靠、低成本、简单实用、多机互连的分布式测控系统。
2 CAN与RS-485物理层特性比较
CAN总线在物理层个有专用接口电路,该类接口电路具有特色。
CAN总线与RS-485总线物理层特性的相同点有:
·二线制、半双工串行通信;
·差分传送、平衡接收;
·传输介质为双绞线;
·需终端匹配电阻器;
·通信电路可在5V电源条件下工作。
CAN总线与RS-485总线相比,CAN总线通信物理层接口电路(以PCA82C250为例)具有如下优点:
·完全符合ISO11898国际标准;
·数据传输距离长(长达10km/5kb/s);
·数据传输速率高(高达1Mb/s/40m);
·CAN总线中的总线数值为二种互补逻辑“显性”或“隐性”位数值;
·可实现多主式通信网络设计,信号在总线上通过“线与”可实现非破坏性总线仲裁;
·无发送、接收转换控制引脚;
·具有抗瞬间脉冲干扰(-150V
·具有较RS-485总线高的总线电压(-8V~+18V)承受能力;
·具有发送脉冲斜率控制,可降低射频干扰;
·差分接收器可以抗拒较宽范围的共模干扰;
·具有总线与电源和地之间的短路保护;
·具有抗总线短路保护能力;
·在特定的单线条件下仍可以保护总线正常工作;
·具有低电流待机模式;
·总线内部配有电阻器网络,无需外部上、下位电阻器;
·未上电的节点对总线无影响;
·至少可以连接110节点。
由此可见,采用CAN总线的物理层专用接口电路替代RS-485总线接口电路形成一个混合模式的多机互连分布式测控系统的通信网络,可以克服RS-485总线的固有缺陷,充分利用CAN总线物理层的优势,能以简单的形式、较低的价格、较高的性能构造出极具竞争力的分布式测控系统。
3 PCA82C250简介
完全符合ISO11898国际标准的CAN总线物理层专用接口电路有多种,这里仅以CAN总线通用接口电路PCA82C250为例对这类接口芯片作以说明。
PCA82C250的引脚图。
各功能引脚如下:
1脚:欲发送数据的输入端;
2脚:电源地端;
3脚:电源端;
4脚:接收数据的输出端;
5脚:参考电压的输出端;
6脚:低电平CAN总线输入/输出端;
7脚:高电平CAN总线输入/输出端;
8脚:总线脉冲斜率控制电阻连接端。
PCA82C250可以提供对总线数据的差动发送能力和对通信总线数据的差动接收能力。
其引脚8较为特殊,该引脚用于选择电路自身的工作方式;高速、斜率控制和待机。
该脚接地时,PCA82C250工作于高速通信方式;接一个一定阻值的电阻器后再接地,用于控制发送数据脉冲的上升和下降斜率(斜率正比于引脚8上的电流值),用以减少射频干扰;该脚接高电平时,电路进入低电流待机状态。
在这种方式下,发送器被关闭,接收器转至低电流工作,但接收器仍可对CAN总线上的“显性”位做出。
如果PCA82C250处于通信总线的网络终端,在总线上需要加一个120Ω左右的匹配电阻。
4 应用实例
以Atmal AT89C55型单片机为例,AT89C55与RS-485总线接口电路及AT89C55与CAN总线物理层专用接口电路的对比连接图。
由图2的对比中可以看出,PCA82C250与AT89C55的硬件连接比MAX485与AT89C55的硬件连接还要简单,因为,PCA82C250的通信过程无需接收与发送的硬件转换控制,仅由软件来控制接浮时,CAN总线表现为“隐性”位数值,即CANH和CANL为悬浮态(VCAHN≈CANL≈VCC/2,相当于关闭总线),这为具有“休眠”功能的系统提供了网络安全保障;当TXD端输入为低电平时,CAN总线表现为“显性”位数值(向总线传送有效数据位),即CANH输出高电压(约3.5V,当VCC为5V时)、CANL输出低电平(约1.5V,当Vcc为5V时)。
显然,在多主机条件下,“显性”位和“隐性”位的引入,可在总线上实现非破坏性总线仲裁,以裁决哪一个主设备应是下一个占有总线的设备。
由于没有用到PCA82C250参考电压的输出值,因此,PCA82C250的5脚可悬空,而8脚所接的电阻RS用于控制CAN总线的输出脉冲的上升、下降沿的斜率,以降低总线的射频干扰。
当RS上的电阻大于0.75CC时,PCA82C250芯片进入低功耗待机状态;当RS 上的电压小于0.3Vcc时,PCA82C250进入高速通信状态;当RS上的电压处于0.4Vcc至0.6Vcc 之间时,PCA82C250进入CAN总线输出脉冲上升、下降沿的斜率控制通信状态,其斜率大小与RS上的电压成正比。
图2中,二个通信系统的软件几乎相同。
当采用PCA82C250的作为总线接口替代原有的MAX485时,在软件上所做的变更有:首先,可取消RS-485总线的通信方向控制指令部分,因为CA7402097N总线接口已不需要此功能;其次,RS-485总线在总线发送时,由于发送、接收控制端已连接在一起,即自动关闭了总线数据接收功能,而CAN总线接口在总线数据发送的同时也在进行总线数据的接收(CAN总线接口不提供通信接收、发送数据的分离控制功能),因此,在软件设计上对此应有所考虑。
当然,这为多机通信系统中的总线数据冲突的软件识别与仲裁提供了条件。
当需要MCU与通信网络之间的电气隔离时,可在MCU与CAN总线的物理层专用接口电路之间增加2个光电隔离器件(如6N137光电隔离电路),即可实现MCU与通信网络之间的电气隔离。
5 结论
软件上仅做少许修改,甚至不修改原有的RS-485总线的通信软件就能适应新的系统工作。
必要时通过修改原有的RS-485总线的通信软件即可实现多主式多机数据通信,充分利用了CAN总线物理层的优势。
在硬件方面,能够以简单的形式、较低的价格、较高的性能构造出极具竞争力的分布式测控系统,使多机互连的分布式测控系统的通信网络性能得以提升。