搜索
bottom↓
回复: 31

求推荐一个能工作在8Mbps的USB转串口芯片

[复制链接]

出0入309汤圆

发表于 2020-1-24 08:54:23 | 显示全部楼层 |阅读模式
之所以需要这么高的速率,是因为在调试程序的的时候,为了不干扰中断的正常执行,我使用插入汇编的方式模拟出串口发送调试信息。在24M主时钟下,发送串口能达到8M速度。

现在问题是一般的串口芯片没法达到这么高的速度。一般的串口芯片或者单片机串口接收至少需要16分频,很难达到这么高速度。

目前我只能用逻辑分析仪观察串口数据,比较不便。求问有没有高速的串口转换芯片,模块,或者产品?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2020-1-24 09:04:08 | 显示全部楼层
你可以用fpga做个接口,从你描述分析,数据是很短的,间隔也比较大,用fpga接收然后用fpga做的低速串口导出。只要平均数据流量输出大于数据输入就行,另外可以考虑用spi,用另外一个单片机接收spi转成异步串口,同样保证只要平均数据流量输出大于数据输入就行。usb转出来的8Mbps,估计电脑端也来不及

出0入309汤圆

 楼主| 发表于 2020-1-24 09:11:05 | 显示全部楼层
NJ8888 发表于 2020-1-24 09:04
你可以用fpga做个接口,从你描述分析,数据是很短的,间隔也比较大,用fpga接收然后用fpga做的低速串口导出 ...

感谢回复,总数据量不大,一般不超过一秒几百字节。USB肯定能胜任。

但是一次可能有好几个字节,因此缓冲区还是要有的。

由于是调试用的工具,能买现成的最好。

出0入93汤圆

发表于 2020-1-24 09:21:57 | 显示全部楼层
最最最基本的STM32F030串口都可以接收8M,问题是你的模拟串口时序是不是特别特别特别精确。STM32F030,配置到64M,串口8个时钟就接收一位,如果有一个时钟有错误误差就是1/8 = 12.5%,看你能接受不。
总之,你的方案并不可取的,还不如换带DMA的低速串口或SPI。

出0入8汤圆

发表于 2020-1-24 09:33:13 | 显示全部楼层
调试方法不合理,建议修改调试方法。

出0入475汤圆

发表于 2020-1-24 09:35:36 来自手机 | 显示全部楼层
对头,楼上一语中的

出0入309汤圆

 楼主| 发表于 2020-1-24 09:39:41 | 显示全部楼层
lw2012 发表于 2020-1-24 09:33
调试方法不合理,建议修改调试方法。


芯片资源太受限,CH552,既没有调试口,IO也不够,也是没办法才这样。能让出1个IO用于调试已经不容易了。

出0入475汤圆

发表于 2020-1-24 09:42:13 来自手机 | 显示全部楼层
有时间打包和模拟串口那说明处理时间很闲,把打包串口改成对信息进行预分析判断,完了几个结果来点亮几个灯泡或者操作几个io口就简单直观多了,再不行能不能把结果缩减为1个字节?这样也能代表256个不同的情况了,就可以低速串口看了

出0入309汤圆

 楼主| 发表于 2020-1-24 09:57:25 | 显示全部楼层
takashiki 发表于 2020-1-24 09:21
最最最基本的STM32F030串口都可以接收8M,问题是你的模拟串口时序是不是特别特别特别精确。STM32F030,配置 ...

感谢推荐,之前看103系列只能16分频,最高4.5M。
030和070可以16分频或者8分频。但是我看到手册有这样两句话:

The AHB and the APB domains maximum frequency is 48 MHz
A common programmable transmit and receive baud rate of up to 6 Mbit/s when the clock frequency is 48 MHz and oversampling is by 8

是不是需要超频?

出0入93汤圆

发表于 2020-1-24 10:56:30 | 显示全部楼层
iamseer 发表于 2020-1-24 09:57
感谢推荐,之前看103系列只能16分频,最高4.5M。
030和070可以16分频或者8分频。但是我看到手册有这样两 ...

反正你只是调试不是做产品,超超也没关系
怕的话,国内一大堆兼容片子,主频都高得很。比如GD32F350,手册上就说108MHz主频下USART最高13.5Mbps

出0入309汤圆

 楼主| 发表于 2020-1-24 11:02:34 | 显示全部楼层
takashiki 发表于 2020-1-24 10:56
反正你只是调试不是做产品,超超也没关系
怕的话,国内一大堆兼容片子,主频都高得很。比如GD32F350,手 ...

非常感谢,我去看看

出0入0汤圆

发表于 2020-1-24 11:09:26 | 显示全部楼层
USB转串口有6M的

出0入0汤圆

发表于 2020-1-24 11:22:29 | 显示全部楼层
https://www.ftdichip.com/Products/ICs/FT232H.htm

  FT232H - Hi-Speed Single Channel USB UART/FIFO IC

USB 2.0 Hi-Speed (480Mbits/Second) and Full Speed (12Mbits/Second) compatible.
UART transfer data rate up to 12Mbaud. (RS232 Data Rate limited by external level shifter).

出0入22汤圆

发表于 2020-1-24 11:28:58 来自手机 | 显示全部楼层
为啥不能输出的时候输出到sram,然后从低速串口慢慢输出呢?

出0入309汤圆

 楼主| 发表于 2020-1-24 12:53:08 | 显示全部楼层
zxq6 发表于 2020-1-24 11:28
为啥不能输出的时候输出到sram,然后从低速串口慢慢输出呢?

低速串口被占了。。。

出0入309汤圆

 楼主| 发表于 2020-1-24 13:01:49 | 显示全部楼层
okplay 发表于 2020-1-24 11:22
https://www.ftdichip.com/Products/ICs/FT232H.htm

  FT232H - Hi-Speed Single Channel USB UART/FIFO I ...

非常感谢

这个看起来好,手头的FT232RL只能到3M
FT232H 12M时钟,可以1.5分频到8M。可以试试。

出0入0汤圆

发表于 2020-1-24 19:20:46 | 显示全部楼层
很显然你这种调试方法就有问题。。。要是在我们公司会被领导叼你的。没其他意思哈

出0入309汤圆

 楼主| 发表于 2020-1-24 20:51:20 | 显示全部楼层
统一回一下改进调试方法的回复。如果有更好的调试方法,我非常愿意改进。只是我目前想不到什么更好的办法了。

首先说几个约束条件。CH552这种芯片价格便宜资源也少。调试接口是没有的。用IO口点灯输出也不现实,因为IO往往不够。使用低速真串口的话第一要占用RAM,第二实时性严重不足。

目前使用IO模拟8M串口的优势首先是灵活度非常高,任何空闲IO,甚至是已连接LED的IO均可用。另外这种方式非常快,只要几个微秒就能发完几个字节的调试数据,观察函数调用,变量值甚至是数组都是可以的。与此同时,在逻辑分析仪上可以很容易地看到调试数据和USB或其他通讯的时间关系。目前遇到的最大限制就是只能使用逻辑分析仪,在长时间记录数据和大量文本处理上很不便。因此我希望能找一个串口工具来同时记录数据。

出0入0汤圆

发表于 2020-1-25 08:31:36 来自手机 | 显示全部楼层
iamseer 发表于 2020-1-24 20:51
统一回一下改进调试方法的回复。如果有更好的调试方法,我非常愿意改进。只是我目前想不到什么更好的办法了 ...

如果是大量分析  用串口也需要写软件吧  如果有支持二次开发的逻辑仪应该可以用

出0入0汤圆

发表于 2020-1-25 10:12:43 | 显示全部楼层
楼主想用 24MHz 的主时钟下,发送串口数据达到 8Mbps 的速度?
那接收的一端主时钟该要多快?接收端还不知道要用多少的取样率 Sampling 才能来完成接收一个 Bit 哩!

出25入0汤圆

发表于 2020-1-25 11:08:34 | 显示全部楼层
ft4232可以到8Mbps

出10入46汤圆

发表于 2020-1-25 12:38:28 | 显示全部楼层
>为了不干扰中断的正常执行,我使用插入汇编的方式模拟出串口发送调试信息。

能看到你的程序的多空闲啊!  你的调试方法明显有问题。
难道一定要传大批量数据? 少量数据就不能调试了?

出0入309汤圆

 楼主| 发表于 2020-1-25 12:56:03 | 显示全部楼层
gonboy 发表于 2020-1-25 12:38
>为了不干扰中断的正常执行,我使用插入汇编的方式模拟出串口发送调试信息。

能看到你的程序的多空闲啊!  ...

当然可以传少量数据。大多数时候只有一两个字节。

一两个字节也不代表不需要高速传输。

出0入0汤圆

发表于 2020-1-25 18:23:41 来自手机 | 显示全部楼层
一定用串口吗,加一个时钟做spi行不行

出0入0汤圆

发表于 2020-1-25 18:27:45 来自手机 | 显示全部楼层
或者在stm32里用io模拟一个串口接收也行

出0入0汤圆

发表于 2020-1-27 03:59:17 | 显示全部楼层
楼主后面用什么方式解决了

出0入309汤圆

 楼主| 发表于 2020-1-27 09:03:27 | 显示全部楼层
chenfzg 发表于 2020-1-27 03:59
楼主后面用什么方式解决了

暂时用逻辑分析仪凑合,年后试试FT2232H

出0入309汤圆

 楼主| 发表于 2020-4-8 10:50:21 | 显示全部楼层
回报一下测试结论: 使用FT232H 确实可以以8M接收数据

板子是长江智动的232H板子。电脑需要使用D2XX驱动,VCP速度上不去。

由于使用D2XX驱动,一般串口工具用不了。测试Python3+pyftdi可用。

出0入0汤圆

发表于 2020-4-8 16:05:44 | 显示全部楼层
iamseer 发表于 2020-4-8 10:50
回报一下测试结论: 使用FT232H 确实可以以8M接收数据

板子是长江智动的232H板子。电脑需要使用D2XX驱动, ...

看着你的成功,我也收获一份经验。谢谢!

出0入0汤圆

发表于 2020-4-8 17:22:48 | 显示全部楼层
楼主 要不要用 FPGA与USB 做一个开发板 试验一下?

出0入309汤圆

 楼主| 发表于 2021-12-21 13:45:23 | 显示全部楼层
再添加一个可选项。CH343可以上到6M速率,还不需要使用特殊工具或者驱动。

出0入4汤圆

发表于 2021-12-21 15:27:58 | 显示全部楼层
ft232h 记得跑到过18-19M,fpga发送数据
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 23:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表