




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于CAN总线的伺服电机通信控制基于CAN总线的伺服电机通信控制摘 要:介绍了CAN总线与伺服电机的特点,并讨论了伺服电机基于CAN总线的通信控制特性。 关键词:伺服电机;伺服控制器;CAN总线 1 引言 CAN(Controller Area Network)总线是一种有效支持分布式控制或实时控制的串行通信局域网络,由于其高性能、高可靠性、实时性好及其独特的设计,已广泛应用于控制系统中的各检测和执行机构之间的数据通信,在工控领域兴起应用热潮。 而伺服电机具有结构紧凑、控制容易、运行稳定、响应快等优异特性,已越来越成为现代工业自动化系统中的一个重要执行元件。在自动化程度高、需精确控制速度、位置、力矩等的场合,如印刷机械、造纸机械、纺织机械、工业机器人、高速电梯、数控机床等重要行业中,得到了普遍的应用。 德国伦茨公司生产的伺服电机由于提供了CAN总线接口,使其很容易挂接到CAN总线上,通过CAN总线进行数据传输与控制,拓展了伺服电机的功能与应用范围,使伺服电机能更好更灵活地应用于现代工业控制系统中。 2 CAN总线的特性 作为专门应用于工业自动化领域的网络,CAN总线具有以下优点: (1)使用简单方便。许多CAN控制器芯片如SJA1000T、Philips 82C250等实现了CAN物理层及数据链路层的大部分,在使用时用户需要做的只是两件事:对CAN控制器进行初始化,对CAN总线上的数据进行收发操作。 (2)高效可靠。CAN采用短帧结构,数据帧中的数据字段长度最多为8B,所以传输的速度快(最大通信速率可达1Mbps),受干扰的概率低。同时,CAN总线作为多主节点,各节点通过总线仲裁获得总线控制权,并拥有完善的错误处理机制,保证了各种干扰环境下数据传输的安全可靠。 (3)系统可扩充性好。CAN总线是面向消息的编码,而不是面向设备的编码,故增添或删减CAN上的节点非常方便和灵活,易于系统的扩充。 3 伺服电机接入CAN网 伦茨伺服电机的伺服控制器由于提供了专门的CAN总线接口X4,可以象其他的CAN节点一样,用普通双绞线作为通信介质,很方便地连接到基于CAN总线的工业控制系统上,如图1所示。 伦茨的伺服控制器与伺服电机之间采用旋转变压器或光电编码器建立反馈,形成高精度的伺服控制系统,伺服电机实时地将其运行状态与运行信息上传给伺服控制器。作为CAN总线上的节点,伺服控制器不仅可以与上位主机进行通信,通过CAN总线接收上位机的各种操作、控制和参数设定命令;同时伺服控制器之间亦可以进行快速的数据交换,相互间建立一定的协调或控制关系。 上位主机通过接插支持CAN的通讯适配卡获得对CAN总线的支持,负责对整个系统的运行和工作状态进行监视管理。由于CAN总线在工业控制上的应用越来越广泛,很多公司都推出了支持CAN总线的接口适配卡,如研华的PCL-841通信卡、北京华控的HK-CAN20通信卡、北京三兴达公司的智能CAN-PC总线适配卡PCCAN等等,用户可以通过这些接口适配卡,来运行复杂的通信任务,进行各CAN节点与上位主机之间的数字通信和协调管理。 4伺服控制器的功能模块与基于CAN总线的数据通道 伦茨伺服电机的伺服控制器,具有丰富的内部功能模块库,如常见的逻辑功能模块、算术功能模块、信号类型转换模块、斜坡函数发生模块、相位积分模块以及较特殊的数频输入输出模块、数频处理模块、伺服控制处理模块、速度设定处理模块等等。用户利用这些功能块,可以自由配置控制器的信号流程,使控制器能很容易地适应不同的实际应用。 为了实现基于CAN总线的应用,伺服控制器提供了专门的CAN总线功能模块组CAN-IN与CAN-OUT,作为过程数据通道,进行过程数据的传输。其中,功能块CAN-IN1与CAN-OUT1只用于伺服控制器与上位主机之间进行通信与数据传输。输入功能块CAN-IN1用于接收上位主机的数据信息,CAN-IN1有8B的数据空间可供用户使用配置,可以向其他内部功能模块提供二进制信号、16位的模拟信号、16位的速度信号以及32位的相位信号等多种控制信号。上位主机通过向根据实际应用配置的CAN-IN1模块发送命令信息,能实现伺服电机的速度给定、电机快停、电机的正反转切换、电机正常模式转速与恒定低速的切换、电机使能、电机禁止等各种功能。同样,CAN-OUT1功能模块亦有8B的数据空间可供用户使用,可以通过配置向上位主机实时地提供电机的各种状态信息、电机的实际速度、电机的实际相位等信息。 功能块CAN-IN2、CAN-IN3与CAN-OUT2、CAN-OUT3用于伺服控制器之间进行快速数据交换。只要配置了某一伺服控制器的CAN-OUT2或CAN-OUT3与另一伺服控制器的CAN-IN2或CANIN3的对应关系,即可建立起伺服控制器间的数据传输通道,在电机运行过程中将1台伺服控制器的各种数据信息传给另1台伺服控制器,常见的如:将1台伺服控制器的速度给定经一定运算处理后作为另1台伺服控制器的速度给定信号,使2台伺服电机速度比例运行。该特性对于多台伺服电机之间的协调控制具有重要意义。上位主机亦可以监测到在CAN总线上传输的该类数据信息。 同时,伺服控制器还提供2路参数输入通道和2路参数输出通道。在CAN总线上,上位主机可通过2路参数输入通道,对伺服控制器内的各种参数进行设置修改,如伺服电机的加减速时间、齿轮箱变速比、级联系数等等;通过2路参数输出通道读取伺服控制器的各种参数,如伺服电机的当前温度、当前配置的加减速时间以及电机的实际电压电流等等,故只要是能在伺服控制器的参数代码表中找得到的参数,基本上都能够读取。 通过CAN总线接口与各个数据通道,伺服电机可将自己的相关数据信息发送到CAN总线上;同时亦可以接收来自总线的伺服电机所需的各种数据信息与控制命令。 5 CAN的通信协议 作为实时性要求比较高的工业控制底层网络,CAN协议只分为3层:物理层、数据链入层和应用层。CAN通信协议有4种不同的帧格式:数据帧、远程帧、错误帧和超载帧。 由于CAN通信协议给出的只是共性要求,在实际应用中需要将协议具体化,建立适用的协议规则。根据伺服电机伺服控制器的特点,并遵循CAN通信协议标准,制定了伺服控制器的通信协议规则。伺服控制器的每个信息帧分为2部分:帧头和数据域。帧头占2B,其前11位为标识符,然后是一位RTR位,最后是4位的数据长度位DLC(即所发数据的实际长度,以字节为单位)。数据域占用8B。11位的信息标识符反应了节点的优先级别,总线仲裁就是通过它来实现的,信息帧的标识符越小,信息帧就具有越高的优先权。除总线状态等特殊信息外,伺服控制器对所传输信息的标识符有一定的计算公式: 信息标识符基准标识符设定的控制器的节点地址 伺服控制器的节点地址可以在参数代码表中设定。而对信息的基准标识符,伺服控制器有统一的规定,如:同步触发信号的基准标识符为128,来自控制器CAN-OUT1通道的信息的基准标识符为384,而发送到控制器CAN-IN1通道的信息的基准标识符为512,通过参数通道1发送到控制器的信息基准标识符为1536,通过参数通道1接收的信息基准标识符则为1408。 对于8B的数据域,用户需要按照所要发送的具体信息来确定应遵循的使用原则。比如,要通过参数通道进行参数设定,第1个字节为命令码,第2、3字节为参数对应的索引号,第4个字节为参数对应的次索引,后4个字节是要设定的参数数据大小;而要发送信息到某伺服控制器的过程数据通道CAN-IN1,则直接是数据信息的发送,没有命令码,也没有索引号。 6 上位主机的软件设计 通过CAN总线进行通信与控制的伺服电机,在针对实际的应用要求配置好伺服控制器的内部控制信号流,以及基于CAN的接口功能模块和数据通道后,剩下需要解决的是上位主机的软件设计问题。 由于上位主机所接插的CAN通讯适配卡一般都提供CAN的驱动函数,所以在上位机软件的编制过程中,实现与CAN总线的通信部分可以直接调用相应的函数,如上位主机与CAN通信的主要任务:对CAN适配卡的初始化、CAN信息包的发送、CAN信息包的接收等,都有现成的函数可以使用,为用户使用CAN进行通信提供了方便。对CAN通讯适配卡的初始化主要是初始化适配卡的各个寄存器,设置中断向量、通信卡的波特率以及中断屏蔽字等必要的参数,为正常通信作准备。实现CAN信息包的发送,首先要确定信息包的11位信息标识符,填入帧头,并在数据域中填入需要发送的数据信息,通过发送函数发送给所有CAN节点或特定的CAN节点上。而对于使用接收函数所接收的CAN信息包,亦通过其11位信息标识符,判断其来源,对数据域的数据进行处理,取得有效的信息,进行显示或存储,并按照控制需要发送控制指令。其软件控制流程图,如图2所示。 上位主机正是通过对CAN驱动函数的不断调用,发送控制命令或参数设定命令给各伺服电机的伺服控制器,驱动伺服电机的启停运转;同时接收来自伺服控制器的伺服电机的速度、相位、转动方向、转矩等各种数据信息及状态信息,并进行分析处理,然后按照系统的实际控制需要再给伺服控制器发送相应的命令,去驱动电机,使伺服电机的运行始终按用户的要求进行变化,从而实现对伺服电机的管理与控制。 7 结束语 伦茨伺服电机CAN接口的引入,提高了伺服电机的自动化水平,使伺服电机在工业控制网络中的通信与控制更为方便、灵活和可靠。 CAN总线在现代工业控制系统中越来越广泛的应用,为带CAN接口的伺服电机提供了广阔的应用前景。 参考文献 1邬宽明.CAN总线原理和应用系统设计M.北京:北京航空航天大学出版社,1996. 智能仪表的CAN接口设计王文华 (辽宁机电职业技术学院 机械系,辽宁 丹东 118002) 1 前沿 在计算机数据传输领域内,长期以来使用RS232通信标准,尽管被广泛的使用,但却是一种低数据率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模应用中(如工业现场控制或生产自动化领域),需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,所以,在最底层的确需要一种造价低廉而又能适应工业现场环境的通信系统,现场总线(Field Bus)就是在这种背景下应运而生的。 现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络,现场总线技术自上世纪70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推广。 CAN是一种有效支持分布式控制或实时控制的串行通信网络,最初是由德国BOSCH公司为汽车监控、控制系统设计的。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、传感器及智能仪表等领域发展。 智能仪表是自动化学科的重要组成部分。随着科学技术的迅速发展,尤其是微电子、计算机和通信技术日新月异的变化,智能仪表逐渐向数字化、网络化和智能化方向发展。智能仪表一方面可以进行人机对话及与外部仪器设备对话,通过现场总线接入自动测试系统;另一方面,使用者借助面板上的键盘和显示屏,可用对话方式选择测量功能,设置参数。当然,通过总线中的工业计算机也可获得测量节点的数据。 2 CAN的接口设计 CAN总线是一种串行数据通信协议,在CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可以完成对通信数据的成帧处理。CAN总线接口的具体电路如图1所示。 笔者用SJA1000作为流量计的CAN控制器,与CPU(单片机)的I/O口直接相连,再通过PCA82C250组成CAN总线。这种结构很容易实现CAN网络节点中的信息收发,从而实现对现场的控制。 SJA1000的AD0AD7连接到MSP420F149的P0口,INT接到P1.0,CS接到P1.1,RD连接到P1.2,WR连到P1.3,ALE连到P1.4,SJA1000的RX0与TX0分别通过2个CNW137型高速光耦与PCA82C250相连后,再连到CAN总线上。 PCA82C250为CAN总线收发器,是CAN控制器与CAN总线的接口器件,对CAN总线以差分方式发送,其RS引脚用于选择PCA82C250的工作方式:高速方式和斜率方式。RS接地为高速,RS引脚串接1只电阻器后再接地,用于控制上升和下降斜率,从而减小射频干扰。RS引脚接高电平,PCA82C250处于等待状态。此时发送器关闭,接收器处于低电流工作,可以对CAN总线上的显性位做出反应来通知CPU。实验数据表明15k200k为串联电阻器较理想的取值范围,在这种情况下,可以用平行线或双绞线作为总线,本设计中PCA82C250的斜率电阻为30k。 CNW137为高速光耦,最高速度为10Mb/s,用于保护SJA1000型CAN总线控制器。CAN总线的终端匹配电阻器起相当重要的作用,不合适的电阻器会使数据通信的抗干扰性及可靠性大大降低甚至无法通信,理想的阻值范围为108132,该设计使用的阻值为124。 2.1 SJA1000的功能 CAN通信协议主要由CAN控制器完成。SJA1000是适用于汽车和一般工业环境控制器局域网(CAN)的高集成度控制器,具有完成高性能通信协议所要求的全部特性,具有简单总线连接的SJA1000可完成物理层和数据链路层的所有功能,应用层功能可由微控制器完成,SJA1000为其提供了多用途的接口。 SJA1000是Philips公司PCA82C200型CAN控制器的后续产品,在软件和引脚上均与PCA82C200兼容,并增加了许多新的功能,性能更佳。尤其适用于对系统优化、诊断和维护要求比较高的场合。 SJA1000的功能框图如图2所示,由以下几部分构成:接口管理逻辑;发送缓冲器,能够存储1个完整的报文(扩展的或标准的);验收滤波器;接收FIFO;CAN核心模块。2.2 82C250 SJA1000的一端与单片机相连,另一端与CAN总线相连。但是,为了提高单片机对CAN总线的驱动能力,可以把82C250作为CAN控制器和物理总线间的接口,以提供对总线的差动发送能力和对CAN控制器的差动接收能力。82C250的主要特性如下:与ISO/DIS11898标准兼容; 高速(最高可达1Mb/s); 具有抗汽车环境下的瞬间干扰和保护总线的能力; 降低射频干扰的斜率控制;热保护功能;防止电池与地之间发生短路;低电流待机方式; 某个节点掉电不会影响总线; 可有110个节点相连接。 3 CAN通信程序 SJA1000操作期间,在上电之前必须配置控制线路(中断、复位、片选等)建立与CAN控制器之间通信的硬件连接。初始化、CAN通信采用中断方式数据发送和接收子程序,其流程如图3、图4和图5所示。 如果在上电后独立CAN控制器在引脚17得到1个复位脉冲(低电平),它就能够进入复位模式。在对SJA1000寄存器设计前,CAN控制器通过读复位模式/请求标志来检查是否已进入复位模式,因为要配置信息的寄存器只有在复位模式才能写入,并涉及到对控制寄存器(CR)、验收码寄存器(ACR)、验收屏蔽寄存器(AMR)、总线定时寄存器(BTRO和BTR1)和输出控制寄存器(OCR)的初始化编程。 时钟分频寄存器可以选择BasicCAN或PeliCAN工作模式,设置CLKOUT因该使能用来选择频率,设置是否使用旁路CAN输入比较器和是否使用TX1输出用为专门的接收中断输出。验收代码和验收屏蔽寄存器的设置可以过滤信息,为收到的信息定义验收代码;为与验收代码相关位比较定义验收屏蔽代码。 总线定时寄存器定义总线上的位速率。输出控制寄存器定义CAN总线输出引脚TX0和TX1的输出模式,定义TX0和TX1输出引脚配置是悬空、下拉、上拉或推挽以及极性。中断寄存器设置允许识别的中断源。 4 结束语 多个智能仪表通过CAN接口与PC连成总线网,其系统运行良好。这种基于现场总线的智能仪表系统抗干扰性强,性能可靠,无论是测量速度、精确度和自动化程序还是性价比都是传统仪表不能比拟的,是今后仪器仪表发展的方向。CAN控制器SJA1000及其应用摘要:介绍CAN控制器SJA1000的特点、内部结构以及SJA1000的寄存器结构及地址分配;CAN协议通信格式。并以独立CAN控制器SJA1000为例,结合CAN协议说明了一种通用型CAN总线的开发与设计。s0100关键词:CAN总线SJA1000单片机1SJA1000简介SJA1000是PHILIPS公司早期CAN控制器PCA82C200的替代品,功能更强,具有如下特点:完全兼容PCA82C200及其工作模式,即BASICCAN模式;具有扩展的接收缓冲器,64字节的FIFO结构;支持CAN2.0B;支持11位和29位识别码;位速率可达1Mbit/s;支持peliCAN模式及其扩展功能;24MHz的时钟频率;支持与不同微处理器的接口;可编程的CAN输出驱动配置;增强了温度范围(-40+125)。图1SJA1000内部结构2SJA1000内部结构SJA1000的内部结构如图1所示,主要由接口管理逻辑IML、信息缓冲器(含发送缓冲器TXB和接收缓冲器RXFIFO)、位流处理器BSP、接收过滤器ASP、位时序处理逻辑BTL、错误管理逻辑EML、内部振荡器及复位电路等构成。IML接收来自CPU的命令,控制CAN寄存器的寻址并向控制提供中断信息及状态信息。CPU的控制经IML把要发送的数据写入TXB,TXB中的数据由BSP处理后经BTL输出到CANBUS。BTL始终监视CANBUS,当检测到有效的信息头“隐性电平-控制电平”的转换时启动接收过程,接收的信息首先要由位流处理器BSP处理,并由ASP过滤,只有当接收的信息的识别码与ASP检验相符时,接收信息才最终被写入RXB或RXFIFO中。RXFIFO最多可以缓存64字节的数据,该数据可被CPU读龋EML负责传递层中调制器的错误管制,它接收BSP的出错报告,促使BSP和IML进行错误统计。3SJA1000的寄存器结构及地址分配表1是工作在BASICCAN模式下的SJA1000的寄存器结构及地址分配表。CAN控制器工作模式的设定、数据的发送和接收等都是通过这些寄存器来实现的。时钟分频寄存器OCR用于设定SJA1000工作于BASICCAN还是PeliCAN,还用于CLKOUT引脚输出时钟频率的设定,在上电初始化控制器时必须首先设定;在工作模式下,控制寄存器CR用于控制CAN控制器的行为,可读可写;命令寄存器CMR只读写;状态寄存器SR只能读;而IR、ACR、AMR、BTR0、BTR1、OCR在工作模式下读写无意义。通常,在系统初始化时,先使CR.0=1,SJA1000进入复位模式。在此模式下IR、ACR、AMR、BTR0、BTR1及OCR均可读可写,此时设置相应的初值。当退出复位模式时,SJA1000即按复位时设定的相应情况工作于工作模式,除非再次使芯片复位,否则上次设定的值不变。当需要发送信息时,若发送缓冲器空闲,由CPU控制信息写入TXB,再由CMR控制发送;当接收缓冲器RXFIFO未满且接收信息通过ASP,则接收到的信息被写入RXFIFO。可通过两种方法读取接收到的信息。一种方法是,在中断被使能的情况下,由SJA1000向CPU发中断信号,CPU通过SR及IR可以识别该中断,并读取数据释放接收缓冲器;另一种方法是直接读取SR,查询RXFIFO的状态,当有信息接收时,读取该信号自并释放接收缓冲器。当接收缓冲器中多条信息时,当前的信息被读取后,接收缓冲器有效信号会再次有效,通过中断方式或查询方式可以再次读取信息,查到RXFIFO中的信息被全部读出止。当RXFIFO已满,如还有信息被接收,此接收信息不被保存,且发出相应的缓冲器溢出信号供CPU读取处理。表1SJA1000的寄存器结构及地址分配表寄存器地址寄存器名地址寄存器名地址控制寄存器CR0测试寄存器9接收缓冲器RDID020命令寄存器CMR1发TXID010RDID121状态寄存器SR2送TXID111RXDATA122中断寄存器IR3缓TXDATA112接收代码寄存器ASR4冲接收屏蔽寄存器AMR5器位定时寄存器BTR06TRXDATA929位定时寄存器BTR17XTXDATA819时钟分频寄存器OCR31输出控制寄存器OCR8B4CAN协议通信格式CAN协议通信格式中有四种帧格式:数据症远程症出错帧和超载郑其中数据帧和远程帧的发送需要在CPU控制下进行,而出错帧和超载帧的发送则是在错误发生或超载发生时自动进行的。因此人们更关心前两个帧的结构。数据帧结构如图2所示。一个完整的数据帧格式,除仲裁尝控制尝数据场外都是CAN控制器发送数据时自动加上去的,而仲裁尝控制尝数据场则必须由CPU控制给出。用SJA1000时,写出发送缓冲器的TXID0、TXID1即设定了相应的仲裁场和控制常TXID0即为仲裁场的高8位,TXID1的高3位为仲裁场的低3位,仲裁场共11位。TXID1的第5位为RTR位,即远程请求位,在数据帧中为“0”;TXID1低四位标示数据场所含字节数的多少,称为DLC。RTR与DLC共同构成控制常发送的数据组成数据场,最多不超过8个字节。远程帧与数据帧的形式差别在于没有数据常除此形式上的差别外,在远程帧中RTR位须置“1”,表示请求数据源节点向它的目的点(即发送远程帧的节点)发送数据。源节点接收到该帧后,把要发送数据用数据帧发给目的节点,完成数据请求。CRC场与ACK场都是在低层次上为提高传输的可靠性而自动进行的。任何帧与帧之间是帧间空间。5设计实例5.1整体设计思路这里用SJA1000与AT89C51芯片设计一种具有通用性的工业测试控制,系统的结构图如图3所示。CAN总线是一种多主总线,理论上任何一个节点都可以作为主节点。在本系统中设置与上位PC机相连的节点1和节点2为上位节点,其它节点为底层节点。在任务比较简单的系统中,也可以只设置一台上位PC机,PC机通过串口与节点上的CPU通信,CPU再与CAN控制器SJA1000通信,实现信息在CANBUS上的发送与接收。节点1与节点2的结构相同,而底层节点根据应用的不同具有不同的功能。但它们都具有与CANBUS通信的能力,上传数据和接收数据。5.2电路原理图节点1与节点2的原理图如图4所示。AT89C51通过MAX232与PC机串行通信。设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CANBUS的数据经CAN接口芯片82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读龋读取的数据由RS232口上传送给PC机。在本系统中其它节点不与PC机通信,此时AT89C51除与SJA1000相接的口线外还剩余口线,可以做其它用途。如用于数据的采集,则与A/D转换芯片相接即可;如与控制相关,则与控制口相接即可,这样一来可以灵活地构成各种系统。5.3软件设计该系统的软件设计分为两方面:(1)PC机软件设计,可以用VC+、VB,也可以使用工控软件完成。如只用于监视系统,设计的重点在于PC机与节点之间的通信。(2)节点上CPU的软件设计。不论是节点1、2或是其它底层节点,都要用到CAN通信,因此都要设置CAN控制器。其初始化的流程图如图5所示。图4节点1和节点2的电路原理图具体的例程如下:MOVDPTR,#CR;控制寄存器CR的地址送DPTRMOVA,#01HMOVXDPTR,A;进入复位模式MOVDPTR,#CDRMOVA,#00HMOVXDPTR,A;选择BASICCAN模式、时钟不输出MOVA,#NODECODEMOVXDPTR,A;节点号NODECODE写入ACRMOVXDPTR,#AMRMOVA,#00HMOVDPTR,A;AMR置为0,当且仅当RXID0=ACR时接收数据。MOVDPTR,#BTR0;设定总线时序寄存器BTR0,系统采用12MHz晶振MOVA,#85H;分频后总线时钟频率为2MHzMOVXDPTR,A;同步跳转宽度为3tsclMOVDPTR,#BTR1;设定总线时序寄存器BTR1MOVA,#0B4H;位同步时间为1个tscl,采样开始位置TSEG1=5tsclMOVXDPTR,A;TSEG2=4tscl,每一位时间10tscl(200kHz),每位采样3次MOVDPTR,#OCR;设置输出控制寄存器MOVA,#1AH;数据从TX0按正常输出模式同极性输出MOVDPTR,A;TX1不用MOVDPTR,#CR;初始化完成,使控制器退出复位模式,进入工作模式工作。MOVA,#06HMOVDPTR,A该初始化程序使SJA1000工作在BASICCAN模式下,CAN总线位速率为200kHz。根据总线传输的距离不同速度可以调整。为提高其抗干扰性能,还可以在SJA1000与CAN总线收发器之间加光隔。各节点CPU的其它软件设计应视节点的功能而定,不再多述。该系统用于城市区域交通中心信息采集及处理,已取得很好效果。由于传输距离较远,设定速率为10kHz,但可靠性较强,系统成本低廉。CAN总线以其优良的性能使其应用方兴未艾,以SJA1000为控制器构成各种CAN总线系统方便、简单、成本低廉,这也是开发与应用其它CAN总线产品的基矗ImgLoad(document.getElementById(BodyLabel); CAN控制器SJA1000及其应用摘要:介绍CAN控制器SJA1000的特点、内部结构以及SJA1000的寄存器结构及地址分配;CAN协议通信格式。并以独立CAN控制器SJA1000为例,结合CAN协议说明了一种通用型CAN总线的开发与设计。s0100关键词:CAN总线SJA1000单片机1SJA1000简介SJA1000是PHILIPS公司早期CAN控制器PCA82C200的替代品,功能更强,具有如下特点:完全兼容PCA82C200及其工作模式,即BASICCAN模式;具有扩展的接收缓冲器,64字节的FIFO结构;支持CAN2.0B;支持11位和29位识别码;位速率可达1Mbit/s;支持peliCAN模式及其扩展功能;24MHz的时钟频率;支持与不同微处理器的接口;可编程的CAN输出驱动配置;增强了温度范围(-40+125)。图1SJA1000内部结构2SJA1000内部结构SJA1000的内部结构如图1所示,主要由接口管理逻辑IML、信息缓冲器(含发送缓冲器TXB和接收缓冲器RXFIFO)、位流处理器BSP、接收过滤器ASP、位时序处理逻辑BTL、错误管理逻辑EML、内部振荡器及复位电路等构成。IML接收来自CPU的命令,控制CAN寄存器的寻址并向控制提供中断信息及状态信息。CPU的控制经IML把要发送的数据写入TXB,TXB中的数据由BSP处理后经BTL输出到CANBUS。BTL始终监视CANBUS,当检测到有效的信息头“隐性电平-控制电平”的转换时启动接收过程,接收的信息首先要由位流处理器BSP处理,并由ASP过滤,只有当接收的信息的识别码与ASP检验相符时,接收信息才最终被写入RXB或RXFIFO中。RXFIFO最多可以缓存64字节的数据,该数据可被CPU读龋EML负责传递层中调制器的错误管制,它接收BSP的出错报告,促使BSP和IML进行错误统计。3SJA1000的寄存器结构及地址分配表1是工作在BASICCAN模式下的SJA1000的寄存器结构及地址分配表。CAN控制器工作模式的设定、数据的发送和接收等都是通过这些寄存器来实现的。时钟分频寄存器OCR用于设定SJA1000工作于BASICCAN还是PeliCAN,还用于CLKOUT引脚输出时钟频率的设定,在上电初始化控制器时必须首先设定;在工作模式下,控制寄存器CR用于控制CAN控制器的行为,可读可写;命令寄存器CMR只读写;状态寄存器SR只能读;而IR、ACR、AMR、BTR0、BTR1、OCR在工作模式下读写无意义。通常,在系统初始化时,先使CR.0=1,SJA1000进入复位模式。在此模式下IR、ACR、AMR、BTR0、BTR1及OCR均可读可写,此时设置相应的初值。当退出复位模式时,SJA1000即按复位时设定的相应情况工作于工作模式,除非再次使芯片复位,否则上次设定的值不变。当需要发送信息时,若发送缓冲器空闲,由CPU控制信息写入TXB,再由CMR控制发送;当接收缓冲器RXFIFO未满且接收信息通过ASP,则接收到的信息被写入RXFIFO。可通过两种方法读取接收到的信息。一种方法是,在中断被使能的情况下,由SJA1000向CPU发中断信号,CPU通过SR及IR可以识别该中断,并读取数据释放接收缓冲器;另一种方法是直接读取SR,查询RXFIFO的状态,当有信息接收时,读取该信号自并释放接收缓冲器。当接收缓冲器中多条信息时,当前的信息被读取后,接收缓冲器有效信号会再次有效,通过中断方式或查询方式可以再次读取信息,查到RXFIFO中的信息被全部读出止。当RXFIFO已满,如还有信息被接收,此接收信息不被保存,且发出相应的缓冲器溢出信号供CPU读取处理。表1SJA1000的寄存器结构及地址分配表寄存器地址寄存器名地址寄存器名地址控制寄存器CR0测试寄存器9接收缓冲器RDID020命令寄存器CMR1发TXID010RDID121状态寄存器SR2送TXID111RXDATA122中断寄存器IR3缓TXDATA112接收代码寄存器ASR4冲接收屏蔽寄存器AMR5器位定时寄存器BTR06TRXDATA929位定时寄存器BTR17XTXDATA819时钟分频寄存器OCR31输出控制寄存器OCR8B4CAN协议通信格式CAN协议通信格式中有四种帧格式:数据症远程症出错帧和超载郑其中数据帧和远程帧的发送需要在CPU控制下进行,而出错帧和超载帧的发送则是在错误发生或超载发生时自动进行的。因此人们更关心前两个帧的结构。数据帧结构如图2所示。一个完整的数据帧格式,除仲裁尝控制尝数据场外都是CAN控制器发送数据时自动加上去的,而仲裁尝控制尝数据场则必须由CPU控制给出。用SJA1000时,写出发送缓冲器的TXID0、TXID1即设定了相应的仲裁场和控制常TXID0即为仲裁场的高8位,TXID1的高3位为仲裁场的低3位,仲裁场共11位。TXID1的第5位为RTR位,即远程请求位,在数据帧中为“0”;TXID1低四位标示数据场所含字节数的多少,称为DLC。RTR与DLC共同构成控制常发送的数据组成数据场,最多不超过8个字节。远程帧与数据帧的形式差别在于没有数据常除此形式上的差别外,在远程帧中RTR位须置“1”,表示请求数据源节点向它的目的点(即发送远程帧的节点)发送数据。源节点接收到该帧后,把要发送数据用数据帧发给目的节点,完成数据请求。CRC场与ACK场都是在低层次上为提高传输的可靠性而自动进行的。任何帧与帧之间是帧间空间。5设计实例5.1整体设计思路这里用SJA1000与AT89C51芯片设计一种具有通用性的工业测试控制,系统的结构图如图3所示。CAN总线是一种多主总线,理论上任何一个节点都可以作为主节点。在本系统中设置与上位PC机相连的节点1和节点2为上位节点,其它节点为底层节点。在任务比较简单的系统中,也可以只设置一台上位PC机,PC机通过串口与节点上的CPU通信,CPU再与CAN控制器SJA1000通信,实现信息在CANBUS上的发送与接收。节点1与节点2的结构相同,而底层节点根据应用的不同具有不同的功能。但它们都具有与CANBUS通信的能力,上传数据和接收数据。5.2电路原理图节点1与节点2的原理图如图4所示。AT89C51通过MAX232与PC机串行通信。设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CANBUS的数据经CAN接口芯片82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读龋读取的数据由RS232口上传送给PC机。在本系统中其它节点不与PC机通信,此时AT89C51除与SJA1000相接的口线外还剩余口线,可以做其它用途。如用于数据的采集,则与A/D转换芯片相接即可;如与控制相关,则与控制口相接即可,这样一来可以灵活地构成各种系统。5.3软件设计该系统的软件设计分为两方面:(1)PC机软件设计,可以用VC+、VB,也可以使用工控软件完成。如只用于监视系统,设计的重点在于PC机与节点之间的通信。(2)节点上CPU的软件设计。不论是节点1、2或是其它底层节点,都要用到CAN通信,因此都要设置CAN控制器。其初始化的流程图如图5所示。图4节点1和节点2的电路原理图具体的例程如下:MOVDPTR,#CR;控制寄存器CR的地址送DPTRMOVA,#01HMOVXDPTR,A;进入复位模式MOVDPTR,#CDRMOVA,#00HMOVXDPTR,A;选择BASICCAN模式、时钟不输出MOVA,#NODECODEMOVXDPTR,A;节点号NODECODE写入ACRMOVXDPTR,#AMRMOVA,#00HMOVDPTR,A;AMR置为0,当且仅当RXID0=ACR时接收数据。MOVDPTR,#BTR0;设定总线时序寄存器BTR0,系统采用12MHz晶振MOVA,#85H;分频后总线时钟频率为2MHzMOVXDPTR,A;同步跳转宽度为3tsclMOVDPTR,#BTR1;设定总线时序寄存器BTR1MOVA,#0B4H;位同步时间为1个tscl,采样开始位置TSEG1=5tsclMOVXDPTR,A;TSEG2=4tscl,每一位时间10tscl(200kHz),每位采样3次MOVDPTR,#OCR;设置输出控制寄存器MOVA,#1AH;数据从TX0按正常输出模式同极性输出MOVDPTR,A;TX1不用MOVDPTR,#CR;初始化完成,使控制器退出复位模式,进入工作模式工作。MOVA,#06HMOVDPTR,A该初始化程序使SJA1000工作在BASICCAN模式下,CAN总线位速率为200kHz。根据总线传输的距离不同速度可以调整。为提高其抗干扰性能,还可以在SJA1000与CAN总线收发器之间加光隔。各节点CPU的其它软件设计应视节点的功能而定,不再多述。该系统用于城市区域交通中心信息采集及处理,已取得很好效果。由于传输距离较远,设定速率为10kHz,但可靠性较强,系统成本低廉。CAN总线以其优良的性能使其应用方兴未艾,以SJA1000为控制器构成各种CAN总线系统方便、简单、成本低廉,这也是开发与应用其它CAN总线产品的基矗ImgLoad(document.getElementById(BodyLabel); 参考: 毕 业 论 文论文题目学 院专 业年 级姓 名指导教师职 称(200 年 月)教务处制毕业设计说明书与毕业论文撰写的规范化要求一篇完整的毕业设计说明书或毕业论文有题目、摘要及关键词、目录、引言(前言)、正文、结论、谢辞、参考文献、附录等几部分构成。要求理工科专业不少于4000字,文科专业不少于6000字。一、毕业设计说明书撰写的主要内容与基本要求一份完整的毕业设计说明书应包括如下主要内容:1题目设计课题名称,要求简洁、确切、鲜明。2中外文摘要及关键词应扼要叙述本设计的主要内容、特点,文字要简练。中文摘要约300字左右;外文摘要约250个实词左右。关键词35个。3目录主要内容的目录。4前言应说明本设计的目的、意义、范围及应达到的技术要求;简述本课题在国内(外)的发展概况及存在的问题;本设计的指导思想;阐述本设计应解决的主要问题。 5正文(1)设计方案论证:应说明设计原理并进行方案选择。应说明为什么要选择这个方案(包括各种方案的分析、比较);还应阐述所采用方案的特点(如采用了何种新技术、新措施、提高了什么性能等)。(2)设计及计算部分:这是设计说明书的重要组成部分,应详细写明设计结果及计算结果。(3)样机或试件的各种实验及测试情况:包括实验方法、线路及数据处理等。(4)方案的校验:说明所设计的系统是否满足各项性能指标的要求,能否达到预期效果。校验的方法可以是理论分析(即反推算),包括系统分析;也可以是实验测试及计算机的上机运算等。6结论概括说明本设计的情况和价值 ,分析其优点、特色,有何创新,性能达到何水平,并指出其中存在的问题和今后的改进方向。7谢辞简述自己通过本设计的体会,并对指导老师和协助完成设计的有关人员表示谢意。8参考文献应列出主要参考文献。9附录将各种篇幅较大的图纸、数据表格、计算机程序等作为附录附于说明书之后。二、毕业论文撰写的主要内容与基本要求1题目题目应该简短、明确,要有概括性,让人看后能大致了解文章的确切内容、专业的特点和学科的范畴。题目的字数要适当,一般不宜超过20字。字体为2中外文摘要及关键词摘要也称内容提要,应当以浓缩的形式概括研究课题的主要内容、方法和观点,以及取得的主要成果和结论,应反映整个论文的精华。中文摘要约300字左右为宜,同时要求写出250个实词左右的外文摘要。关键词3-5个。摘要应写得扼要、准确,一般在毕业论文全文完成后再写摘要。在写作中要注意以下几点:(1)用精练、概括的语言表达,每项内容均不宜展开论证。(2)要客观陈述,不宜加主观评价。(3)成果和结论性意见是摘要的重点内容,在文字上用量较多,以加深读者的印象。(4)要独立成文,选词用语要避免与全文尤其是前言和结论雷同。(5)既要写得简短扼要,又要行文活泼,在词语润色、表达方法和章法结构上要尽可能写得有文采,以唤起读者对全文的阅读的兴趣。3目录(必要时)论文编写完成后,为了醒目和便于读者阅读,可为论文编写一个目录。目录可分章节,每一章节之后应编写页码。4前言前言是全篇论文的开场白,它包括:(1)选题的缘由。(2)对本课题已有研究情况的评述。(3)说明所要解决的问题和采用的手段、方法。(4)概括成果及意义。作为摘要和前言,虽然所定的内容大体相同,但仍有很大的区别。区别主要在于:摘要一般要写得高度概括、简略,前言则可以稍微具体些;摘要的某些内容,如结论意见,可以作为笼统的表达,而前言中所有的内容则必须明确表达;摘要不写选题的缘由,前言则明确反映;在文字量上前言一般多于摘要。5正文正文是作者对自己研究工作的详细表述。它占全文的较多篇幅。主要内容包括研究工作的基本前提、假设和条件;模型的建立,实验方案的拟定;基本概念和理论基础;设计计算的主要方法和内容;实验方法、内容及其结果和意义的阐明;理论论证,理论在实际中的应用等等。根据课题的性质,论
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电石炉培训知识课件
- 2.5直线与圆的位置关系 分层练习(含答案)数学苏科版九年级上册
- 北民大附中开学考试题及答案
- 高热危重患者护理课件
- Linoleic-acid-suitable-for-cell-culture-生命科学试剂-MCE
- 2-Methylleucine-CoA-2-Methylleucine-coenzyme-A-生命科学试剂-MCE
- 北海高中分班考试试卷及答案
- 电焊工基础知识培训课件
- 高温季节安全知识培训课件
- 音序考试题及答案
- 2025年度砂石料生产加工与设备租赁合同3篇
- 2024年05月辽宁中国工商银行辽宁分行校园招考笔试历年参考题库附带答案详解
- 供应商准入培训
- DME糖尿病黄斑水肿
- DB1305∕T 45-2022 小麦品种冀麦325节水高产栽培技术规程(邢台市)
- 《中国传统文化课件》课件
- 水利信息化水质监测系统单元工程质量验收评定表、检查记录
- 人教版六年级数学上册【全册教案】
- 合同法风险防范培训
- 管理会计学(第6版) 课件 郭晓梅 第1-3章 管理会计导论、成本性态分析与变动成本计算法、作业成本计算法
- 2024版门面租赁合同书范本下载
评论
0/150
提交评论