3.3系統(tǒng)軟件架構(gòu)
三角波的生成:計(jì)數(shù)器從0000000000增到1111111111,再?gòu)?111111111減到0000000000,則可以得到一個(gè)10位的三角波。
正弦波生成:用MATLAB生成一個(gè)十位的mif文件,再把這1024個(gè)點(diǎn)產(chǎn)生1024個(gè)地址,把地址存入ROM中,讀出采樣數(shù)據(jù)即可得到所要正弦波。
SPWM波生成結(jié)構(gòu)框圖:
軟件架構(gòu)圖
SPWM波是由三角波與正弦波進(jìn)行比較,正弦波幅值大于三角波的幅值時(shí),輸出高電平,反之輸出低電平。
3.4 系統(tǒng)軟件流程
FPGA通過(guò)檢測(cè)ADC0809上讀回來(lái)的的輸入電壓電流,和輸出電流,首先對(duì)這幾個(gè)值進(jìn)行轉(zhuǎn)換,比如電流值要通過(guò)計(jì)算得到,然后再比較是否欠壓和過(guò)流,如果欠壓或者過(guò)流了控制繼電器斷開(kāi),0.5s之后再一次檢測(cè),如果沒(méi)有欠壓或者過(guò)流就直接進(jìn)行最大功率跟蹤,然后在液晶顯示屏上顯示出輸入電壓電流,輸出電流以及輸入功率。
程序運(yùn)行流程圖