.. _qeov2_wave_out: QEOV2_WAVE_OUT ============================ 概述 ------ QEO_WAVE_OUT示例工程展示了QEOv2 (Quadrature Encoder Output Version 2) 外设根据位置信息生成三相弦波的功能。QEOv2可以接收软件注入的位置信息,结合预设的分辨率线数,生成三路相位可调的弦波信号,这些信号可以用于调节PWM占空比。 工作流程 ----------- 本示例演示软件位置注入模式下的弦波生成: 配置步骤: - 初始化QEO模块,配置波形输出模式: * 设置波形类型为余弦波 * 设置分辨率线数(4线) * 配置三相输出的相位差(120°/240°) - 软件位置注入流程: * 计算位置增量值 * 使能软件位置注入 * 循环注入位置值进行波形生成 * 采样并记录波形输出值 * 关闭位置注入 功能特点 ----------- 1. 波形生成功能: - 支持三路独立的弦波输出 - 可配置各路输出的相位偏移 - 波形类型可选(余弦波) - 支持波形幅值范围限制 - 支持VD/VQ输入(可来自于CLC) - 支持输出调节PWM占空比 运行现象 ------------ 当工程正确运行后,可以观察到以下现象: 1. 串口终端输出信息: .. code-block:: console QEO DAC wave example QEO generate wave with sofeware inject postion qeo wave0 output: 4294967231 4294320511 4292380543 4289148543 4284626559 4278817215 4271723967 4263351231 4253703935 4242787967 4230609855 4217176959 4202497343 4186579839 4169434111 4151070399 ... qeo wave1 output: 1073742315 1028424448 983780736 939838187 896622827 854161110 812478230 771599680 731549760 692352875 654032427 616611283 580112595 544558249 509969001 476366270 443770281 412200745 381676478 352215358 323836286 296555113 ... qeo wave2 output: 1073742315 1119706795 1166290390 1213465131 1261202603 1309473664 1358249600 1407501035 1457197867 1507310891 1557809281 1608663254 1659841537 1711313494 1763048278 1815014315 1867180993 1919516545 1971989142 2024567723 2077220118 2129915137 2182619773 2235304168 2287935613 2340482429 2392912936 2445195581 ... 2. 波形输出: 使用Excel等工具处理串口输出的数据可以得到三相弦波波形图: - 三路输出为相位差120°的余弦波 - 波形周期由分辨率线数决定 - 波形幅值范围为0-0xFFFFFFFF(未限制时) .. image:: ../../../../../../samples/drivers/qeov2/wave_out/doc/qeo_dac_1.png :alt: 三相弦波波形图