基于NiosII的多通道PWM信號測量/產(chǎn)生器節(jié)點設(shè)計
具體實現(xiàn)的流程如下:
·根據(jù)具體需要依次配置每個通道為PWM測量或者產(chǎn)生通道,由PWM配置控制器實現(xiàn),該控制器與NiosII處理器的PWM控制器相連。
·使用一個基準地址計數(shù)器給出的循環(huán)地址信號對所有的RAM讀寫進行同步,該基準地址計數(shù)器給出不同延遲周期的地址計數(shù),以修正RAM讀取產(chǎn)生的延時。
·PWM產(chǎn)生:將高/低電平周期數(shù)寫入預置高/低電平計數(shù)器,計數(shù)器自加器按基準地址計數(shù)器給出的修正延遲的地址讀出計數(shù)并+1后重新寫入計數(shù)器RAM;比較器按基準地址計數(shù)器給出的修正延遲地址計數(shù)讀出預置高/低電平周期數(shù)進行比較決定輸出的是高/低電平。
這種方法得到頻率為:
其中為該模塊的時鐘頻率,
為預置數(shù)計數(shù)器,采用循環(huán)方式時一個周期的時間為通道數(shù)與預置數(shù)和之積
;本節(jié)點中
,因此
,滿足測速測距模塊0~10KHz的設(shè)計需要;若需要更高頻率,可以提高fCLK或者進行通道分組,以降低每組的Nch,占空比的精度與頻率有關(guān),頻率越低,可調(diào)精度越高。
·PWM測量:是PWM產(chǎn)生的逆過程,測量的精度與產(chǎn)生的PWM信號的精度相同。每隔一個脈沖更新一次測得的周期和占空比值,因此可用于周期快速變化PWM信號的測量。
·死區(qū)控制器:僅僅對應(yīng)于PWM產(chǎn)生部分,該模塊輸出的PWM信號初始間隔為1個TCLK,根據(jù)具體的需要配置相應(yīng)的延時即可。
節(jié)點軟件設(shè)計
上位機通過RS-485發(fā)送命令包來控制智能節(jié)點的動作,該命令包順序由8bit標識碼,8bit包長度,16bit目標節(jié)點號,16bit包編號,命令區(qū)和16bit CRC16校驗碼組成,NiosII處理器負責解包,校驗CRC碼是否正確,并且根據(jù)命令動作PWM控制器。當需要讀取PWM周期和占空比測量值時,NiosII處理器還需要把從高/低電平計數(shù)保存器RAM讀出的值組包發(fā)送給上位機。
NiosII處理器采用中斷方式接受通過RS-485總線發(fā)來的命令包,中斷處理通過狀態(tài)機的方式處理每一個接收到的字節(jié),具體功能描述如下:
·檢查標識碼,檢查是否為智能PWM節(jié)點類型的命令包,啟動狀態(tài)機,并打開定時器,防止當命令包不完整時接受狀態(tài)機無法回到初始狀態(tài);
·讀取包長度信息,檢查是否目標為本節(jié)點,是則記錄包編號;
·如果標識碼不是智能PWM節(jié)點類型的命令包則不對命令進行處理,是則將命令放入緩沖中待處理;
·檢查CRC校驗碼是否正確,如正確,則將緩沖中的命令寫入命令隊列;如果不正確,則將錯誤信息寫入待發(fā)送信息隊列。
命令包括配置某位為PWM測量/產(chǎn)生,配置某位的預置數(shù)計數(shù)器,讀取某位的計數(shù)保存器三類。
主循環(huán)中完成的工作是:
·檢查命令隊列中是否有未處理的命令并處理;
·檢查待發(fā)送信息隊列長度是否達到預定值,是則啟動一次發(fā)送,將待發(fā)送信息打包發(fā)送給上位機。
實驗結(jié)果
使用ModelSim進行仿真,配置使用了10通道作為PWM信號輸出,隨機賦值了給每個通道不同的周期和占空比,得到的仿真結(jié)果如圖4所示。
圖4 智能PWM信號產(chǎn)生器仿真結(jié)果圖
將這10個通道與另外配置為PWM信號測量的10個通道相連接,進行周期和占空比測量,得到的高低電平周期測量結(jié)果與實際值誤差限為,由此導致的頻率誤差為:
當取f=10KHz時,Δf≈200Hz;取f=1KHz時,Δf≈2Hz,頻率越低,測量精度越高。
結(jié)語
針對于列車控制系統(tǒng)半實物仿真平臺測速測距模塊的多通道PWM信號測量/產(chǎn)生的要求,本文提出了一種利用NiosII軟核處理器替代通訊用MCU的智能多通道PWM信號測量/產(chǎn)生器的設(shè)計方案,給出了利用FPGA實現(xiàn)多通道PWM信號測量/產(chǎn)生器模塊的方法,并且編寫了NiosII處理器的通訊控制軟件。
本設(shè)計將應(yīng)用在北京全路通通信信號研究設(shè)計院列控實驗室的實物測控接口平臺中,連接測速測距模塊,將仿真端與實物端相連。除此之外,本設(shè)計還可應(yīng)用在多電機控制等領(lǐng)域。
參考文獻:
1. 徐光輝、程東旭、黃如等,基于FPGA的嵌入式開發(fā)與應(yīng)用,電子工業(yè)出版社, 2006.
2. 李旭、謝運祥,PWM技術(shù)實現(xiàn)方法綜述,電源技術(shù)應(yīng)用,2005,02:40~43
pwm相關(guān)文章:pwm原理
評論