创客出手

目录

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 在功能和性能上都有显著提升:

特性/型号 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 开发各种创新应用。

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

更多关于 的文章
关注创客出手公众号

关注创客出手