xinmeng_wit 发表于 2025-1-4 21:48

【RainbowLink USB 协议转换器】2、环境搭建及TTL测试

<div class='showpostmsg'><p><span style="font-size:16px;"><strong>一、环境搭建</strong></span></p>

<p>首先直接将RainbowLink通过USB接入电脑,此时的设备管理器会显示四个COM口,如下:</p>

<div style="text-align: left;"></div>

<p>但是,现在有一个问题,不知道COM口怎么跟ABCD功能对应,比如,不知道哪个COM是对应RS485功能的。</p>

<p>为了确认对应,其实有两种方法。</p>

<p>第一种:随便选一个COM口通讯试试,根据RainbowLink上的通讯灯来确认是哪个功能。</p>

<p>第二种:安装官方提供的一个驱动,安装好以后会直接在设备管理器中显示对应的ABCD功能。</p>

<p>下载链接:<a href="https://img.dfrobot.com.cn/wikicn/5d57611a3416442fa39bffca/9aa91ec7eea25fd161bd414604a591b4.zip" target="_blank">https://img.dfrobot.com.cn/wikicn/5d57611a3416442fa39bffca/9aa91ec7eea25fd161bd414604a591b4.zip</a></p>

<div style="text-align: left;"></div>

<p>我们下载安装试试,安装完成后,设备管理器显示如下:</p>

<div style="text-align: left;"></div>

<p>现在就能直接看到对应关系了,very good。</p>

<p>&nbsp;</p>

<p><span style="font-size:16px;"><strong>二、TTL测试</strong></span></p>

<p>使用另外一个USB转TTL模块与RainbowLink对接进行测试,使用RainbowLink的TTL1进行测试。</p>

<div style="text-align: left;"></div>

<div style="text-align: left;">参数配置:9600,8N1,循环发送,周期10ms。(其实10ms太小了,不太合理)</div>

<div style="text-align: left;">两边都设置为相同的参数,这样Rainbowink收发就是同步进行,周期10ms,测试了大概10分钟,<strong>没有问题</strong></div>

<div style="text-align: left;">
<div style="text-align: left;"></div>

<p>&nbsp;</p>
</div>

<div style="text-align: left;">直接将波特率调高吧,调到115200bps,计算一下,大概算一下传20个字节的时间:1000/115200*9*20 = 1.56ms。</div>

<div style="text-align: left;">那就将周期设置为3ms试试。</div>

<div style="text-align: left;">若干分钟后,也<strong>没发现什么问题</strong>。</div>

<div style="text-align: left;">
<div style="text-align: left;"></div>

<p>&nbsp;</p>
</div>

<div style="text-align: left;">再将波特率调到256000,周期保持3ms,实际上也<strong>没发现什么问题</strong>,还是没有看到发送和接收错误的情况。</div>

<div style="text-align: left;">
<div style="text-align: left;"></div>

<div style="text-align: left;">&nbsp;</div>

<div style="text-align: left;">我将波特率直接调到2000000bps,这时候很快就会发现另外一个TTL出错了,<strong>丢帧了,但是RainbowLink这端却未发现有错误,暂时还不好确定是RainbowLInk的问题还是测试的另外一个TTL的问题。</strong></div>

<div style="text-align: left;"><strong>后面测了1500000bps,发现也是有问题的,但是1000000bps是没有问题的。</strong></div>

<div style="text-align: left;">&nbsp;</div>

<div style="text-align: left;">
<div style="text-align: left;"></div>

<div style="text-align: left;">&nbsp;</div>

<div style="text-align: left;"><span style="font-size:16px;"><strong>三、总结</strong></span></div>

<div style="text-align: left;">经过测试,目前看来,波特率在1Mbps以下是能保证稳定通讯的,在往上就不太稳定了,会出现漏帧的问题。</div>

<div style="text-align: left;">当然,这不能完全证明是RainbowLink的问题,有可能是与之配合测试的那个TTL模块的问题,如果非要确认是谁的问题,可能需要找一个更加强大的TTL</div>

<div style="text-align: left;">工具。其实这个1Mbps已经是在官方宣称的128000范围以外了,其实我觉得达到这个水平已经足够日常使用了。</div>

<div style="text-align: left;">另外,这个测试不是最严苛的测试,最严苛的测试应该是4路串口一起以最快的速度通讯,如果后面有条件我也会做这个测试。</div>

<div style="text-align: left;">&nbsp;</div>

<p>&nbsp;</p>
</div>

<div style="text-align: left;">&nbsp;</div>

<div style="text-align: left;">&nbsp;</div>

<p>&nbsp;</p>
</div>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

xinmeng_wit 发表于 2025-1-5 20:26

<p>又做了个实验,直接将TTL1和TTL2的TX和RX交叉连接,使用2M的波特率通讯,完全正常。说明RaninbowLink支持2M是完全没有问题的。但如果波特率再高就不行了。</p>

<div style="text-align: center;"></div>

<p>&nbsp;</p>

秦天qintian0303 发表于 2025-1-5 20:40

<p>循环发送,周期10ms,个人感觉要是测试掉包,应该连续发送比较好,没有间隔更好</p>

xinmeng_wit 发表于 2025-1-6 09:58

秦天qintian0303 发表于 2025-1-5 20:40
循环发送,周期10ms,个人感觉要是测试掉包,应该连续发送比较好,没有间隔更好

<p>没错,其实我是想测丢包率的,但是串口工具不支持设置发送次数,只能再想其他办法测丢包率了</p>

xinmeng_wit 发表于 2025-1-9 16:03

xinmeng_wit 发表于 2025-1-5 20:26
又做了个实验,直接将TTL1和TTL2的TX和RX交叉连接,使用2M的波特率通讯,完全正常。说明RaninbowLink支持2M ...

<p>换了一台电脑又测试了,发现TTL1和TTL2直连以4M的速度通讯又是可以的的,5M不行。</p>

<p> &nbsp;</p>
页: [1]
查看完整版本: 【RainbowLink USB 协议转换器】2、环境搭建及TTL测试