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