• CH579/CH573/CH57x/CH583/CH58x 系列上手指南


    [前言]

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

    [芯片选型]

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

    P.N. Core Freq/Max Flash Ram Dataflash BLE USB ETH ADC UART SPI I2C GPIO VDD Package 备注
    CH579 ARM-M0 40Mhz 250KB 32KB 2KB 4.2 1H/D 10M 14*12bit 4 1M/S+1M / 40 2.2-3.6 QFN48_5x5/QFN28_4x4
    CH578 ARM-M0 40Mhz 160KB 32KB 2KB 4.2 1H/D 10M 6*12bit 2 1M/S / 40 2.2-3.6 QFN48_5x5/QFN28_4x4 CH578F 没有USB pin
    CH577 ARM-M0 40Mhz 128KB 16KB 2KB 4.2 x / x 2 1M/S / 20 2.2-3.6 QFN28_4x4
    CH573 RISC-V 60Mhz 448KB 18KB 32KB 4.2 1H/D / 10*12bit 4 1M/S / 22 2.3-3.6 QFN32_4x4/QFN28_4x4
    CH571 RISC-V 60Mhz 192KB 18KB 32KB 4.2 1D / 6*12bit 2 1M/S / 20 2.3-3.6 QFN28_4x4
    CH583 RISC-V 60Mhz 448KB 32KB 544kB 5.1 2H/D / 14*12bit 4 1M/S+1M 1M/S 40 1.7-3.6 QFN48_5x5
    CH582 RISC-V 60Mhz 448KB 32KB 32KB 5.1 2H/D / 14*12bit 4 1M/S 1M/S 40 2.3-3.6 QFN48_5x5/QFN28_4x4
    CH581 RISC-V 60Mhz 192KB 32KB 32KB 5.1 1D / 6*12bit 2 1M/S x 20 2.3-3.6 QFN28_4x4 BLE5.0的协议栈比4.2的大一些,做OTA空间有些紧凑

    参数备注:

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

    芯片的软件兼容性

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

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

    [资料获取]

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

    [开发环境]

    CH577/578/579

    • 官方的SDK仅提供KEIL的,至于其他环境的例程并没有,原则上一切支持ARM-M0开发的环境都可自行适配,只是看自己去投入值不值得.

    CH571/573/582/583

    [工程创建]

    工程的创建,也是从内部模板里面拷贝出来的代码,维护IDE的人不可能总是有最新的代码.所以无论如何,始终不建议自己创建新的工程,哪怕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并且)都可使用

  • 相关阅读:
    记账本开发第一天-补
    20200418-补
    20200411-补
    20200404-补
    20200328-补
    暴力解N皇后
    nN皇后递归
    Hanoi汉诺塔非递归栈解
    Hanoi汉诺塔递归
    JMMjmm模型
  • 原文地址:https://www.cnblogs.com/iot-fan/p/13439275.html
Copyright © 2020-2023  润新知