搜索
bottom↓
回复: 67

一个产品想扩展8个串口,通过usb方式,有推荐的芯片吗?

[复制链接]

出0入0汤圆

发表于 2017-10-12 14:19:51 | 显示全部楼层 |阅读模式
如题:
一个产品想扩展8个串口,通过usb方式,有推荐的芯片吗?

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

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

出0入53汤圆

发表于 2017-10-12 14:36:37 | 显示全部楼层
STM32记得有8个串口的

出0入0汤圆

发表于 2017-10-12 15:33:40 | 显示全部楼层
zhcj66 发表于 2017-10-12 14:36
STM32记得有8个串口的

确实有,STM32F429ZGT6,我准备试试看是不是8个都好用。

出0入0汤圆

 楼主| 发表于 2017-10-12 15:38:17 | 显示全部楼层
如果不用单片机,有没有现成的芯片。

出0入93汤圆

发表于 2017-10-12 16:09:24 来自手机 | 显示全部楼层
ch438q,不一定比单片机便宜就是了

出0入0汤圆

发表于 2017-10-12 16:10:03 | 显示全部楼层
FT4232*2
比较贵

出5入14汤圆

发表于 2017-10-12 16:22:55 | 显示全部楼层
takashiki 发表于 2017-10-12 16:09
ch438q,不一定比单片机便宜就是了

这个还好,不算贵,,,就是是国产芯片,不知道环境恶劣点如何!

出0入0汤圆

发表于 2017-10-12 16:34:41 | 显示全部楼层
rtems 发表于 2017-10-12 15:33
确实有,STM32F429ZGT6,我准备试试看是不是8个都好用。

429的8个都用过,但不能都挂到DMA上,
好像smt32f091也有8个,

出0入0汤圆

发表于 2017-10-12 16:36:42 | 显示全部楼层
chishangpiao 发表于 2017-10-12 16:34
429的8个都用过,但不能都挂到DMA上,
好像smt32f091也有8个,

谢谢啊,这信息很有用。我接传感器,不用DMA没关系,中断可用就很方便了。

出0入0汤圆

 楼主| 发表于 2017-10-12 16:37:02 | 显示全部楼层
EMC菜鸟 发表于 2017-10-12 16:22
这个还好,不算贵,,,就是是国产芯片,不知道环境恶劣点如何!

是并行总线的,系统是arm应用处理器,没有这个接口,再用usb转一下更麻烦了。接普通单片机应该不错。

现在用的这个:xr21v1414 有点小贵。其实我们就要txd,rxd。这个有点浪费了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

发表于 2017-10-12 16:47:05 | 显示全部楼层
我们的方案是用USB hub分多个usb  然后在每个usb用usb to串口。
好在我们只是缺2个串口。

当然还有FT4232  可以用,还有楼上的 xr21

出0入0汤圆

发表于 2017-10-12 17:27:10 | 显示全部楼层
可以试下SPI转串口,比如周立功的ZLG9518S

出0入0汤圆

发表于 2017-10-12 17:29:57 | 显示全部楼层
wch好像有啊。。。以前  成都国腾 也出过类似芯片,,,,

出300入477汤圆

发表于 2017-10-12 19:37:50 来自手机 | 显示全部楼层
rtems 发表于 2017-10-12 15:33
确实有,STM32F429ZGT6,我准备试试看是不是8个都好用。

有更多的串口也没用,它的一个usb最多只能实现7个虚拟串口。
因为它的usb好像只有14个可配置端点,每个串口占两个…

出0入33汤圆

发表于 2017-10-12 19:38:23 来自手机 | 显示全部楼层
6楼正解

出20入128汤圆

发表于 2017-10-12 20:18:00 | 显示全部楼层
rtems 发表于 2017-10-12 15:33
确实有,STM32F429ZGT6,我准备试试看是不是8个都好用。

可以用么?刚刚用429设计了一个产品,8个串口

出20入128汤圆

发表于 2017-10-12 20:20:08 | 显示全部楼层
redroof 发表于 2017-10-12 19:37
有更多的串口也没用,它的一个usb最多只能实现7个虚拟串口。
因为它的usb好像只有14个可配置端点,每个串 ...

这个叼,经验老司机啊

出90入4汤圆

发表于 2017-10-12 20:38:23 来自手机 | 显示全部楼层
有没有考虑USB Hub?再USB转串囗?

出300入477汤圆

发表于 2017-10-12 21:00:25 来自手机 | 显示全部楼层
z123 发表于 2017-10-12 20:20
这个叼,经验老司机啊

其实完整的usb转串口要占三个端点,还有一个中断端点来报告状态。当然大部分情况下没有也不影响工作,反正你只用了串口的收发两根线。

出140入8汤圆

发表于 2017-10-12 21:14:54 | 显示全部楼层
用一个最简陋的fpga处理器别成本可以很低,做几十个串口没问题的,而且还是并行处理,杠杠的!

出0入0汤圆

发表于 2017-10-12 21:15:16 来自手机 | 显示全部楼层
redroof 发表于 2017-10-12 19:37
有更多的串口也没用,它的一个usb最多只能实现7个虚拟串口。
因为它的usb好像只有14个可配置端点,每个串 ...

配置端点共用一个不知道会不会被电脑报错 我估计电脑不会管 反正波特率其实不用电脑管 只要数据端点分开就好

出0入0汤圆

发表于 2017-10-12 21:28:28 来自手机 | 显示全部楼层
两个m0  每个四个串口 用spi连接 应该便宜

出300入477汤圆

发表于 2017-10-12 21:40:00 来自手机 | 显示全部楼层
huangqi412 发表于 2017-10-12 21:15
配置端点共用一个不知道会不会被电脑报错 我估计电脑不会管 反正波特率其实不用电脑管 只要数据端点分开 ...

我说的就是数据端点啊。我记得st的usb只有14个数据端点。这些端点可任意配置为输入或输岀。
每个虚拟串口必须要一个输入端点和一个输岀端点。
控制端点当然只有一个0号端点啊,公用的。

出0入0汤圆

发表于 2017-10-12 22:11:04 | 显示全部楼层
One CDC function requires 2 IN / 1 OUT endpoints (interrupt IN/ bulk IN/ bulk OUT), other than the default EP.
Available endpoints of each STM32F family are,

STM32F102/103 - FS Device core: 7 IN / 7 OUT
STM32F105/107 - OTG_FS: 3 IN / 3 OUT
STM32F2xx/4xx - OTG_FS: 3 IN / 3 OUT
STM32F2xx/4xx - OTG_HS: 5 IN / 5 OUT


STM32F102/103 - 3x CDC composite [ 6 IN - 3 OUT ]
STM32F105/107 - just one CDC [ 2 IN - 1 OUT ]
STM32F2xx/4xx - 2x CDC composite on OTG_HS [ 4 IN - 2 OUT ]

出0入0汤圆

发表于 2017-10-12 22:15:15 | 显示全部楼层
redroof 发表于 2017-10-12 21:40
我说的就是数据端点啊。我记得st的usb只有14个数据端点。这些端点可任意配置为输入或输岀。
每个虚拟串口 ...

如果只用一个输入端点和一个输岀端点不用中断端点的话,
STM32F103是不是可以实现7个虚拟串口?
其中3个USART,2个UART,在通过软件实现两个模拟的串口。

出0入0汤圆

发表于 2017-10-12 22:17:56 | 显示全部楼层
redroof 发表于 2017-10-12 21:40
我说的就是数据端点啊。我记得st的usb只有14个数据端点。这些端点可任意配置为输入或输岀。
每个虚拟串口 ...

我看错了,确实是。
估计用两个带USB的M0划算,每个带4个串口,一个USB。 再用HUB汇合。  
虽然是两个,软件只是一模一样。  M0 10块上下一个  HUB芯片2-3块?  加起来20多。

出0入0汤圆

发表于 2017-10-12 22:29:07 来自手机 | 显示全部楼层
如果比特率不高,软件模拟还是最省成本的。

出110入8汤圆

发表于 2017-10-12 22:40:28 | 显示全部楼层
用CPLD做纯硬件的串口,稳定。

出0入0汤圆

发表于 2017-10-12 22:49:04 | 显示全部楼层
redroof 发表于 2017-10-12 19:37
有更多的串口也没用,它的一个usb最多只能实现7个虚拟串口。
因为它的usb好像只有14个可配置端点,每个串 ...

我其实需要12个,外面加个总线切换。

出0入0汤圆

发表于 2017-10-12 22:49:39 | 显示全部楼层
z123 发表于 2017-10-12 20:18
可以用么?刚刚用429设计了一个产品,8个串口

板子没回来呢,下个月能知道答案了。

出0入0汤圆

发表于 2017-10-13 00:50:49 | 显示全部楼层
瞎折腾那干啥,瑞萨RX65N,价格便宜20块左右,有USB,有9个UART。

出0入93汤圆

发表于 2017-10-13 07:09:03 | 显示全部楼层
huangqi412 发表于 2017-10-12 22:17
我看错了,确实是。
估计用两个带USB的M0划算,每个带4个串口,一个USB。 再用HUB汇合。  
虽然是两个, ...

我能说,其实任意个串口,USB最少只需要3个端点(控制、输入、输出各一个)就可以了么,但是上位机要改,要么改驱动,要么加软件转发。
这样,我能想出来的最便宜的方案就是USB转SPI(比如CH341A) + 2片STC8F2K16S4,加一起11元,只是速度不可能高了。

但是LZ的意思是不希望有单片机、软件参与,因此这些方案是要被否决的。

出0入0汤圆

发表于 2017-10-13 10:04:52 来自手机 | 显示全部楼层
takashiki 发表于 2017-10-13 07:09
我能说,其实任意个串口,USB最少只需要3个端点(控制、输入、输出各一个)就可以了么,但是上位机要改, ...

数据通道合并的话 一片stm32f103也可以了 串口不够用定时器凑 反正主频速度高  串口可能也就9600之类  

出0入0汤圆

发表于 2017-10-13 10:22:50 | 显示全部楼层
夏日么么茶 发表于 2017-10-13 00:50
瞎折腾那干啥,瑞萨RX65N,价格便宜20块左右,有USB,有9个UART。

这个可以记下,8串口

出0入0汤圆

发表于 2017-10-13 10:27:00 | 显示全部楼层
为什么一定要通过usb方式,用并口,串口都可以。

出0入0汤圆

发表于 2017-10-13 10:55:11 | 显示全部楼层
huangqi412 发表于 2017-10-12 22:17
我看错了,确实是。
估计用两个带USB的M0划算,每个带4个串口,一个USB。 再用HUB汇合。  
虽然是两个, ...







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-10-13 11:03:50 | 显示全部楼层

那加起来才10多块,一个USB转出8个串口,简单粗暴,接的应该都是低速串口。

出0入0汤圆

发表于 2017-10-13 11:27:42 | 显示全部楼层
不过 STM32F072 端点不够用,不能实现 4 个 CDC UART,只能实现 3 个, 这里有个例子

  1. /* bespoke struct for this device; struct members are added and removed as needed */
  2. struct configuration_1
  3. {
  4.   struct configuration_descriptor config;
  5.   struct cdc_interface cdc[NUM_OF_CDC_UARTS];
  6. };

  7. /* fully initialize the bespoke struct as a const */
  8. __ALIGN_BEGIN static const struct configuration_1 USBD_Composite_CfgFSDesc __ALIGN_END =
  9. {
  10.   {
  11.     /*Configuration Descriptor*/
  12.     sizeof(struct configuration_descriptor),         /* bLength */
  13.     USB_DESC_TYPE_CONFIGURATION,                     /* bDescriptorType */
  14.     USB_UINT16(sizeof(USBD_Composite_CfgFSDesc)),    /* wTotalLength */
  15.     USBD_MAX_NUM_INTERFACES,                         /* bNumInterfaces */
  16.     0x01,                                            /* bConfigurationValue */
  17.     0x00,                                            /* iConfiguration */
  18.     0x80,                                            /* bmAttributes */
  19.     50,                                              /* MaxPower */
  20.   },

  21.   {
  22. #if (NUM_OF_CDC_UARTS > 0)
  23.     /* CDC1 */
  24.     CDC_DESCRIPTOR(/* Command ITF */ 0x00, /* Data ITF */ 0x01, /* Command EP */ 0x82, /* DataOut EP */ 0x01, /* DataIn EP */ 0x81)
  25. #endif
  26. #if (NUM_OF_CDC_UARTS > 1)
  27.     /* CDC2 */
  28.     CDC_DESCRIPTOR(/* Command ITF */ 0x02, /* Data ITF */ 0x03, /* Command EP */ 0x84, /* DataOut EP */ 0x03, /* DataIn EP */ 0x83)
  29. #endif
  30. #if (NUM_OF_CDC_UARTS > 2)
  31.     /* CDC3 */
  32.     CDC_DESCRIPTOR(/* Command ITF */ 0x04, /* Data ITF */ 0x05, /* Command EP */ 0x86, /* DataOut EP */ 0x05, /* DataIn EP */ 0x85)
  33. #endif
  34.   },
  35. };
复制代码


出0入0汤圆

发表于 2017-10-13 11:55:08 | 显示全部楼层
shangdawei 发表于 2017-10-13 11:27
不过 STM32F072 端点不够用,不能实现 4 个 CDC UART,只能实现 3 个, 这里有个例子

按理来说应该跟F1是一样

出0入0汤圆

发表于 2017-10-13 12:38:30 | 显示全部楼层
huangqi412 发表于 2017-10-13 11:55
按理来说应该跟F1是一样

看手册,两者应该是同一个 IP, 说明类似。

出0入0汤圆

发表于 2017-10-13 12:57:00 | 显示全部楼层
直接4片hub 外接12片usb转穿的单芯片得了

出300入477汤圆

发表于 2017-10-13 13:13:39 来自手机 | 显示全部楼层
jlhgold 发表于 2017-10-13 12:57
直接4片hub 外接12片usb转穿的单芯片得了

很多简化的usb主机没有hub驱动的

出0入0汤圆

发表于 2017-10-13 13:15:45 | 显示全部楼层
这方案做的?  如果速度不高,且是查询式的,很简单:
方案1: 做成485的,一个串口,接多个地址的modbus 协议就是;
方案2 :嫌方案1复杂的话,搞一个4051之类的电子开关,切换TTL电平的串口,分时接收就是

出0入0汤圆

发表于 2017-10-13 14:20:02 | 显示全部楼层
本帖最后由 styleno1 于 2017-10-13 14:21 编辑

主从式吗?如果接收不并发的话,用多路选择+逻辑门实现。
不然,带USB + 8 USART,ST家就不多了。

出0入0汤圆

发表于 2017-10-13 14:49:16 | 显示全部楼层
ATxmega128A1U 1 USB Device + 8 UARTs
ATxmega64A1U 1 USB Device + 8 UARTs
USB : 32 Endpoints

出0入0汤圆

发表于 2017-10-13 15:16:54 | 显示全部楼层
shangdawei 发表于 2017-10-13 14:49
ATxmega128A1U 1 USB Device + 8 UARTs
ATxmega64A1U 1 USB Device + 8 UARTs
USB : 32 Endpoints

这个厉害,不知道有没有USB转8个串口的软件

出0入0汤圆

发表于 2017-10-14 10:27:32 来自手机 | 显示全部楼层
Usb抗干扰不行啊!跑着跑着挂了,端口号还会变

出0入36汤圆

发表于 2017-10-14 14:16:54 来自手机 | 显示全部楼层
STM32f103+ch438L,可以扩展8路9线串口,CH438L样片一个17块钱,CH438Q应该更便宜,3线串口。

出0入36汤圆

发表于 2017-10-14 14:18:38 来自手机 | 显示全部楼层
可以地址线数据线复用,也可以分开,厂家的demo提供的是51上的程序。

出0入0汤圆

发表于 2017-10-14 21:50:22 | 显示全部楼层
fanfanrenfan 发表于 2017-10-13 15:16
这个厉害,不知道有没有USB转8个串口的软件

实现8个CDC,Windows应该可以自动安装8个串口驱动。

出0入42汤圆

发表于 2017-10-14 22:33:32 | 显示全部楼层
redroof 发表于 2017-10-12 21:40
我说的就是数据端点啊。我记得st的usb只有14个数据端点。这些端点可任意配置为输入或输岀。
每个虚拟串口 ...

老大 有没有STM32用IO驱动U盘芯片的   单芯方案?

出300入477汤圆

发表于 2017-10-15 09:03:53 来自手机 | 显示全部楼层
njjh1718 发表于 2017-10-14 22:33
老大 有没有STM32用IO驱动U盘芯片的   单芯方案?

WCH就有,叫ch37?不记得了
带个USB主机接u盘,给你串口或并行总线

出0入0汤圆

发表于 2017-10-15 09:55:58 | 显示全部楼层
难道都没有遇到  usb串口长时间运行死掉的???还那么多串口

出0入42汤圆

发表于 2017-10-15 10:44:51 | 显示全部楼层
redroof 发表于 2017-10-15 09:03
WCH就有,叫ch37?不记得了
带个USB主机接u盘,给你串口或并行总线

产品上量产了吗     主要是被WCH的片子   搞怕了  

出300入477汤圆

发表于 2017-10-15 10:50:58 来自手机 | 显示全部楼层
njjh1718 发表于 2017-10-15 10:44
产品上量产了吗     主要是被WCH的片子   搞怕了

我肯定不会用这种东西量产啊,这种一般是给学生玩的

出0入476汤圆

发表于 2017-10-15 10:58:45 | 显示全部楼层
如果是嵌入式系统STM32之类的 用USB扩展几乎不可能   还是用总线扩展扩安全。
如果是windows或者linux  ,如果是PC有总线的可以考虑采购工控的串口卡。如果就只有usb口  同意6楼的建议 2个FT4232。
项目不要考虑用国产芯片,要用最稳定可靠的。  
产品如果这样搞说明规划出问题了。

出0入0汤圆

发表于 2017-10-15 11:06:03 | 显示全部楼层






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入42汤圆

发表于 2017-10-15 12:08:26 | 显示全部楼层
redroof 发表于 2017-10-15 10:50
我肯定不会用这种东西量产啊,这种一般是给学生玩的

哈哈  没办法 现在有个需求   需要用最快的方法将串口转USB的存储方案   因为现在的串口设备都已经量产了  当初没有考虑到这个功能   

出0入42汤圆

发表于 2017-10-15 12:11:12 | 显示全部楼层

谢谢  这个好像是接口转换方案  不内置协议

出0入42汤圆

发表于 2017-10-15 12:14:22 | 显示全部楼层
本帖最后由 njjh1718 于 2017-10-15 13:22 编辑
wy2000 发表于 2017-10-15 10:58
如果是嵌入式系统STM32之类的 用USB扩展几乎不可能   还是用总线扩展扩安全。
如果是windows或者linux  , ...


最后一句  有同感   我们也是被  WCH搞怕了   452出问题了  我们同事直接去沁恒的公司,将板子送到他们工程师手上,都没找到问题,而且手册写的简单粗暴!虽然后来召回了600多套,其实损失的金钱是第二位的,关键是影响了口碑!绝对得不偿失   

出0入0汤圆

发表于 2017-10-15 12:59:39 | 显示全部楼层
可以看看STM32F413VGT6,
不过能不能用USB做8个CDC串口就不一定了

出0入0汤圆

发表于 2017-10-15 14:14:34 | 显示全部楼层
qiuchen 发表于 2017-10-15 12:59
可以看看STM32F413VGT6,
不过能不能用USB做8个CDC串口就不一定了

Up to 24 communication interfaces
Up to 4x I2 C interfaces (SMBus/PMBus)
Up to 10 UARTS: 4 USARTs / 6 UARTs (2 x 12.5 Mbit/s, 2 x 6.25 Mbit/s), ISO 7816 interface, LIN, IrDA, modem control)
Up to 5 SPI/I2Ss (up to 50 Mbit/s, SPI or I2S audio protocol), out of which 2 muxed full-duplex I2S interfaces
SDIO interface (SD/MMC/eMMC)
Advanced connectivity: USB 2.0 full-speed device/host/OTG controller with PHY
3x CAN (2.0B Active)
1xSAI

串口够多的,不过USB的Endpoint肯能不够,实现不了,除非自己写驱动来实现虚拟串口,和FTDI类似。

出0入0汤圆

发表于 2017-10-15 19:53:48 | 显示全部楼层
shangdawei 发表于 2017-10-15 14:14
Up to 24 communication interfaces
Up to 4x I2 C interfaces (SMBus/PMBus)
Up to 10 UARTS: 4 USARTs  ...

是的STM32的USB好像只支持6个节点,也就是能虚拟成6个串口最多了。
或者你看看新唐的ARM9?

出0入0汤圆

发表于 2017-10-15 20:33:02 | 显示全部楼层
qiuchen 发表于 2017-10-15 19:53
是的STM32的USB好像只支持6个节点,也就是能虚拟成6个串口最多了。
或者你看看新唐的ARM9? ...

新唐的ARM9 除了双向控制端点0 最多12个单向端点。

出0入0汤圆

发表于 2017-10-15 22:24:39 | 显示全部楼层
shangdawei 发表于 2017-10-15 20:33
新唐的ARM9 除了双向控制端点0 最多12个单向端点。

我了解的就这么多,看看其他坛友的推荐吧。

出0入0汤圆

发表于 2017-10-15 22:53:57 | 显示全部楼层
FT4232+HUB 现成能买到

出0入0汤圆

发表于 2017-10-16 09:39:50 | 显示全部楼层
zhiwei 发表于 2017-10-12 22:29
如果比特率不高,软件模拟还是最省成本的。

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

本版积分规则

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

GMT+8, 2024-4-27 03:43

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

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