在当今快速发展的嵌入式系统中,微控制器(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 在功能和性能上都有显著提升:
特性/型号 | CH559 | CH558 | CH554 |
---|---|---|---|
核心 | E8051 | E8051 | E8051 |
USB模式 | 支持USB Host和Device双模式,双端口Root-HUB | 仅支持USB Device模式 | 支持低速和全速USB Host/Device |
程序存储空间 | 64KB Flash-ROM (可用于程序或数据存储) | 40KB ROM | 16KB |
RAM | 256B 片上 iRAM, 6KB 片上 xRAM, 部分xRAM支持DMA | 4K+256B | 1K+256B |
外设 | ADC, 4组定时器/PWM, 双异步串行端口,双SPI接口,支持USB Host和Device模式的双端口Root-HUB | ADC, 定时器,PWM, SPI | ADC, 触摸按键,定时器,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) | 引脚名称 | 替代功能 (左侧优先) | 描述 | |
---|---|---|---|---|
1 | P1.5 | AIN5/MOSI | 默认是P1端口的I/O,可配置为模拟输入通道5,或SPI0的主设备输出引脚。 | |
2 | P1.6 | AIN6/MISO1 | 默认是P1端口的I/O,可配置为模拟输入通道6,或SPI1的从设备输入引脚。 | |
3 | P1.7 | AIN7/SCK1 | 默认是P1端口的I/O,可配置为模拟输入通道7,或SPI1的时钟引脚。 | |
4 | P5.7 | RST | 默认是P5端口的I/O,可配置为复位输入引脚。 | |
5 | P3.0 | RXD4 | 默认是P3端口的I/O,可配置为UART4的接收引脚,具体功能可能依赖于其他配置寄存器。 | |
6 | P4.4 | LED3/TNOW/TXD1/A46 | 默认是P4端口的I/O,可配置为LED控制引脚3,或定时器输入,或UART1的发送引脚,或地址总线的A46引脚,具体功能可能依赖于其他配置寄存器。 | |
7 | P3.1 | TXD7 | 默认是P3端口的I/O,可配置为UART7的发送引脚,具体功能可能依赖于其他配置寄存器。 | |
8 | P3.2 | LED0/INT0 | 默认是P3端口的I/O,可配置为LED控制引脚0,或外部中断0的输入引脚。 | |
9 | P3.3 | LED1/!A15/INT1 | 默认是P3端口的I/O,可配置为LED控制引脚1,或地址总线的A15引脚,或外部中断1的输入引脚。 | |
10 | P3.4 | LEDC/XCS0/T0 | 默认是P3端口的I/O,可配置为LED控制时钟引脚,或外部总线片选引脚0,或定时器0输入。 | |
11 | P3.5 | DA6/T1 | 默认是P3端口的I/O,可配置为DAC通道6输出引脚,或定时器1输入引脚。 | |
12 | P3.6 | WR | 默认是P3端口的I/O,可配置为外部总线写使能引脚。 | |
13 | P3.7 | RD | 默认是P3端口的I/O,可配置为外部总线读使能引脚。 | |
14 | P4.3 | PWM1_/A3 | 默认是P4端口的I/O,可配置为PWM1的取反输出引脚,或地址总线A3引脚。 | |
15 | P4.2 | PWM3/CAP3/A2 | 默认是P4端口的I/O,可配置为PWM3的取反输出引脚,或定时器3的捕获输入,或地址总线A2引脚。 | |
16 | P4.6 | XI/SCS_ | 默认是P4端口的I/O,可配置为外部晶振输入,或SPI从设备片选引脚。 | |
17 | P4.7 | XO/SCK_ | 默认是P4端口的I/O,可配置为外部晶振输出,或SPI时钟引脚。 | |
18 | GND | VSS | 接地。 | |
19 | P4.1 | A1 | 默认是P4端口的I/O,可配置为地址总线A1引脚。 | |
20 | P4.0 | LED2/A0/RXD1_ | 默认是P4端口的I/O,可配置为LED控制引脚2,或地址总线的A0引脚,或UART1的取反接收引脚。 | |
21 | P2.0 | A8 | 默认是P2端口的I/O,可配置为地址总线A8引脚。 | |
22 | P2.1 | MOSI1/A9 | 默认是P2端口的I/O,可配置为SPI1的主设备输出,或地址总线A9引脚。 | |
23 | P2.2 | MISO1/A10 | 默认是P2端口的I/O,可配置为SPI1的从设备输入,或地址总线A10引脚。 | |
24 | P2.3 | SCK1/A11 | 默认是P2端口的I/O,可配置为SPI1的时钟引脚,或地址总线A11引脚。 | |
25 | P2.4 | PWM1/A12 | 默认是P2端口的I/O,可配置为PWM1输出引脚,或地址总线A12引脚。 | |
26 | P2.5 | TNOW/PWM2/A13/T2EX/CAP2 | 默认是P2端口的I/O,可配置为定时器输入,或PWM2输出,或地址总线A13引脚,或定时器2的外部时钟输入,或定时器2的捕获输入引脚。 | |
27 | P2.6 | RXD1/A14 | 默认是P2端口的I/O,可配置为UART1的接收引脚,或地址总线A14引脚。 | |
28 | P2.7 | TXD1/DA7/A15 | 默认是P2端口的I/O,可配置为UART1的发送引脚,或DAC通道7,或地址总线A15引脚。 | |
29 | P5.5 | HP/!A15/XA | 默认是P5端口的I/O,在USB主机模式下作为USB HUB1端口的HP引脚,或地址总线A15引脚的取反,或RS485的差分输入引脚XA。 | |
30 | P5.4 | HM/ALE/XB | 默认是P5端口的I/O,在USB主机模式下作为USB HUB1端口的HM引脚,或地址锁存使能信号ALE,或RS485的差分输入引脚XB。 | |
31 | P5.1 | DP | 默认是P5端口的I/O,在USB模式下,为USB数据线DP引脚。 | |
32 | P5.0 | DM | 默认是P5端口的I/O,在USB模式下,为USB数据线DM引脚。 | |
33 | P0.7 | AD7/UDCD | 默认是P0端口的I/O,可配置为模拟数字转换输入通道7,或USB数据连接检测引脚。 | |
34 | P0.6 | AD6/URI | 默认是P0端口的I/O,可配置为模拟数字转换输入通道6,或USB RI引脚。 | |
35 | P0.5 | AD5/UDSR | 默认是P0端口的I/O,可配置为模拟数字转换输入通道5,或USB DSR引脚。 | |
36 | P0.4 | AD4/UCTS | 默认是P0端口的I/O,可配置为模拟数字转换输入通道4,或USB CTS引脚。 | |
37 | P0.3 | AD3/TXD_ | 默认是P0端口的I/O,可配置为模拟数字转换输入通道3,或UART0的取反发送引脚。 | |
38 | P0.2 | AD2/RXD_ | 默认是P0端口的I/O,可配置为模拟数字转换输入通道2,或UART0的取反接收引脚。 | |
39 | P0.1 | AD1/URTS | 默认是P0端口的I/O,可配置为模拟数字转换输入通道1,或USB RTS引脚。 | |
40 | P0.0 | AD0/UDTR | 默认是P0端口的I/O,可配置为模拟数字转换输入通道0,或USB DTR引脚。 | |
41 | VIN5 | 5V外部电源输入,为内部5V到3.3V LDO供电,需要一个外部的0.1uF去耦电容。 | ||
42 | VDD33 | VDD/VCC | 内部稳压器输出和内部3.3V工作电源输入,当供电电压小于3.6V时,将VIN5连接至外部电源。当供电电压大于3.6V时,需要一个外部的3.3uF去耦电容。 | |
43 | P1.0 | AIN0/T2/CAP1 | 默认是P1端口的I/O,可配置为模拟输入通道0,或定时器2输入,或定时器2捕获输入引脚。 | |
44 | P1.1 | AIN1/T2EX/CAP2 | 默认是P1端口的I/O,可配置为模拟输入通道1,或定时器2的外部时钟输入,或定时器2的捕获输入引脚。 | |
45 | P1.2 | AIN2/PWM3/CAP3 | 默认是P1端口的I/O,可配置为模拟输入通道2,或PWM3输出引脚,或定时器3捕获输入引脚。 | |
46 | P1.3 | AIN3 | 默认是P1端口的I/O,可配置为模拟输入通道3。 | |
47 | P1.4 | AIN4/SCS | 默认是P1端口的I/O,可配置为模拟输入通道4,或SPI0从设备片选引脚。 | |
48 | P4.5 | PWM2_/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 开发各种创新应用。
希望这篇博客文章对您有所帮助!