基于NiosII的光柵細分電路系統設計
任務(wù)邏輯設計是自定義組件設計過(guò)程中最重要的部分,主要實(shí)現插值芯片輸出正交信號的四細分,同時(shí)更新Countnum_reg和Dir_reg的值。如圖7所示,正交信號A2/B2的相位關(guān)系隨著(zhù)光柵位移傳感器運動(dòng)方向的不同而改變。當光柵讀數頭正向移動(dòng)時(shí),A2相信號超前于B2相信號90°,A2/B2兩信號的電平變化規律為OO→10→11→01→00。當光柵讀數頭反向移動(dòng)時(shí),A2相信號滯后于B2相信號90°,A2/B2兩信號的電平變化規律為00→01→ll→10→00。這樣,就可以通過(guò)判斷電平之間的狀態(tài)變化來(lái)決定是否對計數器進(jìn)行操作。當狀態(tài)變化為00→10→11 →01→00時(shí),對Countnum_reg進(jìn)行加1操作,并將Dir_reg置1;而當變化為00→01→ll→10→OO時(shí),則對Countnum_reg進(jìn)行減1操作并將Dir_-reg置0。若狀態(tài)保持不變,則計數器和方向值保持不變。其余狀態(tài)之間的變化,規定為無(wú)效。
上述的4個(gè)狀態(tài)之間的轉移可以通過(guò)設計有限狀態(tài)機來(lái)實(shí)現。系統主時(shí)鐘clk選用50 MHz,能夠保證正確采樣狀態(tài)之間的變化。該有限狀態(tài)機由5個(gè)狀態(tài)組成,它們分別是idle、00、01、l1、10。采用one―hot的編碼方式,可以有效地避免競爭冒險現象,提高抗干擾能力。其綜合生成的電路無(wú)論是在效率還是穩定性方面都能夠滿(mǎn)足設計要求。任務(wù)邏輯模塊的仿真結果如圖8所示。本文引用地址:http://dyxdggzs.com/article/163018.htm
若記錄相鄰兩次Countnum_reg的差值,便可通過(guò)以下的公式計算光柵讀數頭移動(dòng)的距離:
式中:N為插值芯片的插值因子,d為光柵柵距。
4.3 二次細分測速組件設計
光柵讀數頭的移動(dòng)速度應在一定范圍之內,否則會(huì )造成丟數等誤差。測速組件主要對讀數頭的移動(dòng)速度進(jìn)行實(shí)時(shí)監控,從而實(shí)現過(guò)速報警。其設計過(guò)程與二次細分辨向組件類(lèi)似。移動(dòng)速度的計算公式如下:
式中:d為光柵柵距,f為插值芯片輸出正交信號的頻率,
N為插值芯片的插值因子,n為t時(shí)間內正交信號的個(gè)數。由此可知,只要測出頻率f即可求得移動(dòng)速度。
寄存器描述文件中定義了4個(gè)寄存器,如表1所列。
任務(wù)邏輯設計采用測周期的方法,即根據Div_reg中的分頻因子對待測信號tclk進(jìn)行分頻,在分頻后信號的高電平內記錄標準信號sclk的個(gè)數,并在其下降沿將計數值存到COUnt_reg中。同時(shí),在其低電平內將Countready_reg置1,通知AVaIon主設備計數值已就緒。待測頻率的計算公式如下:
該方法可能會(huì )產(chǎn)生±1個(gè)標準脈沖的測量誤差,由于系統標準頻率與待測正交信號相比為高頻信號,因此能實(shí)現高精度的頻率測量。
4.4 LCD控制組件的設計
本系統中使用的LCD為128×64的點(diǎn)陣黑白屏,其內嵌控制器為KS0107/KS0108。該液晶模塊的D/I引腳用于指示模塊處理數據/命令;R/W引腳控制讀/寫(xiě)操作;EN引腳為使能信號,CSl/CS2為屏幕的左右半屏控制器片選信號。
本系統在NiosII IDE開(kāi)發(fā)環(huán)境中設計應用程序,其程序流程如圖9所示。
5 結論
①與傳統的分立元件細分電路相比,本系統中使用了專(zhuān)用的插值芯片IC―NV,不但提高了系統集成度,而且在簡(jiǎn)化PCB設計的同時(shí)提高了細分數。NiosII嵌入式處理器使用,既提高了系統性能,又降低了費用。利用Component Editor工具設計的二次細分辨向模塊、測速模塊及LCD控制模塊,可以隨時(shí)根據需要更改驅動(dòng)程序并可重復利用,實(shí)現了系統的集成和模塊化。
②仿真結果表明,該系統設計簡(jiǎn)單靈活,穩定性高,實(shí)時(shí)性強,可通過(guò)調節插值芯片的插值數實(shí)現高達64倍的細分。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論