钡铼智慧安防二次开发ARM 控制器

今日头条

1100人已加入

描述

嵌入式 ARM 控制器 BL301/BL302 系列是工业级坚固型工业控制器,采用 NXP 的高性能处理器 I.MX6ULL,搭配先进的 ARM Cortex-A7 构架,运行速度高达 800MHz,具有高度的稳定性。本产品最高可提供 4 路 RS485/RS232,1 路 CAN 口,2 路网口,2路 DI 口,2 路 PWM 口输出以及 1 路 USB 接口,1 路电源输入/输出接口、1 路 HDMI视频显示接口。可运行 LINUX、Ubantu、Debian 等 OS,兼容 Node-Red、QT、Python、C++等应用程序,支持 MySQL、InfluDB、SQLite 等数据库。

控制器

RS485&232 接口

根据板载芯片的不同,BL302 可支持 RS485 或 RS232。COM1、COM2、COM3 和

COM4 对应的设备分别为/dev/ttymxc1、/dev/ttymxc2、/dev/ttymxc5 和/dev/ttymxc4。R485

接口 200 米线长最高支持波特率为 115200。

控制器

BL302 板子上有一个 CAN 接口,如需测试 CAN 接口,还需要一个 CAN 设备,可以使用另一块 BL302 板子,或者带有 CAN 的板子进行测试。

准备两块 BL302 设备,然后将 CAN 接口连接起来,BL302 设备上 CAN 接线端子将两个设备的 CAN 接口连接起来,注意,CAN_H 接 CAN_H,CAN_L 接 CAN_L。

首先使用 ip 命令设置两个设备的 CAN 接口,首先设置 CAN 接口的速度,输入如下所示命令:

ip link set can0 type can bitrate 500000

上述命令设置 can0 速度为 500Kbit/S,两个 CAN 设备的速度要设置为一样的!速度设置好以后打开 can0 网卡,命令如下:

ifconfig can0 up //打开 can0

can0 打开以后就可以使用 can-utils 里面的小工具进行数据收发测试了。一个设备用来接收数据,一个用来发送数据,接收数据的设备使用 candump 命令,输入如下命令:

candump can0 //接收数据

发送数据的设备使用 cansend 命令向接收单元发送 8 个字节的数据:0X11、0X22、0X33、0X44、0X55、0X66、0X77、0X88。输入如下命令:

cansend can0 5A1#11.22.33.44.55.66.77.88

cansend 命令用于发送 can 数据,“5A1”是帧 ID,“#”号后面的“11.22.33.44.55.66.77.88”就是要发送的数据,十六进制。CAN2.0 一次最多发送 8 个字节的数据,8 个字节的数据之间用“.”隔开。

控制器

如果 CAN 工作正常的话接收端就会接收到上面发送过来的这 8 个字节的数据

/ # candump can0

can0 5A1 [8] 11 22 33 44 55 66 77 88

从上面可以看出,接收端的 can0 接口接收到了 8 个字节的数据,帧 ID 为 5A1,说明 CAN 驱动工作正常。

如果要关闭 can0 的话输入如下命令:

ifconfig can0 down

如果要在一个板子上进行 CAN 回环测试,按照如下命令设置 CAN:ifconfig can0 down //如果 can0 已经打开了,先关闭

ip link set can0 type can bitrate 500000 loopback on //开启回环测试

ifconfig can0 up //重新打开 can0

candump can0 & //candump 后台接收数据

cansend can0 5A1#11.22.33.44.55.66.77.88 //cansend 发送数据

如果回环测试成功的话那么设备就会收到发送给自己的数据,如图所示:

/ # cansend can0 5A1#11.22.33.44.55.66.77.88

can0 5A1 [8] 11 22 33 44 55 66 77 88

审核编辑 黄昊宇

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

全部0条评论

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

×
20
完善资料,
赚取积分