FLEXCAN(Flexible Controller Area Network),是一个支持CAN2.0协议规范的CAN通信控制器。CAN 是控制器局域网络(Controller Area Network)的简称,是1986年德国电气商博世公司开发的面向汽车产业的串行通信协议,主要满足汽车行业以下几点需求:数据处理的实时性、EMI环境下数据传输的可靠性、降低线缆成本、增大数据带宽等。 开发板提供两路原生的CAN。 硬件原理 ELF 1开发板跟NXP使用的原生的FLEXCAN是同一方案,所以,添加起来就简单多了。 ![]() ![]() ![]() 通过查表CAN1_TX对应的PAD NAME为UART3_CTS_B,CNA1_RX的PAD NAME为UART3_RTS_B,CAN2_TX对应的PAD NAME为UART2_CTS_B,CNA2_RX的PAD NAME为UART2_RTS_B。 IOMUX配置 在arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件中已经添加好的配置: ![]() 设备节点 已配置好的设备节点: ![]() 其中xceiver-supply = <®_can_3v3>;属性表示给can收发时供电的电源。 添加驱动 使用make menuconfig打开图形化配置界面: elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ make menuconfig 在Networking support菜单下添加CAN bus subsystem support: ![]() 进入该选项,在 CAN bus subsystem support -> CAN Device Drivers 中选中以下几个选项: ![]() 替换配置文件 通过make menuconfig修改的内容写入到了.config文件,当使用make imx6ull_elf1_defconfig配置内核源码时,.config文件会被覆盖,因此,需要替换原有的imx6ull_elf1_defconfig。 elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp .config arch/arm/configs/imx6ul\l_elf1_defconfig ![]() 编译测试 编译内核和设备树并拷贝到开发板: elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ ./build.sh elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/zImage root\@172.16.0.175:/run/media/mmcblk1p1/ elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/dts/imx6ull-elf\1-emmc.dtb root@172.16.0.175:/run/media/mmcblk1p1/ 进行sync操作后重启开发板: ![]() 我们使用CAN1和CAN2进行对测。将开发板的 CAN1与CAN2 的H与H相连,L与L相连。板子启动之后,在命令行输入以下命令,对CAN1配置波特率为125000: root@ELF1:~# ifconfig can0 down //关闭can1 root@ELF1:~# ip link set can0 up type can bitrate 125000 triple-sampling on //设置can1波特率 root@ELF1:~# ifconfig can0 up //开启can1 对CAN2配置波特率为125000: root@ELF1:~# ifconfig can1 down //关闭can2 root@ELF1:~# ip link set can1 up type can bitrate 125000 triple-sampling on //设置can2波特率 root@ELF1:~# ifconfig can1 up //开启can2 CAN2接收数据: root@ELF1:~# candump can1 & //can2以后台方式接收数据 [1] 686 CAN1发送数据: root@ELF1:~# cansend can0 123#1234567891234567 //can1发送数据 can1 123 [8] 12 34 56 78 91 23 45 67 //can2接收到数据 |
641 浏览 0 评论
1134 浏览 1 评论
1259 浏览 0 评论
1277 浏览 1 评论
esp8266作为tcp客户端,服务器主动断开连接后,是会主动重连吗,如何设置不要主动重连呢
1922 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12822 浏览 31 评论