文档库 最新最全的文档下载
当前位置:文档库 › CAN总线单片机实现通信网络设计

CAN总线单片机实现通信网络设计

CAN总线单片机实现通信网络设计
CAN总线单片机实现通信网络设计

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总线物理层的优势。在硬件方面,能够以简单的形式、较低的价格、较高的性能构造出极具竞争力的分布式测控系统,使多机互连的分布式测控系统的通信网络性能得以提升。

基于STC89C51的CAN总线点对点通信模块设计

基于STC89C51的CAN总线点对点通信模块设计 [导读]随着人们对总线对总线各方面要求的不断提高,总线上的系统数量越来越多,继而出现电路的复杂性提高、可靠性下降、成本增加等问题。为解决上述问题,文中阐述了基于SJAl000的CAN总线通信模块的实现方法,该方法以PCA82C250作为通信模块的总线收发器,以SITA-l000作为网络控制器。并以STCSTC89C5l单片机来完成基于STC89C5l的CAN通信硬件设计。文章还就平台的初始化、模块的发送和接收进行了设计和分析。通过测试分析证明,该系统可以达到CAN的通信要求,整个系统具有较高的实用性。 0 引言 现场总线是应用在生产最底层的一种总线型拓扑网络,是可用做现场控制系统直接与所有受控设备节点串行相连的通信网络。在工业自动化方面,其控制的现场范围可以从一台家电设备到一个车间、一个工厂。一般情况下,受控设备和网络所处的环境可能很特殊,对信号的干扰往往也是多方面的。但要求控制则必须实时性很强,这就决定了现场总线有别于一般的网络特点。此外,由于现场总线的设备通常是标准化和功能模块化,因而还具有设计简单、易于重构等特点。 1 CAN总线概述 CAN (Controller Area Network)即控制器局域网络,最初是由德国Bosch公司为汽车检测和控制系统而设计的。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其良好的性能及独特的设计,使CAN总线越来越受到人们的重视。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。目前,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。它的直线通信距离最大可以达到l Mbps/30m.其它的节点数目取决于总线驱动电路,目前可以达到110个。 2 CAN系统硬件设计 图1所示是基于CAN2.0B协议的CAN系统硬件框图,该系统包括电源模块、MCU部分、CAN控制器、光电耦合器、CAN收发器和RS232接口。硬件系统MCU采用STC89C5l,CAN控制器采用SJAl000,CAN收发器采用PCA82C250,光耦隔离采用6N137。

两个单片机之间的串行通信

两个单片机之间的串行通信 一、设计要求 在某个控制系统中有U1、U2这两个单片机,U1单片机首先将P1端口指拨开关数据载入SBUF,然后经由TXD将数据传送给U2单片机,U2单片机将接收数据存入SBUF,再由SBUF载入累加器,并输出至P1端口,点亮相应端口的LED。 二、实验所需元器件 三、电路原理图: 两个单片机之间的串行通信电路图

四、程序设计 这两个单片机均工作在半工状态,U1将P1端口的状态通过TXD发半空给U2,而U2接收U1的数据,然后控制P1端口的LED显示。因此,需编写两个不同的程序,其程序流程图如下所示:

五、C语言程序: U1的C语言程序: #include "reg51.h" #define uint unsigned int #define uchar unsigned char void send(uchar state) { SBUF=state; while(TI==0); TI=0; } void SCON_init(void) { SCON=0x50; TMOD=0x20; PCON=0x00; TH1=0xfd; TL1=0xfd; TI=0; TR1=1; ES=1; } void main() { P1=0xff; SCON_init(); while(1) { send(P1); } } U2的C语言程序: #include "reg51.h" #define uint unsigned int #define uchar unsigned char uchar state; void receive() { while(RI==0) state=SBUF; RI=0; } void SCON_init(void) { SCON=0x50; TMOD=0x20; PCON=0x00; TH1=0xfd; TL1=0xfd; RI=0; TR1=1; } void main() { SCON_init(); while(1) { receive(); P1=state; } } 六、调试与仿真:

CAN总线通信接口及程序设计毕业设计

机电工程学院 毕业设计说明书设计题目: CAN总线通信接口及程序设计 2012 年 5 月21 日

目次

1 CAN总线介绍 1.1 CAN总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这一崭新的网络协议使得汽车产业得到了飞速的发展。 CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。 CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据

CAN总线在多机通信中的应用

CAN总线在多机通信中的应用 随着微处理器的发展,利用微处理器对工业生产过程进行控制已成为趋势。在工业控制过程中,由于大量数据信息的共享和传输,传统的串行通信模式已不能满足要求。在工业控制领域中,需要一种抗干扰性强、可靠性高、传输速度快和传输距离长的总线结构。CAN总线技术不仅满足上述要求,而且还能实现多点间的信息传递。本文使用PCI9810-cAN适配卡上的CAN总线组成局域网络,实现多微处理器间的信息传递和PC机对多处理器的检控、通信。 1 CAN总线简介 CAN(Controller Area Networks)总线,最早是由德国Bosch公司开发用于局域网控制的总线技术。CAN总线采用传统的双线串行通信方式,具有诊断能力,抗电磁干扰,其最陕传输速率可达1 Mb·s-1,最长通信距离可达10 km(此时的传输速率大约为40 kb·s-1)。在CAN总线组成的局域网络中,通信节点之间不采用主从方式,而是具有总线访问优先权,通信方式灵活,可实现点对点,一点对多点及广播方式传输数据。 2 系统通信模块的硬件设计 CAN总线是由PCI9810-CAN适配卡提供,本文主要完成通信节点的设计。通信节点不仅可以和PC机进行信息交换,还可独立与其他各节点通信。微处理器在需要和主机或其它节点通信时,其通过P0口向SJA1000T的寄存器发送信息,再由PCA82C250把信息传递到CAN总线上。主机和其他通信节点判断接收报文的标识符,将对接收到的信息作相应的处理,从而实现通信功能,。 在设计过程中,为了满足多微处理器间通信的实时性和可靠性要求,结合CAN控制器的特点,对图1作简单介绍: (1)收发器PCA82C250的引脚8(Rs)有3种工作方式:高速,斜率控制和待机。斜率控制方式具有抗射频干扰的功能,所以采用47 kΩ的电阻连接引脚8,实现斜率控制方式。 (2)图1中应为两个高速光电耦合隔离器件6N137,由于6N137输出引脚的驱动能力不够,需要连接一个约390 Ω的上拉电阻,以增加输出引脚的驱动能力。两个光电耦合隔离器件6N137的电源信号采用5 V的DC-DC隔离模块WRA0505P,以增强系统的抗干扰能力。 (3)收发器PCA82C250的CANH和CANL引脚各自由通过一个5 Ω的电阻与CAN总线相连,电阻起到一定的限流作用,保护PCA82C250免受CAN总线上的过流冲击。 (4)收发器PCA82C250的CANH和CANL引脚与电源地之间分别反接一个保护二极管和30 pF的电容,可以起到CAN总线的过压保护作用和过流冲击。 (5)CAN控制器SJA1000T输入方式有2种:Intel输入方式和Motorola输入方式。在此采用Intel输入方式,所以SJA1000T的MODE引脚接高电平。 (6)设计仅用到TX0和RX0引脚,根据SJA1000T 通信协议所要求的输入/输出逻辑电平关系,SJA1000T的TX1脚悬空,RX1引脚的电位必须维持在0.5 Vcc以上,所以在TX1引脚接上约6.8 kΩ和3.6 kΩ分压电阻。 (7)微处理器C51的引脚P2.7接CAN控制器SJA1000T的片选信号/CS,可知CAN控制器SJA1000T 的寄存器首地址为8000H。处理器C41和CAN控制器SJA1000T共用12 MHz的晶振,以提高通信速率。通过上述分析,设计的电路原理图,。 3 系统通信模块的软件设计通信模块的软件由3部分组成:初始化程序,发送程序和接受程序。仅这3部分程序,就能完成通信节点间信息的传递。要将CAN总线应用于更复杂的通信系统中,还要考虑CAN总线的错误处理,超载处理等功能和节点间的计算方法。由于每个通信节点都有自己的MCU,所以它们之间可以自由通信。通过CAN收发器PCA82C250的引脚CANH和CANL对总线输出,使总线表现“显性”,这时可发送信息。判断总线表现为“显性”时,就要为接受信息做好准备。3.1 CAN控制器SJA1000T初始化程序该程序首先进入复位状态,设置SJAl000T的模式寄存器MR为Basic CAN模式,验收码寄存器ACR和屏蔽码寄存器AMR,再设置定时器0和定时器1,输出控制寄存器OCR,

CAN总线设计

微机应用课程设计报告 ` 题目:基于单片机的16*16点阵系统设计 专业: … 班级: 姓名: 学号: 地点: 时间: 指导老师:

~

摘要 现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中,由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业中,而被广泛的用到自动控制、楼宇自动化、医疗设备等各个领域。 本文主要介绍一种基于CAN总线的控制系统,通过对这一系统的制作流程来说明CAN总线的简单应用,文章主要是对本控制系统的三个硬件模块进行介绍及模块中相关芯片的应用,同时本文也对软件的编写进行了说明。 关键字:现场总线; CAN总线;单片机;控制系统

目录 1 绪论 (1) CAN总线的简单介绍 (1) CAN总线的优势 (1) 网络各节点之间的数据通信实时性强 (2) 缩短了开发周期 (2) 已形成国际标准的现场总线 (2) 最有前途的现场总线之一 (2) 2 硬件电路设计 (3) 单片机模块 (3) STC89C52主要特性如下: (4) STC89C52RC单片机的工作模式 (5) CAN总线控制器模块 (6) SJA1000简介 (6) PCA82C250简介 (9) 通信模块和外围接口 (11) 通信模块 (11) 外围接口 (12) 3 CAN总线控制系统软件设计 (13) 初始化程序 (13) 数据的接收和发送功能 (15) 发送数据 (15) 接收数据 (17) 4 总结 (19) 参考文献 (20) 附录一 (21)

单片机常用名词解释

单片机常用名词解释 总线: 指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。 地址总线(AB):地址总线是单向的,用于传送地址信息。地址总线的宽度为16位,因此基外部存储器直接寻址64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0~A7),P2口直接提供高8位地址(A8~A15)。 数据总线(DB):一般为双向,用于CPU与存储器,CPU与外设、或外设与外设之间传送数据信息(包括实际意义的数据和指令码)。数据总线宽度为8位,由P0口提供。 控制总线(CB):是计算机系统中所有控制信号的总称,在控制总线中传送的是控制信息。由P3口的第二功能状态和4根独立的控制总线,RESET、EA、ALE、PSEN组成。 存储器:用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。 只读存储器(ROM):只读存储器在使用时,只能读出而不能写入,断电后ROM中的信息不会丢失。因此一般用来存放一些固定程序,如监控程序、子程序、字库及数据表等。ROM按存储信息的方法又可分为以下几种 1、掩膜ROM:掩膜ROM也称固定ROM,它是由厂家编好程序写入ROM(称固化)供用户使用,用户不能更改内部程序,其特点是价格便宜。 2、可编程的只读存储器(PROM):它的内容可由用户根据自已所编程序一次性写入,一旦写入,只能读出,而不能再进行更改,这类存储器现在也称为OTP(Only Time Programmable)。 3、可改写的只读存储器EPROM:前两种ROM只能进行一次性写入,因而用户较少使用,目前较为流行的ROM芯片为EPROM。因为它的内容可以通过紫外线照射而彻底擦除,擦除后又可重新写入新的程序。 4、可电改写只读存储器(EEPROM): EEPROM可用电的方法写入和清除其内容,其编程电压和清除电压均与微机CPU的5V工作电压相同,不需另加电压。它既有与RAM一样读写操作简便,又有数据不会因掉电而丢失的优点,因而使用极为方便。现在这种存储器的使用最为广泛。

CAN总线通信系统上位机通信软件设计

目次 1 绪论 (1) 1.1 研究背景 (1) 1.2 研究目的和意义 (1) 1.3 国内外发展现状 (2) 1.4 论文结构安排 (2) 2 CAN总线协议分析 (3) 2.1 CAN-bus 规范V2.0 版本 (3) 2.2 CAN控制器SJA1000 (6) 2.3 本章小结 (6) 3 开发环境介绍 (6) 3.1 开发环境 (6) 3.2 CANUSB—Ⅰ/Ⅱ智能CAN接口卡 (7) 3.3 本章小结 (8) 4 CAN通信软件设计 (8) 4.1 驱动程序安装 (8) 4.2 CAN接口卡函数库说明 (8) 4.3 界面设计 (11) 4.4 软件功能实现 (16) 4.5 本章小结 (22) 5 测试及发布 (23) 5.1 软件功能测试 (23) 5.2 程序发布 (24) 5.3 本章小结 (27) 结论 (28) 致谢 (29) 参考文献 (30)

1绪论 现场总线,就是应用于工业现场,采用总线方式连接多个设备,用于传输工业现场各种数据的一类通信系统[1]。CAN(Controller Area Network)总线是现场总线的一个分支,因其具有很高的可靠性和性能价格比,已经成为国际标准,在工业过程监控设备的互连方面得到广泛应用,受到工业界的广泛重视,并已被公认为几种最有前途的现场总线之一。 1.1 研究背景 随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术——Computer(计算机技术)、Control(自动控制技术)、Communication(通信技术)、CRT(显示技术)和Change(转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统有现场设备、接口与计算设备以及通信设备组成,现场总线(Field bus)就是在这种背景下产生的[2]。 1.2 研究目的和意义 从19世纪发明汽车以来,人们就一直在乘坐的舒适性、安全性和操控性方面不停地对其进行改革和创新,车上的电子设备也越来越多。这些电子设备大多是需要协同工作的,这就要求各部件之间能互相通信[1]。 为了解决汽车通信问题,CAN—bus应运而生,凭借可靠、实时、经济和灵活的特点,CAN总线很快在其他行业得到广泛应用,特别是在工业控制领域更是如鱼得水。现在CAN—bus总线已经成为全球范围内最重要的现场总线之一,甚至引领着现场总线的发展。 工业控制系统涉及众多软、硬件模块,给程序的设计和调试带来一定难度。尤其作为上、下位机间联系纽带的CAN总线通信部分,一旦在整个系统运行期间发生问题,若没有良好的人机界面和测试手段,将很难及时准确地找到并排除故障。同样,在控制系统的研制过程中,为了尽可能地减少故障和缩小故障范围,也应设计相应的测试

CAN总线的编码方式

对CAN总线的常见编码格式解析 我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式。但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢?我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的。本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解。 我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别。但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号。下面我们就来说一下两种格式的区别。 首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)。如下图所示。 byte x bit(8*x+7) bit(8*x) msb lsb 注:x=0,1,2,3 (7) 图1 一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB。第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0。根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者。我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面。

图2 结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区。上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右。如下图所示。 图3 我们现在以第一种矩阵模式进行说明。在这种情况下,如果主机厂在初期定义先发送LSB,再发送的MSB的形式,那么数据信号可以按照从上到下,从左到右的顺序发送,非常方便,接收器解析起来也比较容易。如果主机厂定义先发送MSB再发送LSB的形式,那样数据传输比较复杂,所以一般都不建议用这种方案。至于设计者常出现的错误我们在下文中会重点说明,下面我们先了解一下Intel 格式和Motorola格式在CANdb++中的区别。

第06章-单片机串行通信系统-习题解答

第6章单片机串行通信系统习题解答 一、填空题 1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。 2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。3.SCON中的REN=1表示允许接收。 4.PCON 中的SMOD=1表示波特率翻倍。 5.SCON中的TI=1表示串行口发送中断请求。 6.MCS-51单片机串行通信时,先发送低位,后发送高位。 7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。 8.设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 FAH 。 9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。10.MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。 二、简答题 1.串行口设有几个控制寄存器?它们的作用是什么? 答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。其中PCON 中只有PCON.7的SMOD与串行口的波特率有关。在SCON中各位的作用见下表: 2.MCS-51单片机串行口有几种工作方式?各自的特点是什么? 答:有4种工作方式。各自的特点为:

3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值? 答:串行口各种工作方式的波特率设置: 工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。 工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。 当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32 当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64 计算定时器的初值计算: 4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少?并进行初始化编程。 答:根据公式 N=256-2SMOD ×fosc /(2400×32×12)= 242.98≈243 =F3H TXDA: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0F3H ;置T1计数初值. MOV TH1,#0F3H MOV PCON,#80H ;置SMOD =1 B f B f N OSC SMOD OSC SMOD ??-=???-=384225612322256

单片机常用总线讲解

第8章单片机常用总线讲解 8.1 C总线接口 80C51单片机本身不具有总线接口,但是通过软件进行模拟,可以挂接具有C接口的芯片。 8.1.1 C总线的介绍 串行扩展总线在单片机系统中的应用是目前单片机技术发展的一种趋势。在目前比较流行的几种串行扩展总线中,总线以其严格的规范和众多带接口的外围器件而获得广泛应用。总线是PHILIPS公司推出的芯片间串行传输总线,它由两根线组成,一根是串行时钟线(SCL),一根是串行数据线(SDA)。主控器利用串行时钟线发出时钟信号,利用串行数据线发送或接收数据。总线由主控器电路引出,凡具有接口的电路(受控器)都可以挂接在总线上,主控器通过总线对受控器进行控制。 随着总线研究的深入,总线已经广泛应用于视/音频领域、IC卡行业和一些家电产品中,在智能仪器、仪表和工业测控领域也越来越多地得到应用。 8.1.2 总线的特点 总线的广泛应用是同它卓越的性能和简便的操作方法分不开的。总线的特点主要表现在以下几个方面: 硬件结构上具有相同的硬件接口界面。总线系统中,任何一个总线接口的外围器件,不论其功能差别有多大,都是通过串行数据线(SDA)和串行时钟线(SCL)连接到总线上。这一特点给用户在设计用用系统中带来了极大的便利性。用户不必理解每个总线接口器件的功能如何,只需将器件的SDA和SCL引脚连到总线上,然后对该器件模块进行独立的电路设计,从而简化了系统设计的复杂性,提高了系统抗干扰的能力。 线接口器件地址具有根大的独立性。每个接口芯片具有唯一的器件地址,由于不能发出串行时钟信号而只能作为从器件使用。各器件之间互不干扰,相互之间不能进行通信,各个器件可以单独供电。单片机与器件之间的通信是通过独一无二的器件地址来实现的。 软件操作的一致性。由于任何器件通过总线与单片机进行数据传送的方式是基本一样的, .v .. ..

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

单片机的引脚原理图及说明完整版

单片机的引脚原理图及 说明 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。 下面,我们先就组成P0口的每个单元部份跟大家介绍一下: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D 锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。

D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。 多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。大家看上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

课程设计--CAN总线

课程设计 题目 CAN通信 二级学院电子信息与自动化 专业自动化 班级 107070103 学生姓名学号 指导教师熊文 考核项目 设计50分平时 成绩 20分 答辩30分 设计质量 20分 创新设计 15分 报告质量 15分 熟练程度 20分 个人素质 10分 得分 总分考核等级教师签名

摘要: CAN总线是控制器局域网总线(contr01ler AreaNetwork)的简称。属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独立的设计而被广泛应用于工业现场控制系统中。SJAl000是一个独立的CAN控制器,PCA82C200的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面,因此,SJAl000将会替代PCA82C200。SJAl000支持直接连接到两个著名的微型控制器系列80C51和68xx。下面以单片机AT89C52和SJAl000为例,介绍CAN总线模块的硬件设计和CAN通信软件的基本设计方法。 关键词:AT89S52 CAN通信 SJA1000

目录: (一) 背景: (二) CAN介绍 (三) SJA1000内部结构和功能简介 (四) 硬件电路图 (五) 初始化程序 (六) 测试 (七) 总结

一背景: CAN(Controller Area Network)数据总线是一种极适于汽车环境的汽车局域网。CAN总线是德国Bosch公司为解决汽车监控系统中的 复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网 络。由于采用了许多新技术和独特的设计思想,与同类车载网络相比,CAN总线在数据传输方面具有可靠、实时和灵活的优点。 1991年9月Philips半导体公司制定并发布了CAN技术规范(版本 2.0),该技术规范包括A部分和B两部分,其中2.0A给出了CAN报文的标 准格式;2.0B给出了标准和扩展两种格式。此后,1993年11月ISO正 式颁布了道路交通运输工具一数据信息交换一高速通信控制器局域 网(CAN)的国际标准IS011898,为控制器局域网的标准化和规范化铺 平了道路。 二CAN介绍 CAN通信的特点: (1) CAN是到目前为止唯一具有国际标准且成本较低的现场总线; (2) CAN废除了传统总线的站地址编码,对通信数据块进行编码,为 多主方式工作,不分主从,通信方式灵活,通过报文标识符通信,可 使不同的节点同时接收到相同的数据,无需站地址等节点信息。 (3) CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信 息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可 不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其 是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则有可

基于51单片机的双机串行通信

机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx : xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 1.51单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

CAN单节点的自通信程序

/****************************************************************************** ******** 项目:基于CAN总线的自收发通信 说明:主程序部分 功能:外部按键每按下一次,计数值加一,同时计数值在数码管1、2上显示。 在计数值加一后,会使CAN总线上重新发送数据,此时接收端的计数值也同步更新显示 在数码管3、4上(为便于观察,接收显示的值比发送值大3)。 // CAN主要参数: PeliCAN模式,扩展帧EFF模式 // 29位标示码结构: // 发送数据结构:计数结果,0x02,0x03,0x04,0x05,0x06,0x07,0x08 // 接收数据结构: 待显示数据+其它7个字节的数据 // 本节点的接收代码寄存器值: 0x11,0x22,0x33,0x44 // 本节点的屏蔽代码寄存器值:0x00,0x00,0x00,0x00;可以接收本节点的数据 // 目的节点地址:0x11,0x22,0x33,0x44;可以被本节点接收 模块:can_self.c 作者:PIAE GROUP 注释修改者:特权 修改时间:08.6.17. ******************************************************************************* *******/ /***感谢PIAE工作组提供的源码,这里特权根据自己的编程习惯做了一些修改并添加详细注释***/ #include #include #include "define.h" /////////////////////////////////////////////// //函数:inter0_key (外部中断INT0) //说明:INT0按键为计数按键 // 每按下一次键,计数值加一 //入口:按键中断 //返回:按键加一 /////////////////////////////////////////////// void inter0_key(void) interrupt 0 { EA = 0; //关闭中断 Txd_data++; //计数结果增1,即待发送的数据增1 TXD_flag = 1; //发送数据标志位置位,即重新发送数据以更新数码管的显示数值 EA = 1; //重新开启中断 } ///////////////////////////////////////////////

几种总线的总结之CAN 总线

CAN总线 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境 基本概念 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 编辑本段CAN总线优势 CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 网络各节点之间的数据通信实时性强 首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差; 缩短了开发周期 CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN

CAN总线设计(最终版)(1)

CAN-USB适配器设计 ***** 指导老师:*** 学院名称:***** 专业班级:**** 设计提交日期:**年**月 摘要 随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案。USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。本文介绍了一种基于新型USB接口芯片CH372的CAN总线网络适配器系统的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接

的方案。利用芯片CH372可在不了解任何USB协议或固件程序甚至驱动程序的情况下,轻松地将并口或串口产品升级到USB接口。该系统在工业现场较之以往的系统,可以更加灵活,高速,高效地完成大量数据交换,并可应用于多种控制系统之中,具有很大的应用价值。 关键词:USB;CH372;CAN;SJA100;适配器 目录 1.设计思想 (3) 2.CAN总线与USB的转换概述 (4) 3. 适配器硬件接口设计 (5) 3.1 USB接口电路 (5)

3.2 CAN总线接口电路 (7) 4.USB通用设备接口芯片CH372 (8) 4.1 概述 (8) 4.2 引脚功能说明 (9) 4.3 内部结构 (9) 4.4 命令 (10) 5.软件设计 (10) 5.1 概述 (10) 5.2主监控程序设计 (12) 5.3 CAN和USB接口芯片的初始化 (13) 5.4 CAN报文的发送 (15) 5.5 CAN报文的接收 (17) 5.6.自检过程 (19) 5.7 USB下传子程序设计 (20) 5.8 USB上传子程序设计 (22) 5.9.USB—CAN转换器计算机端软件设计 (23) 6. 抗干扰措施 (25) 7. 估算成本 (26) 8. 应用实例介绍 (27) 9 总结及设计心得 (28) 10 参考文献 (28) 1 设计思想 现场总线网络技术的实现需要与计算机相结合。目前,在微机上扩展CAN总线接口设备一般采用PCI总线或者RS-232总线。PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩

基于单片机的双机串行通信

河南机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx 姓名: xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规范; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

相关文档