3.3系统软件架构
三角波的生成:计数器从0000000000增到1111111111,再从1111111111减到0000000000,则可以得到一个10位的三角波。
正弦波生成:用MATLAB生成一个十位的mif文件,再把这1024个点产生1024个地址,把地址存入ROM中,读出采样数据即可得到所要正弦波。
SPWM波生成结构框图:
软件架构图
SPWM波是由三角波与正弦波进行比较,正弦波幅值大于三角波的幅值时,输出高电平,反之输出低电平。
3.4 系统软件流程
FPGA通过检测ADC0809上读回来的的输入电压电流,和输出电流,首先对这几个值进行转换,比如电流值要通过计算得到,然后再比较是否欠压和过流,如果欠压或者过流了控制继电器断开,0.5s之后再一次检测,如果没有欠压或者过流就直接进行最大功率跟踪,然后在液晶显示屏上显示出输入电压电流,输出电流以及输入功率。
程序运行流程图