您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于CAN总线与GPRS的数据通信
1基于CAN总线和GPRS的数据通信论文孙艳科曾焰龙剑刘召勤唐文杰指导老师:张新安(湖南科技学院电子工程系)摘要:在当今的工业现场总线技术中,CAN总线技术凭借其实现数据通信的高可靠性、实时性和灵活性等优点,广泛运用于各个领域;无线数据通信网络的发展,使数据传输更加方便。本文提出了一种基于CAN总线与GPRS的数据通信系统,给出了系统的设计方案。系统采用STC89C52单片机作为主控制芯片,在CAN总线通信接口模块中,CAN总线控制器选用Philips公司的SJA1000,总线驱动器采用了PCA82C250接口芯片,CAN总线通信数据采用双绞线传输。无线数据收发系统选用GPRS。介绍了CAN总线及GPRS数据收发的性能及特点,提出了一种基于CAN总线和GPRS的数据通信的系统,给出了其软硬件设计方案,并对CAN接口中断处理、GPRS数据传输以及CAN通用应用层协议的开发等关键技术问题进行了重点研究,同时对设计中的难点及实现过程中应注意的问题进行了比较详细的介绍。经系统测试,该系统使用方便、工作可靠性较高,达到了设计要求,具有一定的参考和应用价值。【关键词】CAN总线智能节点GPRS无线数据传输STC89C522一引言本项目提出了基于CAN总线和GPRS的数据通信系统,研究其软硬件设计方案,对CAN接口中断处理、GPRS无线数据传输以及CAN通用应用层协议的开发等关键技术问题进行研究。将CAN总线与GPRS通信相结合,使CAN结点获得的信号能通过总线实时地、可靠地、高速而准确地进行传输,使得各由计算机控制单元能够通过CAN总线共享所有信息和资源,达到简化布线、减少传感器数量、避免控制功能重复、提高系统可靠性、降低成本、更好地匹配和协调各个控制系统的目的。CAN总线具有很好的抗干扰能力,能很好满足GPRS数据通信,是未来智能化传感器和智能化控制网络的发展趋势。基于CAN总线和GPRS的数据通信具有很高的网络安全性、通信可靠性和实时性,网络成本低,多个用户可高效率地共享同一无线信道,可以在异地实时监控工业现场的各种状况下发挥巨大作用。本系统设计拟解决的关键问题:1、CAN接口中断处理。2、GPRS线数据传输协议。3、CAN通用应用层协议的开发等关键技术问题。1.1通信系统总体功能概述1.1.1系统总体框图系统原理描述:系统由一个主控机和若干个CAN节点执行器组成,它们都挂接在双绞线上,组成一个CAN总线通信局部通信网络,CAN总线通信网络中的主控机安装GPRS数据传输装置,与另一个控制中心组成无线通信网络,整个系统的关键任务是实现CAN总线内部局域网通信以及GPRS通信网络的通信。其系统总体结构框图如图1.1.1所示。3CAN接口主控机CAN接口1号执行机CAN接口2号执行机120120GPRSGPRS服务主机-控制中心无线数据传输图1.1.11.1.2CAN总线主控机节点设计CAN总线主控机系统由单片机最小系统、CAN总线通信接口、实时显示、人机接口模块和串口通信下载模块及无线通信模块组成。CAN总线通信接口通过双绞线收发数据,实现和执行器的连通。结构框图如图1.1.2所示:本主控机负责与无线通信网络进行数据传输,同时也是CAN总线网络中的一个节点,在整个系统中起着主导作用,而CAN总线通信模块,采用SJA1000和PCA82C250,通过单片机控制,实现与其他节点通信。4单片机微处理器STC89C52人机接口模块RS-232串行接口CAN总线通信模块GPRS通信模块显示模块图1.1.2CAN总线主控机节点框图1.1.3CAN通信模块设计CAN通信模块是本次设计中的核心技术,它负责系统中主控机和执行器之间的数据通信。单个CAN总线节点由单片机、CAN总线控制器和高速光电耦合器及总线驱动器组成,可编程控制,所以称之为智能节点,结构如图3所示,设计中CAN通信模块采用了独立式的CAN控制器,数据通过对控制器编程写入控制器芯片的发送缓冲区里发送出去,目的节点则负责把数据接收到数据接收缓冲区里,再通过CAN总线接口和单片机之间的数据总线,传递给单片机进行处理。设计方案如图1.1.3所示。CAN总线驱动器PCA82C250光藕隔离6N137CAN总线控制器SAJ1000单片机CAN总线驱动器PCA82C250光藕隔离6N137CAN总线控制器SAJ1000单片机CAN总线驱动器PCA82C250光藕隔离6N137CAN总线控制器SAJ1000单片机CAN总线图1.1.3CAN通信模块(单节点)结构与CAN总线系统结构图5二硬件系统设计2.1电源电路电源是整个系统的能量来源,它直接关系到系统能否运行。在本系统中需要用到5V和3.3V的电源,因此电路中需选用稳压芯片LM7805和AMS11173.3V稳压芯片;其LM7805最大输出电流为1.5A,能够满足系统的要求,电路如图2.1所示。图2.1电源电路2.2RS-232下载接口电路RS-232通信接口电路原理图如图2.2所示:由于PC机的通信口为RS-232电平标准,而单片机则是TTL电平,所以要实现单片机与PC机串行通信,就需采用MAX232将TTL电平转换为RS-232电平。RS-232标准的传输速率只能达到20kb/s,最大传输距离15m。但这里基本能满足本次设计要求。该接口电路,方便设计中的程序调试,电路简单实用。6图2.2RS-232下载接口电路2.3微处理器基本系统微处理控制系统采用了STC公司生产的89C52单片机,CAN控制器的片选为P2.7,CAN控制器的中断输出接在单片机的外部中断INT1。复位电路和晶振电路是89C52工作所需的最简单外围电路。同时该基本系统还包含了显示模块和独立按键模块,通过按键模块能向CAN网络中任一节点发送或读取数据,电路设计简单,其中显示电路选用LCD1602,显示直观、外圈电路简单。微处理器基本系统电路原理图如图2.3所示:图2.3微处理器基本系统2.4CAN通信接口电路2.4.1CAN通信接口电路方案论证方案一:集成芯片解决方案集成CAN总线接口的单片机很多,有TI公司出品的DSP芯片TMS320C2000系列,Motorola公司生产的68HC05X4等,常用的是Philips公司生产的P8xC591集成芯片。P8xC591不但集成了CAN控制器,还集成了其它相关功能,如A/D转换、脉宽调制输出PMW0、看门狗等。这无疑大大简化了应用系统的硬件设计,系统可靠性也有很大提高,但同时也存在应用灵活性不够等问题,而且它需要专用的开发7工具,也给系统开发带来不便。方案二:独立式控制器解决方案本方案中,采用89C52微处理器作为系统的控制核心,再扩展CAN通信接口,其中CAN通信控制器采用Philips公司生产SJA1000,它与单片机直接接口,电路简单;CAN总线驱动器采用PCA82C250,本方案具有编程灵活,通信协议可扩展等特点。经比较,考虑到方案二在设计时更灵活方便,可以采用通用的开发工具,性价比很高,而且89C52扩展其它接口也更加自由,技术也很成熟,所以采用第二种方案2.4.2SJA1000CAN控制器的介绍SJA1000是一种独立的CAN总线控制器。PHILIPS半导体公司将它作为PCA82C200CAN控制器(BasicCAN)的替代产品。SJA1000在原来的BasicCAN工作模式上又增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特性的CAN2.0B协议[7]。可以通过时分频器中的CAN方式位来选择工作模式,本设计采用的是PeliCAN模式。1、BasicCAN和PeliCAN方式的区别在PeliCAN方式下,SJA1000有一个重新设计的含很多新功能的寄存器组,SJA1000包含PCA82C200中的所有位,同时增加了一些新的功能位。2、SJA1000的基本特性*具有64字节长度的接收队列;*符合CAN2.0A和CAN2.0B协议;*16个收发信息缓冲器,支持11位或29位标识符,支持多级信息缓冲器结构;*读/写访问错误计数器,可编程的错误限制报警,最近一次的误码寄存器;*每一个CAN总线错误的错误中断;*由功能位定义的仲裁丢失中断;*一次性发送(当错误或仲裁丢失时不重发);*只听模式(CAN总线监听,无应答,无错误标志);*支持热插拔(无干扰软件驱动位速检测);*硬件禁止CLKOUT输出;*支持数据帧和远程帧的发送和接收;*支持满位比较、满位屏蔽和位屏蔽验收三种验收标识选择方式;8*两个验收标识寄存器支持标准帧或扩展帧格式;*波特率从10Kbps~1Mbps可编程。3、SJA1000引脚介绍图2.4.1是SJA1000引脚图,各引脚功能如下:11脚(MODE):模式选择输入(1:Intel模式;0:=Motorola模式)。13、14脚(TX0、TX1):为输出驱动器0、输出驱动器1到物理总线的输出端。19、20脚(RX0、RX1):从物理CAN总线输入到SJA1000的输入比较器的输入端。图2.4.1SJA1000引脚图16脚(INT):中断输出,用于中断微控制器。INT在内部中断寄存器各位都置位时,低电平有效。INT是开漏输出。7脚(CLKOUT):时钟信号输出端,SJA1000产生的时钟输出信号提供给微控制器,时钟信号来源于内部振荡器且通过编程驱动,时钟控制寄存器的时钟关闭位可禁止该引脚。2、1,28-23脚(AD7~AD0):数据/地址复用总线;3脚(ALE/AS):Intel模式/Motorola模式的地址锁存信号端;5脚((RD)/E)、6脚(WR):读写控制信号端;4脚(CS):片选信号输入端,低电平有效;9、10脚(XTAL1、XTAL2):振荡器输入、输出端。外部信号从XTAL2输入到振荡器放大电路,XTAL2是振荡器放大电路的输出,使用外部振荡信号时左开路输出;22、18、12脚(VDD1、VDD2、VDD3):5V电压端;8、2、15脚(VSS1、VSS2、VSS3):与上述电压端相对的接地端。2.4.3PCA82C250CAN总线驱动器介绍PCA82C250是CAN协议控制器和物理总线的接口,它可以提供总线的差动发送能力和接收能力,具有高速性(最高可达1Mbps),具有抗瞬间干扰保护总线的能力,具有降低射频干扰的斜率控制,最多可挂110个节点[8]。1、82C250的基本特性如下:•与ISO11898标准完全兼容;•高速率(最高可达1Mbps);9•采用斜率控制,降低射频干扰;•过热保护;•总线与电源及地之间的短路保护;•低电流待机模式;•具有抗汽车环境下的瞬间干扰,保护总线能力;•未上电节点不会干扰总线;2、芯片管脚说明:芯片引脚如图2.4.2所示:1、4脚(TXD、RXD)发送、接收数据输入端;5脚(Vref)参考电压输出端;6脚(CANL)低电平CAN电压输入/输出;图2.4.2PCA82C250引脚图7脚(CANH)高电平CAN电压输入/输出;8脚(Rs)斜率电阻输入端;通过在地和PCA82C250的8脚(Rs)之间接不同阻值的电阻,PCA82C250可选择三种不同的工作方式:高速、斜率控制和待机,如表2.4.3所列。表2.4.3RS选择的三种工作方式在高速工作方式下,发送器输出晶体管简单地以尽可能快的速度启闭。在这种方式下,不采取任何措施限制上升和下降斜率。建议使用屏蔽电缆以避免射频干扰问题。通过将引脚8接地,可选择高速方式。对于较低速度或较短总线长度,可用非屏蔽双绞线或平行线作总线。为降低射频干扰,应限制上升和下降斜率。上升和下降斜率可通过由引脚8至地连接的电阻进行控制。斜率正比于引脚8上的电流输出。电阻大小可根据总线通信速度适当调整,一般在16~140KΩ之间,本电路电阻值为47KΩ。若引脚8加有高电平,则电路进入低电流待机方式。在这种方式下,发送器被关掉,而接收器转至低电流。由于在待机方式下,接收器是慢速的,因此,第一个报文将被丢失。2.4.4CAN通信接口硬件电路硬件电路设计图如图2.4.4所示10图2.4.4CAN通信接口硬件电路接线方式:STC89
本文标题:基于CAN总线与GPRS的数据通信
链接地址:https://www.777doc.com/doc-315212 .html