CH347应用开发手册 V1.3
一、简介
CH347是一款USB2.0高速转接芯片,以实现USB-UART(HID串口/VCP串口)、USB-SPI、USB-I2C、USB-JTAG以及USB-GPIO等接口,分别包含在芯片的四种工作模式中。
CH347DLL用于为CH347芯片提供操作系统端的UART/SPI/I2C/JTAG/BitStream等接口操作函数,支持CH341厂商/HID/VCP驱动接口,使用时无需区分驱动接口和芯片工作模式。
二、接口说明
根据CH347所支持的USB转接接口特性,CH347DLL提供了USB-UART(HID串口/VCP串口)、USB-SPI、USB-I2C、USB-JTAG以及USB-GPIO的接口功能函数,包括基本功能函数与对应的功能函数,如EEPROM读写,JTAG应用中的SHIFT-DR状态读写等。
CH347所支持接口如下表所示,通过上电时MODE配置引脚电平组合来切换不同模式。
| 工作模式 | 功能接口说明 | 驱动接口 | API |
|---|---|---|---|
| 模式 0 | 接口 0:USB 转高速串口 0 | CH343SER(VCP) | 系统内原生串口 API 或CH347DLL 内 CH347UART_xxx |
| 接口 1:USB 转高速串口 1 | |||
| 模式 1 | 接口 0:USB2.0 转高速串口 1 | CH343SER(VCP) | 系统内原生串口 API 或CH347DLL 内 CH347UART_xxx |
| 接口 1: USB2.0 转 SPI+I2C | CH347PAR | CH347DLL 内 CH347SPI_xxx CH347I2C_xxx | |
| 模式 2 | 接口 0:USB2.0 HID 转高速串口 1 | 系统自带 HID 驱动 | CH347UART_xxx |
| 接口 1:USB2.0 HID 转 SPI+I2C | CH347DLL 内 CH347SPI_xxx CH347I2C_xxx | ||
| 模式 3 | 接口 0:USB2.0 转高速串口 1 | CH343SER(VCP) | 系统内原生串口 API 或CH347DLL 内 CH347UART_xxx |
| 接口 1:USB2.0 转 JTAG+I2C | CH347PAR | CH347DLL 内 CH347JTAG_xxx CH347I2C_xxx |
三、同步串行接口
3.1 相关数据类型 //驱动接口
#define CH347_USB_CH341 0
#define CH347_USB_HID 2
#define CH347_USB_VCP 3 //芯片功能接口号
#define CH347_FUNC_UART 0
#define CH347_FUNC_SPI_IIC 1
#define CH347_FUNC_JTAG_IIC 2
3.1.1 SPI 控制器信息
typedef struct _SPI_CONFIG{
UCHAR iMode; // 0-3:SPI Mode0/1/2/3
UCHAR iClock; // 0=60MHz, 1=30MHz, 2=15MHz, 3=7.5MHz,
4=3.75MHz, 5=1.875MHz,
6=937.5KHz,7=468.75KHz
UCHAR iByteOrder; // 0=低位在前(LSB), 1=高位在前(MSB)
USHORT iSpiWriteReadInterval; // SPI 接口常规读取写入数据命令,单位为 uS
UCHAR iSpiOutDefaultData; // SPI 读数据时默认输出数据
ULONG iChipSelect; // 片选控制, 位 7 为 0 则忽略片选控制, 位 7 为
1 则参数有效: 位 1 位 0 为 00/01 分别选择
CS1/CS2 引脚作为低电平有效片选
UCHAR CS1Polarity; // 位 0:片选 CS1 极性控制,0:低电平有效;
1:高电平有效;
UCHAR CS2Polarity; // 位 0:片选 CS2 极性控制,0:低电平有效;
1:高电平有效;
USHORT iIsAutoDeativeCS; // 操作完成后是否自动撤消片选
USHORT iActiveDelay; // 设置片选后执行读写操作的延时时间,单位 uS
ULONG iDelayDeactive; // 撤消片选后执行读写操作的延时时间,单位 uS
}mSpiCfgS,*mPSpiCfgS;
3.1.2 设备信息
typedef struct _DEV_INFOR{
UCHAR iIndex; // 当前打开序号
UCHAR DevicePath[MAX_PATH];
UCHAR UsbClass; // 0:CH341 Vendor; 1:CH347 Vendor; 2:HID
UCHAR FuncType; // 0:UART1; 1:SPI+I2C; 2:JTAG+I2C
CHAR DeviceID[64]; // USB\VID_xxxx&PID_xxxx
UCHAR Mode; // 芯片模式,0: Mode0(UART*2);
1: Mode1(Uart1+SPI+I2C);
2: Mode2(HID Uart1+SPI+I2C)
3: Mode3(Uart1+Jtag+I2C)
HANDLE DevHandle; // 设备句柄
USHORT BulkOutEndpMaxSize; // 上传端点大小
USHORT BulkInEndpMaxSize; // 下传端点大小
UCHAR UsbSpeedType; // USB 速度类型,0:FS,1:HS,2:SS
UCHAR CH347FuncType; // USB 接口号
UCHAR DataUpEndp; // 端点地址
UCHAR DataDnEndp; // 端点地址
CHAR ProductString[64]

最低0.47元/天 解锁文章
1999

被折叠的 条评论
为什么被折叠?



