问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

高速USB转串口和SPI接口芯片CH9111应用与设计指南

创作时间:
作者:
@小白创作中心

高速USB转串口和SPI接口芯片CH9111应用与设计指南

引用
CSDN
1.
https://blog.csdn.net/WCH_TechGroup/article/details/146801137

CH9111是一款高性能的USB转串口和SPI接口转换芯片,支持高速数据传输和多种工作模式。本文将详细介绍该芯片的功能特性、接口设计、电源配置以及实际应用中的常见问题解决方案。

一、概述

CH9111是一款480Mbps高速USB2.0的接口转换芯片,实现USB转全功能高速异步串口或者高速SPI同步串行接口+USB转全功能高速异步串口,串口最高波特率支持15Mbps,SPI接口时钟频率支持40MHz。第一种单串口模式适用于只使用UART串口的应用场合,第二种串口+SPI接口模式适用于需要同时使用SPI接口+UART串口或者仅使用SPI接口的应用场合。

芯片内部高度集成,外围精简,提供VIO电源引脚,串口和SPI接口I/O均支持独立供电,支持3.3V、2.5V和1.8V的电源电压。芯片端采用480Mbps的高速USB接口,用以满足高速15Mbps串口和40MHz的SPI接口的大数据高效传输,全速USB接口总线速率仅12Mbps,在连续数据传输以及数据收发实时性上会大打折扣。

芯片的USB转串口和SPI功能接口支持使用系统集成的CDC串口驱动或VCP厂商驱动。VCP厂商驱动的功能更齐全,支持全功能串口、硬件流控、GPIO、USB参数配置等功能、支持SPI和串口的高速率下持续稳定传输。推荐使用VCP驱动程序,支持Windows、Linux、Android、macOS等操作系统。

芯片的USB转SPI功能接口,在系统端支持以虚拟串口的形式来访问,如:Windows上以COM口形式出现,Linux上以/dev/tty*形式出现。有别于一般转接芯片使用时需配合厂商特定的接口驱动与系统动态库,CH9111的该用法特性这使得用户端仅需要了解串口编程或使用通用的系统端串口调试软件即可轻松实现对SPI数据的读写操作。如下图所示,接入Windows操作系统时串口和SPI接口会分别对应一个虚拟COM口供通讯使用。

二、通信接口描述

1、UART串口
功能 描述
最高串口波特率 15Mbps
串口数据位 5/6/7/8
串口校验位 奇/偶/标志/空白/无校验
硬件流控 支持RTS/CTS
收发FIFO 接收8K字节,发送4K字节
MODEM信号 全功能,支持RTS/CTS/DTR/DSR/RI/DCD
RS485收发控制 提供串口发送状态指示引脚TNOW,可用于直接控制RS485电平转换芯片的收发方向切换,也可以外接LED用于指示TXD通道的发送状态

2、SPI接口
功能 描述
最高时钟频率 40MHz
SPI模式支持 模式0/3
收发FIFO 接收6K字节,发送6K字节
SPI信号线 信号线:SCS、SCK、MOSI/SDI、MISO/SDO数据控制线:SPI_RWS数据流控线:SPI_RDNE、SPI_WRNF

三、电源设计

芯片有4个电源端分别是VDD5、VDD33、VIO和VDDK,芯片内置3.3V和1.2V的LDO电源调节器。

  • VDD5是内部LDO的输入端。
  • VDD33是内部3.3V的LDO的输出端,USB收发器电源从该引脚输入。
  • VIO是单独的串口和SPI等IO引脚的电源输入。
  • VDDK是内部1.2V的LDO输出端,为内核提供电源。

常见问题1—VDD5和VDD33如何连接

  1. 当VDD5引脚输入5V工作电压(实际上大于3.6V)时,内部LDO工作,VDD33引脚会输出3.3V电源供内核和USB收发器使用。
  2. 当VDD5引脚输入3.3V工作电压(实际上小于3.6V)时,VDD33引脚需要和VDD5连接,同时输入外部的3.3V工作电压。
    VDD5、VDD33、VIO和VDDK引脚均需要外接电源退耦电容,且PCB布局时靠近芯片引脚放置。
    VDD33引脚的电容用于USB电源退耦,来改善USB传输过程中的EMI。

常见问题2—VIO如何连接

芯片的VIO引脚用于为串口、SPI信号引脚和其他如RESET引脚提供I/O电源,支持电压范围1.8V~3.3V。
默认情况下VIO引脚应该与芯片所连接的外设采用同一电压,此时双方电压匹配。VIO引脚支持的电压输入范围是线性的,在如上范围内可随意调节。例如,可直接使用芯片实现USB转1.8V串口/SPI接口,USB转2.5V串口/SPI接口,USB转3.3V串口/SPI接口等。
芯片VDD33引脚在芯片5V供电时可以输出3.3V电压,因此使用3.3V串口/SPI接口时,VIO也可以直连VDD33引脚节省一个外部LDO。

常见问题3—电源连接方案

供电方案 推荐连接
5V供电模式 VDD5:外部输入5V,可直接从USB口的VBUS取电VDD33:外接4.710uF并联0.1uFVIO:短接VDD33或外部输入其他电源,同时外接0.11uF退耦电容VDDK:连接1uF退耦电容
3.3V供电模式 VDD5:外部输入3.3V,同时外接4.710uF并联0.1uFVDD33:短接VDD5,同时外接4.710uF并联0.1uFVIO:短接VDD5/VDD33或外部输入其他电源,同时连接0.1~1uF退耦电容VDDK:连接1uF退耦电容

四、串口接口设计

芯片的串口引脚包含数据传输引脚和MODEM信号引脚。数据传输引脚包括:串口数据发送引脚TXD、串口数据接收引脚RXD。MODEM信号引脚包括:RTS、CTS、DTR、DSR、RI、DCD。

常见问题1-TTL串口设计

常规情况下使用TTL串口通讯,仅需要使用TXD和RXD信号即可,部分场合需要硬件流控功能时还需要使用RTS和CTS信号。其余MODEM信号引脚若使用不到可直接悬空处理。

常见问题2-RS232串口设计

USB转串口芯片配合RS232电平转换芯片组合使用可以实现全MODEM信号的RS232串口,也可以仅使用部分串口信号实现简版RS232串口,和TTL类似,不使用的信号悬空处理。

常见问题3-RS485串口设计

使用提供TNOW信号的芯片型号配合RS485电平转换芯片可以实现RS485串口通信,RS485收发转换芯片需要单独进行收发方向控制,TNOW用于该方向的控制,线路上TNOW直连RS485收发器的发送使能DE和接收使能RE即可。

五、SPI接口设计

芯片的SPI接口引脚包含数据传输引脚和读写控制引脚。
数据传输引脚包括:SPI从机数据发送引脚MISO/SDO、SPI从机数据接收引脚MOSI/SDI、SPI从机片选信号线SCS、SPI从机时钟信号线SCK。
读写控制引脚包括:SPI从机读写方向控制引脚RWS、SPI从机读FIFO状态输出RDNE、SPI从机写FIFO状态输出WRNF。
连接示意图:

SPI信号线 描述
SCS SPI片选信号线,由SPI主机控制,芯片被动响应
SCK SPI时钟信号线,由SPI主机控制,芯片被动响应
MISO/SDO SPI从机数据发送,由芯片发送给SPI主机,即:计算机端通过USB通道发送数据包,芯片端接收后,通过SDO信号线发送
MOSI/SDI SPI从机数据接收,由SPI主机发送给芯片,即:芯片端先通过SDI信号线接收SPI主机发送的数据包,然后通过USB通道上传给计算机端
RWS 芯片读写模式切换引脚,由SPI主机控制。高电平:CH9111L切换为写模式,即芯片通过SDI接收数据包然后通过USB通道上传给计算机端。低电平:CH9111L切换为读模式,即芯片将计算机端通过USB通道下传的数据,通过SDO发送给SPI主机
RDNE SPI接口读数据FIFO非空状态输出,配合芯片读模式使用。低电平:发送FIFO有数据可以读取。高电平:发送FIFO无数据可以读取
WRNF SPI接口写数据FIFO非满状态输出,配合芯片写模式使用。低电平:接收FIFO有空间可以接收数据。高电平:接收FIFO无空间可以接收数据

本文所提及的SPI接口特性与SPI主机端操作方法同样适用于特性相近的USB转FIFO/SPI/串口芯片CH346。

常见问题1-SPI信号线的使用

常规情况下建议使用上所有的SPI相关引脚,即:4根数据传输脚和3根读写控制引脚,控制信号引脚的RDNE和WRNF是可选引脚,功能可类比串口信号的RTS/CTS硬件流控脚,用于保证USB主机和SPI主机两侧数据收发的完整性。如SPI主机侧资源有限,则可以省略RDNE和WRNF信号脚,其余5根信号脚连接不可省。

常见问题2-SPI数据读写流程

SPI写模式和读模式是相对于SPI主机而言,如下从SPI主机侧展示数据读写流程
SPI写模式流程
SPI读模式流程
针对读模式,芯片支持3种方式的SPI数据读取。时序示意如下图所示:
方式1
L为4字节的数据包长度,L[0]为L的低字节。
方式2
L为4字节的数据包长度,L[0]为L的低字节。
方式3
一次性读取516字节,DATA0~DATA3为实际有效长度L。

常见问题3-SPI接口时序

六、其他辅助引脚说明

ACT和SUSP引脚说明

芯片的ACT引脚为USB设备配置完成状态输出(当芯片接收到主机的设置配置请求并操作完成时会输出低电平,默认该引脚上电为高电平),该引脚可用作芯片的USB工作状态指示,也可以用于通知MCU等串口设备USB转串口芯片的工作状态。也可以用于控制后级电路的电源通断,如USB转RS232串口应用,当计算机睡眠ACT输出无效电平可用于控制RS232电平转换芯片关断电源以节约功耗。
芯片的SUSP引脚为USB设备挂起状态输出,当芯片处于USB正常通信的情况下,该引脚输出高电平,当处于给芯片正常供电但USB不通信的情况下:如操作系统进入睡眠状态或者芯片使用外供电方式但USB未连接主机,此时输出低电平。使用一般与ACT引脚相反。

GPIO引脚说明

芯片提供了14路GPIO引脚,任意一路GPIO均支持独立的IO输出和输入控制。该功能的使用需要与计算机端厂商驱动程序和应用软件配合使用。因GPIO与芯片的其他功能存在复用关系,芯片上电后相关复用引脚均默认工作在其他功能/模式下,仅当计算机软件端主动使能开启GPIO功能后相关引脚才工作在GPIO功能/模式下。

七、资料下载链接

No. 资料 文件名
1 芯片手册 CH9111DS1.PDF
2 参考设计 CH9111EVT.ZIP
3 驱动 Windows厂商VCP驱动一键安装包 CH343SER.EXE
4 Windows厂商VCP驱动 CH343SER.ZIP
5 Android免驱应用库和程序 CH341SER_ANDROID.ZIP
6 macOS厂商VCP驱动 CH341SER_MAC.ZIP
7 Linux驱动 请发邮件至tech@wch.cn 获取
8 工具和软件 芯片配置工具 CH34xSerCfg.ZIP
9 串口调试工具 COMTransmit.ZIP
10 串口号批量管理工具 ComPortManager.ZIP

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号