|
1、标识码寄存器CANIDT1-CANIDT4如下:
(原文件名:ourdev_528436.png)
2、对于11位标识符,我设计如下格式:
________________________________________________________________________________
| | | |
| | | |
| 信息功能码2位 | 节点号6位 | 数据格式3位 |
| | | |
---------------------------------------------------------------------------------
bit10 bit9 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
信息功能码2位:
00=输入变量
01=输出变量
10=点对点通讯
11=保留
节点号:
000001=节点1
000010=节点2
数据格式3位
(1)如果信息功能码=00:输入变量
数据格式=000:表示发送开入时,一次可以发送64路开关量输入
=001:表示发送模入时,一次可以发送8通道模入。
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
如果总线上有两个CAN结点,其中结点1为主控制器,结点2为开关量输入结点。
当结点2(开关量输入结点)采集到开入信号发生变化时,立即向结点1(主控结点)发送报文。
那么:如何初始化结点2的CAIDT1-CANIDT4寄存器和CANIDM1-CANIDM4 寄存器呢?
我的理解如下:
(1)、CANIDT2的IDT0、IDT1、IDT2 填写“3位数据格式”
(2)、CANIDT1的IDT3、IDT4、IDT5、IDT6、IDT7、IDT8 填写“6位节点号”
此处填写开关量输入节点的结点号。
(3)、CANIDT1的IDT9、IDT10 填写“2位信息功能码”
(4)、CANIDT3=0
(5)、由于开关量输入结点给主控结点发送的“数据帧”,因此
CANIDT4的RTRTAG 填写1:代表数据帧。
(6)、标识码屏蔽寄存器CANIDM1-CANIDM4 该如何填写呢? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|