实验三:双节点通信 1、实验要求 can节点a(id:0x00)、b(id:0x01),要求a节点进行数据发送(标准数据帧),b节 点可以进行数据接收并显示接收到数据,同时反馈信息给a 节点。 2、实验目的 (1)熟悉双can通信原理; (2)掌握双节点通信的设计。 3、所需设备 (1)cpu挂箱2 (2)接口挂箱2 (3)cpu模块(80c31)2 (4)can总线模块2块 4、实验内容 两个实验台运行程序can.asm,发送实验台全速运行程序,接收实验台要在程序中设置断点,查看30h~37h中的数与程序中发送的数据是否一致。 5、实验原理 两个can节点通信,验收滤波设置正确后,可实现双节点通信。硬件原理图与图2.4类似,只不过将1个节点改为2个节点。图略。 附图2.4见下 (2)模块跳线接lcs0(can基址为0xde00); (3)模块上的a接canl,b接canh; (4)在各自试验台上,将cpu挂箱右侧的“data port”和“address port” 分别用 5p、14p、20p连线与接口挂箱的相应插座连接. (5)将两个can节点的canl、canh直连。 2、运行程序can.asm,在初始化结束、发送接收结束处各设置断点,查看两个模块的30h~37h中的数据是否一致。 7、实验结果 两个模块的30h~37h中的数据一致。 8、1)程序流程图 2)实验程序: mode equ 0de00h ;模式寄存器 cmr equ 0de01h ;命令寄存器 sr equ 0de02h ;状态寄存器 ir equ 0de03h ;中断寄存器 ier equ 0de04h ;中断使能寄存器 btr0 equ 0de06h ;总线定时寄存器一 btr1 equ 0de07h ;总线定时寄存器二 ocr equ 0de08h ;输出控制寄存器 alc equ 0de0bh ;仲 裁 丢 失 捕 捉 寄 存 器 ecc equ 0de0ch ;错误代码捕捉寄存器 txerr equ 0de0fh ;发送错误计数器 acr0 equ 0de10h ;验收代码寄存器 0 acr1 equ 0de11h ; 1 acr2 equ 0de12h ; 2 acr3 equ 0de13h ; 3 amr0 equ 0de14h ;验收屏蔽寄存器 0 amr1 equ 0de15h ; 1 amr2 equ 0de16h ; 2 amr3 equ 0de17h ; 3 fin equ 0de10h ;发送/接收帧信息 id1 equ 0de11h ;发送/接收缓冲区之标示符一 id2 equ 0de12h ;发送/接收缓冲区之标示符二 data1 equ 0de13h ;发送/接收数据首址 rbsa equ 0de1eh ;接收缓冲器起始地址寄存器 cdr equ 0de1fh ;时钟分频寄存器 org 4000h jmp start org 4080h start: mov r1,#8 mov r0,#27h fill: mov b,#10h mov a,r1 ...