iot-fan

联系: iotfan123#163.com
注意:
1,本博客之内容来源于网上收集以及相关技术人员提供,如果有侵犯到您的权益,请电邮我沟通;
2,本博客之内容乃分享,交流,学习,研究之目的,作者不对内容的真实性,有效性,及时性负责,也不对因本博客的任何内容导致的任何后果负责;
3,本博客之内容禁止转发到CSDN网站,转到别的网站请保留出处.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

[前言]

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

[芯片选型]

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

Series P.N. Core Freq Flash Ram Dataflash BLE USB ETH ADC UART SPI I2C GPIO LCD VDD Package 备注
ch57x_gen1 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 不推荐新的设计使用
ch57x_gen2 CH573 RISCV-IMAC 60Mhz 448K 18K 32KB 4.2 1H/D / 10*12B 4 1M/S / 22 / 2.3-3.6 QFN32_4x4/QFN28_4x4/LQFP32 不推荐新的设计使用
ch57x_gen2 CH571 RISCV-IMAC 60Mhz 192K 18K 32KB 4.2 1D / 6*12B 2 1M/S / 20 / 2.3-3.6 QFN28_4x4/ESSOP10/TSSOP16 不推荐新的设计使用
ch58x_gen1 CH583 RISCV-IMAC 60Mhz 448K 32K 32kB 5.3 2H/D / 14*12B 4 1M/S+1M 1M/S 40 / 1.7-3.6 QFN48_5x5
ch58x_gen1 CH582 RISCV-IMAC 60Mhz 448K 32K 32KB 5.3 2H/D / 14*12B 4 1M/S 1M/S 40 / 2.3-3.6 QFN48_5x5/QFN28_4x4
ch58x_gen1 CH581 RISCV-IMAC 60Mhz 192K 32K 32KB 5.3 1D / 6*12B 2 1M/S x 20 / 2.3-3.6 QFN28_4x4 BLE5.x的协议栈比4.2的大一些
ch59x_gen1 CH592X RISCV-IMAC 60Mhz 448K 32K 32kB 5.3 1H/D / 12*12B 4 1M/S 1M/ 24 4x20 1.7-3.6 QFN32_4x4
ch59x_gen1 CH592F/A/D RISCV-IMAC 60Mhz 448K 32K 32KB 5.3 1H/D / 8*12B 4 1M/S 1M/S 20 4x16 1.7-3.6 QFN28_4x4 A为105度,D为QFN20封装
ch59x_gen1 CH591 RISCV-IMAC 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/CH573/CH58x/CH59x

[工程创建]

  • 工程的创建,也是从内部模板里面拷贝出来的代码,维护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 的CH5xx的蓝牙芯片例程里面,默认的串口日志输出在UART1 PA9, 115200 波特率

[用于调试的APP]

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

posted on 2020-08-05 13:43  iot-fan  阅读(9799)  评论(0编辑  收藏  举报