网关FBox的CAN通信分享

通信网络

647人已加入

描述

首先,我们准备两台支持CAN的繁易网关FBox4G。

为什么是两台呢。

一台用来调试使用CAN通信。

另一台纯粹就是用来看,用来衬托的,钱不钱的无所谓了。多放一台在旁边,踏实。

一个USB转CAN设备,方便在电脑上调试。当然也可以直接使用CAN控制器。

然后我们把FBox4G的CAN总线和USB转CAN的总线接好。

插上SIM卡,上电。等待上线。

家里有条件的用户,在等待上线的同时,可以点一杯奶茶。

接下来我们打开FlexManager这个软件。

打开这个软件,哇,蓝色主题的win10样式,弹性布局的简约风格,白色打底的视觉冲击,让人忍不住在这个登录界面多停留一会,短暂地忘却工作的烦恼。

CAN控制器

趁没人的时候,赶快输入账号和密码。并快速的添加该盒子。

CAN控制器

奶茶还没有到,就已经看到这个盒子在线了。

接下来我们要找到CAN驱动并添加上来了。

在远程下载->设备管理,然后选择COM3(因为是CAN设备,随便选一个COM都可以)。

找了一会,终于找Others这个目录找到了这个CAN了。

CAN控制器

CAN通信主要设置的就是波特率了。

收到内幕消息,这个CAN驱动的波特率设置,是在高级设置里设置的。

CAN控制器

这个协议超时参数2,就是设置CAN的波特率了,目前设置的是125000波特率了。

为什么不是在前面那个页面里的波特率和串口共用一个,而是放到高级参数里呢。

我猜测其一,CAN的波特率和串口的波特率的数值不一样,兼容不了。

其二,放到高级设置里去设置这个CAN波特率,会显得这个CAN驱动更高级一些。

点了确定之后,我们就添加好了CAN驱动通信了。

我们打开数据监控页面。

CAN控制器

有好多寄存器,到底哪一个才是我们使用的呢。

经过简单的摸索之后,找到我们想要的寄存器了。

B_rPDO这个寄存器,就是我们要调试的寄存器了。

B代表字节,r表示是读。也就是数据是由对方发送过来的。PDO可以理解为数据内容。

地址范围是7FFF。

但是标准帧只到7FF。最后一个F是什么呢。

哦,因为一个帧有8个字节。最后一个F就是代表0到7的字节。

好。假如我们要读取帧ID为123H(十六进制)的8个字节。这样添加。

CAN控制器

CAN控制器

就在此时,我的外卖到了。

于是我让外卖小哥帮我把剩下的监控点添加。

很快,外卖小哥就帮我添加好了剩下的七个数据。

CAN控制器

接下来我们用USB转CAN发送一个,看有没有数据到数据。

CAN控制器

CAN控制器

CAN控制器

好,此时已发显示发送成功了。

CAN控制器

这边也收到数据了。8个字节,一一对应了。旁边的外卖小哥也跟着激动了,差点要转行跟我学嵌入式编程了。

于是这个B_rPDO就这样被我们搞定了。

以此类推。

有个W_rPDO寄存器,我们看一下是什么效果。

CAN控制器

W_rPDO,则是字寄存器,是把两个B_rPDO组成一个数据。这样对于有些控制器,是以字为单位的数据,就可以使用W_rPDO了。

同理,还有DW_rPDO就是双字寄存器了。是由四个B_rPDO或者两个W_rPDO组合。如果CAN控制器有浮点数或者32位的数据,就可以用DW_rPDO寄存器了。

CAN控制器

还有位寄存器

CAN控制器

位寄存器呢,则是可以直接读取到某个字节里的某个位,对于一个开关量,用位寄存器就更直接方便了

CAN控制器

ext_Byte_rPDO,带有ext字眼的呢,就是扩展帧了。用法呢和标准帧一样的。

还有带RTR后缀的呢,就是表示该寄存器是支持远程帧模式。该寄存器通信则需要先向CAN总线发送远程帧,如果在回复了,才能正常通信获取到数据。

当然,能读数据,就能写数据。

不过,发送的话,相对多几个步骤。

需要先把要发送的帧的ID,然后再把8个字节,也就是四个字的内容填写好。

然后再点发送按钮。就可以把一个CAN的帧数据进行发送了

CAN控制器

CAN控制器

按下发送,CAN设备就收到这个数据了。

CAN控制器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分