跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
Mcuzone Wiki
搜索
搜索
登录
个人工具
登录
查看“2006 CM4/CM5 UART/CAN”的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
←
2006 CM4/CM5 UART/CAN
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== '''关键词''' == 树莓派、CM4核心板、千兆以太网、百兆以太网、RS232、RS485、CAN、RPiOS、Ubuntu == '''一、简介''' == CM4_UART/CAN扩展板 == '''二、硬件资源''' == http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_28.jpg http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_29.jpg http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_30.jpg == '''三、系统烧写及设置''' == === 3.1 概述 === 本文档采用树莓派OS和Ubuntu系统进行测试。 1. 树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址: https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit 2. Ubuntu系统的版本为ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz,Ubuntu OS下载地址: https://ubuntu.com/download/raspberry-pi === 3.2 TF卡的烧写 === 树莓派CM4核心板分2个大类,一类是不带eMMC版本,仅限从TF卡启动系统;一类是带eMMC版本,仅限从eMMC启动系统,那对应扩展板上的TF卡将无效。 从TF卡启动系统的详细烧录方法请[[2003 CM4 Tiny HDMIx2(双HDMI扩展板)#3.2 从TF卡启动|点击这里]]。 === 3.3 eMMC的烧写 === eMMC烧写系统的详细烧录方法请[[2003 CM4 Tiny HDMIx2(双HDMI扩展板)#3.3. 从eMMC启动|点击这里]]。 注意,CM4_UART/CAN扩展板上烧写的OTG口为USB Type-C口。 http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_31.jpg === 3.4 注意事项 === 1. 如果使用树莓派系统,系统启动后卡死或者键盘鼠标无法使用,请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本,如果是烧写在eMMC上,则请在烧写完毕后,再次使用一次rpiboot工具使系统分区显示出来,然后打开系统分区根目录下的config.txt检查USB的初始化脚本: http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_41.jpg 然后按照下面红框所示的两处进行修改: http://www.mcuzone.com/wiki/2004_CM4_WiFi7/2004_CM4_WiFi7_48.jpg 2. 如果使用Ubuntu系统,系统启动后键盘鼠标无法使用,请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本,如果是烧写在eMMC上,则请在烧写完毕后,再次使用一次rpiboot工具使系统分区显示出来,然后打开系统分区根目录下的config.txt检查USB的初始化脚本。 需要确认下图中的红框处是否配置完全,如果没有,请手动添加完整并保存文件: http://www.mcuzone.com/wiki/2004_CM4_WiFi7/2004_CM4_WiFi7_40.jpg 也可以将红框处这一行删除后保存文件: http://www.mcuzone.com/wiki/2004_CM4_WiFi7/2004_CM4_WiFi7_41.jpg 3. Ubuntu系统的desktop版本对硬件要求较高,如果核心板只有1G内存,有可能在运行时速度很慢甚至死机,建议使用内存为2G或以上的核心板进行安装使用。 == '''四、树莓派OS下的使用演示''' == === 4.1 准备工作 === 我们首先需要在config.txt中加入各个接口与GPIO的对应关系: <code>dtoverlay=uart0</code> <code>dtoverlay=uart3,txd3_pin=4,rxd3_pin=5</code> <code>dtoverlay=uart4,txd4_pin=8,rxd4_pin=9</code> <code>dtoverlay=uart5,txd5_pin=12,rxd5_pin=13</code> http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_09.jpg 保存后退出,然后将TF卡插入扩展板,启动系统。 树莓派端建议安装可视化串口软件CuteCom: <code>sudo apt install cutecom</code> 安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式: http://www.mcuzone.com/wiki/0012_MPUUART_MP4232/0012_MPUUART_MP4232_01.jpg 如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入: <code>sudo cutecom</code> 来运行CuteCom。 经测试,CM4_UART_CAN扩展板上各个接口与串口号的对应关系如下: RS485对应ttyAMA5 RS232(三针)对应ttyAMA4 http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_02.jpg CM4_UART扩展板是九针RS232串口版本。 RS232(九针)对应ttyAMA4,如下图: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_13.jpg === 4.2 测试RS485串口 === 在PC端插上一个USB转RS485串口的转换器,与扩展板上的RS485串口相连,各自打开串口软件进行收发,结果如下: 树莓派OS端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_03.jpg Windows端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_04.jpg 经过实测,波特率最高可达到2.01M(以传输数据不发生乱码为准)。 === 4.3 测试RS232串口(三针) === 在PC端插上一个USB转RS232串口的转换器,与扩展板上的RS232串口(三针)相连,各自打开串口软件进行收发,结果如下: 树莓派OS端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_05.jpg Windows端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_06.jpg 经过实测,波特率最高可达到0.86M(以传输数据不发生乱码为准)。 === 4.4 测试RS232串口(九针) === 在PC端插上一个USB转RS232串口的转换器,与扩展板上的RS232串口(三针)相连,各自打开串口软件进行收发,结果如下: 树莓派OS端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_11.jpg Windows端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_12.jpg 经过实测,波特率最高可达到0.28M(以传输数据不发生乱码为准)。 === 4.5 测试CAN接口 === 我们首先需要在config.txt中加入CAN接口的配置: <code>dtparam=spi=on</code> <code>dtoverlay=spi1-3cs</code> <code>dtoverlay=mcp2515,spi1-0,oscillator=8000000,interrupt=25,speed=500000</code> 本扩展板的CAN是接在SPI上的,所以要确保打开SPI。其中oscillator为CAN的晶振的频率,interrupt为MP2515的中断号,都要和硬件相对应,此外,CAN的GPIO不能和之前的串口有冲突,如果有冲突,请在本文件中先屏蔽冲突的串口GPIO(如下图蓝框处,屏蔽了UART4): http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_32.jpg 保存后退出,然后将TF卡插入扩展板,启动系统。 等待系统重启完毕后,在图形界面中,依次选择如下图项目后,确保SPI已开启: http://www.mcuzone.com/wiki/0002_MPS2280iPoE/MPS2280iPoE_08.png http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_08.jpg 在终端中输入<code>dmesg | grep spi</code>,查看 SPI 的信息: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_33.jpg SPI成功识别后,输入以下命令开启CAN: <code>sudo ip link set can0 up type can bitrate 500000</code> <code>sudo ifconfig can0 txqueuelen 65536</code> http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_34.jpg 设置完成后输入<code>ifconfig -a</code>,查看CAN连接,可看到can0: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_35.jpg 安装CAN软件: <code>sudo apt-get install can-utils</code> http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_36.jpg 安装完毕后,连接好与PC之间的CAN收发器,如果树莓派OS重启过,需要再运行一次: <code>sudo ip link set can0 up type can bitrate 500000</code> 然后运行下列命令,将树莓派OS端置于接收状态: <code>candump can0</code> 41.jpg 打开PC端的CAN测试软件,设置好波特率等参数,向树莓派OS端发送数据,结果如下: 发送端: 37.jpg 接收端: 38.jpg 如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据): <code>cansend can0 000#11223344</code> 运行几次就发送几次。 发送端: 39.jpg 接收端: 40.jpg === 4.6 测试百兆网口 === 将连接上游路由器的的网线插入扩展板的百兆网口,网络连接成功后,安装网络测速工具iperf3: <code>sudo apt install iperf3</code> http://www.mcuzone.com/wiki/0008_MPS2_5G/0008_MPS2_5G_04.jpg 利用iperf3与PC端进行测速,结果如下: 扩展板作为client时,速度大约为94.5Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_24.jpg 扩展板作为server时,速度大约为94.9Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_25.jpg '''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。''''' === 4.7 测试千兆网口 === 将连接上游路由器的的网线插入扩展板的千兆网口,利用iperf3与PC端进行测速,结果如下: 扩展板作为client时,速度大约为942Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_26.jpg 扩展板作为server时,速度大约为945Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_27.jpg '''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。''''' == '''五、Ubuntu系统下的使用演示''' == === 5.1 准备工作 === Ubuntu系统下同样需要在config.txt中加入各个接口与GPIO的对应关系: <code>dtoverlay=uart0</code> <code>dtoverlay=uart3,txd3_pin=4,rxd3_pin=5</code> <code>dtoverlay=uart4,txd4_pin=8,rxd4_pin=9</code> <code>dtoverlay=uart5,txd5_pin=12,rxd5_pin=13</code> 加入的位置也是在文件的末尾,可以按照在树莓派OS下的方法进行。 保存后退出,然后将TF卡插入扩展板,启动系统。 树莓派端同样建议安装可视化串口软件CuteCom: <code>sudo apt install cutecom</code> 如果在使用过程中有权限不足的问题,请打开Ubuntu系统的终端,输入: <code>sudo cutecom</code> 来运行CuteCom。 经测试,CM4_UART_CAN扩展板上各个接口与串口号的对应关系如下(与树莓派OS一样): RS485对应ttyAMA5 RS232(三针)对应ttyAMA4 CM4_UART扩展板是九针RS232串口版本。 RS232(九针)对应ttyAMA4 === 5.2 测试RS485串口 === 在PC端插上一个USB转RS485串口的转换器,与扩展板上的RS485串口相连,各自打开串口软件进行收发,结果如下: Ubuntu系统端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_16.jpg Windows端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_17.jpg 经过实测,波特率最高可达到2.01M(以传输数据不发生乱码为准)。 === 5.3 测试RS232串口(三针) === 在PC端插上一个USB转RS232串口的转换器,与扩展板上的RS232串口(三针)相连,各自打开串口软件进行收发,结果如下: Ubuntu系统端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_18.jpg Windows端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_19.jpg 经过实测,波特率最高可达到0.86M(以传输数据不发生乱码为准)。 === 5.4 测试RS232串口(九针) === 在PC端插上一个USB转RS232串口的转换器,与扩展板上的RS232串口(三针)相连,各自打开串口软件进行收发,结果如下: Ubuntu系统端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_14.jpg Windows端: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_15.jpg 经过实测,波特率最高可达到0.28M(以传输数据不发生乱码为准)。 === 5.5 测试CAN接口 === === 5.6 测试百兆网口 === 将连接上游路由器的的网线插入扩展板的百兆网口,利用iperf3与PC端进行测速,结果如下: CM4_UART/CAN扩展板作为client时,速度大约为94.4Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_20.jpg 扩展板作为server时,速度大约为94.8Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_21.jpg '''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。''''' === 5.7 测试千兆网口 === 将连接上游路由器的的网线插入扩展板的千兆网口,利用iperf3与PC端进行测速,结果如下: 扩展板作为client时,速度大约为941Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_22.jpg 扩展板作为server时,速度大约为938Mbps: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_23.jpg '''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''
本页使用的模板:
模板:联系我们 图标
(
查看源代码
)
返回
2006 CM4/CM5 UART/CAN
。
开关有限宽度模式