4M的串口波特率用于传输数据,速率能到多少KB/s?
如题,有些朋友说能到200KB/s,有些说只能到20KB/s. 4M/10=400KHZ,如果不到就说明程序问题,得用DMA 几位数据,几位停止,带不带校验,算一下就知道了 8N1就是每10bit一个字节,那么4M久除以10了,没有任何不可能。就是带宽满载跑呗,你自己做不做得到,就看你是怎么处理数据接口以实现满载 如果不管后面丢不丢数据,用单片机是可以跑满的,400kib/s。跑协议先降一半。 wye11083 发表于 2023-11-15 12:40如果不管后面丢不丢数据,用单片机是可以跑满的,400kib/s。跑协议先降一半。 ...
(引用自5楼)
跑协议是什么意思?流控? 1a2b3c 发表于 2023-11-15 12:31
8N1就是每10bit一个字节,那么4M久除以10了,没有任何不可能。就是带宽满载跑呗,你自己做不做得到,就看你 ...
(引用自4楼)
这种满载跑,很有可能数据对不齐,全错 本帖最后由 ajfan 于 2023-11-15 14:12 编辑
tang_qianfeng 发表于 2023-11-15 13:45
这种满载跑,很有可能数据对不齐,全错
(引用自7楼)
如果想兼顾速度和正确率,是否有好的办法?除了流控措施以外。
另外如果两个设备的波特率误差为0,两个设备是板对板安装,对应是否成功率是高的? ajfan 发表于 2023-11-15 14:01
如果想兼顾速度和正确率,是否有好的办法?除了流控措施以外。
另外如果两个设备的波特率误差为0,两个 ...
(引用自8楼)
同步串口如何 DMA+Ringbuffer. 利用DMA的TC中断和HT中断做数据处理。比如DMA大小设置为1000,则每500字节就中断一次。处理数据的时候DMA继续接收剩下的500个,数据处理时间会比较充足。
如果要分包的话,再利用串口空闲中断,每个数据包会占用1个字节的带宽。 tang_qianfeng 发表于 2023-11-15 13:45
这种满载跑,很有可能数据对不齐,全错
(引用自7楼)
为啥呢?
fpga处理咋会错?只要你波特率两边是一致的,这点速度,每个字节的时间内能处理好多事情了哦
这里也没说非得各种单片机来跑,跑不跑得到是个人选芯片和能力了估计,
页:
[1]