CAN总线与RS-485转换电路板的设计

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:lqylzy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:CAN总线已在变电站自动化系统中得到了广泛应用,而SJA1000作为PHILIPS公司最近推出的独立CAN器件也已得到了广泛关注。本论文的系统采用微控制器+CAN控制器+CAN收发器,微控制器为MCS-51系列,CAN控制器为PHILIPS公司SJA1000CAN控制器,CAN接收器选用82C250。介绍了SJA1000的基本原理和功能,并给出了SJA1000的典型硬件连接原理图及初始化程序和部分通信程序。CAN软件设计主要采用汇编语言,最主要的目的是实现CAN是发送报文与接收报文。并与RS485接口进行比较,最后试验传输率<5KBPS,传输距离用仿真电缆模拟是否可以达到10KM。
  关键词:CANSJA1000汇编语言
  
  
  
   Abstract:The principle and function of SJA1000 stand–alone CAN controller are introduced; the hardware connection diagram and the communication program of SJA1000 are given. The Design the system introduced in the book adopt the tiny controller + the controller of CAN+ the transceiver of CAN, the tiny controller is serieses MCS-51s, The CAN controller is SJA1000 of PHILIPS company .The CAN software design is main to adopt to edit collected materials the language, the purpose of the most is to realizes the CAN is to send out the report text with receive the report text.
  Key words:CAN; SJA1000;assemble; language
   中图分类号:TM13 文献标识码: A 文章编号:
  
  
   CAN(ControllerAreaNetwork)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网,由于其卓越的性能,极高的可靠性,独特灵活的设计和低廉的价格,现已广泛应用于工业现场。控制智能大厦,小区安防,交通工具,医疗仪器,环境监控等众多领域CAN,已被公认为几种最有前途的现场总线之一。
   RS485仅仅是一种半双工通信的电气协议,其通信介质为双绞线,传输的信号在双绞线上呈现一对正负相反的电平信号用来表示逻辑“1”和逻辑“0”。在RS485的通信网络中,只能让一个节点向网络发送数据。系统中每一个节点的RS485驱动器都有一个发送使能控制端DE,其作用是驱动器发送数据时,控制该发送器有效,使其向网络发送数据;数据发送完后,DE则关闭发送器,使其处于高阻值状态,从而不影响网络中其它节点的数据传送。如果发生故障,出现几个节点同时向网络发送数据,这就等于多个RS485驱动器同时向一对双绞线上输出不同的电平信号,结果使得整个网络呈现短路状态,最终损坏其节点的驱动器,使故障范围进一步扩大。而CAN总线的传输距离远,通信速率高。
   我们的目的就是制作一个可以在原有的RS485接口的系统上实现CAN通信的数字式电路板。使用户不用改变原有的系统结构就可以实现具有相当优势的CAN系统通信,提高效率。
  1.系统介绍
  1.1CAN总线的应用研究
   现场总线是安装在生产现场装置与控制室内自动控制装置之间的数字式、串行、多点通讯双向传输的数据总线。它的最大优点是可以大幅度节约连接导线、降低安装和维护的费用;具有精度高、能传送多个过程变量,包括仪表的自诊断信息等。在十几种已出台的现场总线中,CAN总线也是一种很有应用前景的现场总线之一。
  1.2MAX1487芯片内部的结构,管脚功能及其工作原理
  MAX1487采用+5v电源供电,当供电电流约为500ua时,传输率达到2.5MB/S。它适用于半双工通信。通信传输线上最多为±2v-±6v。MAX1487的管脚及内部结构框图如图所示。
  
  
  
  脚1RO:接受器输出;
  脚2RE:接受器使能;
  脚3DE:驱动器使能;
  脚4DI:驱动器输入;
  脚5GND:地;
  脚6A:接收器非反相输入或驱动器非反相输出;
  脚7B:接收器反相输入或驱动器反相输出;
  脚8VCC:电源;
  
  
  
  MAX1487的输入脚DI可与单片机CPU的TXD脚相连,输出脚RO与单片机CPU的RXD脚相连。MAX1487内部的驱动器与接收器三三太的,通过DE和RE进行发送与接收,发送与接受的两种控制信号是相反的。可将两者接相同的控制信号,即“1”电平控制发送,“0”电平控制接收。A,B实现多机联网。MAX1487的应用电路及通讯协议:在多机通信中,一般PC机作为上位机只有RS232标准的通讯接口,要实现RS485标准接口通信,须通过RS232/RS485转换接口电路,完成由EIA到TTL电平的转换。可用专门的带隔离RS232/485转换器来實现。MAX1487的RE与DE连接同一个控制信号,如下实际电路中8031的P3.5,严格保证收发信号在时间上错开通信协议:MC51中串行控制寄存器SCON设有多机通信控制位SM2,在编程前,定义从机的地址编号,分别为00H,02H等等从机系统在初始化程序中将串行口编程为约定的接收方式,且置为SM2,允许串行口中断在主机和某一从机通信之前,先向所有从机发出所选从机的地址,以设置第九位TB8为1表示为地址帧,这时SN2作为地址监听位,所有从机当接收到的第九位RB8位为1则置为中断标志RI,中断后判断主机送来的地址与本从机是否一致,若为本地址,则清SM2为0,准被发送主机送来的数据帧其他从机保持SM2为1状态。接着主机发送数据帧,各串行同时接收该数据帧,而只有已选中的从机才能产生中断并接受该数据,其余从机收到不产生中断响应,将数据丢失掉。这样就实现了多机一对一通信。
  1.38031单片机系统结构
  8031系列的基本结构如下:
  一个8位算术逻辑单元
  32个I/O口
  两个16位定时计数器
  全双工串行通信。
  6个中断源两个中断优先级
  128字节内置RAM。
  独立的64K字节可寻址数据和代码区。
   每个8031处理周期,包括12个振荡周期,每12个振荡周期,用来完成一项操作,如取指令和计算指令执行时间,可把时钟频率除以12,取倒数,然后指令执行所须的周期数,因此,如果你的系统时钟是11.059MHz,除以12,后就得到了每秒执行的指令个数,为921583条指令,取倒数将得到每条指令所须的时间1.085ms。
  1.4看门狗
   大多数31系列单片机都有看门狗,当看门狗没有被定时清零时,将引起复位。这可防止程序跑飞。设计者必须清楚看门狗的溢出时间。以决定在合适的时候清看门狗。清看门狗也不能太过频繁,否则会造成资源浪费。X5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU作出反应。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。X5045的存储器与CPU可通过串行通信方式接口,共有4096个位,可以按512×8个字节来放置数据。
  1.5SJA1000简介
   CAN控制模块的说明
   接口管理逻辑接口管理逻辑负责解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。
   位流处理器(BSP)位流处理器是在发送缓冲器、RXFIFO和CAN总线之间控制数据流的程序装置。它还执行错误检测、仲裁、总线填充和错误处理。
   位时序逻辑(BTL)位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。它在信息开头“弱势-支配”的总线传输时同步CAN总线位流(硬同步),接收信息时再次同步下一次传送(软同步)。BTL提供了可编程的时间段来补偿传播延迟时间、相位转换(如由于振荡漂移)和定义采样点及每一位的采样次数。
   错误管理逻辑(EML)EML负责传送层中调制解调器的错误管理。它接收BSP的出错报告,使BSP和IML进行错误统计。通常情况下,错误计数器计数达到255时,将关闭总线,并自动转入复位状态,并产生错误中断。经过128个周期的总线空闲后,重新开启总线。当错误计数器计数达到96时(警告限制),将产生错误中断。
  2.系统设计
   8031单片机的全双工串行口可编程为4种工作方式,现分述如下:
   方式0为移位寄存器输入/输出方式。可外接移位寄存器以扩展I/O口,也可以外接同步输入/输出设备。8位串行数据者是从RXD输入或输出,TXD用来输出同步脉冲。
   输出:串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fos/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位。
   输入:当串行口以方式0接收时,先置位允许接收控制位REN。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(RI)=0和(REN)=1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。方式1为波特率可变的10位异步通讯接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。
   输出:当CPU执行一条指令将数据写入发送缓冲SBUF时,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后,就由硬件置位TI。
   输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。只有当(RI)=0且停止位为1或者(SM2)=0时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。所以在方式1接收时,应先用软件清零RI和SM2标志。
   方式2
   方式2:为固定波特率的11位UART方式。它比方式1增加了一位可程控为1或0的第9位数据。
   输出:发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON寄存器的TB8位,用软件置位或复位。它可作为多机通讯中地址/数据信息的标志位,也可以作为数据的奇偶校验位。当CPU执行一条数据写入SUBF的指令时,就启动发送器发送。发送一帧信息后,置位中断标志TI。
   输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。在接收到附加的第9位数据后,当(RI)=0或者(SM2)=0时,第9位数据才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。且不置位RI。再过一位时间后,不管上述条件时否满足,接收电路即行复位,并重新检测RXD上从1到0的跳变。
   工作方式3
   方式3:为波特率可变的11位UART方式。除波特率外,其余与方式2相同。波特率选择如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在8051串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。
   方式0式0的波特率固定为主振频率的1/12。
   方式2
   方式2的波特率由PCON中的选择位SMOD来决定,可由下式表示:
   波特率=2的SMOD次方除以64再乘一个fosc,也就是当SMOD=1时,波特率为1/32fosc,
   当SMOD=0时,波特率为1/64fosc方式1和方式3定时器T1作为波特率发生器,
   其公式如下:波特率=定时器T1溢出率T1溢出率=T1计数率/产生溢出所需的周期数式中T1计数率取决于它工作在定时器状态还是计数器状态。
   当工作于定时器状态时,T1计数率为fosc/12;当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于fosc/24。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。
   定时器T1工作于方式0:
   溢出所需周期数=8192-x
   定时器T1工作于方式1:
   溢出所需周期数=65536-x
   定时器T1工作于方式2:溢出所需周期数=256-x
   因为方式2为自动重装入初值的8位定时器/计数器模式,所以用它来做波特率发生器最恰当。当时钟频率选用11.0592MHZ时,取易获得标准的波特率,所以很多单片机系统选用这个看起来“怪”的晶振就是这个道理。
   3.主程序设计
   CAN控制器SJA1000在复位模式下對各位寄存器的初始化程序。
   流程图如下:
  
  
  
   程序如下:
   MOVDPTR,#CR;控制寄存器CR的地址送DPTR
   MOVA,#01H
   MOV@DPTR,A;进入复位模式
   MOVDPTR,#IR;中断控制寄存器IR的地址送DPTR
   MOVA,#03H
   MOV@DPTR,A
   MOVDPTR,#ACR;接受代码寄存器ACR的地址送DPTR
   MOVA,#FFH
   MOV@DPTR,A
   MOVDPTR,#AMR;接收屏蔽寄存器AMR的地址送DPTR
   MOVA,#FFH
   MOV@DPTR,A
   MOVDPTR,#BTR0;总线定时寄存器BTR0的地址送DPTR
   MOVA,#FFH
   MOV@DPTR,A
   MOVDPTR,#BTR1;总线定时寄存器BTR1的地址送DPTR
   MOVA,#FFH
   MOV@DPTR,A
   MOVDPTR,#OCR;输出控制寄存器OCR的地址送DPTR
   MOVA,#FFH
   MOV@DPTR,A
  
   参考文献
  [1] 张昆藏。IBMPC/XT微型计算机接口技术。北京:清华大学出版社,1990,281-286。
  [2]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1995.
  [3]何立民.MCS-51系列单片机应用与系统设计,系统配置与接口技术.北京:北京航空航天大学出版社,1990。
  
  注:文章内所有公式及图表请以PDF形式查看。
其他文献
摘要:在进行高层建筑结构抗震设计的过程当中应该充分考虑当地的地质情况,有针对性的进行相应的设计,尽可能的降低地震造成的损坏。本文分析了地震作用下高层建筑结构的破坏特点,探讨了高层建筑结构抗震设计的基本内容。  关键词:高层;建筑结构;抗震设计;基本内容  Abstract: in the high-rise building structure seismic design process sho
摘要:高层办公楼是人们工作的场所,它昭示着人们工作的精神面貌及效率。由于商业利益的趋使与商业化的审美情趣,在满足大众化世俗本性的同时,也在无情地消解精英意识。本文对高层办公楼建筑设计中如何运用理性的设计方法营造丰富的建筑空间进行探讨,供同行借鉴参考。  关键词:高层办公楼;建筑设计  Abstract: The high-rise office buildings are the work pla
摘要:本文重点介绍贴建建筑基础设计的几种实用方法及各种方法的优缺点,在具体项目上,采用何种方法应结合具体情况。  关键词:旧有建筑,基础 , 砌体 , 结构  Abstract: this article introduced the design of building foundation built posted several practical methods and the advan
摘要:高层建筑具有楼层多、建筑高、结构复杂多样,对施工工艺和技术的要求非常高,施工工期较长,对施工完整性、结构荷载科学、施工工序等要求较高。本文阐述了高层建筑的特点,对高层建筑施工技术要点进行了探讨。  关键词:高层;建筑;施工技术;要点  Abstract:The high-rise buildings, high building with floor, complicated structu
摘要:进入21世纪后,我国城市住区规划和建设在坚持“以人为本”、注重和树立人与自然和谐、可持续发展的基本观念指导下,进入了持续、健康发展的新时期,并在很大程度上改善了城市住区居民的生活、关注城市住区的外部生活环境、内部居住环境、公共服务设施等诸要素,甚至人文环境也经常被列入城市住区整体品质的考察范围。  关键词:城市住区,规划,问题,解决方法  Abstract: in the 21 st cen
摘要:本文在阐述施工新技术发展状况的基础上,通过从防水施工、大体积混凝土施工、钢筋连接、屋面施工、金刚砂耐磨地坪等几个常见施工方面着手,分别分析了新施工技术在其中的应用,为建筑工程施工技术提供了一定的看法。  关键词:建筑工程、施工、新技、应用  Abstract: this article analyses the new construction technology development
摘要:建设项目造价控制是项目管理的三大控制之一,是业主节约资金提高效益的重要手段。工程造价的预结算审核则是合理确定工程造价的必要程序及重要手段。通过对预结算进行全面、系统的检查和复核,及时纠正所存在的错误和问题,更加合理地确定工程造价,达到有效地控制工程造价的目的,从而保证项目目标管理的实现。  关键词:工程造价,预结算,审核  Abstract: the construction project
摘要:建筑工程施工技术直接关系工程质量的优劣,而工程质量则是工程建设的基本,是决定工程是否合格,是关系建筑物安全性能的关键,建筑施工技术的控制在整个环节中显得至关重要。  关键词:技术控制,承包合同,施工  Abstract: the construction technology directly related engineering quality, the disadvantages an
摘要:由于预制楼板结构运用逐渐减少,目前的建筑结构基本上都采用现浇钢筋混凝土楼板。商品混凝土现浇楼板对房屋的整体性、抗不均匀沉降性、结构安全性均有很大的提高,但也伴随产生了一些楼板裂缝的情况,大部分裂缝表现为:表面龟裂、纵向、横向裂缝、斜向裂缝等。虽然,这些裂缝一般被认为对使用无重大危害,但在实际设计与施工中仍有必要对其进行控制,特别是避免有害结构性裂缝的产生。  关键词:商品混凝土 现浇楼板 裂