您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第10章 单片机高级应用实例
10单片机高级应用实例北京航空航天大学出版社10单片机高级应用实例2教学目的了解CAN总线协议理解CAN总线报文传输掌握CAN总线节点的硬件和软件设计了解Mifare卡的内部结构掌握Mifare卡读写器主要模块的设计掌握Mifare卡操作流程掌握Mifare卡读写软件设计了解GPRS技术掌握GPRS组网和协议转换流程掌握LQ8110GPRSDTU应用北京航空航天大学出版社10单片机高级应用实例3本章内容CAN总线节点的设计Mifare射频卡读写器的设计基于GPRS的远程监测系统的设计10.1CAN总线节点的设计CAN总线概述CAN总线分层协议报文传输CAN节点硬件设计CAN节点软件设计北京航空航天大学出版社10单片机高级应用实例5CAN总线概述CAN(ControllerAreaNetwork)总线又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局域网,由于其卓越的性能、极高的可靠性、独特灵活的设计和低廉的价格,已被公认是几种最有前途的现场总线之一。最初CAN被设计作为汽车环境中的微控制器通信,在车载各电子控制装置之间交换信息,形成汽车电子控制网络。它是一种有效支持分布式控制或实时控制的串行通信网络,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例6CAN总线概述CAN总线具有以下技术特性CAN以多主方式工作,网络上任意一个节点均可以在任意时刻,主动的向网络上任意一个节点发送信息,而不分主从,通信方式灵活。CAN废除了传统的站地址编码,传输的报文并非根据报文发送器/接收器的节点地址识别(几乎其它的总线都是如此),而是根据报文的内容识别,同时用于识别报文的标识符也规定了优先级,可以满足不同的实时要求。CAN总线可以点对点、一点对多点及全局广播几种方式传送和接收数据。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例7CAN总线概述CAN总线具有以下技术特性CAN总线采用非破坏性总线仲裁技术,当两个节点同时向网络传送信息时,优先级低的节点主动停止发送数据,而优先级高的节点可不受影响的继续传送数据,有效避免了总线冲突。CAN总线直接通信距离最远可达5kbps/l0Km,通信速率最高可达1Mbps/40m。CAN采用短帧结构,数据传输时间短,受干扰概率低,重新发送的时间短。CAN节点在严重错误的情况下具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其它操作不受影响。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例8CAN总线概述CAN总线具有以下技术特性CAN每帧信息都采用CRC校验及其他检错措施,保证了数据的出错率极低。通信介质要求低,用户接口简单,编程方便,容易构建用户系统。采用不归零码(NRZNon-Return-Zero)编码解码方式,并采用位填充方式。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例9CAN协议也是建立在国际标准组织的开放系统互连ISO/OSI模型基础上的,不过,考虑到作为工业控制底层网络,其信息传输量较少,实时性要求比较高,因此,CAN的模型结构如表10.1所示,分为:物理层、传输层和对象层。传输层和对象层包括所有由ISO/OSI模型定义的数据链路层的服务和功能。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例10CAN总线分层协议应用层对象层报文滤波报文和状态的处理传输层故障界定错误检测和标定报文校验应答仲裁报文分帧传输速率和定时物理层信号电平和位表示传输媒体10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例11CAN总线分层协议物理层定义实际信号的传输方法,物理层是网络中最低层,涉及通信系统的驱动电路、接收电路与通信介质之间的接口问题;数字信号在通信介质上的编码方式;确定与链路控制有关的硬件功能。传输层是CAN协议的核心。它把接收到的报文提供给对象层,以及接收来自对象层的报文。传输层负责位定时及同步、报文分帧、仲裁、应答、错误检测和标定、故障界定。对象层的功能是报文滤波以及状态和报文的处理。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例12报文传输报文传输由以下4种不同类型的帧所表示和控制数据帧:数据帧携带数据从发送节点传送至接收节点。远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。错误帧:任何单元检测到一总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例13CAN节点硬件设计CAN控制器SJA1000简介SJA1000独立CAN控制器是PHILIPS公司PCA82C200CAN控制器的替代产品,它在完全兼容PCA82C200的基础上,增加了一种新的工作模式PeliCAN,SJA1000完全支持具有很多新特性的CAN2.0B协议。SJA1000工作模式的选择是通过其内部的时钟分频寄存器中的CAN模式位来确定的,硬件复位默认为BasicCAN工作模式。SJA1000与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问SJA1000,在设计SJA1000的片选地址时应与其它片选地址在逻辑上无冲突。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例14CAN节点硬件设计SJA1000提供2种封装:DIP-28和SO-2810.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例15CAN节点硬件设计SJA1000的内部结构方框图10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例16CAN节点硬件设计SJA1000内部结构如图所示,主要由7个部分组成:接口管理逻辑(IML):接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。发送缓冲器(TXB):发送缓冲器是CPU和BSP(位流处理器)之间的接口,能够存储发送到CAN网络上的完整信息,缓冲器长13个字节,由CPU写入,BSP读出。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例17CAN节点硬件设计接收缓冲器(RXB,RXFIFO):接收缓冲器是验收滤波器和CPU之间的接口,用来储存从CAN总线上接收和接收的信息。接收缓冲器(RXB,13个字节)作为接收FIFO(RXFIFO,长64字节)的一个窗口,可被CPU访问。CPU在此FIFO的支持下,可以在处理信息的时候接收其它信息。验收滤波器(ACF):验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息。在纯粹的接收测试中,所有的信息都保存在RXFIFO中。位流处理器(BSP):位流处理器是一个在发送缓冲器、RXFIFO和CAN总线之间控制数据流的程序装置,它还在CAN总线上执行错误检测、仲裁、填充和错误处理。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例18CAN节点硬件设计位时序逻辑(BTL):位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。它在信息开头“弱势-支配”的总线传输时同步CAN总线位流(硬同步),接收信息时再次同步下一次传送(软同步)。BTL还提供了可编程的时间段来补偿传播延迟时间、相位转换(例如,由于振荡漂移)和定义采样点和一位时间内的采样次数。错误管理逻辑(EML):EML负责传送层模块的错误管制。它接收BSP的出错报告,通知BSP和IML进行错误统计。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例19CAN节点硬件设计CAN总线收发器PCA82C250简介PCA82C250是CAN协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力。CAN节点硬件设计CAN总线系统智能节点硬件电路主要由四部分构成:微控制器89C52,CAN控制器SJA1000,CAN总线收发器82C250和高速光电耦合器6N137。AT89C52通过控制SJA1000实现SJA1000的初始化、数据的接收和发送等通信任务。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例20CAN节点硬件设计10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例21CAN节点硬件设计为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离。82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例22CAN节点软件设计CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。CAN总线的初始化•程序的开始首先要通过控制寄存器进入复位工作状态,SJA1000的初始化只有在复位模式下才可以进行。•初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器AMR和接收代码寄存器ACR的设置、总线定时寄存器BTR设置和中断允许寄存器IER的设置。•在完成初始化设置以后,SJA1000就可以回到工作状态进行正常的通信任务。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例23CAN节点软件设计CAN总线上的报文发送和报文接收报文发送就是将标识符和数据送入发送缓冲区,按CAN协议封装成一完整CAN信息帧,然后置位命令寄存器CMR中的发送请求位TR,通过收发器发往总线。SJAI000的发送缓冲区写入数据时,一定要检查发送缓冲区是否处于锁定状态,如锁定,这时的数据将丢失。报文接收时,验收滤波器单元完成接收信息的滤波。只有验收滤波通过且无差错,才把接收的信息帧送入接收FIFO缓冲区,且置位接收缓冲区状态标志SR.0,表明接收缓冲区中已有成功接收的信息帧。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例24CAN节点软件设计根据以上关于SJA1000的介绍,可以总结出以下几点注意事项:在设计微处理器与SJA1000的接口电路时,首先要根据微处理器选择SJA1000的接口模式,其次要注意SJA1000的片选地址应与其它的外部存储器无冲突,还应注意SJA1000的复位电路应为低电平有效。微处理器对SJ1000的控制访问是以外部存储器的方式来访问SJA1000的内部寄存器,所以应该正确定义微处理器访问SJA1000时SJA1000内部寄存器的访问地址。10.1CAN总线节点的设计北京航空航天大学出版社10单片机高级应用实例25CAN节点软件设计微处理器可以通过中断或轮询的方式来访问SJA1000。微处理器访问SJA1000时,SJA1000有两种不同的模式:工作模式和复位模式。对SJA1000的初始化只能在SJA1000的复位模式下进行。初始化包括:设置验收滤波器、总线定时器、输出控制、时钟分频中的特定控制等。设置复位请求后,一定要校验,以确保设置成功。向SJA1000的发送缓冲区中写入数据时,一定要检查发送缓冲区是否处于锁定状态。如锁定,这时写入的数据将丢失。10.1CAN总线节点的设计10.2Mifare射频卡读写器的设计Mifare卡的内部结构Mifare卡读写器主要模块的设计Mifare卡操作流程FM1702SL密钥的设计与冲突检测措施Mifare卡读写软件设计北京航空航天大学出版社10单片机高级应用实例27Mifare卡的内部结构Mifare卡主要由射频接口电路、数字控制部分及EE
本文标题:第10章 单片机高级应用实例
链接地址:https://www.777doc.com/doc-3207707 .html