【敏矽微ME32G030系列】介绍、环境搭建、工程测试

本文介绍了敏矽微ME32G030系列单片机及开发板、包括参数特点、原理图、应用场景,以及开发环境搭建、工程测试等流程。

简介

本节介绍了开发板主控、特点、开发板原理图、板载资源等信息。

主控

开发板采用 ME32G030AC8T6 作为主控,ME32G030 系列是 敏矽微电子 研发的新一代 ARM Cortex-M0 核 32 位微控制器。该控制器具备有常用外设和功能,如高速12位的ADC转换器,UART串口,SPI接口,I2C总线接口,看门狗定时器(WDT),7个通用计数器/定时器。ME32G030 系列还支持马达控制功能,直流无刷电机控制 PWM 模块。

参数特性

ME32G030 参数和特点介绍如下

高性能 32位 ARM CPU 内核

  • 速度高达 48MHz 的 ARM Cortex-M0 处理器
  • 可嵌套中断向量控制器 (NVIC)
  • 32位硬件乘法器
  • 24位系统嘀嗒定时器
  • DMA ,支持外设到 SRAM,SRAM 到外设以及 SRAM 到 SRAM 操作

Flash 存储器

  • 64KB 用户程序空间
  • 5KB 启动程序
  • 32 bit Flash 数据总线,支持高性能应用要求

SRAM 存储器

  • 内嵌 8KB 高速 SRAM

16位PWM发生器

  • 8通道 PWM 输出
  • 自动死区插入
  • 基于硬件的保护系统

内嵌系统引导程序(bootloader)

  • 支持 Flash 存储器 In-System-Program (ISP) 、 In-Application-Program (IAP)和In-Ciruits-Program (ICP)
  • 支持用户程序保护和加密

灵活的时钟单元

  • 多个时钟源
  • 内置 48 MHz 精度 1% 的内部高速振荡器,用户可调
  • 内置 32kHz 看门狗振荡器

RTC

  • 32k 外部晶振
  • 内置 24 位计数器,用于实时计时和产生定时中断

定时器/计数器

  • 4个基础定时器/计数器和2个增强型定时器/计数器
  • 基础定时器/计数器支持匹配中断功能和2路互补的PWM输出
  • 基础定时器/计数器支持标准红外载波输出
  • 增强型定时器/计数器支持匹配和捕获中断功能
  • 增强型定时器/计数器支持边沿计数,门控计数, AB相正交计数,触发计数,符号计数和3路PWM输出

模拟外设

  • 12 位 1MHz SAR ADC 转换器
  • 8 个通道AD
  • 支持软件和硬件AD转换触发模式
  • 2 个比较器,8路输入,2个输出

丰富的通信接口和通用输入/输出端口(GPIO)

  • 4个具备16字节FIFO 的串口通信模块,支持硬件握手(RTS/CTS)同时支持IrDA 协议
  • 2个扩展的 SPI接口,支持多种协议
  • 2个I2C接口
  • 44个高速GPIO接口

电源管理

  • 省电模式:睡眠模式,深度睡眠和掉电模式
  • 通过4路WAKEUP管脚从掉电模式中唤醒
  • 深度睡眠可以提供WDT/RTC定时中断唤醒
  • 支持欠压检测(BOD),两组可配置电压检测点可分别产生欠压中断和强制复位
  • 支持上电复位(POR)
  • 集成的电源管理单元(PMU)

工作温度范围

  • 工业级 (-40°C ~ +85°C)
  • 扩展级 (-40°C ~ +105°C)

唯一的产品序列号

2.0V~5.5 V 宽压工作范围

48/32/20管脚LQFP/QFN/TSSOP封装

详见: ME32G030 系列的数据手册和用户手册,见附件。

开发板

Top view

top_view.jpg

Bottom view

bottom_view.jpg

板载资源

  • 1 个用户按键
  • 1 个 Reset 复位按键
  • 1 个用户 LED
  • 1 个电源指示 LED
  • 板载 CH340N,支持串口通信、串口烧录固件
  • 外置 RTC 晶振 32.768 kHz
  • JTAG 调试接口,支持 SWD 烧录
  • Bootloader 管脚引出,支持跳帽拉低电平
  • 全管脚引出,便于外设模块的连接与测试

原理图

SCH.jpg

原理图资料位于 me32g030_sdk_v1/demo board 文件夹,详见附件。

环境搭建

敏矽微为开发者提供了十分友好的开发平台和编译环境,便于初学者上手测试。

1.下载并安装 Keil MDK IDE 软件;

2.下载并安装 Mesilicon.ME32.2.2.0.pack

位于 me32g030_sdk_v1\utilities\keil5 pack 文件夹。

工程测试

介绍了闪灯和串口通信 Demo 例程的测试流程,包括硬件连接、代码解析、固件编译和上传、效果展示等。

Blink

测试项目:板载 LED 闪烁

Demo 例程:me32g030_sdk_v1\example\led\

硬件连接

根据原理图可知,

SCH_LED.jpg

板载用户 LED 为低电平点亮,对应 PB12 引脚。

由于板载下载接口为 JLink 接口,其 SWD 接线方式示意图如下

JLink-SWD.jpg

这里使用 DAP-Link 调试器。

代码

双击打开 me32g030_sdk_v1\example\led\MDK\demo.uvprojx 例程,主函数文件位于 app 文件夹

#include "me32g030.h"
  • #include "me32g030_ioconfig.h"
  • #include "me32g030_gpio.h"
  • #include "me32g030_sys.h"


  • //Main function entry
  • int main(void)
  • {
  •         //Set PB12 as gpio
  •         PB12_INIT(PB12_GPIO);
  •         //Set PB12 as output
  •         PB->DIR_b.DIR12  = 0x1;

  •         while(1)
  •         {
  •                 //toggle PB12
  •                 PB->NOT_b .NOT12 =1;
  •                 SYS_Delay(0x1FFFF);
  •         }

  • }
  • 复制代码

    编译工程,上传固件,复位运行。

    效果

    板载用户 LED (PB12)闪烁

    Blink.gif

    UART

    介绍了串口通信 Demo 例程 me32g030_sdk_v1\example\uart0_basic\

    串口电路

    根据开发板原理图可知

    SCH_UART.jpg

    板载 Micro-USB 与 CH340N 串口芯片连接,CH340N 与 MCU 的 PA2 和 PA3 串口 UART1 引脚连接,因此在串口定义时使用 UART1 即可。

    代码

    双击打开 me32g030_sdk_v1\example\uart0_basic\MDK\demo.uvprojx 例程,主函数文件位于 app 文件夹

    //UART ECHO demo Main Program

  • #include "me32g030.h"
  • #include "me32g030_uart.h"
  • //#include "me32g030_sys.h"
  • #include "me32g030_ioconfig.h"
  • //Main function entry
  • int main(void)
  • {
  •         uint32_t i;

  •         FMC->FLASH_RDCYC=1;
  •         SYSCON->SYSAHBCLKDIV =1;
  •         SystemCoreClockUpdate ();
  •         //init UART pin
  •         PA2_INIT(PA2_UART1_TX);
  •         PA3_INIT(PA3_UART1_RX);
  •        
  •         //initial UART1
  • //        UART_Open(UART1,256000,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  • //        UART_Open(UART1,115200,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  • //        UART_Open(UART1,128000,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  • //        UART_Open(UART1,57600,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  •                 UART_Open(UART1,115200,UART_NO_PARITY,UART_TRIGGER_LEVEL_4_BYTES); // baudrate
  • //                UART_Open(UART1,38400,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  • //                UART_Open(UART1,19200,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  • //                UART_Open(UART1,14400,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
  • //                UART_Open(UART1,9600,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);

  •                 if (UART1->LSR_b.THRE)
  •                         UART1->THR=0x5A;
  •         //Loop forever
  •         while(1)
  •         {
  •                 //send received data
  • //                 if (UART1->LSR_b.THRE)
  • //                         UART1->THR=0x5A;
  • //                i=0xff;
  • //                while(i--);
  •                 if (UART1->LSR_b.RDR)
  •                 {
  •                         if((UART1->LSR_b.THRE))
  •                                 UART1->THR=UART1->RBR;
  •                 }
  • //                if (!UART_ByteRead(uart,&data))
  • //                        UART_ByteWrite(uart,data);
  •         }

  • }
  • 复制代码

    编译工程,上传固件,复位运行。

    打开串口调试助手,选择串口对应的设备端口号,波特率 115200 bps,打开串口。

    代码功能:

    • 发送字符串,串口回应相同字符。
    • 初始或复位时,串口发送字符 Z .

    效果

    该例程为 UART 基础测试项目,短按 RST 键复位,此时开发板发送字符 Z 至接收端

    UART_test.gif

    发送 Hello World! 并回复相同字符串

    uart_test_echo.gif

    总结

    本文介绍了敏矽微 ME32G030 开发板的主控参数、开发板资源、原理图等信息,之后介绍了开发环境部署流程,并给出闪灯和串口通信 Demo 例程的测试流程,包括硬件连接、代码解析、固件编译和上传、效果展示等,为后续深入研究做好铺垫,也为敏矽微相关项目的开发设计及快速应用提供了参考。

    官方资源下载:share .

    SCH_me32g030c8t6_evb_2023-02-01.pdf (206.97 KB, 下载次数: 1)

    举报
    内容系网友发布,其中涉及到安全隐患的内容系网友个人行为,不代表面包板社区观点
    请点击举报理由
    关闭 站长推荐上一条 /3 下一条
    • 返回顶部