第六章CAN硬件设计_第1页
第六章CAN硬件设计_第2页
第六章CAN硬件设计_第3页
第六章CAN硬件设计_第4页
第六章CAN硬件设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、监控系统与现场总线监控系统与现场总线1CUMTCUMT监控系统与现场总线监控系统与现场总线6 CAN的开发与设计的开发与设计概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用n CAN节点结构节点结构n 系统构成系统构成n 通信控制:寄存器设置、收发缓冲器、认可滤波器通信控制:寄存器设置、收发缓冲器、认可滤波器监控系统与现场总线监控系统与现场总线2CUMTCUMT监控系统与现场总线监控系统与现场总线n 硬件:微处理器(硬件:微处理器(80518051等单片机)、等单片机)、CANCAN总线控制器总线控制器 (SJA1000SJA1000)、)、CANCAN

2、总线收发器(总线收发器(80C25080C250)、)、A/DA/D转换器、外转换器、外围扩展电路等。围扩展电路等。基于基于CANCAN总线的监控节点:硬件软件总线的监控节点:硬件软件监控系统与现场总线监控系统与现场总线3CUMTCUMT监控系统与现场总线监控系统与现场总线软件:软件:n 初始化:初始化:设置各个寄存器(中断设置、波特率设置、输出设置各个寄存器(中断设置、波特率设置、输出方式设置等)。方式设置等)。n 数据接收:数据接收:读取接收缓冲区的数据;采用查询还是中断。读取接收缓冲区的数据;采用查询还是中断。 ( 2029)n 数据发送:数据发送:向向CAN总线控制器发送缓冲器中写数据

3、。总线控制器发送缓冲器中写数据。 (1019)监控系统与现场总线监控系统与现场总线4CUMTCUMT监控系统与现场总线监控系统与现场总线监控系统与现场总线监控系统与现场总线5CUMTCUMT监控系统与现场总线监控系统与现场总线n 认可滤波器:认可滤波器: 认可码寄存器(认可码寄存器(ACR)认可屏蔽寄存器()认可屏蔽寄存器(AMR)组成)组成监控系统与现场总线监控系统与现场总线6CUMTCUMT监控系统与现场总线监控系统与现场总线(1) 总线定时寄存器总线定时寄存器0(BTR0)n CAN系统时钟周期系统时钟周期 t tSCLSCL的大小是可编程的,该数值也用来确定的大小是可编程的,该数值也用

4、来确定CAN的位定时。的位定时。CAN的系统时钟的周期由下式给出:的系统时钟的周期由下式给出: n t txtalxtal:由振荡器周期派生出的一个固定时间单元,即频率倒数。由振荡器周期派生出的一个固定时间单元,即频率倒数。n t tSCLSCL:即即时间份额。时间份额。监控系统与现场总线监控系统与现场总线7CUMTCUMT监控系统与现场总线监控系统与现场总线(2 2)总线定时寄存器)总线定时寄存器1(BTR1)n总线定时寄存器总线定时寄存器1 1(BTR1BTR1)定义了位周期的长度和数据)定义了位周期的长度和数据 采样点的位置和个数。采样点的位置和个数。n在复位模式下在复位模式下BTR1B

5、TR1为读写方式;为读写方式;n在运行模式下,若为在运行模式下,若为PeliCANPeliCAN模式,该寄存器为只读方式模式,该寄存器为只读方式; ;n在在BasicCANBasicCAN模式下,对此寄存器进行读操作,返回值为模式下,对此寄存器进行读操作,返回值为0FFH0FFH。监控系统与现场总线监控系统与现场总线8CUMTCUMT监控系统与现场总线监控系统与现场总线 正常输出方式正常输出方式n 在正常输出方式,位流序列在正常输出方式,位流序列TXDTXD通过通过TX0TX0和和TX1TX1输出,输出驱动器脚输出,输出驱动器脚TX0TX0和和TX1TX1的电平值不仅取决于可编程位的电平值不仅

6、取决于可编程位OCTPxOCTPx和和OCTNxOCTNx,而且也取决于输,而且也取决于输出极性位出极性位OCPOLxOCPOLx的编程值。的编程值。 时钟输出模式时钟输出模式n 在这种方式下,在这种方式下,TX0TX0与正常输出模式一样,输出位流序列,而与正常输出模式一样,输出位流序列,而TX1TX1则输则输出发送时钟(出发送时钟(TXCLKTXCLK),发送时钟的上升沿标注一个位周期的开始,),发送时钟的上升沿标注一个位周期的开始,时钟的输出宽度为一个系统时钟时钟的输出宽度为一个系统时钟t tSCLSCL 。 输出控制寄存器(输出控制寄存器(OCROCR)监控系统与现场总线监控系统与现场总

7、线9CUMTCUMT监控系统与现场总线监控系统与现场总线 双相输出模式双相输出模式n 与正常输出模式不同,在双相输出模式时,位的输出是随时间变化与正常输出模式不同,在双相输出模式时,位的输出是随时间变化的,而且的,而且TX0TX0和和TX1TX1交替输出。交替输出。n 若总线控制器是用变压器与线路隔离的,则位流中就不允许包含有若总线控制器是用变压器与线路隔离的,则位流中就不允许包含有直流成份,这一点可以通过下述方法实现:直流成份,这一点可以通过下述方法实现:n 在发送隐性位时,所有的输出被关闭(悬浮态),而显性位则交替在发送隐性位时,所有的输出被关闭(悬浮态),而显性位则交替地输出到地输出到T

8、X0TX0和和TX1TX1,即第一个显性位送到,即第一个显性位送到TX0TX0,第二个显性位则送到,第二个显性位则送到TX1TX1,第三个又送到,第三个又送到TX0TX0,依次类推。,依次类推。 监控系统与现场总线监控系统与现场总线10CUMTCUMT监控系统与现场总线监控系统与现场总线6.4 CAN 的通信功能的应用的通信功能的应用n 通过通过CANCAN总线建立通信的过程:总线建立通信的过程:系统上电后系统上电后n 设置主控制器与设置主控制器与SJA1000SJA1000相关的硬相关的硬件及软件件及软件n SJA1000SJA1000上电复位后,设置上电复位后,设置CANCAN控制控制器的

9、通信功能:方式选择、认可滤器的通信功能:方式选择、认可滤波器的设置、位定时信息等。波器的设置、位定时信息等。在应用主程序中在应用主程序中n 准备要发送的数据并激活准备要发送的数据并激活SJA1000SJA1000将数据发出将数据发出n 处理处理CANCAN控制器接收到的报文控制器接收到的报文处理在通信过程中发生的错误处理在通信过程中发生的错误 概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线11CUMTCUMT监控系统与现场总线监控系统与现场总线6.4.1 初始化初始化 n SJA1000SJA1000在上电或硬复拉后

10、,必须初始化以便进行通信。在上电或硬复拉后,必须初始化以便进行通信。n 在运行过程中还可以通过主控制器对其组态进行修改(重新在运行过程中还可以通过主控制器对其组态进行修改(重新组态),在进行重新组态时,首先要进入复位状态。组态),在进行重新组态时,首先要进入复位状态。n 图图6-126-12给出了初始化程序的流程。给出了初始化程序的流程。概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线12CUMTCUMT监控系统与现场总线监控系统与现场总线n 上电复位后,主控制器要运行其复位子程序,然后进入初始化上电复位后,主控制器要

11、运行其复位子程序,然后进入初始化SJA1000SJA1000的子程序,因为要组态的寄存器只有在复位模式(的子程序,因为要组态的寄存器只有在复位模式(Reset ModeReset Mode)下,才能被写入。)下,才能被写入。主控制器必须在复位模式下对控制段的下列寄存器进行设置。主控制器必须在复位模式下对控制段的下列寄存器进行设置。(1)控制寄存器选择下列运行方式:)控制寄存器选择下列运行方式:n 复位或运行复位或运行概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线13CUMTCUMT监控系统与现场总线监控系统与现场总线

12、(2)时钟分频寄存器:)时钟分频寄存器:n BasicCAN或或PeliCAN模式模式n 时钟输出(时钟输出(CLKOUT)是否有效)是否有效n 接收比较器是否旁路接收比较器是否旁路n TX1输出脚是否用作专用接收中断输出输出脚是否用作专用接收中断输出(3)认可码与认可码屏蔽寄存器:)认可码与认可码屏蔽寄存器:n 定义要接收报文的认可码定义要接收报文的认可码n 定义认可码与报文进行比较的相关位定义认可码与报文进行比较的相关位 概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线14CUMTCUMT监控系统与现场总线监控系统

13、与现场总线(4)总线定时寄存器)总线定时寄存器n 定义总线的波特率定义总线的波特率n 定义在位周期中的采样点位值定义在位周期中的采样点位值n 定义采样点数目定义采样点数目(5)输出控制寄存器)输出控制寄存器n 定义定义CAN总线输出脚总线输出脚 TX0和和TX1的输出方式的输出方式n 定义输出脚定义输出脚TX0、TX1的组态:悬浮、上拉、下拉或推的组态:悬浮、上拉、下拉或推挽及极性挽及极性n 正常输出方式正常输出方式、时钟输出方式时钟输出方式、双相输出方式或测试双相输出方式或测试方式方式概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监

14、控系统与现场总线15CUMTCUMT监控系统与现场总线监控系统与现场总线n 上述的组态信息写入上述的组态信息写入SJA1000SJA1000的控制段后,就可以通过的控制段后,就可以通过清除清除R/RR/R标志进入运行状态标志进入运行状态,但必须检验这个标志位是否真正被,但必须检验这个标志位是否真正被清除了,并且确已进入运行模式,否则程序不应继续往下清除了,并且确已进入运行模式,否则程序不应继续往下执行。执行。n 在设置在设置SJA1000SJA1000寄存器前,主控制器应该通过读寄存器前,主控制器应该通过读R/RR/R(Reset Reset mode/Requestmode/Request)

15、标志来确认)标志来确认SJA1000SJA1000确在复位方式,确在复位方式,因为要因为要组态的寄存器只有在复位模式(组态的寄存器只有在复位模式(Reset ModeReset Mode)下,才能被)下,才能被写入。写入。(RR(RR复位请求复位请求 在控制寄存器在控制寄存器(CR)(CR)中中) )概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线16CUMTCUMT监控系统与现场总线监控系统与现场总线参数定义参数定义(起始地址:(起始地址:8000H) CON EQU 8000H ;控制寄存器;控制寄存器 CMR E

16、QU 8001H ;命令寄存器;命令寄存器 SREQU 8002H ;状态寄存器;状态寄存器 CDR EQU 801FH ;时钟分频器;时钟分频器 ACREQU 8004H ;认可码寄存器;认可码寄存器 AMR EQU 8005H ;认可码屏蔽寄存器;认可码屏蔽寄存器 BTR0 EQU 8006H ;总线定时寄存器;总线定时寄存器0 BTR1EQU 8007H ;总线定时寄存器;总线定时寄存器1 OCREQU 8008H ;输出控制寄存器;输出控制寄存器 CANTXD EQU 800AH ;发送缓冲区;发送缓冲区 CANRXD EQU 8014H ;接收缓冲区;接收缓冲区监控系统与现场总线监控

17、系统与现场总线17CUMTCUMT监控系统与现场总线监控系统与现场总线CINIT:MOV DPTR,# CON;控制寄存器控制寄存器 MOV A,#01H ;复位复位SJA1000 MOVX DPTR,A监控系统与现场总线监控系统与现场总线18CUMTCUMT监控系统与现场总线监控系统与现场总线MOV DPTR,#CDR;时钟分频寄存器时钟分频寄存器MOV A,#6FH;BASICCAN模式模式,CLKOUT关关MOVX DPTR,AMOV DPTR,#BTR0 ;总线定时器总线定时器0MOV A,#0C5HMOVX DPTR,AMOV DPTR,#BTR1 ;总线定时器总线定时器1MOV A

18、,#0A5H MOVX DPTR,A监控系统与现场总线监控系统与现场总线19CUMTCUMT监控系统与现场总线监控系统与现场总线n 波特率波特率1/(tTseg1+tTseg2+tSYN) tSYN tSCL监控系统与现场总线监控系统与现场总线20CUMTCUMT监控系统与现场总线监控系统与现场总线n 例:例:24MHz晶振,晶振,BTR0=0C5H,BTR1=0A5H。 BTR01100 0101 ; BTR1=1010 0101tSCL 2(412011)/241060.510-6tTseg1=(80412011) tSCL6 tSCLtTseg2=(4021101) tSCL3 tSCL

19、波特率波特率1/(tTseg1+tTseg2+tSCL)1/10 tSCL=200103监控系统与现场总线监控系统与现场总线21CUMTCUMT监控系统与现场总线监控系统与现场总线 MOV DPTR,#AMR ;接收屏蔽寄存器接收屏蔽寄存器 MOV A,# DAMR MOVX DPTR,A MOV DPTR,#ACR ;认可码寄存器认可码寄存器 MOV A,#DACR MOVX DPTR,A 监控系统与现场总线监控系统与现场总线22CUMTCUMT监控系统与现场总线监控系统与现场总线 MOV DPTR,#CON MOV A,#08H MOVX DPTR,A ;并返回工作状态并返回工作状态监控系

20、统与现场总线监控系统与现场总线23CUMTCUMT监控系统与现场总线监控系统与现场总线n 报文的发送是报文的发送是CANCAN控制器控制器SJA1000SJA1000依据依据CANCAN协议规范自动协议规范自动进行的;进行的;n 主控制器将要发送的报文写入主控制器将要发送的报文写入SJA1000SJA1000的发送缓冲区,的发送缓冲区,并将发送请求位(并将发送请求位(Transmit RequestTransmit Request)置;)置;发送过程既可以采用中断方式,也可以采用查询方式发送过程既可以采用中断方式,也可以采用查询方式(查询(查询SJA1000SJA1000控制段的状态标志)。控

21、制段的状态标志)。概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用6.4.2 数据的发送数据的发送监控系统与现场总线监控系统与现场总线24CUMTCUMT监控系统与现场总线监控系统与现场总线1) 采用中断方式的数据发送采用中断方式的数据发送 监控系统与现场总线监控系统与现场总线25CUMTCUMT监控系统与现场总线监控系统与现场总线n 查询方式的报文发送查询方式的报文发送n 在查询方式下在查询方式下CANCAN发送中断应被屏蔽。发送中断应被屏蔽。n 一旦报文开始发送,发送缓冲器写闭锁,因此主控制器要查一旦报文开始发送,发送缓冲器写闭锁,因此主控制器要查询

22、询“发送缓冲器状态发送缓冲器状态”标志,确定是否可以将一个新的报文标志,确定是否可以将一个新的报文写入发送缓冲器(写入发送缓冲器(TXBufferTXBuffer) 。 概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线26CUMTCUMT监控系统与现场总线监控系统与现场总线发送子程序发送子程序TDATA: MOV DPTR,#SR ;状态寄存器状态寄存器 MOVX A,DPTR ;从从SJA1000 读入状态寄存器值读入状态寄存器值 JB ACC.4,TDATA ;判断是否正在接收判断是否正在接收,正在接收则等待正在接

23、收则等待TS0:MOVX A,DPTRJNB ACC.3,TS0 ;判断上次发送是否完成判断上次发送是否完成,未完成则等待发送完成未完成则等待发送完成TS1:MOVX A,DPTRJNB ACC.2,TS1 ;判断发送缓冲区是否锁定判断发送缓冲区是否锁定,锁定则等待锁定则等待监控系统与现场总线监控系统与现场总线27CUMTCUMT监控系统与现场总线监控系统与现场总线TS2:MOV DPTR #CANTXD ; SJA1000发送缓存区首址发送缓存区首址 MOV A #88H ; MOVX DPTR A INC DPTR MOV A,#88H; 标识符标识符1000 1000 100MOVX D

24、PTR,A监控系统与现场总线监控系统与现场总线28CUMTCUMT监控系统与现场总线监控系统与现场总线向发送缓冲区写数据向发送缓冲区写数据 MOV R1,#08H ;数据长度数据长度MOV R0,#TRDATA ;cpu发送数据区首地址发送数据区首地址 MTBF:MOV A,R0INC DPTRMOVX DPTR,AINC R0DJNZ R1,MTBF 监控系统与现场总线监控系统与现场总线29CUMTCUMT监控系统与现场总线监控系统与现场总线MOV DPTR,#CMR ;命令寄存器地址命令寄存器地址MOV A,#01H ;发送请求置;发送请求置1MOVX DPTR,A ;启动启动SJA100

25、0 发送发送RET监控系统与现场总线监控系统与现场总线30CUMTCUMT监控系统与现场总线监控系统与现场总线6.4.3 中止发送中止发送n 请求发送的报文可以用请求发送的报文可以用“中止发送中止发送”命令来中止发送过程命令来中止发送过程n 这一特性可以用来发送一个比已写入发送缓冲器这一特性可以用来发送一个比已写入发送缓冲器TXBuff中中的报文更紧急的报文。的报文更紧急的报文。图图6-15给出了中断方式下的中止发送程序流程图,这个流给出了中断方式下的中止发送程序流程图,这个流程图演示了中止当前报文而发送一个优先级别高的报文。程图演示了中止当前报文而发送一个优先级别高的报文。 概述概述系统构成

26、系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线31CUMTCUMT监控系统与现场总线监控系统与现场总线6.4.4 接收报文接收报文n 接收报文是接收报文是CANCAN控制器依据控制器依据CANCAN协议规范自动进行,接收报协议规范自动进行,接收报文被放在接收缓冲器文被放在接收缓冲器RXBufferRXBuffer中。中。n 一个报文是否可以传送给主控制器,由状态寄存器的接收一个报文是否可以传送给主控制器,由状态寄存器的接收缓冲器状态缓冲器状态RBSRBS和接收中断标志确定(若中断开放)。和接收中断标志确定(若中断开放)。n 主控制器

27、要将有效数据读入其内存,释放接收缓冲器主控制器要将有效数据读入其内存,释放接收缓冲器RXBufferRXBuffer,并对报文进行处理。,并对报文进行处理。传送过程既可由中断控制,也可通过查询状态寄存器标志传送过程既可由中断控制,也可通过查询状态寄存器标志来完成。来完成。 概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线32CUMTCUMT监控系统与现场总线监控系统与现场总线n CAN控制器的接收中断应屏蔽,主控制器读控制器的接收中断应屏蔽,主控制器读SJA1000状态寄存器(周状态寄存器(周期性的)、查询接收缓冲器状

28、态标志期性的)、查询接收缓冲器状态标志RBS,看接收缓冲器中是否有报,看接收缓冲器中是否有报文存在。文存在。 概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用1) 查询方式的接收过程查询方式的接收过程 若接收缓冲器空,主控制若接收缓冲器空,主控制器继续其它的程序,直到器继续其它的程序,直到下一个查询接收缓冲器状下一个查询接收缓冲器状态命令。态命令。 若接收缓冲器状态标志指若接收缓冲器状态标志指示示“满满”,接收缓冲器中,接收缓冲器中已接收到一个或多个报文已接收到一个或多个报文。 监控系统与现场总线监控系统与现场总线33CUMTCUMT监控系统与现场总线监

29、控系统与现场总线n CAN控制器的接收中断和主控制器用于连接控制器的接收中断和主控制器用于连接CAN控制器接控制器接收中断信号的外部中断源,应在接收报文开始前开放。收中断信号的外部中断源,应在接收报文开始前开放。概述概述系统构成系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用2)中断方式的接收)中断方式的接收接收中断允许标接收中断允许标志在控制寄存器志在控制寄存器(BasicCAN模模式)式)或在中断允许寄或在中断允许寄存器(存器(PeliCAN 模式)。模式)。监控系统与现场总线监控系统与现场总线34CUMTCUMT监控系统与现场总线监控系统与现场总线概述概述系统构成

30、系统构成CANCAN通信的通信的控制控制CANCAN通信的通信的应用应用监控系统与现场总线监控系统与现场总线35CUMTCUMT监控系统与现场总线监控系统与现场总线接收子程序接收子程序REC: MOV DPTR,#SR MOVX A,DPTR JB ACC.4,REC ;判断判断sja1000是否正在接收报文,是则等待是否正在接收报文,是则等待 JNB ACC.0,REC ;读出状态寄存器中的值,判断是否有报文,有则接收,读出状态寄存器中的值,判断是否有报文,有则接收,无则返回无则返回监控系统与现场总线监控系统与现场总线36CUMTCUMT监控系统与现场总线监控系统与现场总线ACCEPT: MOV DP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论