From 33eb8bb9e93c0a99c4132f63bfd3f9980c27b6b4 Mon Sep 17 00:00:00 2001 From: WangXuan95 <629708558@qq.com> Date: Fri, 9 Jun 2023 20:54:43 +0800 Subject: [PATCH] change to Verilog2001 --- README.md | 726 +++++++++--------- RTL/{adc_ad7928.sv => adc_ad7928.v} | 42 +- .../{cartesian2polar.sv => cartesian2polar.v} | 24 +- RTL/foc/{clark_tr.sv => clark_tr.v} | 10 +- RTL/foc/{foc_top.sv => foc_top.v} | 55 +- RTL/foc/{hold_detect.sv => hold_detect.v} | 6 +- RTL/foc/{park_tr.sv => park_tr.v} | 12 +- RTL/foc/pi_controller.sv | 106 --- RTL/foc/pi_controller.v | 132 ++++ RTL/foc/{sincos.sv => sincos.v} | 31 +- RTL/foc/{svpwm.sv => svpwm.v} | 22 +- RTL/{fpga_top.sv => fpga_top.v} | 26 +- ...c_register_read.sv => i2c_register_read.v} | 22 +- RTL/{uart_monitor.sv => uart_monitor.v} | 68 +- ...tb_clark_park_tr.sv => tb_clark_park_tr.v} | 29 +- SIM/tb_clark_park_tr_run_iverilog.bat | 2 +- SIM/{tb_svpwm.sv => tb_svpwm.v} | 19 +- SIM/tb_svpwm_run_iverilog.bat | 2 +- figures/diagram.png | Bin 42086 -> 29140 bytes figures/sch.png | Bin 63645 -> 40243 bytes figures/tb_clark_park_tr.png | Bin 30129 -> 16010 bytes figures/tb_svpwm.png | Bin 24999 -> 11899 bytes figures/tb_svpwm_2.png | Bin 15125 -> 6741 bytes figures/wave.png | Bin 19175 -> 7419 bytes 24 files changed, 720 insertions(+), 614 deletions(-) rename RTL/{adc_ad7928.sv => adc_ad7928.v} (82%) rename RTL/foc/{cartesian2polar.sv => cartesian2polar.v} (97%) rename RTL/foc/{clark_tr.sv => clark_tr.v} (83%) rename RTL/foc/{foc_top.sv => foc_top.v} (92%) rename RTL/foc/{hold_detect.sv => hold_detect.v} (74%) rename RTL/foc/{park_tr.sv => park_tr.v} (71%) delete mode 100644 RTL/foc/pi_controller.sv create mode 100644 RTL/foc/pi_controller.v rename RTL/foc/{sincos.sv => sincos.v} (93%) rename RTL/foc/{svpwm.sv => svpwm.v} (93%) rename RTL/{fpga_top.sv => fpga_top.v} (80%) rename RTL/{i2c_register_read.sv => i2c_register_read.v} (85%) rename RTL/{uart_monitor.sv => uart_monitor.v} (72%) rename SIM/{tb_clark_park_tr.sv => tb_clark_park_tr.v} (83%) rename SIM/{tb_svpwm.sv => tb_svpwm.v} (88%) diff --git a/README.md b/README.md index 60d18de..fc78db3 100644 --- a/README.md +++ b/README.md @@ -1,329 +1,8 @@ -![语言](https://img.shields.io/badge/语言-systemverilog_(IEEE1800_2005)-CAD09D.svg) ![仿真](https://img.shields.io/badge/仿真-iverilog-green.svg) ![部署](https://img.shields.io/badge/部署-quartus-blue.svg) ![部署](https://img.shields.io/badge/部署-vivado-FF1010.svg) - -中文 | [English](#en) - -FpOC -=========================== - -基于 **FPGA** 的**磁场定向控制 (FOC)**,用于驱动**永磁同步电机 (PMSM)** 或**无刷直流电机 (BLDC)** - -**FOC控制算法**对传感器采样速率和处理器算力提出了一定的要求,使用 **FPGA** 实现的 **FOC** 可以获得更好的**实时性**,并且更方便进行**多路扩展**和**多路反馈协同**。 - -本库实现了基于**角度传感器**(也就是磁编码器)的**有感 FOC**,即一个完整的**电流环**,可以进行**扭矩控制**。借助本库,你可以进一步使用 **纯FPGA** 或 **MCU+FPGA** 的方式实现更复杂的电机应用。 - -| ![diagram](./figures/diagram.png) | -| :---: | -| **图1**:系统框图 | - -本库代码有详细的注释,如果你熟悉 Verilog 但不熟悉 FOC ,可以通过阅读代码来快速地学习 FOC (建议先阅读 FOC 原理 [6~9])。一些用户在读代码时向本人反馈了一些疑问,我将它们整理在了 [FAQ](#FAQ) 里。 - -### 技术特点 - -* **平台无关** :纯 RTL 编写,可以在 Altera 和 Xilinx 等各种 FPGA 上运行。 -* 支持 **3路PWM** + **1路EN** :PWM=1 时上桥臂 MOS 导通,PWM=0 时下桥臂 MOS 导通。 EN=0 时所有的 6 个 MOS 关断。 -* 支持 **12bit 分辨率**的**角度传感器**和**相电流采样ADC**。对于>12bit的传感器,需要进行低位截断。对于<12bit的传感器,需要进行低位填充。 -* 内部使用 **16bit 有符号整数**进行计算,考虑到传感器为 12bit,所以 16bit 计算是够用的。 - -### 目录 - -- [示例程序:让电机转起来](#示例程序:让电机转起来) - - [搭建硬件](#搭建硬件) - - [建立FPGA工程](#建立FPGA工程) - - [调参](#调参) - - [用串口监视电流环](#用串口监视电流环) -- [设计代码详解](#设计代码详解) -- [RTL仿真](#RTL仿真) - - [clark_tr和park_tr子模块的仿真](#clark_tr和park_tr的仿真) - - [cartesian2polar和svpwm子模块的仿真](#cartesian2polar和svpwm的仿真) -- [FAQ](#FAQ) - - - -# 示例程序:让电机转起来 - -**图1** 是示例程序的系统框图,它调用了我实现的 FOC 电流环模块 (foc_top.sv) 来实现一个简单的行为——控制电机的电流(扭矩)按顺时针、逆时针、顺时针、逆时针地交替运行。同时,使用 UART 打印电流的**控制目标值**和**实际值**,以便观察 FOC 电流环控制的质量。 - -该示例的所有代码都在 RTL 目录内。 - - - -## 搭建硬件 - -运行本示例所需要的硬件包括: - -* **FPGA 开发板** :需有至少 10 个 3.3V 的 IO ,用来接: - * **I2C (2*IO)** , 用来连接 AS5600 磁编码器。 - * **SPI (4*IO)** , 用来连接 AD7928 ADC。 - * **PWM (3*IO)** , 用来输出 3 相 PWM 到电机驱动板。 - * **PWM_EN (1*IO)** , 用来输出 1 路 EN (使能) 到电机驱动板(PWM_EN=低电平代表所有桥臂关断)。 - * **UART (1*IO)** ,单向(仅发送)的UART,连接计算机的串口,用于监测电流环的跟随曲线,**可不接**。 -* **PMSM** 或 **BLDC 电机**。 -* **电机驱动板**:要支持3相 PWM 输入信号(PWM=0时下桥臂导通,PWM=1时上桥臂导通),并且要内置**低侧电阻采样+放大器**对 3 相电流进行放大。 -* **获取转子角度的磁编码器**:本库直接支持的型号是 AS5600 ,需要安装在电机上。 -* **相电流采样的ADC**:本库直接支持的型号是 AD7928 ,用于采样电机驱动板放大后的 3 相电流 - * 网上似乎找不到现成卖的 AD7928 模块,所以如果你想DIY,就需要自己画 PCB。 - -如果你硬件动手能力很强,可以自己准备以上硬件。 - -不过!建议直接使用我画的一个自带 **AD7928** 的 **电机驱动板**,它的原理图如**图2**,我也提供了制造文件 [gerber_pcb_foc_shield.zip](./gerber_pcb_foc_shield.zip) ,你需要拿制造文件去打样PCB,然后按照**图2**来焊接。 - -> 注意,这个板子包括了**相电流采样的ADC**和**电机驱动板**的功能,但不包括 AS5600 磁编码器,磁编码器是需要安装在电机上的,需要你额外准备。 - -| ![sch](./figures/sch.png) | -| :---------------------------------------------------------: | -| **图2**:电机驱动板原理图,其中 AD7928 ADC 用来采样三相电流 | - -这个板子在立创EDA开源,见 [oshwhub.com/wangxuan/arduino-foc-shield](https://oshwhub.com/wangxuan/arduino-foc-shield) - -这个板子之所以被设计成 Arduino 扩展板的样子,是因为很多 FPGA 开发板也具有 Arduino 扩展板接口(比如 DE10-Nano 开发板),可以直接插上去。如果你的 FPGA 开发板没有 Arduino 扩展板接口也没关系,直接用杜邦线连接即可(建议用短的杜邦线)。 - -这里使用的电机驱动器是 **MP6540** 芯片, 我只试过驱动小功率云台电机,没试过大功率电机。 - - - -## 建立FPGA工程 - -你需要建立 FPGA 工程,把 RTL 目录(包括其子目录)里的所有 .sv 源文件加入工程,请以 fpga_top.sv 作为顶层文件。 - -### 时钟配置 - -fpga_top.sv 中有一处调用了 `altpll` 原语,用来把开发板晶振输入的 50MHz 时钟(clk\_50m 信号)变成 36.864MHz 的主时钟(clk 信号),`altpll` 原语只适用于 Altera Cyclone IV FPGA,如果你用的是其它系列的 FPGA,需要使用它们各自的 IP 核或原语(例如 Xilinx 的 clock wizard)替换它。 - -若你的开发板的晶振不是 50MHz ,你需要修改 PLL 的配置,保证主时钟 clk 信号的频率是 36.864MHz 即可。 - -实际上,主时钟 clk 的频率可以取小于 40MHz 的任意值。clk 是 FOC 系统的驱动时钟,clk 的频率会决定 SVPWM 的频率(SVPWM频率=clk 频率/2048),我选 36.864MHz 是因为可以让 SVPWM 频率 = 36864/2048 = 18kHz,只是为了凑个整数。 - -clk 的频率不能超过 40MHz 的原因是 adc_ad7928.sv 会通过二分频来产生 SPI 时钟(spi\_sck),而 ADC7928 芯片要求 SPI 时钟不能超过 20MHz。 - -### 引脚约束 - -fpga_top.sv 的 IO 连接方法如下: - -* `clk_50m` : 连接在 FPGA 开发板的晶振上。 -* `i2c_scl`, `i2c_sda` : 连接 AS5600 (磁编码器) 的 I2C 接口。 -* `spi_ss`, `spi_sck`, `spi_mosi`, `spi_miso` : 连接 AD7928 (ADC芯片) 的 SPI 接口。 -* `pwm_a`, `pwm_b`, `pwm_c` : 连接电机驱动板的 3 相 PWM 信号。 -* `pwm_en` : 连接电机驱动板的 EN (使能) 信号。 - * 如果电机驱动板没有 EN 输入,则不接。 - * 如果电机驱动板有 3 路 EN 输入,每路对应 1 相,则应该进行一对三连接。 -* `uart_tx` : 连接 UART 转 USB 模块,插入计算机的 USB 口,用于监测电流环的跟随曲线,**可不接**。 - - - -## 调参 - -要让电机正常工作,你需要在 fpga_top.sv 中的第103行开始,根据实际情况调整 foc_top 模块的参数(Verilog parameter),包括: - -| 参数名 | 取值范围 | 说明 | -| -------------- | ------------- | ------------------------------------------------------------ | -| `INIT_CYCLES` | 1\~4294967293 | 决定了初始化步骤占多少个时钟(clk)周期。该值不能太小,因为要留足够的时间让转子回归电角度=0。在clk频率为 36.864MHz 的情况下,可以取 `INIT_CYCLES=16777216`,则初始化时间为 `16777216/36864000=0.45` 秒。 | -| `ANGLE_INV` | 0, 1 | 若角度传感器没装反(A相→B相→C相→A相 的旋转方向与角度传感器的读值的增大方向相同),则该参数应取 0。若角度传感器装反了(A相→B相→C相→A相 的旋转方向与 角度传感器的读值的增大方向相反),则该参数应取 1 。 | -| `POLE_PAIR` | 1\~255 | 电机极对数,根据电机型号决定(注意:电角度ψ = 极对数 \* 机械角度φ) | -| `MAX_AMP` | 1\~511 | SVPWM 的最大振幅,该值越小,电机能达到的最大力矩越小;但考虑到使用3相下桥臂电阻采样法来采样电流,该值也不能太大,以保证3个下桥臂有足够的持续导通时间来供ADC进行采样。在本例中,使用默认值 `9'd384` 即可。 | -| `SAMPLE_DELAY` | 0\~511 | 采样延时,考虑到3相的驱动 MOS 管从开始导通到电流稳定需要一定的时间,所以从3个下桥臂都导通,到 ADC 采样时刻之间需要一定的延时。该参数决定了该延时是多少个时钟周期,当延时结束时,该模块在 `sn_adc` 信号上产生一个高电平脉冲,指示外部 ADC “可以采样了”。在本例中,使用默认值 `9'd120` 即可。 | -| `Kp` | 0\~16777215 | PID 的 P 参数。 | -| `Ki` | 0\~16777215 | PID 的 I 参数。 | - -调好参后,综合并烧录到 FPGA 后,应该能看到电机正反交替运行。 - - - -## 用串口监视电流环 - -把 `uart_tx` 信号通过 **UART 转 USB 模块** (例如 CP2102、CH340 模块) 连接到电脑上,就可以用**串口助手**、**Putty**等软件来监测电流环的跟随效果。 - -> 注: UART 的格式是 115200,8,n,1 - -以下是串口打印的部分信息。其中第1~4列分别为:**d轴电流的实际值**,**d轴电流的目标值**,**q轴电流的实际值**,**q轴电流的目标值**。可以看到,即使目标值从+200突变到-200,实际值能跟着目标值走,说明电流环的 PID 控制是有效的。 - - - -5 0 206 200 - -16 0 202 200 - 16 0 192 200 - 15 0 201 200 - 1 0 197 200 - 17 0 -211 -200 - -6 0 -199 -200 - -10 0 -210 -200 - -3 0 -207 -200 - 0 0 -202 -200 - -15 0 -211 -200 - - -另外,你可以借用 **Arduino IDE** 的**串口绘图器**来实时显示电流跟随曲线。前往[Arduino官网](https://www.arduino.cc/en/software)下载 **Arduino IDE**,安装后打开,在“**工具→端口**”中选择正确的COM口,然后点击“**工具→串口绘图器**”,**串口绘图器**会自动接收串口并使用上述4列数据画实时曲线图。 - -**图3** 是我这里绘制出的电流跟随曲线。蓝色曲线是第1列数据(d轴电流的实际值);红色曲线是第2列数据(d轴电流的目标值);绿色曲线是第3列数据(q轴电流的实际值);土黄色曲线是第4列数据(q轴电流的目标值)。可以看到实际值能跟着目标值走。 - -| ![wave](./figures/wave.png) | -| :---: | -| **图3**:电流跟随曲线 | - - - -# 设计代码详解 - -下表罗列了该工程使用的所有 **SystemVerilog** 代码文件,这些文件都在 RTL 目录下。结合**图1**就能看出每个模块的作用。 - -| 文件名 | 功能 | 备注 | -| :-- | :-- | :-- | -| fpga_top.sv | FPGA工程的顶层模块 | | -| uart_monitor.sv | UART 发送器,用于数据监测 | 不需要的话可以移除 | -| i2c_register_read.sv | I2C 读取器,用于读取 AS5600 磁编码器 | | -| adc_ad7928.sv | AD7928 读取器 | | -| foc_top.sv | FOC+SVPWM (即**图1**中的蓝色部分的顶层) | 固定功能,一般不需要改动 | -| clark_tr.sv | Clark 变换 | 固定功能,一般不需要改动 | -| park_tr.sv | Park 变换 | 固定功能,一般不需要改动 | -| sincos.sv | 正弦/余弦计算器,被 park_tr.sv 调用 | 固定功能,一般不需要改动 | -| pi_controller.sv | PI 控制器(PID没有D) | 固定功能,一般不需要改动 | -| cartesian2polar.sv | 直角坐标系转极坐标系 | 固定功能,一般不需要改动 | -| svpwm.sv | SVPWM 调制器 | 固定功能,一般不需要改动 | -| hold_detect.sv | 监测3个下桥臂都导通时,延迟一段时间后触发 sn_adc 信号,指示ADC可以开始采样 | 固定功能,一般不需要改动 | - - -| ![diagram](./figures/diagram.png) | -| :---: | -| **图1**:系统框图 | - -**图1**展示了这些模块的层次,我在设计模块层次时充分考虑了封装的合理性和代码重用 : - -* **粉色**部分是FPGA内的即传感器控制器,是**硬件相关逻辑**,如果角度传感器和 ADC 型号变了,这部分代码需要重写。 -* **蓝色**部分是FPGA内的 FOC 的固定算法,是**硬件无关逻辑**,一般不需要修改,是本库的核心代码! -* **黄色**部分是FPGA内的**用户自定逻辑**,用户可以修改 user behavior 来实现各种电机应用。或者修改 uart_monitor 来监测其它变量。 -* **淡橙色**部分是FPGA外部的硬件电路,也就是电机、电机驱动板、角度传感器这些东西。 - -另外,除了 fpga_top.sv 中调用的 `altpll` 原语外,该库的所有代码都使用纯 RTL 编写,可以轻易地移植到其它厂商(Xilinx、Lattice等)的 FPGA 上。 - - - -# RTL仿真 - -因为我并没有电机的 Verilog 模型,没法对整个 FOC 算法进行仿真,所以只对 FOC 中的部分模块进行了仿真。 - -仿真相关的文件都在 SIM 文件夹里,其中包括文件: - -| 文件名 | 功能 | -| --------------------------------- | ------------------------------------------------------------ | -| tb_clark_park_tr.sv | 对 clark_tr.sv (clark变换) 和 park_tr.sv (park变换)的仿真程序 | -| tb_clark_park_tr_run_iverilog.bat | 用 iverilog 运行 tb_clark_park_tr.sv 的命令脚本 | -| tb_svpwm.sv | 对 cartesian2polar.sv 和 svpwm.sv 的仿真程序 | -| tb_svpwm_run_iverilog.bat | 用 iverilog 运行 tb_svpwm.sv 的命令脚本 | - -使用 iverilog 仿真前,需要安装 iverilog ,见:[iverilog_usage](https://github.com/WangXuan95/WangXuan95/blob/main/iverilog_usage/iverilog_usage.md) - -## clark_tr和park_tr的仿真 - -我们先来运行 clark 变换和 park 变换的仿真。 - -双击 tb_clark_park_tr_run_iverilog.bat 可以直接运行仿真,运行完后会生成波形文件 dump.vcd 。请用 gtkwave 打开 dump.vcd ,导入**图4**中的这些信号,可以看到如**图4**的波形(需要你把这些信号改成模拟信号显示的形式,才能看得到**图4**这种效果:第一步,对于 Verilog 代码中声明为 signed 的信号(有符号数),需要右键该信号→Data Format→Signed Decimal。第二步,右键该信号→Data Format→Analog→Step ,即可把它变成如图的模拟信号的样子)。 - -对该**图4**波形的解读: - -- theta 是一个不断递增的角度(0→2π→0→2π→...) -- ia, ib, ic 是用 theta 生成的正弦波,相位各自相差 (2/3)*π (也就是说 ia, ib, ic)构成了三相正弦波。 -- 使用 clark 变换把 ia, ib, ic 变换成 ialpha, ibeta ,得到一对正交的正弦波(相位相差 π/2 )。 -- 使用 park 变换把 ialpha, ibeta 变换到定子坐标系,得到定值 id 和 iq (因为实际的计算误差,所以得到的是近似的定值,而不是严格的定值)。 - -| ![tb_clark_park_tr](./figures/tb_clark_park_tr.png) | -| :-------------------------------------------------: | -| **图4**:对 clark_tr 与 park_tr 仿真的波形。 | - -## cartesian2polar和svpwm的仿真 - -现在来运行 cartesian2polar (直角坐标转极坐标系)和 svpwm 的仿真。 - -双击 tb_svpwm_run_iverilog.bat 可以直接运行仿真,运行完后会生成波形文件 dump.vcd 。请用 gtkwave 打开 dump.vcd ,可以看到如**图5**的波形。 - -注意: pwma_duty、pwmb_duty、pwmc_duty 这三个信号不在顶层,你要在 svpwm 这个模块内才能找到这三个信号。 - -对**图5**波形的解读: - -- theta 是一个不断递增的角度(0→2π→0→2π→...) -- x 和 y 是用 theta 生成的正交的正弦波(或者说,y是正弦波,x是余弦波) -- 把 (x,y) 视作直角坐标值,然后 cartesian2polar 把它转换成极坐标系 (ρ, φ) ,也即 (rho, phi) -- 把 (rho, phi) 输给 svpwm ,产生了 pwma_duty、pwmb_duty、pwmc_duty 这三个马鞍波。如果你熟悉七段式 SVPWM 的原理,就应该知道为什么是马鞍波,这里不做赘述。 -- pwma_duty、pwmb_duty、pwmc_duty 分别决定了 pwm_a, pwm_b, pwm_c 的占空比(duty这个单词就是占空比的意思)。 - -| ![tb_svpwm](./figures/tb_svpwm.png) | -| :-----------------------------------------------: | -| **图5**:对 cartesian2polar 与 svpwm 仿真的波形。 | - -放大波形,可以看到确实是 duty 值越大,对应的 pwm 信号的占空比就越大,如**图6**。 - -| ![tb_svpwm_2](./figures/tb_svpwm_2.png) | -| :-------------------------------------: | -| **图6**:图5的放大。 | - - - -# FAQ - -一些用户在读代码时向本人反馈了一些疑问,我将它们整理如下。 - -### 关于 PCB 设计 - -* **问**: **相电流低压侧3电阻采样需要运放放大电流信号才能作为AD输入,但你[开源的PCB]((https://oshwhub.com/wangxuan/arduino-foc-shield))似乎找不到运放放大?** -* **答**: 我[开源的PCB](https://oshwhub.com/wangxuan/arduino-foc-shield)使用了一体化的三相无刷电机驱动芯片MP6540(U1),3相电流采样电阻和放大器是集成在里面的。请注意MP6540的 SOA, SOB, SOC 三个引脚,它们就是三相电流放大后的电压输出。 - - -### 关于 FOC 中的数学计算 - -* **问**: **三电阻采样后的电流重构的那部分代码如何理解?为什么 ia = ADCb + ADCc - 2*ADCa ?** -* **答**: 我们知道电机的相电流 ia, ib, ic 是双极性的(即有正有负的,分别代表流出电机和流入电机),但我们常用的ADC往往都是单极性的(即只能采样正电压)。那么,相电流采样-放大电路就必须考虑双极性到单极性的转换问题,工程上用的方法往往都是反向放大加偏置(包括MP6540内置采样-放大电路也是这种方案),它输出给ADC的电压遵循公式: - ADCa = -R × ia + Voff - ADCb = -R × ib + Voff - ADCc = -R × ic + Voff - 其中 R 是放大系数(R>0,也叫跨阻放大系数,因为 R 的量纲和电阻一样),因为反向放大所以加了负号。Voff 是偏置电压,以此保证 ADCa, ADCb, ADCc 是单极性的。另外又有基尔霍夫电流定律(KCL): - ia + ib + ic = 0 - 联立以上公式,推出: - 3 * Voff = ADCa + ADCb + ADCc - 令 R = 1/(3*k) ,于是: - ia = (Voff - ADCa) / R - = k × (3 * Voff - 3 × ADCa) - = k × (ADCa + ADCb + ADCc - 3 × ADCa) - = k × (ADCb + ADCc - 2×ADCa) - 于是就有了你问的 ia = ADCb + ADCc - 2×ADCa 。 你肯定会疑惑,系数 k 哪儿去了?这个并不在乎,因为整个FOC都是线性系统,通过调整PID参数,能跑就行,系数只在理论分析时有用。 - -* **问** : **你的程序里是不是都没有在乎系数K,包括clark变换中得到的Iα和Iβ和ia、ib、ic也并没有满足严格的公式关系,程序中得到的Iα和Iβ是理论值的2倍。这是不是也可以用调整PID参数的思想来解释?** -* **答**: 是的,我很多地方的代码也与理论公式的系数不同,比如 clark 变换公式本来是: - Iα = Ia - Ib/2 - Ic/2 - Iβ = √3/2 * (Ib - Ic) - 我多乘了个2: - Iα = 2 * Ia - Ib - Ic - Iβ = √3 * (Ib - Ic) - 这是出于避免整数计算的截断导致的数据位丢失,比如 Ib/2 就会让 Ib 的最低 bit 丢失。不过实际上这种小误差基本不会影响控制质量。这种系数问题可以通过 PID 调参来消除。 - -* **问**: **你的代码中的 cartesian2polar.sv 是把电压矢量从转子直角坐标系 (Vd, Vq) 变换到转子极坐标系 (Vrρ, Vrθ),目的是什么?** -* **答**: 书上一般会说 SVPWM 模块输入的是定子直角坐标系下的电压,但我实现的 SVPWM 输入的是定子极坐标系下的电压,两种方法在数学上是等价的。而且 SVPWM 在 FPGA 里用查找表(ROM)实现,因此两种方法对电路复杂度影响不大。另外,输入极坐标系的 SVPWM 还带来 2 个好处和 1 个代价,好处 1 是更方便在开发过程中让电机开环地转起来(只需要让角度递增即可)。好处 2 是极坐标系下的 park 变换更简单,只需要用电压在转子坐标系中的角度减去电角度就能得到电压在定子坐标系中的角度。 代价是需要在 PID 的后面、park 变换的前面实现一个直角坐标系转极坐标系的运算,即 cartesian2polar.sv - -### 关于 ADC 采样时机 - -* **问**: **AD7928只有一个T/H(采样保持器),也就意味着这个AD一次只能保持一个通道的数据,也就是说当通道1 打开的时候采集A相的电流,然后采集完再打开通道2采集B相的电流,那么这并不是一个同步采集的过程,如何实现AD采样三相电流的同步输出?** -* **答**: 在电流采样问题上,我们与大多数 FOC 方案相同,因为 MP6540 里的采样电阻在下桥臂,所以规定 SVPWM 在每个控制周期(约 55us,对应频率18kHz)内至少有一段时间里 3 相都是下通上闭,称为采样窗口。FOC的基础振幅(也就是 foc_top.sv 里的 MAX_AMP 参数)越大,采样窗口越短。当 MAX_AMP=9'd511 (最大值) 时,采样窗口长度就是 0 了。而默认的 MAX_AMP=9'd384 大概会让采样窗口长度为十几us。 -AD7928 只有一个T/H,所以采样窗口内要做 3 次采样,这个过程是 hold_detect.sv 和 adc_ad7928.sv 共同控制的,hold_detect.sv负责在采样窗口开始时延迟一段时间(来让电流趋于稳定)后发出 sn_adc 信号脉冲,来告诉 adc_ad7928.sv 可以开始工作了(可以通过 foc_top.sv 里的 SAMPLE_DELAY 来调整该延迟)。然后 adc_ad7928.sv 内部就会自动串行地完成 3 个通道的采样,最后再同步提交3个采样结果(提交的同时产生 o_en_adc 信号脉冲)。注意adc_ad7928.sv是一个通用的 AD7928 控制器,每收到一个 i_sn_adc 信号脉冲,就进行一系列串行采样。其中采样多少次,每次采样哪一个通道,都可以通过 adc_ad7928.sv 里的 parameter 来配置。所有通道采样结束后,产生o_en_adc信号脉冲,同时同步提交所有通道的结果。 -我把 foc_top.sv 用来连接 ADC控制器的接口(也就是sn_adc, en_adc, adc_a, adc_b, adc_c 这几个信号)设计成同步读入3通道数据,是出于通用性、简约性和可移植性的原则考虑,因为这样的同步读入接口是 ADC 的一种高度抽象,最容易让人理解其时序(即,sn_adc脉冲命令ADC控制器开始工作。en_adc指示ADC读取器结束工作,同时 adc_a, adc_b, adc_c 上产生结果)。如果用户用了其它 ADC 型号,只需按照这个时序的抽象来具象地编写 ADC 控制器即可,而 foc_top.sv 并不关心拟用的是1个串行的ADC还是3个并行的ADC,反正你都要给我同步提交。当然,用户必须自己算好 hold_detect.sv 的延时 + ADC 采样三个通道(也即 sn_adc 脉冲和 en_adc 脉冲的时间差) 是小于采样窗口的长度的。 - - -* **问**: **进行串行采样的时候不会出现这样的问题:第一个时钟周期采到的是A相的电流,第2个时钟周期采的是B相,第3个时钟周期采到的是C相,而我们知道相电流是正弦变化的,这三个时钟周期采的A B C 三相电流并不是同一时刻的相电流,因此这将产生误差,而时钟周期是很短的,是不是产生的误差几乎可以忽略不计呢?** -* **答**: 首先指正一个不准确的地方, AD7928 的接口是 SPI (一种串行接口),其采样是多个时钟周期(而不是一个时钟周期)内完成的。因此三相的采样间隔是几十个时钟周期(具体数字我忘了,你可以仿真确定一下)。 -虽然不同步,但3相的采样毕竟都是在同一个控制周期的采样窗口(几微秒)内。而相电流的变化通常以控制周期(即几十微秒)为尺度变化,例如 3000r/min(50r/s)的转子,若极对数=7,其相电流是350Hz(周期28ms)的正弦波,其变化在几微秒内是可以忽略的。 - - - -# 参考资料 - -* [1] [Sensorless FOC for PMSM](https://www.microchip.com/stellent/groups/SiteComm_sg/documents/Training_Tutorials/en532365.pdf), MicroChip. -* [2] [Current sensing in BLDC motor application](https://www.st.com/resource/en/application_note/dm00666970-current-sensing-in-bldc-motor-application-stmicroelectronics.pdf), ST. -* [3] [Center-Aligned SVPWM Realization](https://www.ti.com/lit/an/sprabs6/sprabs6.pdf), TI -* [4] [MP6540, 3-phase, brushless DC motor drivers](https://www.monolithicpower.com/en/mp6540-mp6540a.html), MPS. -* [5] [AD7928, 8-Channel, 1 MSPS, 12-Bit ADC](https://www.analog.com/en/products/ad7928.html), Analog Devices. -* [6] [深入浅出讲解FOC算法与SVPWM技术](https://zhuanlan.zhihu.com/p/147659820), 稚晖 - 知乎 -* [7] [如何从零开始写一套自己的FOC矢量控制程序](https://zhuanlan.zhihu.com/p/103758450?utm_source=qzone), 上官致远 - 知乎 -* [8] [STM32电动机控制应用系列讲座](https://www.bilibili.com/video/BV1vT4y1j7kc) -* [9] [BLDC电机基础](https://www.bilibili.com/video/BV1TW411d7k6) - - +![语言](https://img.shields.io/badge/语言-verilog_(IEEE1364_2001)-9A90FD.svg) ![仿真](https://img.shields.io/badge/仿真-iverilog-green.svg) ![部署](https://img.shields.io/badge/部署-quartus-blue.svg) ![部署](https://img.shields.io/badge/部署-vivado-FF1010.svg) +[English](#en) | [中文](#cn) +  FpOC =========================== @@ -342,7 +21,7 @@ The code in this repository has detailed comments (in Chinese). If you are famil ### Technical features -* Platform independent:Written in pure SystemVerilog, able to run on various FPGAs such as Altera and Xilinx. +* Platform independent:Written in pure Verilog, able to run on various FPGAs such as Altera and Xilinx. * Support **3 channels of PWM** + **1 channel of EN**: when PWM=1, the upper MOSFET turns on, and when PWM=0, the lower MOSFET turns on. When EN=0, all 6 MOSFET are turned off. * Supports **angle sensor** and **phase current sampling ADC** with **12bit resolution**. For sensors >12bit, low-order truncation is required. For sensors <12bit, low-bit stuffing is required. @@ -360,7 +39,7 @@ The code in this repository has detailed comments (in Chinese). If you are famil - [simulate clark_tr and park_tr](#simulate clark_tr and park_tr) - [simulate cartesian2polar and svpwm](#simulate cartesian2polar and svpwm) - +  # Demo project: let your motor spin @@ -402,21 +81,21 @@ The motor driver used here is the **MP6540** chip, I have only tried to drive th ## Create FPGA project -You need to create an FPGA project and add all the .sv source files in the [RTL](./RTL) folder (including its subdirectories) to the project. Please use fpga_top.sv as the top-level file. +You need to create an FPGA project and add all the .v source files in the [RTL](./RTL) folder (including its subdirectories) to the project. Please use fpga_top.v as the top-level file. ### clock config -There is a call to the `altpll` primitive in fpga_top.sv, which convert the 50MHz clock (clk\_50m signal) input by the crystal oscillator into a 36.864MHz main clock (clk signal). The `altpll` primitive is only applicable in Altera Cyclone IV FPGA, if you are using other series of FPGAs, you need to replace it with their IP cores or primitives (e.g. Xilinx's clock wizard). +There is a call to the `altpll` primitive in fpga_top.v, which convert the 50MHz clock (clk\_50m signal) input by the crystal oscillator into a 36.864MHz main clock (clk signal). The `altpll` primitive is only applicable in Altera Cyclone IV FPGA, if you are using other series of FPGAs, you need to replace it with their IP cores or primitives (e.g. Xilinx's clock wizard). If the crystal oscillator of your development board is not 50MHz, you need to modify the PLL's configuration to ensure that the frequency of the main clock is 36.864MHz. In fact, the frequency of the main clock can take any value less than 40MHz. main clock is to drive the FOC system, its frequency will determine the frequency of SVPWM (SVPWM frequency = clk frequency/2048), I choose 36.864MHz because it can make SVPWM frequency = 36864/2048 = 18kHz. -The reason why the frequency of main clock cannot exceed 40MHz is that adc_ad7928.sv will generate the SPI clock (spi\_sck signal) by dividing the frequency by two, and the ADC7928 chip requires that the SPI clock cannot exceed 20MHz. +The reason why the frequency of main clock cannot exceed 40MHz is that adc_ad7928.v will generate the SPI clock (spi\_sck signal) by dividing the frequency by two, and the ADC7928 chip requires that the SPI clock cannot exceed 20MHz. ### pin constraints -The IO connection of fpga_top.sv is as follows: +The IO connection of fpga_top.v is as follows: * `clk_50m` : connect to the crystal oscillator on FPGA board. * `i2c_scl`, `i2c_sda` : connect to AS5600's I2C. @@ -429,7 +108,7 @@ The IO connection of fpga_top.sv is as follows: ## parameter tuning -To make the motor work normally, you need to tune the Verilog parameters of foc_top module which starts from 103 line in fpga_top.sv, including: +To make the motor work normally, you need to tune the Verilog parameters of foc_top module which starts from 103 line in fpga_top.v, including: | Parameter | Value Range | Illustration | | -------------- | ------------- | ------------------------------------------------------------ | @@ -438,8 +117,14 @@ To make the motor work normally, you need to tune the Verilog parameters of foc_ | `POLE_PAIR` | 1\~255 | The number of pole pairs of the motor, which is determined according to the motor model (note: electrical angle ψ = number of pole pairs \* mechanical angle φ). | | `MAX_AMP` | 1\~511 | The maximum duty of SVPWM, the smaller the value, the smaller torque the motor can achieve. But considering that we use the lower arm resistance sampling method, the value should not be too large to ensure that the lower arms have sufficient time for ADC sampling. In this example, the default value of `9'd384` is sufficient. | | `SAMPLE_DELAY` | 0\~511 | Sampling delay, considering that the 3-phase drive MOSFET needs a certain time from the start of conduction to the current stabilization, so a certain delay is required from the conduction of the three lower arms to the ADC sampling time. This parameter determines how many clock cycles this delay is, and when the delay is over, the module generates a high-level pulse on the `sn_adc` signal, indicating that the external ADC is "ready to sample". In this example, the default value of `9'd120` is sufficient. | -| `Kp` | 0\~16777215 | Kp for PID. | -| `Ki` | 0\~16777215 | Ki for PID. | + +In addition, foc_top module has two input ports `Kp` and `Ki` , they are parameters for PID controller. They will affect the quality of control. They can be adjusted at runtime, but you can also input fixed constants for them. + +```verilog +// ports of foc_top.v +input wire [30:0] Kp, +input wire [30:0] Ki, +``` After tuning the parameters, you can compile and program to the FPGA. You should be able to see the motor spining clockwize and anticlockwize alternately. @@ -473,24 +158,26 @@ In addition, you can use the **serial plotter** of **Arduino IDE** to display th | :----------------------------------------------------------: | | **Figure3** : current following curve printed by the "Serial Port Plotter" in Arduino IDE. | +  + # Design code -The following table lists all the **SystemVerilog** code files in this project, which are in the [RTL](./RTL) folder. Combined with **Figure1**, you can see the role of each module. +The following table lists all the **Verilog** code files in this project, which are in the [RTL](./RTL) folder. Combined with **Figure1**, you can see the role of each module. | File Name | Function | 备注 | | :------------------- | :----------------------------------------------------------- | :-------------------------------------------------- | -| fpga_top.sv | FPGA project's top module | | -| uart_monitor.sv | UART sender. | Can be removed if not used. | -| i2c_register_read.sv | Read AS5600 magnetic encoder. | | -| adc_ad7928.sv | Read AD7928 ADC. | | -| foc_top.sv | FOC+SVPWM, that is, the blue part in **Figure1**. | Fixed function, generally do not need to be changed | -| clark_tr.sv | Clark transform. | Fixed function, generally do not need to be changed | -| park_tr.sv | Park transform. | Fixed function, generally do not need to be changed | -| sincos.sv | Sine/Cosine calculator, called by park_tr.sv | Fixed function, generally do not need to be changed | -| pi_controller.sv | PI controller (PID without D). | Fixed function, generally do not need to be changed | -| cartesian2polar.sv | Cartesian coordinate system to polar coordinate system. | Fixed function, generally do not need to be changed | -| svpwm.sv | SVPWM 调制器 | Fixed function, generally do not need to be changed | -| hold_detect.sv | When three lower bridge arms are all turned on, pulse the sn_adc signal after a delay, indicating that the ADC can start sampling. | Fixed function, generally do not need to be changed | +| fpga_top.v | FPGA project's top module | | +| uart_monitor.v | UART sender. | Can be removed if not used. | +| i2c_register_read.v | Read AS5600 magnetic encoder. | | +| adc_ad7928.v | Read AD7928 ADC. | | +| foc_top.v | FOC+SVPWM, that is, the blue part in **Figure1**. | Fixed function, generally do not need to be changed | +| clark_tr.v | Clark transform. | Fixed function, generally do not need to be changed | +| park_tr.v | Park transform. | Fixed function, generally do not need to be changed | +| sincos.v | Sine/Cosine calculator, called by park_tr.v | Fixed function, generally do not need to be changed | +| pi_controller.v | PI controller (PID without D). | Fixed function, generally do not need to be changed | +| cartesian2polar.v | Cartesian coordinate system to polar coordinate system. | Fixed function, generally do not need to be changed | +| svpwm.v | SVPWM 调制器 | Fixed function, generally do not need to be changed | +| hold_detect.v | When three lower bridge arms are all turned on, pulse the sn_adc signal after a delay, indicating that the ADC can start sampling. | Fixed function, generally do not need to be changed | | ![diagram](./figures/diagram.png) | @@ -504,7 +191,9 @@ The following table lists all the **SystemVerilog** code files in this project, * The **yellow** part is the **user-defined logic** in the FPGA, the user can modify the user behavior to realize various motor applications. Or modify `uart_monitor` to monitor other variables. * The **orange** part is the hardware circuit outside the FPGA, that is, the motor, the motor driver board, and the angle sensor. -In addition, except for the `altpll` primitives in fpga_top.sv, all code in this library is written in pure RTL and can be easily ported to FPGAs from other vendors (Xilinx, Lattice, etc.). +In addition, except for the `altpll` primitives in fpga_top.v, all code in this library is written in pure RTL and can be easily ported to FPGAs from other vendors (Xilinx, Lattice, etc.). + +  # RTL simulation @@ -514,10 +203,10 @@ The simulation related files are all in the [SIM](./SIM) folder, including the f | File Name | Function | | --------------------------------- | ------------------------------------------------------------ | -| tb_clark_park_tr.sv | Testbench for clark_tr.sv (clark transform) and park_tr.sv (park transform). | -| tb_clark_park_tr_run_iverilog.bat | Command script to run tb_clark_park_tr.sv with iverilog. | -| tb_svpwm.sv | Testbench for cartesian2polar.sv and svpwm.sv. | -| tb_svpwm_run_iverilog.bat | Command script to run tb_svpwm.sv with iverilog. | +| tb_clark_park_tr.v | Testbench for clark_tr.v (clark transform) and park_tr.v (park transform). | +| tb_clark_park_tr_run_iverilog.bat | Command script to run tb_clark_park_tr.v with iverilog. | +| tb_svpwm.v | Testbench for cartesian2polar.v and svpwm.v. | +| tb_svpwm_run_iverilog.bat | Command script to run tb_svpwm.v with iverilog. | Before using iverilog simulation, you need to install iverilog , see: [iverilog_usage](https://github.com/WangXuan95/WangXuan95/blob/main/iverilog_usage/iverilog_usage.md) @@ -565,3 +254,338 @@ Interpretation of **Figure5** waveform: | :-------------------------------------: | | **Figure6** : Zoom in Figure5. | +  + +  + +  + +  + +  + +FpOC +=========================== + +基于 **FPGA** 的**磁场定向控制 (FOC)**,用于驱动**永磁同步电机 (PMSM)** 或**无刷直流电机 (BLDC)** + +**FOC控制算法**对传感器采样速率和处理器算力提出了一定的要求,使用 **FPGA** 实现的 **FOC** 可以获得更好的**实时性**,并且更方便进行**多路扩展**和**多路反馈协同**。 + +本库实现了基于**角度传感器**(也就是磁编码器)的**有感 FOC**,即一个完整的**电流环**,可以进行**扭矩控制**。借助本库,你可以进一步使用 **纯FPGA** 或 **MCU+FPGA** 的方式实现更复杂的电机应用。 + +| ![diagram](./figures/diagram.png) | +| :---: | +| **图1**:系统框图 | + +本库代码有详细的注释,如果你熟悉 Verilog 但不熟悉 FOC ,可以通过阅读代码来快速地学习 FOC (建议先阅读 FOC 原理 [6~9])。一些用户在读代码时向本人反馈了一些疑问,我将它们整理在了 [FAQ](#FAQ) 里。 + +### 技术特点 + +* **平台无关** :纯 RTL 编写,可以在 Altera 和 Xilinx 等各种 FPGA 上运行。 +* 支持 **3路PWM** + **1路EN** :PWM=1 时上桥臂 MOS 导通,PWM=0 时下桥臂 MOS 导通。 EN=0 时所有的 6 个 MOS 关断。 +* 支持 **12bit 分辨率**的**角度传感器**和**相电流采样ADC**。对于>12bit的传感器,需要进行低位截断。对于<12bit的传感器,需要进行低位填充。 +* 内部使用 **16bit 有符号整数**进行计算,考虑到传感器为 12bit,所以 16bit 计算是够用的。 + +### 目录 + +- [示例程序:让电机转起来](#示例程序:让电机转起来) + - [搭建硬件](#搭建硬件) + - [建立FPGA工程](#建立FPGA工程) + - [调参](#调参) + - [用串口监视电流环](#用串口监视电流环) +- [设计代码详解](#设计代码详解) +- [RTL仿真](#RTL仿真) + - [clark_tr和park_tr子模块的仿真](#clark_tr和park_tr的仿真) + - [cartesian2polar和svpwm子模块的仿真](#cartesian2polar和svpwm的仿真) +- [FAQ](#FAQ) + +  + +# 示例程序:让电机转起来 + +**图1** 是示例程序的系统框图,它调用了我实现的 FOC 电流环模块 (foc_top.v) 来实现一个简单的行为——控制电机的电流(扭矩)按顺时针、逆时针、顺时针、逆时针地交替运行。同时,使用 UART 打印电流的**控制目标值**和**实际值**,以便观察 FOC 电流环控制的质量。 + +该示例的所有代码都在 RTL 目录内。 + + + +## 搭建硬件 + +运行本示例所需要的硬件包括: + +* **FPGA 开发板** :需有至少 10 个 3.3V 的 IO ,用来接: + * **I2C (2*IO)** , 用来连接 AS5600 磁编码器。 + * **SPI (4*IO)** , 用来连接 AD7928 ADC。 + * **PWM (3*IO)** , 用来输出 3 相 PWM 到电机驱动板。 + * **PWM_EN (1*IO)** , 用来输出 1 路 EN (使能) 到电机驱动板(PWM_EN=低电平代表所有桥臂关断)。 + * **UART (1*IO)** ,单向(仅发送)的UART,连接计算机的串口,用于监测电流环的跟随曲线,**可不接**。 +* **PMSM** 或 **BLDC 电机**。 +* **电机驱动板**:要支持3相 PWM 输入信号(PWM=0时下桥臂导通,PWM=1时上桥臂导通),并且要内置**低侧电阻采样+放大器**对 3 相电流进行放大。 +* **获取转子角度的磁编码器**:本库直接支持的型号是 AS5600 ,需要安装在电机上。 +* **相电流采样的ADC**:本库直接支持的型号是 AD7928 ,用于采样电机驱动板放大后的 3 相电流 + * 网上似乎找不到现成卖的 AD7928 模块,所以如果你想DIY,就需要自己画 PCB。 + +如果你硬件动手能力很强,可以自己准备以上硬件。 + +不过!建议直接使用我画的一个自带 **AD7928** 的 **电机驱动板**,它的原理图如**图2**,我也提供了制造文件 [gerber_pcb_foc_shield.zip](./gerber_pcb_foc_shield.zip) ,你需要拿制造文件去打样PCB,然后按照**图2**来焊接。 + +> 注意,这个板子包括了**相电流采样的ADC**和**电机驱动板**的功能,但不包括 AS5600 磁编码器,磁编码器是需要安装在电机上的,需要你额外准备。 + +| ![sch](./figures/sch.png) | +| :---------------------------------------------------------: | +| **图2**:电机驱动板原理图,其中 AD7928 ADC 用来采样三相电流 | + +这个板子在立创EDA开源,见 [oshwhub.com/wangxuan/arduino-foc-shield](https://oshwhub.com/wangxuan/arduino-foc-shield) + +这个板子之所以被设计成 Arduino 扩展板的样子,是因为很多 FPGA 开发板也具有 Arduino 扩展板接口(比如 DE10-Nano 开发板),可以直接插上去。如果你的 FPGA 开发板没有 Arduino 扩展板接口也没关系,直接用杜邦线连接即可(建议用短的杜邦线)。 + +这里使用的电机驱动器是 **MP6540** 芯片, 我只试过驱动小功率云台电机,没试过大功率电机。 + + + +## 建立FPGA工程 + +你需要建立 FPGA 工程,把 RTL 目录(包括其子目录)里的所有 .v 源文件加入工程,请以 fpga_top.v 作为顶层文件。 + +### 时钟配置 + +fpga_top.v 中有一处调用了 `altpll` 原语,用来把开发板晶振输入的 50MHz 时钟(clk\_50m 信号)变成 36.864MHz 的主时钟(clk 信号),`altpll` 原语只适用于 Altera Cyclone IV FPGA,如果你用的是其它系列的 FPGA,需要使用它们各自的 IP 核或原语(例如 Xilinx 的 clock wizard)替换它。 + +若你的开发板的晶振不是 50MHz ,你需要修改 PLL 的配置,保证主时钟 clk 信号的频率是 36.864MHz 即可。 + +实际上,主时钟 clk 的频率可以取小于 40MHz 的任意值。clk 是 FOC 系统的驱动时钟,clk 的频率会决定 SVPWM 的频率(SVPWM频率=clk 频率/2048),我选 36.864MHz 是因为可以让 SVPWM 频率 = 36864/2048 = 18kHz,只是为了凑个整数。 + +clk 的频率不能超过 40MHz 的原因是 adc_ad7928.v 会通过二分频来产生 SPI 时钟(spi\_sck),而 ADC7928 芯片要求 SPI 时钟不能超过 20MHz。 + +### 引脚约束 + +fpga_top.v 的 IO 连接方法如下: + +* `clk_50m` : 连接在 FPGA 开发板的晶振上。 +* `i2c_scl`, `i2c_sda` : 连接 AS5600 (磁编码器) 的 I2C 接口。 +* `spi_ss`, `spi_sck`, `spi_mosi`, `spi_miso` : 连接 AD7928 (ADC芯片) 的 SPI 接口。 +* `pwm_a`, `pwm_b`, `pwm_c` : 连接电机驱动板的 3 相 PWM 信号。 +* `pwm_en` : 连接电机驱动板的 EN (使能) 信号。 + * 如果电机驱动板没有 EN 输入,则不接。 + * 如果电机驱动板有 3 路 EN 输入,每路对应 1 相,则应该进行一对三连接。 +* `uart_tx` : 连接 UART 转 USB 模块,插入计算机的 USB 口,用于监测电流环的跟随曲线,**可不接**。 + + + +## 调参 + +要让电机正常工作,你需要在 fpga_top.v 中的第103行开始,根据实际情况调整 foc_top 模块的参数(Verilog parameter),包括: + +| 参数名 | 取值范围 | 说明 | +| -------------- | ------------- | ------------------------------------------------------------ | +| `INIT_CYCLES` | 1\~4294967293 | 决定了初始化步骤占多少个时钟(clk)周期。该值不能太小,因为要留足够的时间让转子回归电角度=0。在clk频率为 36.864MHz 的情况下,可以取 `INIT_CYCLES=16777216`,则初始化时间为 `16777216/36864000=0.45` 秒。 | +| `ANGLE_INV` | 0, 1 | 若角度传感器没装反(A相→B相→C相→A相 的旋转方向与角度传感器的读值的增大方向相同),则该参数应取 0。若角度传感器装反了(A相→B相→C相→A相 的旋转方向与 角度传感器的读值的增大方向相反),则该参数应取 1 。 | +| `POLE_PAIR` | 1\~255 | 电机极对数,根据电机型号决定(注意:电角度ψ = 极对数 \* 机械角度φ) | +| `MAX_AMP` | 1\~511 | SVPWM 的最大振幅,该值越小,电机能达到的最大力矩越小;但考虑到使用3相下桥臂电阻采样法来采样电流,该值也不能太大,以保证3个下桥臂有足够的持续导通时间来供ADC进行采样。在本例中,使用默认值 `9'd384` 即可。 | +| `SAMPLE_DELAY` | 0\~511 | 采样延时,考虑到3相的驱动 MOS 管从开始导通到电流稳定需要一定的时间,所以从3个下桥臂都导通,到 ADC 采样时刻之间需要一定的延时。该参数决定了该延时是多少个时钟周期,当延时结束时,该模块在 `sn_adc` 信号上产生一个高电平脉冲,指示外部 ADC “可以采样了”。在本例中,使用默认值 `9'd120` 即可。 | + +另外,foc_top 模块具有输入端口 `Kp` 和 `Ki` ,它们是 PID 控制器的参数,会影响控制的质量。它们可以在运行时调整,不过你也可以给他们输入固定的常数。 + +```verilog +// ports of foc_top.v +input wire [30:0] Kp, +input wire [30:0] Ki, +``` + +调好参后,综合并烧录到 FPGA 后,应该能看到电机正反交替运行。 + +## 用串口监视电流环 + +把 `uart_tx` 信号通过 **UART 转 USB 模块** (例如 CP2102、CH340 模块) 连接到电脑上,就可以用**串口助手**、**Putty**等软件来监测电流环的跟随效果。 + +> 注: UART 的格式是 115200,8,n,1 + +以下是串口打印的部分信息。其中第1~4列分别为:**d轴电流的实际值**,**d轴电流的目标值**,**q轴电流的实际值**,**q轴电流的目标值**。可以看到,即使目标值从+200突变到-200,实际值能跟着目标值走,说明电流环的 PID 控制是有效的。 + + + -5 0 206 200 + -16 0 202 200 + 16 0 192 200 + 15 0 201 200 + 1 0 197 200 + 17 0 -211 -200 + -6 0 -199 -200 + -10 0 -210 -200 + -3 0 -207 -200 + 0 0 -202 -200 + -15 0 -211 -200 + + +另外,你可以借用 **Arduino IDE** 的**串口绘图器**来实时显示电流跟随曲线。前往[Arduino官网](https://www.arduino.cc/en/software)下载 **Arduino IDE**,安装后打开,在“**工具→端口**”中选择正确的COM口,然后点击“**工具→串口绘图器**”,**串口绘图器**会自动接收串口并使用上述4列数据画实时曲线图。 + +**图3** 是我这里绘制出的电流跟随曲线。蓝色曲线是第1列数据(d轴电流的实际值);红色曲线是第2列数据(d轴电流的目标值);绿色曲线是第3列数据(q轴电流的实际值);土黄色曲线是第4列数据(q轴电流的目标值)。可以看到实际值能跟着目标值走。 + +| ![wave](./figures/wave.png) | +| :---: | +| **图3**:电流跟随曲线 | + +  + +# 设计代码详解 + +下表罗列了该工程使用的所有 **Verilog** 代码文件,这些文件都在 RTL 目录下。结合**图1**就能看出每个模块的作用。 + +| 文件名 | 功能 | 备注 | +| :-- | :-- | :-- | +| fpga_top.v | FPGA工程的顶层模块 | | +| uart_monitor.v | UART 发送器,用于数据监测 | 不需要的话可以移除 | +| i2c_register_read.v | I2C 读取器,用于读取 AS5600 磁编码器 | | +| adc_ad7928.v | AD7928 读取器 | | +| foc_top.v | FOC+SVPWM (即**图1**中的蓝色部分的顶层) | 固定功能,一般不需要改动 | +| clark_tr.v | Clark 变换 | 固定功能,一般不需要改动 | +| park_tr.v | Park 变换 | 固定功能,一般不需要改动 | +| sincos.v | 正弦/余弦计算器,被 park_tr.v 调用 | 固定功能,一般不需要改动 | +| pi_controller.v | PI 控制器(PID没有D) | 固定功能,一般不需要改动 | +| cartesian2polar.v | 直角坐标系转极坐标系 | 固定功能,一般不需要改动 | +| svpwm.v | SVPWM 调制器 | 固定功能,一般不需要改动 | +| hold_detect.v | 监测3个下桥臂都导通时,延迟一段时间后触发 sn_adc 信号,指示ADC可以开始采样 | 固定功能,一般不需要改动 | + + +| ![diagram](./figures/diagram.png) | +| :---: | +| **图1**:系统框图 | + +**图1**展示了这些模块的层次,我在设计模块层次时充分考虑了封装的合理性和代码重用 : + +* **粉色**部分是FPGA内的即传感器控制器,是**硬件相关逻辑**,如果角度传感器和 ADC 型号变了,这部分代码需要重写。 +* **蓝色**部分是FPGA内的 FOC 的固定算法,是**硬件无关逻辑**,一般不需要修改,是本库的核心代码! +* **黄色**部分是FPGA内的**用户自定逻辑**,用户可以修改 user behavior 来实现各种电机应用。或者修改 uart_monitor 来监测其它变量。 +* **淡橙色**部分是FPGA外部的硬件电路,也就是电机、电机驱动板、角度传感器这些东西。 + +另外,除了 fpga_top.v 中调用的 `altpll` 原语外,该库的所有代码都使用纯 RTL 编写,可以轻易地移植到其它厂商(Xilinx、Lattice等)的 FPGA 上。 + +  + +# RTL仿真 + +因为我并没有电机的 Verilog 模型,没法对整个 FOC 算法进行仿真,所以只对 FOC 中的部分模块进行了仿真。 + +仿真相关的文件都在 SIM 文件夹里,其中包括文件: + +| 文件名 | 功能 | +| --------------------------------- | ------------------------------------------------------------ | +| tb_clark_park_tr.v | 对 clark_tr.v (clark变换) 和 park_tr.v (park变换)的仿真程序 | +| tb_clark_park_tr_run_iverilog.bat | 用 iverilog 运行 tb_clark_park_tr.v 的命令脚本 | +| tb_svpwm.v | 对 cartesian2polar.v 和 svpwm.v 的仿真程序 | +| tb_svpwm_run_iverilog.bat | 用 iverilog 运行 tb_svpwm.v 的命令脚本 | + +使用 iverilog 仿真前,需要安装 iverilog ,见:[iverilog_usage](https://github.com/WangXuan95/WangXuan95/blob/main/iverilog_usage/iverilog_usage.md) + +## clark_tr和park_tr的仿真 + +我们先来运行 clark 变换和 park 变换的仿真。 + +双击 tb_clark_park_tr_run_iverilog.bat 可以直接运行仿真,运行完后会生成波形文件 dump.vcd 。请用 gtkwave 打开 dump.vcd ,导入**图4**中的这些信号,可以看到如**图4**的波形(需要你把这些信号改成模拟信号显示的形式,才能看得到**图4**这种效果:第一步,对于 Verilog 代码中声明为 signed 的信号(有符号数),需要右键该信号→Data Format→Signed Decimal。第二步,右键该信号→Data Format→Analog→Step ,即可把它变成如图的模拟信号的样子)。 + +对该**图4**波形的解读: + +- theta 是一个不断递增的角度(0→2π→0→2π→...) +- ia, ib, ic 是用 theta 生成的正弦波,相位各自相差 (2/3)*π (也就是说 ia, ib, ic)构成了三相正弦波。 +- 使用 clark 变换把 ia, ib, ic 变换成 ialpha, ibeta ,得到一对正交的正弦波(相位相差 π/2 )。 +- 使用 park 变换把 ialpha, ibeta 变换到定子坐标系,得到定值 id 和 iq (因为实际的计算误差,所以得到的是近似的定值,而不是严格的定值)。 + +| ![tb_clark_park_tr](./figures/tb_clark_park_tr.png) | +| :-------------------------------------------------: | +| **图4**:对 clark_tr 与 park_tr 仿真的波形。 | + +## cartesian2polar和svpwm的仿真 + +现在来运行 cartesian2polar (直角坐标转极坐标系)和 svpwm 的仿真。 + +双击 tb_svpwm_run_iverilog.bat 可以直接运行仿真,运行完后会生成波形文件 dump.vcd 。请用 gtkwave 打开 dump.vcd ,可以看到如**图5**的波形。 + +注意: pwma_duty、pwmb_duty、pwmc_duty 这三个信号不在顶层,你要在 svpwm 这个模块内才能找到这三个信号。 + +对**图5**波形的解读: + +- theta 是一个不断递增的角度(0→2π→0→2π→...) +- x 和 y 是用 theta 生成的正交的正弦波(或者说,y是正弦波,x是余弦波) +- 把 (x,y) 视作直角坐标值,然后 cartesian2polar 把它转换成极坐标系 (ρ, φ) ,也即 (rho, phi) +- 把 (rho, phi) 输给 svpwm ,产生了 pwma_duty、pwmb_duty、pwmc_duty 这三个马鞍波。如果你熟悉七段式 SVPWM 的原理,就应该知道为什么是马鞍波,这里不做赘述。 +- pwma_duty、pwmb_duty、pwmc_duty 分别决定了 pwm_a, pwm_b, pwm_c 的占空比(duty这个单词就是占空比的意思)。 + +| ![tb_svpwm](./figures/tb_svpwm.png) | +| :-----------------------------------------------: | +| **图5**:对 cartesian2polar 与 svpwm 仿真的波形。 | + +放大波形,可以看到确实是 duty 值越大,对应的 pwm 信号的占空比就越大,如**图6**。 + +| ![tb_svpwm_2](./figures/tb_svpwm_2.png) | +| :-------------------------------------: | +| **图6**:图5的放大。 | + +  + +# FAQ + +一些用户在读代码时向本人反馈了一些疑问,我将它们整理如下。 + +### 关于 PCB 设计 + +* **问**: **相电流低压侧3电阻采样需要运放放大电流信号才能作为AD输入,但你[开源的PCB]((https://oshwhub.com/wangxuan/arduino-foc-shield))似乎找不到运放放大?** +* **答**: 我[开源的PCB](https://oshwhub.com/wangxuan/arduino-foc-shield)使用了一体化的三相无刷电机驱动芯片MP6540(U1),3相电流采样电阻和放大器是集成在里面的。请注意MP6540的 SOA, SOB, SOC 三个引脚,它们就是三相电流放大后的电压输出。 + + +### 关于 FOC 中的数学计算 + +* **问**: **三电阻采样后的电流重构的那部分代码如何理解?为什么 ia = ADCb + ADCc - 2*ADCa ?** +* **答**: 我们知道电机的相电流 ia, ib, ic 是双极性的(即有正有负的,分别代表流出电机和流入电机),但我们常用的ADC往往都是单极性的(即只能采样正电压)。那么,相电流采样-放大电路就必须考虑双极性到单极性的转换问题,工程上用的方法往往都是反向放大加偏置(包括MP6540内置采样-放大电路也是这种方案),它输出给ADC的电压遵循公式: + ADCa = -R × ia + Voff + ADCb = -R × ib + Voff + ADCc = -R × ic + Voff + 其中 R 是放大系数(R>0,也叫跨阻放大系数,因为 R 的量纲和电阻一样),因为反向放大所以加了负号。Voff 是偏置电压,以此保证 ADCa, ADCb, ADCc 是单极性的。另外又有基尔霍夫电流定律(KCL): + ia + ib + ic = 0 + 联立以上公式,推出: + 3 * Voff = ADCa + ADCb + ADCc + 令 R = 1/(3*k) ,于是: + ia = (Voff - ADCa) / R + = k × (3 * Voff - 3 × ADCa) + = k × (ADCa + ADCb + ADCc - 3 × ADCa) + = k × (ADCb + ADCc - 2×ADCa) + 于是就有了你问的 ia = ADCb + ADCc - 2×ADCa 。 你肯定会疑惑,系数 k 哪儿去了?这个并不在乎,因为整个FOC都是线性系统,通过调整PID参数,能跑就行,系数只在理论分析时有用。 + +* **问** : **你的程序里是不是都没有在乎系数K,包括clark变换中得到的Iα和Iβ和ia、ib、ic也并没有满足严格的公式关系,程序中得到的Iα和Iβ是理论值的2倍。这是不是也可以用调整PID参数的思想来解释?** +* **答**: 是的,我很多地方的代码也与理论公式的系数不同,比如 clark 变换公式本来是: + Iα = Ia - Ib/2 - Ic/2 + Iβ = √3/2 * (Ib - Ic) + 我多乘了个2: + Iα = 2 * Ia - Ib - Ic + Iβ = √3 * (Ib - Ic) + 这是出于避免整数计算的截断导致的数据位丢失,比如 Ib/2 就会让 Ib 的最低 bit 丢失。不过实际上这种小误差基本不会影响控制质量。这种系数问题可以通过 PID 调参来消除。 + +* **问**: **你的代码中的 cartesian2polar.v 是把电压矢量从转子直角坐标系 (Vd, Vq) 变换到转子极坐标系 (Vrρ, Vrθ),目的是什么?** +* **答**: 书上一般会说 SVPWM 模块输入的是定子直角坐标系下的电压,但我实现的 SVPWM 输入的是定子极坐标系下的电压,两种方法在数学上是等价的。而且 SVPWM 在 FPGA 里用查找表(ROM)实现,因此两种方法对电路复杂度影响不大。另外,输入极坐标系的 SVPWM 还带来 2 个好处和 1 个代价,好处 1 是更方便在开发过程中让电机开环地转起来(只需要让角度递增即可)。好处 2 是极坐标系下的 park 变换更简单,只需要用电压在转子坐标系中的角度减去电角度就能得到电压在定子坐标系中的角度。 代价是需要在 PID 的后面、park 变换的前面实现一个直角坐标系转极坐标系的运算,即 cartesian2polar.v + +### 关于 ADC 采样时机 + +* **问**: **AD7928只有一个T/H(采样保持器),也就意味着这个AD一次只能保持一个通道的数据,也就是说当通道1 打开的时候采集A相的电流,然后采集完再打开通道2采集B相的电流,那么这并不是一个同步采集的过程,如何实现AD采样三相电流的同步输出?** +* **答**: 在电流采样问题上,我们与大多数 FOC 方案相同,因为 MP6540 里的采样电阻在下桥臂,所以规定 SVPWM 在每个控制周期(约 55us,对应频率18kHz)内至少有一段时间里 3 相都是下通上闭,称为采样窗口。FOC的基础振幅(也就是 foc_top.v 里的 MAX_AMP 参数)越大,采样窗口越短。当 MAX_AMP=9'd511 (最大值) 时,采样窗口长度就是 0 了。而默认的 MAX_AMP=9'd384 大概会让采样窗口长度为十几us。 +AD7928 只有一个T/H,所以采样窗口内要做 3 次采样,这个过程是 hold_detect.v 和 adc_ad7928.v 共同控制的,hold_detect.v负责在采样窗口开始时延迟一段时间(来让电流趋于稳定)后发出 sn_adc 信号脉冲,来告诉 adc_ad7928.v 可以开始工作了(可以通过 foc_top.v 里的 SAMPLE_DELAY 来调整该延迟)。然后 adc_ad7928.v 内部就会自动串行地完成 3 个通道的采样,最后再同步提交3个采样结果(提交的同时产生 o_en_adc 信号脉冲)。注意adc_ad7928.v是一个通用的 AD7928 控制器,每收到一个 i_sn_adc 信号脉冲,就进行一系列串行采样。其中采样多少次,每次采样哪一个通道,都可以通过 adc_ad7928.v 里的 parameter 来配置。所有通道采样结束后,产生o_en_adc信号脉冲,同时同步提交所有通道的结果。 +我把 foc_top.v 用来连接 ADC控制器的接口(也就是sn_adc, en_adc, adc_a, adc_b, adc_c 这几个信号)设计成同步读入3通道数据,是出于通用性、简约性和可移植性的原则考虑,因为这样的同步读入接口是 ADC 的一种高度抽象,最容易让人理解其时序(即,sn_adc脉冲命令ADC控制器开始工作。en_adc指示ADC读取器结束工作,同时 adc_a, adc_b, adc_c 上产生结果)。如果用户用了其它 ADC 型号,只需按照这个时序的抽象来具象地编写 ADC 控制器即可,而 foc_top.v 并不关心拟用的是1个串行的ADC还是3个并行的ADC,反正你都要给我同步提交。当然,用户必须自己算好 hold_detect.v 的延时 + ADC 采样三个通道(也即 sn_adc 脉冲和 en_adc 脉冲的时间差) 是小于采样窗口的长度的。 + + +* **问**: **进行串行采样的时候不会出现这样的问题:第一个时钟周期采到的是A相的电流,第2个时钟周期采的是B相,第3个时钟周期采到的是C相,而我们知道相电流是正弦变化的,这三个时钟周期采的A B C 三相电流并不是同一时刻的相电流,因此这将产生误差,而时钟周期是很短的,是不是产生的误差几乎可以忽略不计呢?** +* **答**: 首先指正一个不准确的地方, AD7928 的接口是 SPI (一种串行接口),其采样是多个时钟周期(而不是一个时钟周期)内完成的。因此三相的采样间隔是几十个时钟周期(具体数字我忘了,你可以仿真确定一下)。 +虽然不同步,但3相的采样毕竟都是在同一个控制周期的采样窗口(几微秒)内。而相电流的变化通常以控制周期(即几十微秒)为尺度变化,例如 3000r/min(50r/s)的转子,若极对数=7,其相电流是350Hz(周期28ms)的正弦波,其变化在几微秒内是可以忽略的。 + +  + +# 参考资料 + +* [1] [Sensorless FOC for PMSM](https://www.microchip.com/stellent/groups/SiteComm_sg/documents/Training_Tutorials/en532365.pdf), MicroChip. +* [2] [Current sensing in BLDC motor application](https://www.st.com/resource/en/application_note/dm00666970-current-sensing-in-bldc-motor-application-stmicroelectronics.pdf), ST. +* [3] [Center-Aligned SVPWM Realization](https://www.ti.com/lit/an/sprabs6/sprabs6.pdf), TI +* [4] [MP6540, 3-phase, brushless DC motor drivers](https://www.monolithicpower.com/en/mp6540-mp6540a.html), MPS. +* [5] [AD7928, 8-Channel, 1 MSPS, 12-Bit ADC](https://www.analog.com/en/products/ad7928.html), Analog Devices. +* [6] [深入浅出讲解FOC算法与SVPWM技术](https://zhuanlan.zhihu.com/p/147659820), 稚晖 - 知乎 +* [7] [如何从零开始写一套自己的FOC矢量控制程序](https://zhuanlan.zhihu.com/p/103758450?utm_source=qzone), 上官致远 - 知乎 +* [8] [STM32电动机控制应用系列讲座](https://www.bilibili.com/video/BV1vT4y1j7kc) +* [9] [BLDC电机基础](https://www.bilibili.com/video/BV1TW411d7k6) + + + diff --git a/RTL/adc_ad7928.sv b/RTL/adc_ad7928.v similarity index 82% rename from RTL/adc_ad7928.sv rename to RTL/adc_ad7928.v index 5563abe..800111c 100644 --- a/RTL/adc_ad7928.sv +++ b/RTL/adc_ad7928.v @@ -1,10 +1,12 @@ +//-------------------------------------------------------------------------------------------------------- // 模块: adc_ad7928 // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能:通过 SPI 接口从 ADC7928 (ADC芯片) 中读出 ADC 值。 // 参数:详见下方注释,该模块可以使用参数完全自由地配置单次转换要用多少个通道以及用哪些通道 // 输入输出:详见下方注释 +//-------------------------------------------------------------------------------------------------------- module adc_ad7928 #( parameter [2:0] CH_CNT = 3'd7, // 单次 ADC 转换使用的通道数为 CH_CNT+1,例如若 CH_CNT=0,则只使用 CH0 。若 CH_CNT=2,则使用 CH0,CH1,CH2。 若 CH_CNT=7,则使用 CH0,CH1,CH2,CH3,CH4,CH5,CH6,CH7。用的通道越多,ADC转换时延越长(即从 sn_adc 到 en_adc 之间的时间差越长) @@ -39,7 +41,7 @@ module adc_ad7928 #( localparam WAIT_CNT = 8'd6; -wire [2:0] channels [8]; +wire [2:0] channels [0:7]; assign channels[0] = CH0; assign channels[1] = CH1; assign channels[2] = CH2; @@ -56,7 +58,7 @@ reg [11:0] wshift; reg nfirst; reg [11:0] data_in_latch; reg sck_pre; -reg [11:0] ch_value [8]; +reg [11:0] ch_value [0:7]; assign o_adc_value0 = ch_value[0]; assign o_adc_value1 = ch_value[1]; @@ -75,15 +77,15 @@ always @ (posedge clk or negedge rstn) always @ (posedge clk or negedge rstn) if(~rstn) begin - cnt <= '0; + cnt <= 0; idx <= 3'd7; addr <= 3'd0; - wshift <= '1; - {spi_ss, sck_pre, spi_mosi} <= '1; + wshift <= 12'hFFF; + {spi_ss, sck_pre, spi_mosi} <= 3'b111; end else begin if(cnt==8'd0) begin - {spi_ss, sck_pre, spi_mosi} <= '1; - if(idx!='0) begin + {spi_ss, sck_pre, spi_mosi} <= 3'b111; + if(idx != 3'd0) begin cnt <= 8'd1; idx <= idx - 3'd1; end else if(i_sn_adc) begin @@ -91,15 +93,15 @@ always @ (posedge clk or negedge rstn) idx <= CH_CNT; end end else if(cnt==8'd1) begin - {spi_ss, sck_pre, spi_mosi} <= '1; - addr <= (idx=='0) ? CH_CNT : idx - 3'd1; + {spi_ss, sck_pre, spi_mosi} <= 3'b111; + addr <= (idx == 3'd0) ? CH_CNT : idx - 3'd1; cnt <= cnt + 8'd1; end else if(cnt==8'd2) begin - {spi_ss, sck_pre, spi_mosi} <= '1; + {spi_ss, sck_pre, spi_mosi} <= 3'b111; wshift <= {1'b1, 1'b0, 1'b0, channels[addr], 2'b11, 1'b0, 1'b0, 2'b11}; cnt <= cnt + 8'd1; end else if(cnt=WAIT_CNT+8'd2 && cnt> ATTENUAION; always @ (posedge clk or negedge rstn) if(~rstn) begin - cnt <= '0; - {signx, signy, signxy, absx, absy, smtb, smta, accb, acca} <= '0; - {a, theta, amp} <= '0; - {o_en, o_rho, o_theta} <= '0; + cnt <= 0; + {signx, signy, signxy, absx, absy, smtb, smta, accb, acca} <= 0; + {a, theta, amp} <= 0; + {o_en, o_rho, o_theta} <= 0; end else begin o_en <= 1'b0; if(cnt==5'd0) begin - accb <= '0; - acca <= '0; - signx <= i_x<$signed(16'd0); - signy <= i_y<$signed(16'd0); - absx <= i_x<$signed(16'd0) ? -i_x : i_x; - absy <= i_y<$signed(16'd0) ? -i_y : i_y; + accb <= 0; + acca <= 0; + signx <= (i_x < $signed(16'd0)); + signy <= (i_y < $signed(16'd0)); + absx <= (i_x < $signed(16'd0)) ? -i_x : i_x; + absy <= (i_y < $signed(16'd0)) ? -i_y : i_y; if(i_en) cnt <= 5'd30; end else begin diff --git a/RTL/foc/clark_tr.sv b/RTL/foc/clark_tr.v similarity index 83% rename from RTL/foc/clark_tr.sv rename to RTL/foc/clark_tr.v index d99c426..f404a5f 100644 --- a/RTL/foc/clark_tr.sv +++ b/RTL/foc/clark_tr.v @@ -1,8 +1,10 @@ -// clark_tr +//-------------------------------------------------------------------------------------------------------- +// 模块: clark_tr // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能: clark 变换 +//-------------------------------------------------------------------------------------------------------- module clark_tr( input wire rstn, @@ -24,7 +26,7 @@ reg signed [15:0] ialpha_s2, i_beta1_s2, i_beta2_s2, i_beta3_s2; // pipeline stage 1 always @ (posedge clk or negedge rstn) if(~rstn) begin - {en_s1, ax2_s1, bmc_s1, bpc_s1} <= '0; + {en_s1, ax2_s1, bmc_s1, bpc_s1} <= 0; end else begin en_s1 <= i_en; ax2_s1 <= i_ia << 1; @@ -35,7 +37,7 @@ always @ (posedge clk or negedge rstn) // pipeline stage 2 always @ (posedge clk or negedge rstn) if(~rstn) begin - {en_s2, ialpha_s2, i_beta1_s2, i_beta2_s2, i_beta3_s2} <= '0; + {en_s2, ialpha_s2, i_beta1_s2, i_beta2_s2, i_beta3_s2} <= 0; end else begin en_s2 <= en_s1; ialpha_s2 <= ax2_s1 - bpc_s1; diff --git a/RTL/foc/foc_top.sv b/RTL/foc/foc_top.v similarity index 92% rename from RTL/foc/foc_top.sv rename to RTL/foc/foc_top.v index adc7aef..3b590be 100644 --- a/RTL/foc/foc_top.sv +++ b/RTL/foc/foc_top.v @@ -1,24 +1,27 @@ +//-------------------------------------------------------------------------------------------------------- // 模块: foc_top // Type : synthesizable, IP's top -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能:FOC 算法(仅包含电流环) + SVPWM // 参数:详见下方注释 // 输入输出:详见下方注释 +//-------------------------------------------------------------------------------------------------------- module foc_top #( // ----------------------------------------------- 模块参数 --------------------------------------------------------------------------------------------------------------------------------------------------- - parameter INIT_CYCLES = 16777216, // 决定了初始化步骤占多少个时钟(clk)周期,取值范围为1~4294967294。该值不能太短,因为要留足够的时间让转子回归电角度=0。例如若时钟(clk)频率为 36.864MHz,INIT_CYCLES=16777216,则初始化时间为 16777216/36864000=0.45 秒 - parameter logic ANGLE_INV = 1'b0, // 若角度传感器没装反(A->B->C->A 的旋转方向与 φ 增大的方向相同),则该参数应设为 0。若角度传感器装反了(A->B->C->A 的旋转方向与 φ 增大的方向相反),则该参数应设为 1。 - parameter logic [ 7:0] POLE_PAIR = 8'd7, // 电机极对数 (简记为N),取值范围1~255,根据电机型号决定。(电角度ψ = 极对数N * 机械角度φ) - parameter logic [ 8:0] MAX_AMP = 9'd384, // SVPWM 的最大振幅,取值范围为1~511,该值越小,电机能达到的最大力矩越小;但考虑到使用3相下桥臂电阻采样法来采样电流,该值也不能太大,以保证3个下桥臂有足够的持续导通时间来供ADC进行采样。 - parameter logic [ 8:0] SAMPLE_DELAY = 9'd120, // 采样延时,取值范围0~511,考虑到3相的驱动 MOS 管从开始导通到电流稳定需要一定的时间,所以从3个下桥臂都导通,到 ADC 采样时刻之间需要一定的延时。该参数决定了该延时是多少个时钟周期,当延时结束时,该模块在 sn_adc 信号上产生一个高电平脉冲,指示外部 ADC “可以采样了” - parameter logic [23:0] Kp = 24'd32768,// 电流环 PID 控制算法的 P 参数 - parameter logic [23:0] Ki = 24'd2 // 电流环 PID 控制算法的 I 参数 + parameter INIT_CYCLES = 16777216, // 决定了初始化步骤占多少个时钟(clk)周期,取值范围为1~4294967294。该值不能太短,因为要留足够的时间让转子回归电角度=0。例如若时钟(clk)频率为 36.864MHz,INIT_CYCLES=16777216,则初始化时间为 16777216/36864000=0.45 秒 + parameter ANGLE_INV = 0, // 若角度传感器没装反(A->B->C->A 的旋转方向与 φ 增大的方向相同),则该参数应设为 0。若角度传感器装反了(A->B->C->A 的旋转方向与 φ 增大的方向相反),则该参数应设为 1。 + parameter [ 7:0] POLE_PAIR = 8'd7, // 电机极对数 (简记为N),取值范围1~255,根据电机型号决定。(电角度ψ = 极对数N * 机械角度φ) + parameter [ 8:0] MAX_AMP = 9'd384, // SVPWM 的最大振幅,取值范围为1~511,该值越小,电机能达到的最大力矩越小;但考虑到使用3相下桥臂电阻采样法来采样电流,该值也不能太大,以保证3个下桥臂有足够的持续导通时间来供ADC进行采样。 + parameter [ 8:0] SAMPLE_DELAY = 9'd120 // 采样延时,取值范围0~511,考虑到3相的驱动 MOS 管从开始导通到电流稳定需要一定的时间,所以从3个下桥臂都导通,到 ADC 采样时刻之间需要一定的延时。该参数决定了该延时是多少个时钟周期,当延时结束时,该模块在 sn_adc 信号上产生一个高电平脉冲,指示外部 ADC “可以采样了” ) ( // ----------------------------------------------- 驱动时钟和复位 --------------------------------------------------------------------------------------------------------------------------------------------- input wire rstn, // 复位信号,应该先拉低来对模块进行复位,然后一直保持高电平来让模块正常工作。 input wire clk, // 时钟信号,频率可取几十MHz。控制频率 = 时钟频率 / 2048。比如若时钟频率为 36.864MHz ,那么控制频率为 36.864MHz/2048=18kHz。(控制频率 = 3相电流采样的采样率 = PID算法的控制频率 = SVPWM占空比的更新频率) + // ----------------------------------------------- PI 参数 ---------------------------------------------------------------------------------------------------------------------------------------------------- + input wire [30:0] Kp, + input wire [30:0] Ki, // ----------------------------------------------- 角度传感器输入信号 ----------------------------------------------------------------------------------------------------------------------------------------- input wire [11:0] phi, // 角度传感器输入(机械角度,简记为φ),取值范围0~4095。0对应0°;1024对应90°;2048对应180°;3072对应270°。 // ----------------------------------------------- 3相电流 ADC 采样时刻控制信号 和采样结果输入信号 ------------------------------------------------------------------------------------------------------------ @@ -73,13 +76,13 @@ reg [11:0] vs_theta; // 定子极坐标系上的电压矢量的角 generate if(ANGLE_INV) begin // 如果角度传感器装反了 always @ (posedge clk or negedge init_done) if(~init_done) - psi <= '0; + psi <= 0; else psi <= {4'h0, POLE_PAIR} * (init_phi - phi); // ψ = -N * (φ - Φ) end else begin // 如果角度传感器没装反 always @ (posedge clk or negedge init_done) if(~init_done) - psi <= '0; + psi <= 0; else psi <= {4'h0, POLE_PAIR} * (phi - init_phi); // ψ = N * (φ - Φ) end endgenerate @@ -95,7 +98,7 @@ end endgenerate // 输出更新:ADC 每采样完成一次(即en_adc每产生一次高电平脉冲)后更新一次,即更新频率 = 控制周期,更新后 en_iabc 产生一个时钟周期的高电平脉冲 always @ (posedge clk or negedge init_done) if(~init_done) begin - {en_iabc, ia, ib, ic} <= '0; + {en_iabc, ia, ib, ic} <= 0; end else begin en_iabc <= en_adc; if(en_adc) begin @@ -113,7 +116,7 @@ always @ (posedge clk or negedge init_done) // 计算公式:Iα = 2 * Ia - Ib - Ic // Iβ = √3 * (Ib - Ic) // 输出更新:en_iabc 每产生一个高电平脉冲后的若干周期后 Iα, Iβ 更新,同时 en_ialphabeta 产生一个时钟周期的高电平脉冲,即更新频率 = 控制周期 -clark_tr clark_tr_i( +clark_tr u_clark_tr ( .rstn ( init_done ), .clk ( clk ), .i_en ( en_iabc ), @@ -134,7 +137,7 @@ clark_tr clark_tr_i( // 计算公式:Id = Iα * cosψ + Iβ * sinψ; // Iq = Iβ * cosψ - Iα * sinψ; // 输出更新:en_ialphabeta 每产生一个高电平脉冲后的若干周期后 Id, Iq 更新,同时 en_idq 产生一个时钟周期的高电平脉冲,即更新频率 = 控制周期 -park_tr park_tr_i ( +park_tr u_park_tr ( .rstn ( init_done ), .clk ( clk ), .psi ( psi ), // input : ψ @@ -154,13 +157,12 @@ park_tr park_tr_i ( // 输出 :电压矢量在d轴上的分量(vd) // 原理 :PID 控制(实际上没有D,只有P和I) // 输出更新:en_idq 每产生一个高电平脉冲后的若干周期后 Vd 更新,即更新频率 = 控制周期 -pi_controller #( - .Kp ( Kp ), - .Ki ( Ki ) -) pi_id_i ( +pi_controller u_id_pi ( .rstn ( init_done ), .clk ( clk ), .i_en ( en_idq ), + .i_Kp ( Kp ), + .i_Ki ( Ki ), .i_aim ( id_aim ), // input : Idaim .i_real ( id ), // input : Id .o_en ( ), @@ -175,13 +177,12 @@ pi_controller #( // 输出 :电压矢量在q轴上的分量(vq) // 原理 :PID 控制(实际上没有D,只有P和I) // 输出更新:en_idq 每产生一个高电平脉冲后的若干周期后 Vq 更新,即更新频率 = 控制周期 -pi_controller #( - .Kp ( Kp ), - .Ki ( Ki ) -) pi_iq_i ( +pi_controller u_iq_pi ( .rstn ( init_done ), .clk ( clk ), .i_en ( en_idq ), + .i_Kp ( Kp ), + .i_Ki ( Ki ), .i_aim ( iq_aim ), // input : Iqaim .i_real ( iq ), // input : Iq .o_en ( ), @@ -196,7 +197,7 @@ pi_controller #( // 输出 :电压矢量在转子极坐标系上的幅值(Vrρ) // 原理 :电压矢量在转子极坐标系上的角度(Vrθ) // 输出更新:Vd, Vq 每产生变化的若干周期后 Vrρ 和 Vrθ 更新,更新频率 = 控制周期 -cartesian2polar cartesian2polar_i ( +cartesian2polar u_cartesian2polar ( .rstn ( init_done ), .clk ( clk ), .i_en ( 1'b1 ), @@ -216,9 +217,9 @@ cartesian2polar cartesian2polar_i ( // 输出 :Φ,Vsρ, Vsθ,init_done always @ (posedge clk or negedge rstn) if(~rstn) begin - {vs_rho, vs_theta} <= '0; - init_cnt <= '0; - init_phi <= '0; + {vs_rho, vs_theta} <= 0; + init_cnt <= 0; + init_phi <= 0; init_done <= 1'b0; end else begin if(init_cnt<=INIT_CYCLES) begin // 若 init_cnt 计数变量 <= INIT_CYCLES ,则初始化未完成 @@ -242,7 +243,7 @@ always @ (posedge clk or negedge rstn) // 输出 :PWM使能信号 pwm_en // 3相PWM信号 pwm_a, pwm_b, pwm_c // 说明 :该模块产生的 PWM 的频率是 clk 频率 / 2048。例如 clk 为 36.864MHz ,则 PWM 的频率为 36.864MHz / 2048 = 18kHz -svpwm svpwm_i ( +svpwm u_svpwm ( .rstn ( rstn ), .clk ( clk ), .v_amp ( MAX_AMP ), @@ -262,7 +263,7 @@ svpwm svpwm_i ( // 原理 :该模块检测 pwm_a, pwm_b, pwm_c 均为低电平的时刻,并延迟 SAMPLE_DELAY 的时钟周期,在 sn_adc 信号上产生一个时钟周期的高电平。 hold_detect #( .SAMPLE_DELAY ( SAMPLE_DELAY ) -) adc_sn_ctrl_i ( +) u_adc_sn_ctrl ( .rstn ( init_done ), .clk ( clk ), .in ( ~pwm_a & ~pwm_b & ~pwm_c ), // input : 当 pwm_a, pwm_b, pwm_c 均为低电平时=1,否则=0 diff --git a/RTL/foc/hold_detect.sv b/RTL/foc/hold_detect.v similarity index 74% rename from RTL/foc/hold_detect.sv rename to RTL/foc/hold_detect.v index ba4a732..fdc0b9d 100644 --- a/RTL/foc/hold_detect.sv +++ b/RTL/foc/hold_detect.v @@ -1,8 +1,10 @@ +//-------------------------------------------------------------------------------------------------------- // 模块: hold_detect // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能: 检测 in 从高电平变为低电平并保持 SAMPLE_DELAY 个时钟周期,在 sn_adc 信号上产生一个时钟周期的高电平。 +//-------------------------------------------------------------------------------------------------------- module hold_detect #( parameter [15:0] SAMPLE_DELAY = 16'd100 @@ -18,7 +20,7 @@ reg [15:0] cnt; always @ (posedge clk or negedge rstn) if(~rstn) - {latch1, latch2} <= '1; + {latch1, latch2} <= 2'b11; else {latch1, latch2} <= {in, latch1}; diff --git a/RTL/foc/park_tr.sv b/RTL/foc/park_tr.v similarity index 71% rename from RTL/foc/park_tr.sv rename to RTL/foc/park_tr.v index d0b738c..2dc5ba3 100644 --- a/RTL/foc/park_tr.sv +++ b/RTL/foc/park_tr.v @@ -1,8 +1,10 @@ +//-------------------------------------------------------------------------------------------------------- // 模块: park_tr // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能: park 变换器 +//-------------------------------------------------------------------------------------------------------- module park_tr( input wire rstn, @@ -14,7 +16,7 @@ module park_tr( output reg signed [15:0] o_id, o_iq ); -reg signed [15:0] sin_psi, cos_psi; // -1~+1 is mapped to -16384~+16384 +wire signed [15:0] sin_psi, cos_psi; // -1~+1 is mapped to -16384~+16384 reg en_s1; reg signed [31:0] alpha_cos, alpha_sin, beta_cos, beta_sin; @@ -22,7 +24,7 @@ reg signed [31:0] alpha_cos, alpha_sin, beta_cos, beta_sin; wire signed[31:0] ide = alpha_cos + beta_sin; wire signed[31:0] iqe = beta_cos - alpha_sin; -sincos sincos_i( +sincos u_sincos ( .rstn ( rstn ), .clk ( clk ), .i_en ( 1'b1 ), @@ -34,7 +36,7 @@ sincos sincos_i( always @ (posedge clk or negedge rstn) if(~rstn) begin - {en_s1, alpha_cos, alpha_sin, beta_cos, beta_sin} <= '0; + {en_s1, alpha_cos, alpha_sin, beta_cos, beta_sin} <= 0; end else begin en_s1 <= i_en; alpha_cos <= i_ialpha * cos_psi; @@ -45,7 +47,7 @@ always @ (posedge clk or negedge rstn) always @ (posedge clk or negedge rstn) if(~rstn) begin - {o_en, o_id, o_iq} <= '0; + {o_en, o_id, o_iq} <= 0; end else begin o_en <= en_s1; if(en_s1) begin diff --git a/RTL/foc/pi_controller.sv b/RTL/foc/pi_controller.sv deleted file mode 100644 index f5806a4..0000000 --- a/RTL/foc/pi_controller.sv +++ /dev/null @@ -1,106 +0,0 @@ - -// 模块: pi_controller -// Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) -// 功能: PI 控制器 - -module pi_controller #( - parameter logic [23:0] Kp = 24'd32768, - parameter logic [23:0] Ki = 24'd2 -) ( - input wire rstn, - input wire clk, - input wire i_en, - input wire signed [15:0] i_aim, - input wire signed [15:0] i_real, - output reg o_en, - output wire signed [15:0] o_value -); - -reg en1, en2, en3, en4; -reg signed [31:0] pdelta, idelta, kpdelta1, kpdelta, kidelta, kpidelta, value; - -assign o_value = value[31:16]; - -function automatic logic signed [31:0] protect_add(input logic signed [31:0] a, input logic signed [31:0] b); - automatic logic signed [32:0] y; - y = $signed({a[31],a}) + $signed({b[31],b}); - if( y > $signed(33'h7fffffff) ) - return $signed(32'h7fffffff); - else if(y < -$signed(33'h7fffffff) ) - return -$signed(32'h7fffffff); - else - return $signed(y[31:0]); -endfunction - -function automatic logic signed [31:0] protect_mul(input logic signed [31:0] a, input logic signed [24:0] b); - automatic logic signed [56:0] y; - y = a * b; - if( y > $signed(57'h7fffffff) ) - return $signed(32'h7fffffff); - else if(y < -$signed(57'h7fffffff) ) - return -$signed(32'h7fffffff); - else - return $signed(y[31:0]); -endfunction - -always @ (posedge clk or negedge rstn) - if(~rstn) begin - en1 <= 1'b0; - pdelta <= 0; - end else begin - en1 <= i_en; - if(i_en) begin - pdelta <= $signed({{16{i_aim[15]}},i_aim}) - $signed({{16{i_real[15]}},i_real}); - end - end - -always @ (posedge clk or negedge rstn) - if(~rstn) begin - en2 <= 1'b0; - kpdelta1 <= 0; - idelta <= 0; - end else begin - en2 <= en1; - if(en1) begin - kpdelta1 <= protect_mul(pdelta, $signed({1'b0,Kp}) ); - idelta <= protect_add(idelta, pdelta); - end - end - -always @ (posedge clk or negedge rstn) - if(~rstn) begin - en3 <= 1'b0; - kpdelta <= 0; - kidelta <= 0; - end else begin - en3 <= en2; - if(en2) begin - kpdelta <= kpdelta1; - kidelta <= protect_mul(idelta, $signed({1'b0,Ki}) ); - end - end - -always @ (posedge clk or negedge rstn) - if(~rstn) begin - en4 <= 1'b0; - kpidelta <= 0; - end else begin - en4 <= en3; - if(en3) begin - kpidelta <= protect_add(kpdelta, kidelta); - end - end - -always @ (posedge clk or negedge rstn) - if(~rstn) begin - o_en <= 1'b0; - value <= 0; - end else begin - o_en <= en4; - if(en4) begin - value <= protect_add(value, kpidelta); - end - end - -endmodule diff --git a/RTL/foc/pi_controller.v b/RTL/foc/pi_controller.v new file mode 100644 index 0000000..a1c6eff --- /dev/null +++ b/RTL/foc/pi_controller.v @@ -0,0 +1,132 @@ + +//-------------------------------------------------------------------------------------------------------- +// 模块: pi_controller +// Type : synthesizable +// Standard: Verilog 2001 (IEEE1364-2001) +// 功能: PI 控制器 +//-------------------------------------------------------------------------------------------------------- + +module pi_controller ( + input wire rstn, + input wire clk, + input wire i_en, + input wire [30:0] i_Kp, + input wire [30:0] i_Ki, + input wire signed [15:0] i_aim, + input wire signed [15:0] i_real, + output reg o_en, + output wire signed [15:0] o_value +); + +reg en1, en2, en3, en4; +reg signed [31:0] pdelta, idelta, kpdelta1, kpdelta, kidelta, kpidelta, value; +reg [30:0] Kp0=0, Ki0=0, Ki1=0; + +assign o_value = value[31:16]; + + +function signed [31:0] protect_add; + input signed [31:0] a, b; + reg signed [32:0] y; +//function automatic logic signed [31:0] protect_add(input logic signed [31:0] a, input logic signed [31:0] b); +// automatic logic signed [32:0] y; +begin + y = $signed({a[31],a}) + $signed({b[31],b}); + if( y > $signed(33'h7fffffff) ) + protect_add = $signed(32'h7fffffff); + else if(y < -$signed(33'h7fffffff) ) + protect_add = -$signed(32'h7fffffff); + else + protect_add = $signed(y[31:0]); +end +endfunction + + +function signed [31:0] protect_mul; + input signed [31:0] a, b; + reg signed [56:0] y; +//function automatic logic signed [31:0] protect_mul(input logic signed [31:0] a, input logic signed [24:0] b); +// automatic logic signed [56:0] y; +begin + y = a * b; + if( y > $signed(57'h7fffffff) ) + protect_mul = $signed(32'h7fffffff); + else if(y < -$signed(57'h7fffffff) ) + protect_mul = -$signed(32'h7fffffff); + else + protect_mul = $signed(y[31:0]); +end +endfunction + + +always @ (posedge clk or negedge rstn) + if(~rstn) begin + en1 <= 1'b0; + en2 <= 1'b0; + en3 <= 1'b0; + en4 <= 1'b0; + o_en <= 1'b0; + end else begin + en1 <= i_en; + en2 <= en1; + en3 <= en2; + en4 <= en3; + o_en <= en4; + end + + +always @ (posedge clk or negedge rstn) + if(~rstn) begin + Kp0 <= 0; + Ki0 <= 0; + pdelta <= 0; + end else begin + if(i_en) begin + Kp0 <= i_Kp; + Ki0 <= i_Ki; + pdelta <= $signed({{16{i_aim[15]}},i_aim}) - $signed({{16{i_real[15]}},i_real}); // pdelta = i_aim - i_real + end + end + +always @ (posedge clk or negedge rstn) + if(~rstn) begin + Ki1 <= 0; + kpdelta1 <= 0; + idelta <= 0; + end else begin + if (en1) begin + Ki1 <= Ki0; + kpdelta1 <= protect_mul(pdelta, $signed({1'h0, Kp0}) ); // kpdelta1 = Kp * pdelta + idelta <= protect_add(idelta, pdelta); // idelta += (i_aim - i_real) that is: idelta = Σ pdelta + end + end + +always @ (posedge clk or negedge rstn) + if(~rstn) begin + kpdelta <= 0; + kidelta <= 0; + end else begin + if (en2) begin + kpdelta <= kpdelta1; // kpdelta = Kp * pdelta + kidelta <= protect_mul(idelta, $signed({1'h0, Ki1}) ); // kidelta = Ki * Σ pdelta + end + end + +always @ (posedge clk or negedge rstn) + if(~rstn) begin + kpidelta <= 0; + end else begin + if (en3) + kpidelta <= protect_add(kpdelta, kidelta); // kpidelta = Kp * pdelta + Ki * Σ pdelta + end + +always @ (posedge clk or negedge rstn) + if(~rstn) begin + value <= 0; + end else begin + if (en4) + value <= kpidelta; // modified at 20230609, now it is a stardard PID + // value <= protect_add(value, kpidelta); // + end + +endmodule diff --git a/RTL/foc/sincos.sv b/RTL/foc/sincos.v similarity index 93% rename from RTL/foc/sincos.sv rename to RTL/foc/sincos.v index d528806..79377f6 100644 --- a/RTL/foc/sincos.sv +++ b/RTL/foc/sincos.v @@ -1,10 +1,12 @@ +//-------------------------------------------------------------------------------------------------------- // 模块:sincos // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能: 计算 sin 和 cos // 在 i_theta 上给出角度(0~π被映射为0~4095), // 在 o_sin 和 o_cos 上产生 sinθ 和 cosθ (-1~+1 被映射为 -16384~+16384) +//-------------------------------------------------------------------------------------------------------- module sincos( input wire rstn, @@ -15,7 +17,15 @@ module sincos( output reg signed [15:0] o_sin, o_cos // -1~+1 is mapped to -16384~+16384 ); -enum logic [2:0] {IDLE, S1, S2, S3, S4, S5} stat; + +localparam [2:0] IDLE = 3'd0, + S1 = 3'd1, + S2 = 3'd2, + S3 = 3'd3, + S4 = 3'd4, + S5 = 3'd5; + +reg [ 2:0] stat; reg [11:0] theta_a, theta_b; reg cos_z, cos_s, sin_z, sin_s; @@ -26,11 +36,11 @@ reg signed [15:0] cos_tmp; always @ (posedge clk or negedge rstn) if(~rstn) begin stat <= IDLE; - {theta_a, theta_b} <= '0; - {cos_z, cos_s, sin_z, sin_s} <= '0; - rom_x <= '0; - cos_tmp <= '0; - {o_en, o_sin, o_cos} <= '0; + {theta_a, theta_b} <= 0; + {cos_z, cos_s, sin_z, sin_s} <= 0; + rom_x <= 0; + cos_tmp <= 0; + {o_en, o_sin, o_cos} <= 0; end else begin o_en <= 1'b0; case(stat) @@ -73,7 +83,7 @@ always @ (posedge clk or negedge rstn) S3: begin stat <= S4; if(cos_z) - cos_tmp <= '0; + cos_tmp <= 0; else if(cos_s) cos_tmp <= -$signed({1'b0,rom_y}); else @@ -84,13 +94,14 @@ always @ (posedge clk or negedge rstn) o_en <= 1'b1; o_cos <= cos_tmp; if(sin_z) - o_sin <= '0; + o_sin <= 0; else if(sin_s) o_sin <= -$signed({1'b0,rom_y}); else o_sin <= $signed({1'b0,rom_y}); end - S5: stat <= IDLE; + default: // S5: + stat <= IDLE; endcase end diff --git a/RTL/foc/svpwm.sv b/RTL/foc/svpwm.v similarity index 93% rename from RTL/foc/svpwm.sv rename to RTL/foc/svpwm.v index 9f8eba2..09cee5c 100644 --- a/RTL/foc/svpwm.sv +++ b/RTL/foc/svpwm.v @@ -1,12 +1,14 @@ +//-------------------------------------------------------------------------------------------------------- // 模块:svpwm // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能:7 段式 SVPWM 生成器(调制器) // 输入:定子极坐标系下的电压矢量 Vsρ, Vsθ // 输出:PWM使能信号 pwm_en // 3相PWM信号 pwm_a, pwm_b, pwm_c // 说明:该模块产生的 PWM 的频率是 clk 频率 / 2048。例如 clk 为 36.864MHz ,则 PWM 的频率为 36.864MHz / 2048 = 18kHz +//-------------------------------------------------------------------------------------------------------- module svpwm ( input wire rstn, @@ -35,25 +37,25 @@ reg pwm_act; always @ (posedge clk or negedge rstn) if(~rstn) - mul_o <= '0; + mul_o <= 12'd0; else mul_o <= mul_y[20:9]; always @ (posedge clk or negedge rstn) if(~rstn) - cnt <= '0; + cnt <= 11'd0; else cnt <= cnt + 11'd1; always @ (posedge clk or negedge rstn) if(~rstn) begin - rom_x <= '0; - mul_i1 <= '0; - mul_i2 <= '0; - {sya, syb, syc} <= '0; - {ya, yb} <= '0; - {pwma_duty, pwmb_duty, pwmc_duty} <= '0; - {pwma_lb, pwma_ub, pwmb_lb, pwmb_ub, pwmc_lb, pwmc_ub} <= '0; + rom_x <= 0; + mul_i1 <= 0; + mul_i2 <= 0; + {sya, syb, syc} <= 0; + {ya, yb} <= 0; + {pwma_duty, pwmb_duty, pwmc_duty} <= 0; + {pwma_lb, pwma_ub, pwmb_lb, pwmb_ub, pwmc_lb, pwmc_ub} <= 0; pwm_act <= 1'b0; end else begin if(cnt==11'd2041-ROM_LATENCY) begin diff --git a/RTL/fpga_top.sv b/RTL/fpga_top.v similarity index 80% rename from RTL/fpga_top.sv rename to RTL/fpga_top.v index f807c06..12b59af 100644 --- a/RTL/fpga_top.sv +++ b/RTL/fpga_top.v @@ -1,10 +1,12 @@ +//-------------------------------------------------------------------------------------------------------- // fpga_top // Type : synthesizable, FPGA's top -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能:FOC 使用示例,是FPGA工程的顶层模块,控制电机的切向力矩一会顺时针一会逆时针,同时可以通过 UART 监测电流环控制的跟随曲线 // 参数:无 // 输入输出:详见下方注释 +//-------------------------------------------------------------------------------------------------------- module fpga_top ( input wire clk_50m, // 连接 50MHz 晶振 @@ -25,6 +27,7 @@ module fpga_top ( output wire uart_tx ); + wire rstn; // 复位信号,初始为0,当PLL锁相成功后置1。 wire clk; // 时钟信号,频率可取几十MHz。控制频率 = 时钟频率 / 2048。比如本例取时钟频率为 36.864MHz ,那么控制频率为 36.864MHz/2048=18kHz。(控制频率 = 3相电流采样的采样率 = PID算法的控制频率 = SVPWM占空比的更新频率) @@ -47,9 +50,9 @@ reg signed [15:0] iq_aim; // 转子 q 轴(交轴)的目标电流值, // PLL,用 50MHz 时钟(clk_50m)产生 36.864 MHz 时钟(clk) // 注:该模块仅适用于 Altera Cyclone IV FPGA ,对于其他厂家或系列的FPGA,请使用各自相同效果的IP核/原语(例如Xilinx的clock wizard)代替该模块。 wire [3:0] subwire0; -altpll altpll_i ( .inclk ( {1'b0, clk_50m} ), .clk ( {subwire0, clk} ), .locked ( rstn ), .activeclock (), .areset (1'b0), .clkbad (), .clkena ({6{1'b1}}), .clkloss (), .clkswitch (1'b0), .configupdate (1'b0), .enable0 (), .enable1 (), .extclk (), .extclkena ({4{1'b1}}), .fbin (1'b1), .fbmimicbidir (), .fbout (), .fref (), .icdrclk (), .pfdena (1'b1), .phasecounterselect ({4{1'b1}}), .phasedone (), .phasestep (1'b1), .phaseupdown (1'b1), .pllena (1'b1), .scanaclr (1'b0), .scanclk (1'b0), .scanclkena (1'b1), .scandata (1'b0), .scandataout (), .scandone (), .scanread (1'b0), .scanwrite (1'b0), .sclkout0 (), .sclkout1 (), .vcooverrange (), .vcounderrange ()); -defparam altpll_i.bandwidth_type = "AUTO", altpll_i.clk0_divide_by = 99, altpll_i.clk0_duty_cycle = 50, altpll_i.clk0_multiply_by = 73, altpll_i.clk0_phase_shift = "0", altpll_i.compensate_clock = "CLK0", altpll_i.inclk0_input_frequency = 20000, altpll_i.intended_device_family = "Cyclone IV E", altpll_i.lpm_hint = "CBX_MODULE_PREFIX=pll", altpll_i.lpm_type = "altpll", altpll_i.operation_mode = "NORMAL", altpll_i.pll_type = "AUTO", altpll_i.port_activeclock = "PORT_UNUSED", altpll_i.port_areset = "PORT_UNUSED", altpll_i.port_clkbad0 = "PORT_UNUSED", altpll_i.port_clkbad1 = "PORT_UNUSED", altpll_i.port_clkloss = "PORT_UNUSED", altpll_i.port_clkswitch = "PORT_UNUSED", altpll_i.port_configupdate = "PORT_UNUSED", altpll_i.port_fbin = "PORT_UNUSED", altpll_i.port_inclk0 = "PORT_USED", altpll_i.port_inclk1 = "PORT_UNUSED", altpll_i.port_locked = "PORT_USED", altpll_i.port_pfdena = "PORT_UNUSED", altpll_i.port_phasecounterselect = "PORT_UNUSED", altpll_i.port_phasedone = "PORT_UNUSED", altpll_i.port_phasestep = "PORT_UNUSED", altpll_i.port_phaseupdown = "PORT_UNUSED", altpll_i.port_pllena = "PORT_UNUSED", altpll_i.port_scanaclr = "PORT_UNUSED", altpll_i.port_scanclk = "PORT_UNUSED", altpll_i.port_scanclkena = "PORT_UNUSED", altpll_i.port_scandata = "PORT_UNUSED", altpll_i.port_scandataout = "PORT_UNUSED", altpll_i.port_scandone = "PORT_UNUSED", altpll_i.port_scanread = "PORT_UNUSED", altpll_i.port_scanwrite = "PORT_UNUSED", altpll_i.port_clk0 = "PORT_USED", altpll_i.port_clk1 = "PORT_UNUSED", altpll_i.port_clk2 = "PORT_UNUSED", altpll_i.port_clk3 = "PORT_UNUSED", altpll_i.port_clk4 = "PORT_UNUSED", altpll_i.port_clk5 = "PORT_UNUSED", altpll_i.port_clkena0 = "PORT_UNUSED", altpll_i.port_clkena1 = "PORT_UNUSED", altpll_i.port_clkena2 = "PORT_UNUSED", altpll_i.port_clkena3 = "PORT_UNUSED", altpll_i.port_clkena4 = "PORT_UNUSED", altpll_i.port_clkena5 = "PORT_UNUSED", altpll_i.port_extclk0 = "PORT_UNUSED", altpll_i.port_extclk1 = "PORT_UNUSED", altpll_i.port_extclk2 = "PORT_UNUSED", altpll_i.port_extclk3 = "PORT_UNUSED", altpll_i.self_reset_on_loss_lock = "OFF", altpll_i.width_clock = 5; - +altpll u_altpll ( .inclk ( {1'b0, clk_50m} ), .clk ( {subwire0, clk} ), .locked ( rstn ), .activeclock (), .areset (1'b0), .clkbad (), .clkena ({6{1'b1}}), .clkloss (), .clkswitch (1'b0), .configupdate (1'b0), .enable0 (), .enable1 (), .extclk (), .extclkena ({4{1'b1}}), .fbin (1'b1), .fbmimicbidir (), .fbout (), .fref (), .icdrclk (), .pfdena (1'b1), .phasecounterselect ({4{1'b1}}), .phasedone (), .phasestep (1'b1), .phaseupdown (1'b1), .pllena (1'b1), .scanaclr (1'b0), .scanclk (1'b0), .scanclkena (1'b1), .scandata (1'b0), .scandataout (), .scandone (), .scanread (1'b0), .scanwrite (1'b0), .sclkout0 (), .sclkout1 (), .vcooverrange (), .vcounderrange ()); +defparam u_altpll.bandwidth_type = "AUTO", u_altpll.clk0_divide_by = 99, u_altpll.clk0_duty_cycle = 50, u_altpll.clk0_multiply_by = 73, u_altpll.clk0_phase_shift = "0", u_altpll.compensate_clock = "CLK0", u_altpll.inclk0_input_frequency = 20000, u_altpll.intended_device_family = "Cyclone IV E", u_altpll.lpm_hint = "CBX_MODULE_PREFIX=pll", u_altpll.lpm_type = "altpll", u_altpll.operation_mode = "NORMAL", u_altpll.pll_type = "AUTO", u_altpll.port_activeclock = "PORT_UNUSED", u_altpll.port_areset = "PORT_UNUSED", u_altpll.port_clkbad0 = "PORT_UNUSED", u_altpll.port_clkbad1 = "PORT_UNUSED", u_altpll.port_clkloss = "PORT_UNUSED", u_altpll.port_clkswitch = "PORT_UNUSED", u_altpll.port_configupdate = "PORT_UNUSED", u_altpll.port_fbin = "PORT_UNUSED", u_altpll.port_inclk0 = "PORT_USED", u_altpll.port_inclk1 = "PORT_UNUSED", u_altpll.port_locked = "PORT_USED", u_altpll.port_pfdena = "PORT_UNUSED", u_altpll.port_phasecounterselect = "PORT_UNUSED", u_altpll.port_phasedone = "PORT_UNUSED", u_altpll.port_phasestep = "PORT_UNUSED", u_altpll.port_phaseupdown = "PORT_UNUSED", u_altpll.port_pllena = "PORT_UNUSED", u_altpll.port_scanaclr = "PORT_UNUSED", u_altpll.port_scanclk = "PORT_UNUSED", u_altpll.port_scanclkena = "PORT_UNUSED", u_altpll.port_scandata = "PORT_UNUSED", u_altpll.port_scandataout = "PORT_UNUSED", u_altpll.port_scandone = "PORT_UNUSED", u_altpll.port_scanread = "PORT_UNUSED", u_altpll.port_scanwrite = "PORT_UNUSED", u_altpll.port_clk0 = "PORT_USED", u_altpll.port_clk1 = "PORT_UNUSED", u_altpll.port_clk2 = "PORT_UNUSED", u_altpll.port_clk3 = "PORT_UNUSED", u_altpll.port_clk4 = "PORT_UNUSED", u_altpll.port_clk5 = "PORT_UNUSED", u_altpll.port_clkena0 = "PORT_UNUSED", u_altpll.port_clkena1 = "PORT_UNUSED", u_altpll.port_clkena2 = "PORT_UNUSED", u_altpll.port_clkena3 = "PORT_UNUSED", u_altpll.port_clkena4 = "PORT_UNUSED", u_altpll.port_clkena5 = "PORT_UNUSED", u_altpll.port_extclk0 = "PORT_UNUSED", u_altpll.port_extclk1 = "PORT_UNUSED", u_altpll.port_extclk2 = "PORT_UNUSED", u_altpll.port_extclk3 = "PORT_UNUSED", u_altpll.self_reset_on_loss_lock = "OFF", u_altpll.width_clock = 5; +//assign rstn=1'b1; assign clk=clk_50m; // 简易 I2C 读取控制器,实现 AS5600 磁编码器读取,读出当前转子机械角度 φ @@ -58,7 +61,7 @@ i2c_register_read #( .CLK_DIV ( 16'd10 ), // i2c_scl 时钟信号分频系数,scl频率 = clk频率 / (4*CLK_DIV) ,例如在本例中 clk 为 36.864MHz,CLK_DIV=10,则 SCL 频率为 36864/(4*10) = 922kHz 。注,AS5600 芯片要求 SCL 频率不超过 1MHz .SLAVE_ADDR ( 7'h36 ), // AS5600's I2C slave address .REGISTER_ADDR( 8'h0E ) // the register address to read -) as5600_read_i ( +) u_as5600_read ( .rstn ( rstn ), .clk ( clk ), .scl ( i2c_scl ), // I2C 接口: SCL @@ -77,7 +80,7 @@ adc_ad7928 #( .CH0 ( 3'd1 ), // 指示 CH0 对应 AD7928 的 通道1。(硬件上 A 相电流连接到 AD7928 的 通道1) .CH1 ( 3'd2 ), // 指示 CH1 对应 AD7928 的 通道2。(硬件上 B 相电流连接到 AD7928 的 通道2) .CH2 ( 3'd3 ) // 指示 CH2 对应 AD7928 的 通道3。(硬件上 C 相电流连接到 AD7928 的 通道3) -) adc_ad7928_i ( +) u_adc_ad7928 ( .rstn ( rstn ), .clk ( clk ), .spi_ss ( spi_ss ), // SPI 接口:SS @@ -104,12 +107,12 @@ foc_top #( .ANGLE_INV ( 1'b0 ), // 本例中,角度传感器没装反(A->B->C->A 的旋转方向与 φ 增大的方向相同),则该参数应设为 0 .POLE_PAIR ( 8'd7 ), // 本例使用的电机的极对数为 7 .MAX_AMP ( 9'd384 ), // 384 / 512 = 0.75。说明 SVPWM 的最大振幅 占 最大振幅极限的 75% - .SAMPLE_DELAY ( 9'd120 ), // 采样延时,取值范围0~511,考虑到3相的驱动 MOS 管从开始导通到电流稳定需要一定的时间,所以从3个下桥臂都导通,到 ADC 采样时刻之间需要一定的延时。该参数决定了该延时是多少个时钟周期,当延时结束时,该模块在 sn_adc 信号上产生一个高电平脉冲,指示外部 ADC “可以采样了” - .Kp ( 24'd32768 ), // 电流环 PID 控制算法的 P 参数 - .Ki ( 24'd2 ) // 电流环 PID 控制算法的 I 参数 -) foc_top_i ( + .SAMPLE_DELAY ( 9'd120 ) // 采样延时,取值范围0~511,考虑到3相的驱动 MOS 管从开始导通到电流稳定需要一定的时间,所以从3个下桥臂都导通,到 ADC 采样时刻之间需要一定的延时。该参数决定了该延时是多少个时钟周期,当延时结束时,该模块在 sn_adc 信号上产生一个高电平脉冲,指示外部 ADC “可以采样了” +) u_foc_top ( .rstn ( rstn ), .clk ( clk ), + .Kp ( 31'd300000 ), // 电流环 PID 控制算法的 P 参数 + .Ki ( 31'd30000 ), // 电流环 PID 控制算法的 I 参数 .phi ( phi ), // input : 角度传感器输入(机械角度,简记为φ),取值范围0~4095。0对应0°;1024对应90°;2048对应180°;3072对应270°。 .sn_adc ( sn_adc ), // output: 3相电流 ADC 采样时刻控制信号,当需要进行一次采样时,sn_adc 信号上产生一个时钟周期的高电平脉冲,指示ADC应该进行采样了。 .en_adc ( en_adc ), // input : 3相电流 ADC 采样结果有效信号,sn_adc 产生高电平脉冲后,外部ADC开始采样3相电流,在转换结束后,应在 en_adc 信号上产生一个周期的高电平脉冲,同时把ADC转换结果产生在 adc_a, adc_b, adc_c 信号上 @@ -155,7 +158,7 @@ always @ (posedge clk or negedge rstn) // 该 always 块令 iq_aim 交替地 // UART 发送器(监视器),格式为:115200,8,n,1 uart_monitor #( .CLK_DIV ( 16'd320 ) // UART分频倍率,在本例中取320。因为时钟频率为 36.864MHz, 36.864MHz/320=115200 -) uart_monitor_i ( +) u_uart_monitor ( .rstn ( rstn ), .clk ( clk ), .i_en ( en_idq ), // input: 当 en_idq 上出现高电平脉冲时,启动 UART 发送 @@ -166,4 +169,5 @@ uart_monitor #( .o_uart_tx ( uart_tx ) // output: UART 发送信号 ); + endmodule diff --git a/RTL/i2c_register_read.sv b/RTL/i2c_register_read.v similarity index 85% rename from RTL/i2c_register_read.sv rename to RTL/i2c_register_read.v index d3242ae..66bfb72 100644 --- a/RTL/i2c_register_read.sv +++ b/RTL/i2c_register_read.v @@ -1,8 +1,10 @@ +//-------------------------------------------------------------------------------------------------------- // 模块: i2c_register_read // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // 功能 : I2C 读控制器 +//-------------------------------------------------------------------------------------------------------- module i2c_register_read #( parameter [15:0] CLK_DIV = 16'd16, @@ -34,30 +36,30 @@ reg [15:0] recv_shift; always @ (posedge clk or negedge rstn) if(~rstn) begin epoch <= 1'b0; - clkcnt <= '0; + clkcnt <= 0; end else begin if(clkcnt==CLK_DIV_PARSED) begin epoch <= 1'b1; - clkcnt <= '0; + clkcnt <= 0; end else begin epoch <= 1'b0; clkcnt <= clkcnt + 16'd1; end end -assign ready = (cnt=='0); +assign ready = (cnt == 8'd0); always @ (posedge clk or negedge rstn) if(~rstn) begin - {scl, sda_e, sda_o} <= '1; - cnt <= '0; - send_shift <= '0; - recv_shift <= '0; - regout <= '0; + {scl, sda_e, sda_o} <= 3'b111; + cnt <= 0; + send_shift <= 0; + recv_shift <= 0; + regout <= 0; done <= 1'b0; end else begin if(ready) begin - {scl, sda_e, sda_o} <= '1; + {scl, sda_e, sda_o} <= 3'b111; if(start) begin cnt <= 8'd1; end diff --git a/RTL/uart_monitor.sv b/RTL/uart_monitor.v similarity index 72% rename from RTL/uart_monitor.sv rename to RTL/uart_monitor.v index d2245d2..cba6807 100644 --- a/RTL/uart_monitor.sv +++ b/RTL/uart_monitor.v @@ -1,8 +1,10 @@ +//-------------------------------------------------------------------------------------------------------- // 模块:uart_monitor // Type : synthesizable -// Standard: SystemVerilog 2005 (IEEE1800-2005) -// 功能:UART发送器,格式为:115200,8,n,1,可以把 i_val0, i_val1, i_val2, i_val3 变成10进制格式,放在一行里,通过 UART 发送出去, +// Standard: Verilog 2001 (IEEE1364-2001) +// 功能:UART发送器,格式为:115200,8,n,1,可以把 i_val0, i_val1, i_val2, i_val3 变成10进制格式,放在一行里,通过 UART 发送出去 +//-------------------------------------------------------------------------------------------------------- module uart_monitor #( parameter [15:0] CLK_DIV = 217 // UART分频倍率,例如若时钟频率为 36.864MHz, CLK_DIV=320,则 UART 波特率为 36.864MHz/320=115200 @@ -19,7 +21,12 @@ module uart_monitor #( initial o_uart_tx = 1'b1; -enum logic [2:0] {IDLE, SELECT, WAIT, PARSING, SENDING} stat; +localparam [2:0] IDLE = 3'd0, + SELECT = 3'd1, + WAIT = 3'd2, + PARSING = 3'd3, + SENDING = 3'd4; +reg [2:0] stat; wire tx_rdy; reg tx_en; @@ -28,13 +35,13 @@ reg [7:0] tx_data; reg itoa_en; reg signed [15:0] itoa_val; reg itoa_oen; -reg [ 7:0] itoa_str [6]; +reg [ 7:0] itoa_str [0:5]; reg [ 2:0] vcnt; reg [ 2:0] cnt; reg [ 7:0] eov; -wire [ 7:0] s_str[8]; +wire [ 7:0] s_str[0:7]; assign s_str[0] = itoa_str[0]; assign s_str[1] = itoa_str[1]; @@ -45,9 +52,9 @@ assign s_str[5] = itoa_str[5]; assign s_str[6] = 8'h20; assign s_str[7] = eov; -always_comb begin +always @ (*) begin tx_en = 1'b0; - tx_data = '0; + tx_data = 0; if(stat==SENDING) begin tx_en = 1'b1; tx_data = s_str[cnt]; @@ -58,9 +65,9 @@ always @ (posedge clk or negedge rstn) if(~rstn) begin stat <= IDLE; itoa_en <= 1'b0; - itoa_val <= '0; - vcnt <= '0; - cnt <= '0; + itoa_val <= 0; + vcnt <= 0; + cnt <= 0; eov <= 8'h20; end else begin itoa_en <= 1'b0; @@ -102,11 +109,12 @@ always @ (posedge clk or negedge rstn) stat <= PARSING; PARSING: if(itoa_oen) stat <= SENDING; - SENDING: if(tx_rdy) begin - cnt <= cnt + 3'd1; - if(cnt==3'd7) - stat <= SELECT; - end + default: //SENDING: + if(tx_rdy) begin + cnt <= cnt + 3'd1; + if(cnt==3'd7) + stat <= SELECT; + end endcase end @@ -115,26 +123,32 @@ reg [ 2:0] itoa_cnt; reg itoa_sign; reg itoa_zero; reg [15:0] itoa_abs; +wire[15:0] itoa_rem_w = (itoa_abs % 16'd10); reg [ 3:0] itoa_rem; always @ (posedge clk or negedge rstn) if(~rstn) begin itoa_cnt <= 3'd0; - {itoa_sign, itoa_abs, itoa_zero, itoa_rem} <= '0; + {itoa_sign, itoa_abs, itoa_zero, itoa_rem} <= 0; itoa_oen <= 1'b0; - itoa_str <= '{6{'0}}; + itoa_str[0] <= 0; + itoa_str[1] <= 0; + itoa_str[2] <= 0; + itoa_str[3] <= 0; + itoa_str[4] <= 0; + itoa_str[5] <= 0; end else begin if(itoa_cnt==3'd0) begin if(itoa_en) itoa_cnt <= 3'd1; itoa_sign <= itoa_val[15]; - itoa_abs <= itoa_val[15] ? $unsigned(-itoa_val) : $unsigned(itoa_val); + itoa_abs <= itoa_val[15] ? $unsigned(-itoa_val) : $unsigned(itoa_val); end else begin - itoa_cnt <= itoa_cnt + 3'd1; - itoa_abs <= itoa_abs / 16'd10; - itoa_rem <= (4)'(itoa_abs % 16'd10); - itoa_zero <= itoa_abs==16'd0; + itoa_cnt <= (itoa_cnt + 3'd1); + itoa_abs <= (itoa_abs / 16'd10); + itoa_rem <= itoa_rem_w[3:0]; + itoa_zero <= (itoa_abs == 16'd0); if(itoa_cnt>3'd1) begin itoa_str[5] <= itoa_str[4]; itoa_str[4] <= itoa_str[3]; @@ -162,13 +176,13 @@ assign tx_rdy = (tx_cnt==4'd0); always @ (posedge clk or negedge rstn) if(~rstn) begin o_uart_tx <= 1'b1; - ccnt <= '0; - tx_cnt <= '0; - tx_shift <= '1; + ccnt <= 0; + tx_cnt <= 0; + tx_shift <= 12'hFFF; end else begin if(tx_cnt==4'd0) begin o_uart_tx <= 1'b1; - ccnt <= '0; + ccnt <= 0; if(tx_en) begin tx_cnt <= 4'd12; tx_shift <= {2'b10, tx_data[0], tx_data[1], tx_data[2], tx_data[3], tx_data[4], tx_data[5], tx_data[6], tx_data[7], 2'b11}; @@ -178,7 +192,7 @@ always @ (posedge clk or negedge rstn) if( ccnt + 16'd1 < CLK_DIV ) begin ccnt <= ccnt + 16'd1; end else begin - ccnt <= '0; + ccnt <= 0; tx_cnt <= tx_cnt - 4'd1; end end diff --git a/SIM/tb_clark_park_tr.sv b/SIM/tb_clark_park_tr.v similarity index 83% rename from SIM/tb_clark_park_tr.sv rename to SIM/tb_clark_park_tr.v index ca80f04..5e1355e 100644 --- a/SIM/tb_clark_park_tr.sv +++ b/SIM/tb_clark_park_tr.v @@ -2,12 +2,10 @@ //-------------------------------------------------------------------------------------------------------- // Module : tb_clark_park_tr // Type : simulation, top -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // Function: testbench for sincos.sv , clark_tr.sv , park_tr.sv //-------------------------------------------------------------------------------------------------------- -`timescale 1ps/1ps - module tb_clark_park_tr(); @@ -19,8 +17,11 @@ reg clk = 1'b1; always #(13563) clk = ~clk; // 36.864MHz initial begin repeat(4) @(posedge clk); rstn<=1'b1; end -reg en_theta = '0; -reg [11:0] theta = '0; // 当前电角度(简记为 ψ)。取值范围0~4095。0对应0°;1024对应90°;2048对应180°;3072对应270°。 +reg en_theta = 0; +reg [11:0] theta = 0; // 当前电角度(简记为 ψ)。取值范围0~4095。0对应0°;1024对应90°;2048对应180°;3072对应270°。 + +localparam [11:0] PI_M2_D3 = (2*4096/3); // (2/3)*π +localparam [11:0] PI_D3 = ( 4096/3); // (1/3)*π wire en_iabc; wire signed [15:0] ia, ib, ic; @@ -33,27 +34,27 @@ wire signed [15:0] id; wire signed [15:0] iq; // 这里只是刚好借助了 sincos 模块来生成正弦波给 clark_tr ,只是为了仿真。在 FOC 设计中 sincos 模块并不是用来给 clark_tr 提供输入数据的,而是被 park_tr 调用。 -sincos sincos_i1 ( +sincos u1_sincos ( .rstn ( rstn ), .clk ( clk ), .i_en ( en_theta ), - .i_theta ( theta + (12)'(2*4096/3) ), // input : θ + (2/3)*π + .i_theta ( theta + PI_M2_D3 ), // input : θ + (2/3)*π .o_en ( en_iabc ), .o_sin ( ia ), // output: Ia, 振幅为±16384,初相位为 (4/3)*π 的正弦波 .o_cos ( ) ); -sincos sincos_i2 ( +sincos u2_sincos ( .rstn ( rstn ), .clk ( clk ), .i_en ( en_theta ), - .i_theta ( theta + (12)'( 4096/3) ), // input : θ + (1/3)*π + .i_theta ( theta + PI_D3 ), // input : θ + (1/3)*π .o_en ( ), .o_sin ( ib ), // output: Ib, 振幅为±16384,初相位为 (2/3)*π 的正弦波 .o_cos ( ) ); -sincos sincos_i3 ( +sincos u3_sincos ( .rstn ( rstn ), .clk ( clk ), .i_en ( en_theta ), @@ -64,7 +65,7 @@ sincos sincos_i3 ( ); // clark 变换 -clark_tr clark_tr_i( +clark_tr u_clark_tr ( .rstn ( rstn ), .clk ( clk ), .i_en ( en_iabc ), @@ -77,7 +78,7 @@ clark_tr clark_tr_i( ); // park 变换 -park_tr park_tr_i ( +park_tr u_park_tr ( .rstn ( rstn ), .clk ( clk ), .psi ( theta + 12'd512 ), // input : θ + (1/4)*π @@ -90,9 +91,11 @@ park_tr park_tr_i ( ); +integer i; + initial begin while(~rstn) @ (posedge clk); - for(int i=0; i<1000; i++) @ (posedge clk) begin + for (i=0; i<1000; i=i+1) @ (posedge clk) begin en_theta <= 1'b1; theta <= theta + 12'd10; @ (posedge clk); diff --git a/SIM/tb_clark_park_tr_run_iverilog.bat b/SIM/tb_clark_park_tr_run_iverilog.bat index 19145a7..6a16651 100644 --- a/SIM/tb_clark_park_tr_run_iverilog.bat +++ b/SIM/tb_clark_park_tr_run_iverilog.bat @@ -1,5 +1,5 @@ del sim.out dump.vcd -iverilog -g2005-sv -o sim.out tb_clark_park_tr.sv ../RTL/foc/sincos.sv ../RTL/foc/clark_tr.sv ../RTL/foc/park_tr.sv +iverilog -g2001 -o sim.out tb_clark_park_tr.v ../RTL/foc/sincos.v ../RTL/foc/clark_tr.v ../RTL/foc/park_tr.v vvp -n sim.out del sim.out pause \ No newline at end of file diff --git a/SIM/tb_svpwm.sv b/SIM/tb_svpwm.v similarity index 88% rename from SIM/tb_svpwm.sv rename to SIM/tb_svpwm.v index 2d87d38..9d56498 100644 --- a/SIM/tb_svpwm.sv +++ b/SIM/tb_svpwm.v @@ -2,17 +2,15 @@ //-------------------------------------------------------------------------------------------------------- // Module : tb_swpwm // Type : simulation, top -// Standard: SystemVerilog 2005 (IEEE1800-2005) +// Standard: Verilog 2001 (IEEE1364-2001) // Function: testbench for cartesian2polar.sv and swpwm.sv //-------------------------------------------------------------------------------------------------------- -`timescale 1ps/1ps - module tb_swpwm(); initial $dumpvars(1, tb_swpwm); -initial $dumpvars(1, svpwm_i); +initial $dumpvars(1, u_svpwm); reg rstn = 1'b0; @@ -21,7 +19,7 @@ always #(13563) clk = ~clk; // 36.864MHz initial begin repeat(4) @(posedge clk); rstn<=1'b1; end -reg [11:0] theta = '0; +reg [11:0] theta = 0; wire signed [15:0] x, y; @@ -30,8 +28,9 @@ wire [11:0] phi; wire pwm_en, pwm_a, pwm_b, pwm_c; + // 这里只是刚好借助了 sincos 模块来生成正弦波给 cartesian2polar ,只是为了仿真。在 FOC 设计中 sincos 模块并不是用来给 cartesian2polar 提供输入数据的,而是被 park_tr 调用。 -sincos sincos_i ( +sincos u_sincos ( .rstn ( rstn ), .clk ( clk ), .i_en ( 1'b1 ), @@ -41,7 +40,7 @@ sincos sincos_i ( .o_cos ( x ) // output : x, 振幅为 ±16384 的余弦波 ); -cartesian2polar cartesian2polar_i ( +cartesian2polar u_cartesian2polar ( .rstn ( rstn ), .clk ( clk ), .i_en ( 1'b1 ), @@ -52,7 +51,7 @@ cartesian2polar cartesian2polar_i ( .o_theta ( phi ) // output: φ, 应该是一个接近 θ 的角度值 ); -svpwm svpwm_i ( +svpwm u_svpwm ( .rstn ( rstn ), .clk ( clk ), .v_amp ( 9'd384 ), @@ -65,9 +64,11 @@ svpwm svpwm_i ( ); +integer i; + initial begin while(~rstn) @ (posedge clk); - for(int i=0; i<200; i++) begin + for(i=0; i<200; i=i+1) begin theta <= 25 * i; // 让 θ 递增 repeat(2048) @ (posedge clk); $display("%d/200", i); diff --git a/SIM/tb_svpwm_run_iverilog.bat b/SIM/tb_svpwm_run_iverilog.bat index 11e311e..b24f7be 100644 --- a/SIM/tb_svpwm_run_iverilog.bat +++ b/SIM/tb_svpwm_run_iverilog.bat @@ -1,5 +1,5 @@ del sim.out dump.vcd -iverilog -g2005-sv -o sim.out tb_svpwm.sv ../RTL/foc/sincos.sv ../RTL/foc/cartesian2polar.sv ../RTL/foc/svpwm.sv +iverilog -g2001 -o sim.out tb_svpwm.v ../RTL/foc/sincos.v ../RTL/foc/cartesian2polar.v ../RTL/foc/svpwm.v vvp -n sim.out del sim.out pause \ No newline at end of file diff --git a/figures/diagram.png b/figures/diagram.png index d2b9657e5150539f41fa130f40ceea5f93537f66..89234ccca1c627d80e186c04b0437b26cfeb7af8 100644 GIT binary patch literal 29140 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≫{qTvGTl7bD^IX9#q^GYCr-xtMO#}@$c(x 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
r|8$JmWFyY1Mts|w1Cq3`7Y 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 literal 63645 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 literal 30129 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 LFBB`}%|iYc(Oi)C diff --git a/figures/tb_svpwm.png b/figures/tb_svpwm.png index b8f8982aa754484264053a2cc6ed0b888c860e88..090ad51bb83a44ab3f59b7baeb610c1361d8a22f 100644 GIT binary patch literal 11899 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 literal 24999 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

w;CAvP${_FhmR!>=acuI!Tm&5;pcD#& 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 MS_Ybx>bD;LKWg`4UH||9 literal 19175 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