最近學(xué)習(xí)了CPLD,以前都是在淘寶買驅(qū)動(dòng)板做來玩玩,這次自己寫個(gè)小程序,由于沒有示波器,在網(wǎng)上找了個(gè)軟件,將就著用
找了半天沒有24M晶體,最后在下載器里找到了,于是焊跟線當(dāng)時(shí)鐘了
之前經(jīng)過計(jì)算得到
20MHZ輸入時(shí):50HZ
載波:20,000,000/1023=19,550.34213098729hz~=19.55Khz
輸出點(diǎn)數(shù):19,550.34213098729hz/50HZ=391.0068426197458
24MHZ輸入時(shí):60HZ
載波:24,000,000/1023=23,460.41055718475~=23.46Khz
輸出點(diǎn)數(shù): 23,460.41055718475hz/60hz=391.0068426197458
可以看到只要更換晶體就可以改變輸出頻率;
這是50HZ時(shí)
總結(jié)用CPLD做spwm的好處:
1,完全用門電路實(shí)現(xiàn),速度很快,所有功能完全同時(shí)運(yùn)行,實(shí)現(xiàn)多任務(wù)處理。
2,實(shí)現(xiàn)數(shù)字鎖相很簡(jiǎn)單,很容易同步外部交流電(要先將交流轉(zhuǎn)成50hz方波)。
3,10路并行外部誤差輸入,真正實(shí)現(xiàn)10位PWM每次步進(jìn)1 。
4,由于CPLD沒有ADC采樣,所以用到實(shí)際中要加上單片機(jī),單片機(jī)的功能就很簡(jiǎn)單了,只需要采樣,軟件濾波,然后輸出10位誤差。
可以看到單片機(jī)還有很多時(shí)間處理能力,比用傳統(tǒng)軟件定時(shí)輸出有很多優(yōu)點(diǎn)。
缺點(diǎn)也不少:
1,CPLD為邏輯門電路,所以輕微干擾都有可能是輸出產(chǎn)生毛刺,影響輸出。
2,由于沒有ADC,所以單片機(jī)+CPLD成本上有所增加。
本人總結(jié)了下,希望有人用CPLD做驅(qū)動(dòng),也希望有同用這個(gè)芯片做的朋友交流。
明晚---繼續(xù)更新單片機(jī)程序,
繼續(xù)開更,折騰了一晚上的結(jié)構(gòu)菜單,程序用的是結(jié)構(gòu)體鏈表指針,參考網(wǎng)友的程序,
這個(gè)是主界面
設(shè)置界面;
這個(gè)是設(shè)置逆變優(yōu)先,還是市電優(yōu)先
串口波特率設(shè)置
等兩天加上CPLD一起聯(lián)調(diào)