[前言]

本文记录WCH 的CH57x系列 CH58x系列的上手,资料获取等.
本文乃至于本Blog只探讨SOC类型的芯片,就是直接进行二次开发,或者说能同时跑用户代码的芯片,对于预烧firmware的芯片(如wch CH914x系列的芯片),不在本blog讨论范畴

[芯片选型]

官网的选型表在http://www.wch.cn/products/category/63.html 这里只做个简单的罗列,细节具体看官网的.

P.N. Core Freq Flash Ram Dataflash BLE USB ETH ADC UART SPI I2C GPIO LCD VDD Package 备注
CH579 ARM-M0 40Mhz 250K 32K 2KB 4.2 1H/D 10M 14*12B 4 1M/S+1M / 40 4x24 2.2-3.6 QFN48_5x5/QFN28_4x4
CH578 ARM-M0 40Mhz 160K 32K 2KB 4.2 1H/D 10M 6*12B 2 1M/S / 40 4x24 2.2-3.6 QFN48_5x5/QFN28_4x4 CH578F 没有USB pin
CH577 ARM-M0 40Mhz 128K 16K 2KB 4.2 x / x 2 1M/S / 20 / 2.2-3.6 QFN28_4x4
CH573 RISC-V 60Mhz 448K 18K 32KB 4.2 1H/D / 10*12B 4 1M/S / 22 / 2.3-3.6 QFN32_4x4/QFN28_4x4/LQFP32
CH571 RISC-V 60Mhz 192K 18K 32KB 4.2 1D / 6*12B 2 1M/S / 20 / 2.3-3.6 QFN28_4x4/ESSOP10/TSSOP16
CH583 RISC-V 60Mhz 448K 32K 32kB 5.3 2H/D / 14*12B 4 1M/S+1M 1M/S 40 / 1.7-3.6 QFN48_5x5
CH582 RISC-V 60Mhz 448K 32K 32KB 5.3 2H/D / 14*12B 4 1M/S 1M/S 40 / 2.3-3.6 QFN48_5x5/QFN28_4x4
CH581 RISC-V 60Mhz 192K 32K 32KB 5.3 1D / 6*12B 2 1M/S x 20 / 2.3-3.6 QFN28_4x4 BLE5.x的协议栈比4.2的大一些,OTA需要挂外部的Flash
CH592X RISC-V 60Mhz 448K 32K 32kB 5.3 1H/D / 12*12B 4 1M/S 1M/ 24 4x20 1.7-3.6 QFN32_4x4
CH592F RISC-V 60Mhz 448K 32K 32KB 5.3 1H/D / 8*12B 4 1M/S 1M/S 20 4x16 1.7-3.6 QFN28_4x4
CH591 RISC-V 60Mhz 192K 32K 32KB 5.3 1D / 8*12B 2 1M/S x 20 / 2.3-3.6 QFN28_4x4/QFN20/TSSOP16

参数备注:

  • CH573/571/583/582/581 主频跟官方手册这里有差异,这里是官方例程代码的实际CPU主频,官方的手册里面的20Mhz是由于flash比较慢,代码放到flash里面运行时,综合下来的运行速度;
  • 不是所有手册宣称的型号实际都有货,选用之前建议跟wch的业务沟通好,实际的供货版本和封装;
  • 上述同样封装的芯片通常是可以Pin2Pin相互替换的,但是涉及到一些外设的引脚复用时,最好再三确认复用的引脚是否是兼容的,一个典型的就是PWM的引脚兼容.
  • CH57x系列没有I2Cx,如果要用,要软件模拟.

芯片的软件兼容性

在每一代的芯片中,其代码是通用的,如果没有用到一些某些芯片没有的外设,固件是可以相互烧录的:

  • 如CH577的代码可以直接烧录在CH579中运行,不用做任何修改,同样CH571里面正常运行的代码烧录到CH573上一定也能运行.
  • 但是CH579的代码想烧录到CH577中运行,则必须保证程序中没有用到一些仅仅在CH579才有CH577上没有的外设.

[资料获取]

直接官网搜索对应的型号:http://www.wch.cn/ ,再其官网的搜索框直接搜索芯片的对应型号,就会弹出相关的资料,WCH在这方面还是比较开放的,不像个别公司普通人连完整型号都拿不到.
获取资料时候,要选用最高配置的芯片型号来获取资料,比如CH577/CH578建议找CH579的;同样CH571,建议找CH573的,本质上芯片没有太大区别.

[开发环境]

CH577/578/579

  • 官方的SDK仅提供KEIL的, mounriver.com 的也宣传可以用来开发CH57x的m0系列的,但是wch的SDK并没有针对其适配,包括关键的蓝牙和以太网的协议栈并没有对应mrs的支持
  • 也可以用其他编译器开发BLE,这时候我们可以使用app单独编译的方式进行开发,详见文章:https://www.cnblogs.com/iot-fan/p/16700055.html

CH571/573/582/583

[工程创建]

  • 工程的创建,也是从内部模板里面拷贝出来的代码,维护IDE的人不可能总是有最新的代码.所以无论如何,始终不建议自己创建新的工程
  • 建议直接使用wch官网下载的工程,找一个比较合适的工程修改即可,如果不知道如何选,联系他们,跟他们说清楚你要做什么产品之类,让他们帮你选,或者他们发一个给你.
    官网下载的历程,全部解压,不要改变工程的相对路径.

[硬件设计]

参见CH579/CH57x 硬件设计 https://www.cnblogs.com/iot-fan/p/13458627.html
也可以按照上面资料获取里面,在WCH官网搜索对应的型号然后下载.

[固件烧录]

参见CH579/CH57x固件下载,烧录 https://www.cnblogs.com/iot-fan/p/13498088.html

关于在线调试

对于BLE/USB相关的工程,如果你想要快点开发,建议先扔掉在线仿真工具,转而使用串口日志的方式, 这几乎是任何一家BLE的供应商的惯用调试方法.
WCH 的CH57x,CH58x系列例程里面,默认的串口日志输出在UART1 PA9, 115200 波特率

[用于调试的APP]

BLE技术属于标准的技术,通用的调试工具(能够遍历出所有的uuid并且)都可使用

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/iot-fan/p/13439275.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!