- 2025-01-26
-
发表了主题帖:
【RainbowLink USB 协议转换器】4、RS232测试
一、说明
本次进行RS232测试。此次使用一块GD32的开发板与RainbowLink进行RS232通讯测试。
连接图如下:
二、RS232测试
采用跟之前的测试类似,使用开发板DMA连续不间断的循环发送,看看有没有乱码的情况。
1、波特率115200bps测试
测试下来肯定是毫无压力。
2、波特率1000000bps测试
没有异常
3、2000000bps测试
很遗憾,测试出现了大量的乱码。
分析原因,可能是232转换芯片的问题。无论是开发板上的MAX3232芯片还是RanbowLink的3peak 的3232E芯片,手册上标识的最大数据传输速率都是250kbps,超过了这个值可能就会不稳定或者出现通讯问题。由此看来,RS232可能不适合在高速率下通讯。1M可能已经是极限了。当然,也不排除有一些高速的232转换芯片,能力有限,不得而知。
三、开发板测试代码
/*!
\file main.c
\brief GPIO running led demo
\version 2023-12-31, V1.6.0, demo for GD32E103
*/
#include "gd32e10x.h"
#include "systick.h"
#include "led.h"
#include "usart.h"
/*!
\brief main function
\param[in] none
\param[out] none
\retval none
*/
int main(void)
{
systick_config();
led_init();
/* configure EVAL_COM0 */
gd_eval_com_init(EVAL_COM0);
/* configure USART DMA */
usart_dma_config();
/* enable USART0 DMA channel transmission and reception */
dma_channel_enable(DMA0, DMA_CH3);
// dma_channel_enable(DMA0, DMA_CH4);
/* USART DMA enable for transmission and reception */
usart_dma_transmit_config(USART0, USART_TRANSMIT_DMA_ENABLE);
// usart_dma_receive_config(USART0, USART_RECEIVE_DMA_ENABLE);
/* wait until USART0 TX DMA0 channel transfer complete */
while(RESET == dma_flag_get(DMA0, DMA_CH3, DMA_INTF_FTFIF)){
}
// /* wait until USART0 RX DMA0 channel receive complete */
// while(RESET == dma_flag_get(DMA0, DMA_CH4, DMA_INTF_FTFIF)){
// }
while(1){
/* turn on LED2 */
gpio_bit_set(LED2_PORT, LED2_PIN);
/* turn on LED3 */
gpio_bit_set(LED3_PORT, LED3_PIN);
/* turn on LED4 */
gpio_bit_set(LED4_PORT, LED4_PIN);
/* turn on LED5 */
gpio_bit_set(LED5_PORT, LED5_PIN);
delay_1ms(1000);
/* turn off LEDs */
gpio_bit_reset(LED2_PORT, LED2_PIN);
gpio_bit_reset(LED3_PORT, LED3_PIN);
gpio_bit_reset(LED4_PORT, LED4_PIN);
gpio_bit_reset(LED5_PORT, LED5_PIN);
/* insert 200 ms delay */
delay_1ms(1000);
}
}
以上就是本次的RS232的测试,谢谢阅读。
- 2025-01-10
-
回复了主题帖:
【回顾2024,展望2025】新年抢楼活动来啦!
⑴遇到过什么技术问题,是否解决了?怎么解决的。没解决需要帮助也可以说说,论坛伙伴们帮忙看看
解决了项目中can通讯丢包的问题
-
回复了主题帖:
【回顾2024,展望2025】新年抢楼活动来啦!
⑷最想要什么支持?比如更多的某方面教程、资料、活动?:最想要STM32N6的开发板。还有AI部署到嵌入式平台的一些资料
-
回复了主题帖:
【回顾2024,展望2025】新年抢楼活动来啦!
⑶最想关注什么技术?:AI吧
-
回复了主题帖:
【回顾2024,展望2025】新年抢楼活动来啦!
⑸立一个新年Flag:吃好睡好然后多读书,多学习
- 2025-01-09
-
回复了主题帖:
【RainbowLink USB 协议转换器】2、环境搭建及TTL测试
xinmeng_wit 发表于 2025-1-5 20:26
又做了个实验,直接将TTL1和TTL2的TX和RX交叉连接,使用2M的波特率通讯,完全正常。说明RaninbowLink支持2M ...
换了一台电脑又测试了,发现TTL1和TTL2直连以4M的速度通讯又是可以的的,5M不行。
-
发表了主题帖:
【RainbowLink USB 协议转换器】3、RS485测试
一、说明
对于RS485的测试,因为手上还有另外一个RS485模块,也是平时一直在用的模块,所以本次我还是将这两个RS485模块对接进行测试。实际上我手在用的这个模块用的串口芯片是CH340,和RainbowLink用的CH344Q是同一家的。
本次测试的PC端软件我这边使用Modbus Poll和Modbus Slave。前者用于模拟Modbus主机,后者用于模拟Modbus从机。因为提到RS485,工业上通常会跑Modbus协议,所以选择了这种测试方法。
二、RS485测试
Modbus配置,除了波特率以外,其它配置都按照下面的配置来做测试。
先使用RainbowLink做主机来进行测试。
波特率115200bps测试
这个显然是没有任何压力的
波特率1000000bps测试
没有任何压力
波特率2000000bps测试
无错误。
波特率3000000bps测试
可以,无错误
波特率4000000bps测试
这时候就不行了,一直是timeout的状态了。
可能极限就是3Mbps了。
然后我们交换以下Modbus的主从设备再做测试,这次就不从头开始测了,直接摸极限波特率。
直接上4M,发现是一样的timeout。
再降到3M也是可以的,说明与主从没什么关系。
三、总结
经过测试,RainbowLink可能最高的RS485的速度是3Mbps多达不到4Mbps,通常情况下也不会用到这么高的速度,工业现场还是以稳定性为主,根据项目经验,工业现场波特率不会超过38400bps,至少我司的产品是这样的。
- 2025-01-06
-
回复了主题帖:
【RainbowLink USB 协议转换器】2、环境搭建及TTL测试
秦天qintian0303 发表于 2025-1-5 20:40
循环发送,周期10ms,个人感觉要是测试掉包,应该连续发送比较好,没有间隔更好
没错,其实我是想测丢包率的,但是串口工具不支持设置发送次数,只能再想其他办法测丢包率了
- 2025-01-05
-
回复了主题帖:
【RainbowLink USB 协议转换器】2、环境搭建及TTL测试
又做了个实验,直接将TTL1和TTL2的TX和RX交叉连接,使用2M的波特率通讯,完全正常。说明RaninbowLink支持2M是完全没有问题的。但如果波特率再高就不行了。
- 2025-01-04
-
发表了主题帖:
【RainbowLink USB 协议转换器】2、环境搭建及TTL测试
一、环境搭建
首先直接将RainbowLink通过USB接入电脑,此时的设备管理器会显示四个COM口,如下:
但是,现在有一个问题,不知道COM口怎么跟ABCD功能对应,比如,不知道哪个COM是对应RS485功能的。
为了确认对应,其实有两种方法。
第一种:随便选一个COM口通讯试试,根据RainbowLink上的通讯灯来确认是哪个功能。
第二种:安装官方提供的一个驱动,安装好以后会直接在设备管理器中显示对应的ABCD功能。
下载链接:https://img.dfrobot.com.cn/wikicn/5d57611a3416442fa39bffca/9aa91ec7eea25fd161bd414604a591b4.zip
我们下载安装试试,安装完成后,设备管理器显示如下:
现在就能直接看到对应关系了,very good。
二、TTL测试
使用另外一个USB转TTL模块与RainbowLink对接进行测试,使用RainbowLink的TTL1进行测试。
参数配置:9600,8N1,循环发送,周期10ms。(其实10ms太小了,不太合理)
两边都设置为相同的参数,这样Rainbowink收发就是同步进行,周期10ms,测试了大概10分钟,没有问题
直接将波特率调高吧,调到115200bps,计算一下,大概算一下传20个字节的时间:1000/115200*9*20 = 1.56ms。
那就将周期设置为3ms试试。
若干分钟后,也没发现什么问题。
再将波特率调到256000,周期保持3ms,实际上也没发现什么问题,还是没有看到发送和接收错误的情况。
我将波特率直接调到2000000bps,这时候很快就会发现另外一个TTL出错了,丢帧了,但是RainbowLink这端却未发现有错误,暂时还不好确定是RainbowLInk的问题还是测试的另外一个TTL的问题。
后面测了1500000bps,发现也是有问题的,但是1000000bps是没有问题的。
三、总结
经过测试,目前看来,波特率在1Mbps以下是能保证稳定通讯的,在往上就不太稳定了,会出现漏帧的问题。
当然,这不能完全证明是RainbowLink的问题,有可能是与之配合测试的那个TTL模块的问题,如果非要确认是谁的问题,可能需要找一个更加强大的TTL
工具。其实这个1Mbps已经是在官方宣称的128000范围以外了,其实我觉得达到这个水平已经足够日常使用了。
另外,这个测试不是最严苛的测试,最严苛的测试应该是4路串口一起以最快的速度通讯,如果后面有条件我也会做这个测试。
- 2024-12-30
-
发表了主题帖:
【RainbowLink USB 协议转换器】1、开箱
## 感谢
板子收到了,感谢EEWORLD和DFROBOT提供这么好的平台和这么好的板子。
接下来开始开箱。
## 开箱
1、外包装,貌似DFROBOT的包装盒都是这个样子的。
2、拆开外包装并拆开里面的塑料袋拿出板子,板子的上下各有一块亚克力板
3、撕掉上面的纸,可以看到亚克力板子上的丝印,确实很醒目很美观,很优雅。
4、拆下亚克力板,卡一看到板子的真容
上面的4个主要芯片我都已经标注在如下的图片中了
CH344Q是沁恒的USB转4路串口芯片
3232E是3Peak的TTL转232芯片
TP7576E是3Peak的TTL转485芯片
TPS61175是TI的升压芯片(3A 40V)
根据手册描述,电压输出能力如下:
RainbowLink 提供三种电压输出:12V/800mA、5V/2A、3.3V/200mA
还是相当不错的。
但是电源和485接口采用了压接端子,总感觉会很脆弱,容易坏,有点担心。
板子做过和颜值还是挺高的。
今天就到这里了,下次进行上电测试。
谢谢大家。
- 2024-12-29
-
加入了学习《Arduino? Nano RP2040 Connect 任务视频》,观看 串口工具初尝试
- 2024-12-24
-
回复了主题帖:
【测评入围名单】RainbowLink USB 协议转换器(RS485 / RS232 / TTL)
个人信息无误,确认可以完成测评分享计划
- 2024-12-06
-
回复了主题帖:
AI编程工具来了~
感觉跟cursor差不多呀
- 2024-11-26
-
回复了主题帖:
【颁奖】10月月度奖励发放!原创、提问讨论、回复答疑都有奖!
@okhxyyo, 问一下,这个奖励怎么领取呢?
- 2024-11-20
-
回复了主题帖:
STM32全球线上峰会,STM32N6重磅发布啦!
已报名
- 2024-11-11
-
回复了主题帖:
《动手学深度学习(PyTorch版)》7、循环神经网络
hellokitty_bean 发表于 2024-11-11 09:33
Wit兄加油哦。。。。。。。。。。。。。。。。。。。。。每天跟着你的步伐进步也蛮好
谦虚了兄弟,您才是大神
-
回复了主题帖:
《动手学深度学习(PyTorch版)》7、循环神经网络
hellokitty_bean 发表于 2024-11-11 09:32
个人感觉,至少要介绍RNN面临的问题,然后针对这些面临的问题又采取了哪些方法来解决
你是想说CNN遇到的问题吧?
-
回复了主题帖:
《动手学深度学习(PyTorch版)》7、循环神经网络
hellokitty_bean 发表于 2024-11-11 09:31
LSTM(Long Short Term Memory)要介绍不?。。。。。。。。
请hellokitty_bean兄给我们科普以下?
-
回复了主题帖:
《动手学深度学习(PyTorch版)》7、循环神经网络
Jacktang 发表于 2024-11-11 07:31
最后的这个循环神经网络还是比较麻烦的
挺麻烦的,没有那么好懂,理论公式太多了,难以理解。