串口转 HID 键盘鼠标芯片 CH9329

芯片链接:

https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-951511554.10.7f661349VPfTQP&id=591459314609

 

评估板:

https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-951511554.13.7f661349VPfTQP&id=591212076748

 

 

1、概述

串口转 HID 键盘鼠标芯片 CH9329

 

CH9329 是一款串口转标准 USB HID 设备(键盘、鼠标、自定义 HID)芯片,根据不同的工作模式, 在电脑上可被识别为标准的 USB 键盘设备、USB 鼠标设备或自定义 HID 类设备。该芯片接收客户端发送过来的串口数据,并按照 HID 类设备规范,将数据先进行打包再通过 USB 口上传给计算机。通过提供的上位机软件,用户也可自行配置芯片工作模式、串口通信模式、串口通信波特率、多种超时时间、VID、PID,以及各种 USB 字符串描述符。下图为其一般应用框图。

2、特点

  • 支持 12Mbps 全速 USB 传输,兼容 USB V2.0,内置晶振。
  • 默认串口通信波特率为 9600bps,支持各种常见波特率。
  • 支持 5V 电源电压和 3.3V 电源电压。
  • 多种芯片工作模式,应用不同需求。
  • 多种串口通信模式,灵活切换。
  • 支持普通键盘和多媒体键盘功能,支持全键盘功能。
  • 支持相对鼠标和绝对鼠标功能。
  • 支持自定义 HID 类设备功能,可用于单纯数据传输。
  • 支持 ASCII 码字符输入和区位码汉字输入。
  • 可自行配置芯片的 VID、PID,以及芯片各种字符串描述符。
  • 可自行配置芯片的默认波特率。
  • 可自行配置芯片通信地址,实现同一个串口下挂载多个芯片。
  • 可自行配置回车字符。
  • 可自行配置过滤字符串,以便进行无效字符过滤。
  • 符合 USB 相关规范,符合 HID 类设备相关规范。
  • 采用小体积的 SOP-16 无铅封装,兼容 RoHS。

 

3、封装

 

封装形式

塑体宽度

引脚间距

封装说明

订货型号

SOP16

3.9mm

150mil

1.27mm

50mil

标准 16 脚贴片

CH9329

 

4、引脚

 

引脚号

引脚名称

类型

引脚说明

1

ACT#

输出

USB 配置完成状态输出引脚,低电平有效

2

MODE0

输入

芯片工作模式配置引脚 0,配合 MODE1 引脚使用,内置

上拉电阻

3

MODE1

输入

芯片工作模式配置引脚 1,配合 MODE0 引脚使用,内置

上拉电阻

4

CFG0

输入

芯片串口通信模式配置引脚 0,配合 CFG1 引脚使用,

内置上拉电阻

5

CFG1

输入

芯片串口通信模式配置引脚 1,配合 CFG0 引脚使用,

内置上拉电阻

6

RST

输入

外部复位输入引脚,高电平有效,内置下拉电阻

7

TXD

输出

串行数据输出

8

RXD

输入

串行数据输入,内置上拉电阻

9

UP

输出

USB 数据包上传成功指示引脚,每成功上传一包数据,

该引脚电平翻转一次

10

DEF

输入

芯片参数恢复出厂设置引脚,拉低 3S 以上可将参数恢

复出厂默认设置,内置上拉电阻

 

11

 

SET

 

输入

芯片参数配置引脚,低电平有效,内置上拉电阻

任何模式下,芯片检测到该引脚为低电平后自动切换到“协议传输模式”,客户端串口设备可进行参数配置

12

UD+

USB 信号

直接连到 USB 总线的 D+数据线

13

UD-

USB 信号

直接连到 USB 总线的 D-数据线

14

GND

电源

公共接地端,直接连到 USB 总线的地线

15

VCC

电源

正电源输入端,需要外接 0.1uF 电源退耦电容

 

16

 

V33

 

电源

内部 USB 电源调整器输出和内部 USB 电源输入, 在 3.3V 电源电压时连接VCC 输入外部电源,

在 5V 电源电压时外接容量为 0.1uF 退耦电容

 

5、功能说明

CH9329芯片内置了电源上电复位电路。

CH9329芯片使用5V电源电压时,V33引脚应该外接容量为0.1uF左右的电源退耦电容。使用3.3V 电源电压时,V33引脚应该与VCC引脚相连接,同时输入外部的3.3V电源。

CH9329芯片的ACT#引脚是USB设备配置完成状态输出,用于指示USB设备已经成功连接到计算机。CH9329内置了独立的收发缓冲区,支持单工、半双工或者全双工异步串行通讯。串行数据包括1

个低电平起始位,8个数据位,1个高电平停止位,默认波特率为9600bps,支持常用通讯波特率:1200、2400、4800、9600、19200、38400、57600、115200等。串口发送信号的波特率误差小于0.3%,串口接收信号的允许波特率误差不小于2%。

CH9329芯片是串口转HID类设备的纯硬件解决方案,其内置了USB总线所需的所有外围电路,包括PLL和24MHz的USB时钟、D+和D-信号线的串联匹配电阻、Device设备的1.5KΩ上拉电阻等,并且内置了晶振。

CH9329芯片符合相关技术规范,支持即插即用,计算机端的Windows/Android/苹果等操作系统已经内置相应的驱动程序,连接后即可使用。

 

芯片工作模式配置说明:

芯片工作模式

MODE1电平

MODE0电平

功能说明

 

 

 

模式0

 

 

 

1

 

 

 

1

模拟标准USB键盘+USB鼠标设备(默认)

该模式下CH9329芯片在电脑上识别为USB键盘 和USB鼠标的复合设备,USB键盘包含普通键和多媒体键,USB鼠标包含相对鼠标和绝对鼠标。该模式功能最全,可以实现USB键盘和USB鼠标

的全部功能。

 

 

模式1

 

 

1

 

 

0

模拟标准USB键盘设备

该模式下CH9329芯片在电脑上识别为单一USB 键盘设备,USB键盘只包含普通键,不包含多媒体键,支持全键盘模式,适用于部分不支持复

合设备的系统。

 

模式2

 

0

 

1

模拟标准USB鼠标设备

该模式下CH9329芯片在电脑上识别为单一USB 鼠标设备,USB鼠标包含相对鼠标和绝对鼠标。

 

 

 

模式3

 

 

 

0

 

 

 

0

模拟标准USB自定义HID类设备

该模式下CH9329芯片在电脑上识别为单一USB 自定义HID类设备,具有上传和下传2个通道, 可以实现串口和HID数据透传功能。

CH9329芯片如果接收到串口数据,则打包通过USB上传,如果接收到USB下传数据,则通过串

口进行发送。

如果MODE0引脚和MODE1引脚悬空,则芯片默认处于工作模式0。串口通信模式配置说明:

 

 

 

 

需要使用USB鼠标功能的应用。如果需要使用全

键盘功能,也建议采用该模式。

 

 

 

模式1

 

 

 

1

 

 

 

0

ASCII模式

该模式下客户串口设备向CH9329芯片发送串口数据时,可以发送ASCII码字符数据,也可以发送区位码汉字数据。

该模式适用于只需要使用USB键盘中可见ASCII

字符的应用。

 

 

模式2

 

 

0

 

 

1

透传模式

该模式下客户串口设备向CH9329芯片发送串口数据时,可以是任意16进制数据。

该模式适用于CH9329芯片处于芯片工作模式3

的应用。

如果CFG0引脚和CFG1引脚悬空,则芯片默认处于串口通信模式0。

如果芯片当前工作于“ASCII模式”或“透传模式”,此时需要切换到“协议传输模式”进行参数配置,则可以先将SET引脚设置为低电平(芯片检测到SET引脚为低电平后,自动切换到“协议传输模式”),再进行配置。撤销SET引脚低电平后,芯片会按照新设置的串口通信模式进行工作。

如果需要将芯片的所有参数配置恢复到出厂默认设置值,则可以通过以下2步实现: (1)、将DEF引脚设置为低电平,并持续3S以上;

(2)、将DEF引脚恢复为高电平,等待200mS,所有参数配置自动恢复出厂默认设置值;

 

由于CH9329芯片有4种芯片工作模式和3种串口通信模式,为方便客户使用,建议按照以下推荐组合进行使用。

 

芯片工作模式

串口通信模式 (推荐优先级由上

而下)

 

推荐说明

 

 

 

 

 

 

 

 

 

 

模式0

 

 

 

 

 

 

 

 

 

模式0 模式1 模式2

1、如果需要同时使用USB键盘和USB鼠标功能, 则只能采用串口通信模式0(协议传输模式),该模式可以实现USB键盘和USB鼠标的全部功能, 包括全键盘功能、多媒体按键功能、绝对鼠标功能;

2、如果只使用其中的USB普通键盘功能,也可以采用串口通信模式1(ASCII模式),该模式下, 串口数据必须符合ASCII字符格式;

3、如果只使用其中的USB普通键盘功能,也可以采用串口通信模式2(透传模式),该模式下, 串口数据每8个字节组成一包,芯片每接收到8 个字节后,直接打包通过USB口上传。故串口数据必须按照标准的USB键盘数据包进行发送。

比如模拟“A”按下,则串口发送数据包为: 0x00、0x00、0x04、0x00、0x00、0x00、0x00、

0x00;

比如模拟“A”释放,则串口发送数据包为: 0x00、0x00、0x00、0x00、0x00、0x00、0x00、

0x00;

 

模式1

模式1 模式0 模式2

1、如果USB键盘只需要使用到可见ASCII功能, 则采用串口通信模式1(ASCII模式),该模式使用最简单,最方便;

2、如果USB键盘需要实现全键盘功能,则可以

 

 

 

采用串口通信模式0(协议传输模式);

模式2

模式0

CH9329如果工作在芯片工作模式2时,只支持串

口通信模式0(协议传输模式)

 

 

模式3

 

模式2 模式0

1、如果上传数据量较大且速度要求更快时,建议采用串口通信模式2(透传模式),该模式下, CH9329芯片可以一次性最多接收400个字节数

据,然后分包上传;

 

通过提供的上位机软件,用户可自定义芯片工作模式、串口通信模式、串口通信波特率、串口通信地址、多种超时时间、回车字符、是否自动回车、过滤起始字符和结束字符、VID、PID,以及各种USB 字符串描述符等。这些信息配置后,将永久保存在芯片内部,断电不丢失,除非重新配置或恢复出厂设置,新配置在下一次上电后有效。如果没有设置过,则启用芯片默认的工作模式、USB VID、PID 和 USB 字符串描述符。具体如何配置,可参考提供的测试软件。

 

6、参数

    1. 绝对最大值

(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)

名称

参数说明

最小值

最大值

单位

TA

工作时的环境温度

-40

85

TS

储存时的环境温度

-55

125

VCC

电源电压(VCC 接电源,GND 接地)

-0.4

5.5

V

VIO

除 UD+/UD-之外的其它输入或者输出引脚上的电压

-0.4

VCC+0.4

V

VIOU

UD+/UD-引脚上的电压

-0.4

V33+0.4

V

 

    1. 电气参数

(测试条件:TA=25℃,VCC=5V,不包括连接 USB 总线的引脚)

名称

参数说明

最小值

典型值

最大值

单位

VCC

电源电压

3.7

5

5.5

V

V33

内部USB电源调整器输出电压

3.14

3.27

3.4

V

ICC

静态电源电流

8

11

 

mA

VIL

低电平输入电压

-0.4

 

1.2

V

VIH

高电平输入电压

2.4

 

VCC+0.4

V

VOL

低电平输出电压(8mA 吸入电流)

 

 

0.4

V

VOH

高电平输出电压(8mA 输出电流)

VCC-0.4

 

 

V

IUP

内置上拉电阻的输入电流

35

70

140

uA

IDN

内置下拉电阻的输入电流

-35

-70

-140

uA

Vpot

电源上电复位的电压门限

2.1

2.3

2.5

V

 

7、应用

7.1. 串口转 HID 设备(下图)

下图是由CH9329实现的串口转HID设备(键盘、鼠标、HID类)相关原理图。

P1是USB端口,USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可以达到500mA,一般情况下,CH9329芯片和低功耗的USB产品可以直接使用USB总线提供的5V电源。如果USB产品通过其它供电方式提供常备电源,那么CH9329也应该使用该常备电源,如果需要同时使用USB总线的电源,那么可以通过阻值约为1Ω的电阻连接USB总线的5V电源线与USB产品的5V常备电源,并且两者的接地线直接

STM32F103C8 Serial(UART) to USB HID Keyboard Mouse 串口 USB键盘鼠标 (1) 使用Composite Device 组合(复合)设备 (1.1) 1个Device -> 1个 Configuation -> 2个Interfance (Keyboard & Mouse) (1.2) Keyboard Interfance -> HID (boot mode) -> 2个Endpoint(IN_0x81 & OUT_0x01) -> KeyboardReportDescriptor(不使用Report ID) (1.3) Mouse Interfance -> HID (boot mode) -> 1个Endpoint(IN_0x82) -> MouseReportDescriptor(不使用Report ID) (1.4) 使用HID boot模式, 不使用Report ID, 以便兼容在 计算器设定BIOS模式 中的操作 (2) 串口接收 命令 (2.1) UART协议: 115200, n, 8, 1 (2.2) 1帧发送字符串格式, 以 '{'开始; '}'结束; ','分隔. 共9个10进制数字 例如: {1,2,3,4,5,6,7,8,9} (2.3) 第9位 区分 Keyboard(64) 或是 Mouse(128) 命令 例如: {0,0,0,0,0,0,0,0,64} --- 发送Keyboard命令 {0,0,0,0,0,0,0,0,128} --- 发送Keyboard命令 (3) 发送Keyboard键盘命令时 : 第1~8位 分别如下 (3.1) 第1位 : Key_Release = 0x00, Left_Control = 0x01, Left_Shift = 0x02, Left_Alt = 0x04, Left_GUI = 0x08, Right_Control = 0x10, Right_Shift = 0x20, Right_Alt = 0x40, Right_GUI = 0x80, 例如: {8,0,0,0,0,0,0,0,64} --- 发送 Win_Key键 {128,0,0,0,0,0,0,0,64} --- 发送 WinApp_Key键 {32,0,0,0,0,0,0,0,64} --- 发送 右Shift键 (3.2) 第2位 : 保留,不使用,一律填0 (3.3) 第3~8位 : 可以同时发送6个Keyboard按键 例如: {0,0,4,5,6,7,8,9,64} --- 发送 'abcdef'键 {2,0,4,5,6,7,8,9,64} --- 按住 左Shift 发送 'abcdef'键 => 'ABCDEF' {0,0,0,5,0,7,0,9,64} --- 发送 'bdf'键 (0表示 无按键) 按键码 可参阅: (HID Usage ID) http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf https://www.hiemalis.org/~keiji/PC/scancode-translate.pdf https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2 http://www.usb.org/developers/hidpage/Hut1_12v2.pdf (4) 发送Mouse鼠标命令时 : 第1~8位 分别如下 (4.1) 第1位 : Button_Release = 0x00, Left_Button = 0x01, Right_Button = 0x02, Mid_Button = 0x04, 例如: {1,0,0,0,0,0,0,0,128} --- 点击 左键 {2,0,0,0,0,0,0,0,128} --- 点击 右键 {4,0,0,0,0,0,0,0,128} --- 点击 中键 (4.2) 第2~4位 : 移动(X,Y), 滚轮(Wheel) X: -127~127:左右移动鼠标 Y: -127~127:上下移动鼠标 Wheel: -127~127:上下动滚轮 例如: {0,20,-10,0,0,0,0,0,128} --- 鼠标 右移20,上移10 {0,0,0,-30,0,0,0,0,128} --- 滚轮-30 (4.2) 第5~8位 : 保留,不使用,一律填0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值