WCH CH559:一款功能强大的增强型8位USB单片机

在当今快速发展的嵌入式系统中,微控制器(MCU)扮演着至关重要的角色。WCH(南京沁恒微电子)的CH559芯片是一款增强型的8位USB单片机,它结合了高性能的处理能力和丰富的外设功能,使其在各种应用场景中都具有强大的竞争力。

1. CH559 的功能特性

CH559 是一款基于 E8051内核的单片机,与MCS51指令集兼容。它具有以下关键特性:

  • 高速处理能力: 79%的指令为单字节单周期指令,平均指令速度比标准MCS51快8到15倍。

  • 强大的存储能力: 内置64KB Flash-ROM (可用于程序或数据存储), 256B 片上 iRAM, 和6KB 片上xRAM。部分xRAM支持DMA直接存储器访问。

  • 丰富的外设: 包括ADC模数转换器,4组定时器/PWM,双异步串行端口,双SPI接口,以及支持USB Host和Device模式的双端口Root-HUB。

  • USB 功能: 内置USB控制器和双USB收发器,支持USB 2.0全速(12Mbps)和低速(1.5Mbps)。支持控制传输、批量传输、中断传输和等时传输。在USB Host模式下,可以同时管理两个USB设备。

  • 时钟: 内置12MHz时钟,支持外部晶体振荡器,并通过PLL提供USB时钟和系统时钟。

  • 电源管理: 内置5V到3.3V LDO,支持低功耗睡眠模式,并可通过USB、UART、SPI和部分GPIO唤醒。

2. 和同系列芯片的比较

WCH 提供了多种8位 USB MCU,包括 CH558 和 CH554。与这些芯片相比,CH559 在功能和性能上都有显著提升:

特性/型号CH559CH558CH554
核心E8051E8051E8051
USB模式支持USB Host和Device双模式,双端口Root-HUB仅支持USB Device模式支持低速和全速USB Host/Device
程序存储空间64KB Flash-ROM (可用于程序或数据存储)40KB ROM16KB
RAM256B 片上 iRAM, 6KB 片上 xRAM, 部分xRAM支持DMA4K+256B1K+256B
外设**ADC, 4组定时器/PWM, 双异步串行端口,双SPI接口,**支持USB Host和Device模式的双端口Root-HUBADC, 定时器,PWM, SPIADC, 触摸按键,定时器,PWM, UART, SPI
USB速度USB 2.0全速(12Mbps)和低速(1.5Mbps)USB 2.0全速(12Mbps)和低速(1.5Mbps)USB 2.0全速(12Mbps)和低速(1.5Mbps)
时钟内置12MHz时钟,支持外部晶体振荡器,通过PLL提供USB时钟和系统时钟内置12MHz时钟,支持外部晶体振荡器, 通过PLL提供USB时钟和系统时钟内置12MHz时钟,支持外部晶体振荡器
主要应用USB设备,USB Host应用,工业控制,物联网(IoT), 消费电子USB设备低成本USB应用,例如USB鼠标,键盘等

3. 主要应用和目标市场

CH559 凭借其强大的功能和灵活性,适用于多种应用场景:

  • USB 设备: 例如,USB 鼠标、键盘、U盘等。

  • USB Host 应用: 用于连接和控制其他USB设备,例如,在嵌入式系统中读取USB存储设备的数据。

  • 工业控制: 用于数据采集、设备控制和通信。

  • 物联网 (IoT): 作为智能家居设备、传感器网络等的核心控制器。

  • 消费电子: 用于各种需要USB接口的消费电子产品。

4. 开发资源和技术支持

WCH 为 CH559 提供了全面的开发资源和技术支持,包括:

  • 数据手册: 提供详细的芯片规格、寄存器描述和电气特性。

  • ISP 下载工具: WCHISPTool_Setup.exe 可用于通过USB或串口下载程序.

  • 例程: 提供C语言示例程序,帮助开发者快速上手.

  • 开发板: 提供开发板的原理图和PCB图,方便硬件设计。

  • 技术支持: WCH 提供在线技术支持和销售支持,解决开发者在开发过程中遇到的问题。

  • FAT文件系统库: 提供FAT文件系统库,方便进行数据存储操作。

5. CH559的引脚特点

引脚编号 (LQFP48)引脚名称替代功能 (左侧优先)描述
1P1.5AIN5/MOSI默认是P1端口的I/O,可配置为模拟输入通道5,或SPI0的主设备输出引脚。
2P1.6AIN6/MISO1默认是P1端口的I/O,可配置为模拟输入通道6,或SPI1的从设备输入引脚。
3P1.7AIN7/SCK1默认是P1端口的I/O,可配置为模拟输入通道7,或SPI1的时钟引脚。
4P5.7RST默认是P5端口的I/O,可配置为复位输入引脚。
5P3.0RXD4默认是P3端口的I/O,可配置为UART4的接收引脚,具体功能可能依赖于其他配置寄存器。
6P4.4LED3/TNOW*/TXD1*/A46默认是P4端口的I/O,可配置为LED控制引脚3,或定时器输入,或UART1的发送引脚,或地址总线的A46引脚,具体功能可能依赖于其他配置寄存器。
7P3.1TXD7默认是P3端口的I/O,可配置为UART7的发送引脚,具体功能可能依赖于其他配置寄存器。
8P3.2LED0/INT0默认是P3端口的I/O,可配置为LED控制引脚0,或外部中断0的输入引脚。
9P3.3LED1/!A15/INT1默认是P3端口的I/O,可配置为LED控制引脚1,或地址总线的A15引脚,或外部中断1的输入引脚。
10P3.4LEDC/XCS0/T0默认是P3端口的I/O,可配置为LED控制时钟引脚,或外部总线片选引脚0,或定时器0输入。
11P3.5DA6/T1默认是P3端口的I/O,可配置为DAC通道6输出引脚,或定时器1输入引脚。
12P3.6WR默认是P3端口的I/O,可配置为外部总线写使能引脚。
13P3.7RD默认是P3端口的I/O,可配置为外部总线读使能引脚。
14P4.3PWM1_/A3默认是P4端口的I/O,可配置为PWM1的取反输出引脚,或地址总线A3引脚。
15P4.2PWM3*/CAP3*/A2默认是P4端口的I/O,可配置为PWM3的取反输出引脚,或定时器3的捕获输入,或地址总线A2引脚。
16P4.6XI/SCS_默认是P4端口的I/O,可配置为外部晶振输入,或SPI从设备片选引脚。
17P4.7XO/SCK_默认是P4端口的I/O,可配置为外部晶振输出,或SPI时钟引脚。
18GNDVSS接地。
19P4.1A1默认是P4端口的I/O,可配置为地址总线A1引脚。
20P4.0LED2/A0/RXD1_默认是P4端口的I/O,可配置为LED控制引脚2,或地址总线的A0引脚,或UART1的取反接收引脚。
21P2.0A8默认是P2端口的I/O,可配置为地址总线A8引脚。
22P2.1MOSI1/A9默认是P2端口的I/O,可配置为SPI1的主设备输出,或地址总线A9引脚。
23P2.2MISO1/A10默认是P2端口的I/O,可配置为SPI1的从设备输入,或地址总线A10引脚。
24P2.3SCK1/A11默认是P2端口的I/O,可配置为SPI1的时钟引脚,或地址总线A11引脚。
25P2.4PWM1/A12默认是P2端口的I/O,可配置为PWM1输出引脚,或地址总线A12引脚。
26P2.5TNOW/PWM2/A13/T2EX*/CAP2*默认是P2端口的I/O,可配置为定时器输入,或PWM2输出,或地址总线A13引脚,或定时器2的外部时钟输入,或定时器2的捕获输入引脚。
27P2.6RXD1/A14默认是P2端口的I/O,可配置为UART1的接收引脚,或地址总线A14引脚。
28P2.7TXD1/DA7/A15默认是P2端口的I/O,可配置为UART1的发送引脚,或DAC通道7,或地址总线A15引脚。
29P5.5HP/!A15/XA默认是P5端口的I/O,在USB主机模式下作为USB HUB1端口的HP引脚,或地址总线A15引脚的取反,或RS485的差分输入引脚XA。
30P5.4HM/ALE/XB默认是P5端口的I/O,在USB主机模式下作为USB HUB1端口的HM引脚,或地址锁存使能信号ALE,或RS485的差分输入引脚XB。
31P5.1DP默认是P5端口的I/O,在USB模式下,为USB数据线DP引脚。
32P5.0DM默认是P5端口的I/O,在USB模式下,为USB数据线DM引脚。
33P0.7AD7/UDCD默认是P0端口的I/O,可配置为模拟数字转换输入通道7,或USB数据连接检测引脚。
34P0.6AD6/URI默认是P0端口的I/O,可配置为模拟数字转换输入通道6,或USB RI引脚。
35P0.5AD5/UDSR默认是P0端口的I/O,可配置为模拟数字转换输入通道5,或USB DSR引脚。
36P0.4AD4/UCTS默认是P0端口的I/O,可配置为模拟数字转换输入通道4,或USB CTS引脚。
37P0.3AD3/TXD_默认是P0端口的I/O,可配置为模拟数字转换输入通道3,或UART0的取反发送引脚。
38P0.2AD2/RXD_默认是P0端口的I/O,可配置为模拟数字转换输入通道2,或UART0的取反接收引脚。
39P0.1AD1/URTS默认是P0端口的I/O,可配置为模拟数字转换输入通道1,或USB RTS引脚。
40P0.0AD0/UDTR默认是P0端口的I/O,可配置为模拟数字转换输入通道0,或USB DTR引脚。
41VIN55V外部电源输入,为内部5V到3.3V LDO供电,需要一个外部的0.1uF去耦电容。
42VDD33VDD/VCC内部稳压器输出和内部3.3V工作电源输入,当供电电压小于3.6V时,将VIN5连接至外部电源。当供电电压大于3.6V时,需要一个外部的3.3uF去耦电容。
43P1.0AIN0/T2/CAP1默认是P1端口的I/O,可配置为模拟输入通道0,或定时器2输入,或定时器2捕获输入引脚。
44P1.1AIN1/T2EX/CAP2默认是P1端口的I/O,可配置为模拟输入通道1,或定时器2的外部时钟输入,或定时器2的捕获输入引脚。
45P1.2AIN2/PWM3/CAP3默认是P1端口的I/O,可配置为模拟输入通道2,或PWM3输出引脚,或定时器3捕获输入引脚。
46P1.3AIN3默认是P1端口的I/O,可配置为模拟输入通道3。
47P1.4AIN4/SCS默认是P1端口的I/O,可配置为模拟输入通道4,或SPI0从设备片选引脚。
48P4.5PWM2_/A5默认是P4端口的I/O,可配置为PWM2的取反输出引脚,或地址总线A5引脚。

引脚特点总结:

  • 电源和地: CH559 有独立的电源输入 (VIN5) 和 3.3V 工作电压输出 (VDD33),以及地 (GND) 引脚。

  • GPIO: P0, P1, P2, P3, P4, P5 口均为通用输入/输出口,其中 P0-P3 口可按位寻址。

  • 模拟输入: P1 口提供 8 个 ADC 模拟输入通道 AIN0~AIN7,可用于模拟信号采集。

  • USB:

P5.0 和 P5.1 用于 USB 数据线 DM 和 DP,支持 USB Host 和 Device 模式。

  • P5.4 和 P5.5 用于 USB Host 的扩展 HUB1 的 HM 和 HP 引脚,用于连接外部 USB 设备。

定时器/PWM: 多个引脚具有定时器输入/输出或 PWM 输出功能,例如 P1.0, P1.1, P1.2, P2.4, P2.5。 UART: 提供多个 UART 通信引脚,包括 P0.2 (RXD*), P0.3 (TXD*), P2.6 (RXD1), P2.7 (TXD1) 。 SPI: 提供 SPI 通信引脚,包括 P1.4(SCS), P1.5(MOSI), P1.6(MISO), P1.7(SCK) 用于 SPI0, 以及 P2.1, P2.2, P2.3 用于 SPI1。 复位: P5.7 (RST) 为复位引脚。 晶振: P4.6 (XI) 和 P4.7 (XO) 用于连接外部晶体振荡器。

6. 应用案例

以下是一些 CH559 的应用案例,着重展示了其 USB Host 和 Device 功能:

  • USB Host 应用:

USB 键盘/鼠标控制: CH559 可以作为嵌入式系统的主控制器,通过USB Host接口连接USB键盘和鼠标,实现人机交互。例如,可以用于控制工业设备或信息亭等设备。

  • USB 数据采集: CH559 可以连接USB存储设备(如U盘),读取其中的数据,并将这些数据传输到其他设备或进行进一步处理。例如,用于数据记录或固件更新等。

USB Device 应用:

  • USB 虚拟串口: CH559 可以模拟USB串口设备,通过USB接口与PC机进行通信,方便调试和数据传输。

  • USB HID 设备: CH559 可以实现USB HID (Human Interface Device) 设备,例如USB 游戏手柄,可以将传感器数据通过USB传输到电脑。

总结

CH559 是一款功能全面、性能强大的8位 USB 单片机,具备高速处理能力、丰富的外设资源以及灵活的USB Host/Device功能。它在工业控制、物联网、消费电子等领域都有广泛的应用前景。同时,WCH 提供的完善开发资源和技术支持也让开发者能够更轻松地利用 CH559 开发各种创新应用。

希望这篇博客文章对您有所帮助!