找回密码
 立即注册
查看: 41|回复: 9

请教:cdc虚拟串口是不是使用usb协议,沒用串口协议

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-09-03 07:14:37
已绑定手机

1

主题

3

回帖

200

积分

中级会员

积分
200
发表于 3 天前 来自手机 | 显示全部楼层 |阅读模式
最近在做个小项目,用到ai8051u的两路串口与pc机通信,其中一路使用p30/p31走cdc,因为pcb布线方便,希望功能管脚切换后p36/p37的usart1为第二路。
希望向各位请教,官方一直说cdc虚拟串口就是串口,但我的理解是当p30/p31做usb-cdc时,只是一个通过usb协议模拟出的串口功能,并占用串口1的物理脚位,而逻辑上串口1并没有被配置使用,可以通过切换到p36/p37实现usart1的功能。请帮忙确认。
回复

使用道具 举报 送花

3

主题

2001

回帖

850

积分

等待验证会员

积分
850
发表于 3 天前 | 显示全部楼层
关于“CDC虚拟串口是否使用USB协议,而非传统串口协议”的问题,以下是专业分析:

AI8051U芯片支持通过USB接口实现CDC(Communication Device Class)虚拟串口功能。该功能本质上是基于USB协议实现的通信方式,并非传统意义上的RS232/UART串口协议。因此,从技术层面来看,当P30/P31引脚用于USB-CDC时,其通信机制是基于USB协议栈实现的,而非传统的UART物理层协议。

在AI8051U中,USB-CDC功能通常占用的是USART1的物理引脚(P30/P31),但此时USART1并未被实际配置为UART模式,而是由USB控制器接管并模拟出一个虚拟串口。因此,逻辑上USART1在此时并未被使用,仅作为USB-CDC的物理引脚资源被占用。

因此,若希望将P36/P37作为USART1的第二路串口使用,理论上是可行的。只需在代码中对USART1进行重新配置,将其映射至P36/P37引脚,并关闭USB-CDC功能或确保其不占用USART1的物理资源即可。

需要注意的是,具体实现需参考AI8051U的官方文档及开发手册,确认引脚复用配置、USB驱动与串口驱动之间的优先级关系。建议在开发过程中通过调试工具验证各引脚功能是否正常切换,并确保系统在不同模式下的稳定性。

综上所述,CDC虚拟串口确实基于USB协议实现,而非传统串口协议。在特定配置下,可通过引脚切换实现USART1的独立使用。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:171
  • 最近打卡:2025-09-03 08:32:47

777

主题

1万

回帖

1万

积分

管理员

积分
18935
发表于 3 天前 | 显示全部楼层
USB-CDC虚拟串口通信就是 USB直接通信,是用的 D-/D+
=== D-/P3.0,  D+/P3.1 无法切换

USB-CDC虚拟串口通信 再转串口

===用户程序将USB-CDC虚拟串口收到的数据
       再转到其他串口如串口1/2/3/4
       其他串口可以内部切换到不同的脚位


截图202508311028184590.jpg
USB转双串口,RMB1.1, 量产PCB/SCH开源,芯片出厂自带USB程序@Ai8H2K12U-45MHz-SOP16 - USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 国芯人工智能技术交流网站 - AI32位8051交流社区


回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-09-03 07:14:37
已绑定手机

1

主题

3

回帖

200

积分

中级会员

积分
200
发表于 3 天前 来自手机 | 显示全部楼层
神农鼎 发表于 2025-8-31 10:27
USB-CDC虚拟串口通信就是 USB直接通信,是用的 D-/D+
=== D-/P3.0,  D+/P3.1 无法切换


不打算再添加一个usb转双串口芯片了,只想用ai8051u的p30/p31和p36/p37物理口,分别走cdc和usart协议,当然也可以其他usart物理口,只是p36/p37方便pcb引线。

需要确认的是usart切换,而不是d+/d-切换。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:171
  • 最近打卡:2025-09-03 08:32:47

777

主题

1万

回帖

1万

积分

管理员

积分
18935
发表于 3 天前 | 显示全部楼层
1,
将 UART1/UART2/UART3/UART4 收到的数据

通过 MCU,
USB-CDC  送给电脑;
==============================

2,
将 MCU,
USB-CDC 从电脑收到的数据,

通过
UART1/UART2/UART3/UART4 发出去

============================

支持,不要再怀疑了,直接学习如下程序



截图202508311052398884.jpg
USB拓展库及使用示例 | 本贴 咨询 USB,基本帮您把USB程序开发完成 - USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 国芯人工智能技术交流网站 - AI32位8051交流社区
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:171
  • 最近打卡:2025-09-03 08:32:47

777

主题

1万

回帖

1万

积分

管理员

积分
18935
发表于 3 天前 | 显示全部楼层
UART1/UART2/UART3/UART4的管脚切换,就是内部有模拟开关支持切换
截图202508311055393134.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:171
  • 最近打卡:2025-09-03 08:32:47

777

主题

1万

回帖

1万

积分

管理员

积分
18935
发表于 3 天前 | 显示全部楼层
USB-CDC就是标准的 USB通信之一,不是 8051的串口1/串口2...
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-09-03 07:14:37
已绑定手机

1

主题

3

回帖

200

积分

中级会员

积分
200
发表于 3 天前 来自手机 | 显示全部楼层
神农鼎 发表于 2025-8-31 10:54
UART1/UART2/UART3/UART4的管脚切换,就是内部有模拟开关支持切换

谢谢,这句话从原理上解释和确认了物理管脚和逻辑功能的对应关系。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:547
  • 最近打卡:2025-09-03 09:00:23
已绑定手机

85

主题

6045

回帖

1万

积分

超级版主

积分
11110
发表于 前天 00:24 | 显示全部楼层
可以P30、P31使用USB,同时P36、P37使用USART1
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-09-03 07:14:37
已绑定手机

1

主题

3

回帖

200

积分

中级会员

积分
200
发表于 前天 01:17 来自手机 | 显示全部楼层
DebugLab 发表于 2025-9-1 00:24
可以P30、P31使用USB,同时P36、P37使用USART1

🙏
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-9-3 09:03 , Processed in 0.138747 second(s), 94 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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