基于FPGA和PCI的高精度測速板卡的設(shè)計與實現(xiàn)
2 各個模塊VHDL實現(xiàn)
根據(jù)圖1的總體設(shè)計方案,使用VHDL語言設(shè)計實現(xiàn)如下幾個模塊。
2.1 倍頻辨向模塊
為便于使用VHDL語言描述,對圖2的碼盤信號作如下分析:
(1)當(dāng)碼盤正轉(zhuǎn)時,在一個周期T內(nèi),A,B兩相信號共有4次相對變化:00→1O→11→01。這樣,根據(jù)前一次和當(dāng)前的信號,就可以判斷方向,并產(chǎn)生四倍頻脈沖。
(2)同理當(dāng)碼盤反轉(zhuǎn)時,也根據(jù)A,B兩相信號的4次相對變化:00→01→11→10,可以判斷方向,并產(chǎn)生四倍頻脈沖信號。
(3)當(dāng)線路受到干擾或出現(xiàn)故障時,則可能出現(xiàn)其他狀態(tài)轉(zhuǎn)換過程,此時不產(chǎn)生脈沖。
根據(jù)上述分析就可以設(shè)計出測速辨向模塊,當(dāng)判斷正轉(zhuǎn)時,把方向輸出置‘1’,反向時置‘O’。
2.2 改進(jìn)M/T法測速模塊
如圖3所示可以看出,本部分的VHDL設(shè)計分成兩個模塊:計數(shù)器模塊與鎖存器模塊。
其中,計數(shù)器模塊分為兩種:高頻時標(biāo)計數(shù)器和反饋脈沖計數(shù)器。高頻時標(biāo)計數(shù)器在每個高頻時標(biāo)的上升沿都做+1計數(shù),在每個反饋脈沖的上升沿對計數(shù)值鎖存。反饋脈沖計數(shù)器,需要兩個輸出:反饋脈沖計數(shù)值Cm、位置反饋脈沖計數(shù)值。其中,Cm的增量值用于速度的計算,所以在每一個反饋脈沖到來時,計數(shù)器都+1;的計數(shù)值用于位置的計算,所以它是在Cm的基礎(chǔ)上考慮了碼盤方向得到的計數(shù)值,在正轉(zhuǎn)時反饋脈沖計數(shù)器+1,反轉(zhuǎn)時-1,當(dāng)零位脈沖Z有效時,對其置0。然后分別輸出Cm,,由此就可以得到反饋脈沖計數(shù)器模塊。
在每個采樣周期的上升沿還要鎖存Cm,Ct的增量值和與Ct的差值,由于都做了差分處理,所以這三個鎖存器使用雙字就能滿足設(shè)計要求,而鎖存器在零位信號Z后不進(jìn)行差分處理,若采用36 000刻增量式碼盤,并進(jìn)行10 000倍頻,位置范圍為±720°,那么需要的最大計數(shù)值為:
(36 000×10 000×720×2)/360=1 440 000 000
可見,雙字鎖存器也能滿足設(shè)計要求。
綜上所述,本設(shè)計設(shè)置了4個雙字信號鎖存器Cm,,Ct,,同時還需要對其控制輸出,所以在PCI從設(shè)備控制器中為I/O分配4個雙字的地址空間。然后根據(jù)PCI總線給出的地址信號PCI_AD[3:2]和數(shù)據(jù)輸出使能信號DATA_EN對這4個雙字寄存器尋址輸出。
2.3 PCI接口控制器
PCI的時序規(guī)則和PCI的總線協(xié)議由PCI接口控制器實現(xiàn),同時它還負(fù)責(zé)傳遞地址和數(shù)據(jù)輸出使能信號給測速模塊,實現(xiàn)I/O口的基本讀與猝發(fā)讀數(shù)據(jù)功能。
從設(shè)備控制器包括2個部分:奇偶校驗?zāi)K和PCI從設(shè)備狀態(tài)機。
2.3.1 奇偶校驗?zāi)K
PCI的奇偶校驗提供了一種機制來決定一件作業(yè)。該作業(yè)判斷主設(shè)備是否成功地尋址相應(yīng)的從設(shè)備,且數(shù)據(jù)是否正確地在它們之間傳輸。通過該模塊完成數(shù)據(jù)傳輸過程中PCI_AD和PCI_CBE的偶校驗。偶校驗的輸出信號在地址和數(shù)據(jù)周期有效,其產(chǎn)生的規(guī)則是使偶校驗輸出、PCI_ CBE、PCI_AD各位的‘1’的個數(shù)為偶數(shù)。那么采用把PCI_AD與PCI_CBE各位異或的方法,就可以實現(xiàn)偶校驗的功能。
2.3.2 PCI從設(shè)備狀態(tài)機
PCI從設(shè)備控制器是PCI接口設(shè)計的核心模塊,按功能來說,它要產(chǎn)生奇偶校驗和數(shù)據(jù)的使能信號,并根據(jù)PCI_AD和PCI_CBE產(chǎn)生讀地址,完成主從設(shè)備的握手信號,并且實現(xiàn)從設(shè)備狀態(tài)機在各個狀態(tài)之間的轉(zhuǎn)換。
由于本設(shè)計只需要完成I/0讀操作,本狀態(tài)機設(shè)計配置空間的功能放在了從設(shè)備控制器來完成,同時刪去了PCI操作中對存儲器空間、配置空間的操作,結(jié)合PCI總線的傳輸時序,如圖5給出了其基本結(jié)構(gòu)。
評論