基于纳芯微NSSinePad-NS800RT5039开发板的串口输出和PWM输出
该项目使用了NSSinePad-NS800RT5039开发板,实现了串口输出和PWM输出的设计,它的主要功能为:调用Uart串口,完成在串口输出 “Hello, NOVOSENSE Wedesign project.” 字符串,和输出一对互补PWM波形,波形频率2MHz,占空比50%。
标签
纳芯微
WeDesign活动
NS800RT5039
qqlovolpp
更新2025-12-02
77

一、项目简介

本项目完成的是任务五。基于纳芯微(NOVOSENSE)推出的 NSSinePad-NS800RT5039 开发板开展,旨在实现基础外设功能的验证与应用。基础任务一:通过 UART 串口模块,在串口终端成功输出字符串 “Hello, NOVOSENSE Wedesign project.”,用于确认系统初始化及串口通信功能正常。基础任务任务二:调用开发板内置的 ePWM外设,在指定 GPIO 引脚上生成一对互补的 PWM 波形,设定频率为 2 MHz,占空比为 50%。为验证波形的准确性与时序特性,并使用“12指神探”逻辑分析仪对输出信号进行捕获与观测,来检验实际输出波形。


二、项目描述

硬件介绍:

本项目采用NSSinePad-NS800RT5039开发板,并使用“十二指神探”的逻辑分析仪功能检测输出的pwm波形。

NSSinePad-NS800RT5039 是纳芯微电子推出的一款低成本、高集成度的开发评估板,专为 NS800RT5039 系列实时微控制器设计,旨在帮助用户快速开展芯片学习、功能验证与应用开发工作。该开发板完整引出了 NS800RT5039 微控制器的全部外设资源与片上存储单元,包括高速 GPIO、UART、SPI、I²C、ePWM、eQEP、ADC 等关键模块,使开发者能够便捷地调用和测试芯片的各项功能,显著降低入门门槛与开发周期。除核心主控芯片外,开发板还集成了多项实用硬件组件以提升系统级开发体验:板载 CAN 收发器支持 CAN2.0B 与 CAN-FD 通信协议,满足工业与汽车电子领域对高带宽、高可靠通信的需求;配备两路 5V 兼容的增强型正交编码器(eQEP)接口电路,便于连接旋转编码器,适用于电机位置与速度检测等应用场景;此外,板上集成 DAP-Link 调试/仿真器,无需额外调试工具即可通过 USB 接口实现程序下载、在线调试与串口打印功能,极大提升了开发效率与便利性。

60307e35d44fc67211fdbdd3eb9e7f8.jpg

12指神探是一款基于树莓派RP2040制作的多功能硬件调试助手,它有12根引脚,提供了5V和3.3V的电压,其中有9根GPIO,功能灵活,通过搭配不同程序可以做成各种调试器。RP2040芯片具有双Arm Cortex M0+内核,默认运行的125MHz时钟超频到200MHz也可稳定运行,搭载的PIO功能使其可以生成各种常用或者自定义的协议,开发语言可以选择MicroPython或C/C++并且官方文档例程丰富。本项目中刷入逻辑分析仪固件。

0dd26e3424862cd4884a3a534605520.jpg

设计框图:

image.png

设计思路:

任务一:在串口通信方面,项目配置了 UART1 外设模块。通过初始化 UART1 的波特率,设为 921600 bps、数据位8 位、无校验位、1 位停止位等参数,并将对应的 TX 引脚正确映射后,调用底层串口发送函数,向外部输出预设字符串:“Hello, NOVOSENSE Wedesign project.”。该字符串通过 USB 转串口电路传输至 PC 端。在 PC 上打开串口调试助手,选择对应 COM 端口并匹配通信参数后,成功接收到该字符串,表明 UART1 驱动配置正确。

任务二:在 PWM 信号生成方面,项目启用了 NS800RT5039 芯片内置的增强型脉宽调制(ePWM)模块。具体使用 ePWM1 的 CH1(EPWM1A)和 CH2(EPWM1B)通道,配置为互补输出模式。通过设置 ePWM 时基时钟源(通常为主系统时钟经分频后输入)、时基周期寄存器(TBPRD)以及比较寄存器(CMPA/CMPB),精确生成频率为 2 MHz、占空比为 50% 的方波信号。其中,CH1 输出高电平时 CH2 输出低电平,二者相位相差 180°,构成互补波形。输出信号经 GPIO 引脚引出,并使用12指神探的逻辑分析仪功能进行检测。

具体步骤:

1、初始化

设置系统时钟,使能外设,解锁外设寄存器

    System_setClock();
Device_enableAllPeripherals();
Device_unlockPeriphReg();

2、初始化串口

这里使用UART1,首先初始化UART1用到的IO,然后配置串口,波特率为921600,停止位1,数据位8,无校验位。之后便可以使用UART1发送数据。

 		#define BOARD_SERIALCOM_TX_PIN    GPIO_29
#define BOARD_SERIALCOM_RX_PIN GPIO_28
#define BOARD_SERIALCOM_BAUDRATE (921600UL)
#define BOARD_SERIALCOM UART1
GPIO_setAnalogMode(BOARD_SERIALCOM_RX_PIN, GPIO_ANALOG_DISABLED);
GPIO_setPadConfig(BOARD_SERIALCOM_RX_PIN, GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode(BOARD_SERIALCOM_RX_PIN, GPIO_QUAL_SYNC);
GPIO_setQualificationPeriod(BOARD_SERIALCOM_RX_PIN, GPIO_SMP_SYSCLK_DIV_1);
GPIO_setDirectionMode(BOARD_SERIALCOM_RX_PIN, GPIO_DIR_MODE_IN);
GPIO_setAnalogMode(BOARD_SERIALCOM_TX_PIN, GPIO_ANALOG_DISABLED);
GPIO_setPadConfig(BOARD_SERIALCOM_TX_PIN, GPIO_PIN_TYPE_STD);
GPIO_setDriveLevel(BOARD_SERIALCOM_TX_PIN, GPIO_DRV_LOW);
GPIO_setPin(BOARD_SERIALCOM_TX_PIN);
GPIO_setDirectionMode(BOARD_SERIALCOM_TX_PIN, GPIO_DIR_MODE_OUT);
UART_resetModule(BOARD_SERIALCOM);
UART_setBaud(BOARD_SERIALCOM, BOARD_SERIALCOM_BAUDRATE);
UART_setStopBitCount(BOARD_SERIALCOM, UART_ONE_STOP_BIT);
UART_setMSB(BOARD_SERIALCOM, false);
UART_enableTxFifo(BOARD_SERIALCOM);
UART_resetTxFifo(BOARD_SERIALCOM);
UART_setTxFifoWatermark(BOARD_SERIALCOM, UART_FIFO_TX6);
UART_enableTxModule(BOARD_SERIALCOM);
UART_enableRxModule(BOARD_SERIALCOM);

3、初始化ePWM

首先初始化ePWM外设。然后初始化ePWM1A和ePWM1B的IO作为两个互补输出端口,然后进行同步设置。

最后用给定的参数进行ePWM的配置。

    EPWM_init();
GPIO_init();
sync_init();
EPWM_SignalParams pwmSignal =
{2000000, 0.5f, 0.5f, true, DEVICE_SYSCLK_FREQ,
EPWM_COUNTER_MODE_UP_DOWN, EPWM_CLOCK_DIVIDER_2,
EPWM_HSCLOCK_DIVIDER_1};
EPWM_configureSignal(myEPWM1_BASE, &pwmSignal);




三、结果展示

使用串口助手查看

image.png

使用十二指神探的逻辑分析仪查看

7385a60970b44c3495eea76826cdb56f.jpg

155afdbf74c4df0f01b9fba6343805e.png


四、心得体会

在完成基于纳芯微NSSinePad-NS800RT5039开发板的项目过程中,我收获颇丰。通过实践,我深入了解了UART串口通信和ePWM外设的配置与应用,成功实现了字符串输出和PWM波形生成,这不仅提升了我的技术能力,也增强了我的动手实践能力。

在项目中遇到的问题,如串口通信乱码和PWM波形偏差,对于乱码,我一步步分析,调试模式下一步步调用,找到问题。对于检测到的波形偏差,分析后找出是逻辑分析仪的采样率不够。这些问题让我学会了冷静分析并找到解决方案培养了我面对困难时的耐心和解决问题的能力。



附件下载
Wedesing_ns800.zip
工程代码
团队介绍
电子爱好者
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号