基于FPGA的測角脈沖細分電路的設計
2 基于FPGA的脈沖細分電路的設計
2.1 總體設計
大部分的角度傳感器輸出信號都是由兩路相位差90°的脈沖信號組成,設計電路時(shí)首先可以對兩路信號進(jìn)行鑒相解調與倍頻,一方面完成轉向的判斷,另一方面將兩路信號四倍頻;接著(zhù)設計整數脈沖計數器、小數脈沖計數器,對相應脈沖數進(jìn)行計數;最后將計數值通過(guò)串口通信單元順序發(fā)送至計算機,方便后期的數據處理。這里最為關(guān)鍵的問(wèn)題是利用脈沖細分技術(shù)計出被測脈沖的小數部分,另外指示脈沖對計數器的控制精度關(guān)系到計數值的準確與否,因此要利用性能良好的硬件并巧妙地設計程序。這里硬件選擇了FPGA,程序則是利用HDL語(yǔ)言進(jìn)行編寫(xiě),脈沖細分電路總體設計如圖2所示。
2.2 整數脈沖計數器
為了更準確地對倍頻后的脈沖進(jìn)行計數,在設計時(shí),電路采用了2個(gè)計數器輪流計數,指示脈沖控制2個(gè)計數器交替工作。具體方法是將兩個(gè)計數器的使能信號分別設置為1和0,由指示脈沖控制使能信號,在每一個(gè)指示脈沖到來(lái)時(shí)使能信號取反。另外,由于計數值很大,為了保證數值不會(huì )溢出,使用32位計數器。
2.3 小數脈沖計數單元
由脈沖細分技術(shù)可知,小數脈沖計數單元是要對指示脈沖上升沿與在其之后的第一個(gè)測角脈沖上升沿之間的高頻計數時(shí)鐘脈沖計數。測角脈沖信號是周期性的,而設計時(shí)要用到的只是指示脈沖之后的第一個(gè)陀螺信號的上升沿,這給小數脈沖計數的設計帶來(lái)了困難,在設計時(shí)使用了有限狀態(tài)機。這里主要利用整數脈沖計數單元中設計的整數計數器使能信號CLR與測角脈沖信號CH的狀態(tài)組合來(lái)設計狀態(tài)機,利用狀態(tài)機輸出小數脈沖計數器的工作使能信號ENA,這里狀態(tài)都是在時(shí)鐘CLK上升沿轉換。圖3與圖4分別為小數計數器工作時(shí)序圖與使能信號狀態(tài)機。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論