• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA和PCI的高精度測速板卡的設(shè)計(jì)與實(shí)現(xiàn)

    基于FPGA和PCI的高精度測速板卡的設(shè)計(jì)與實(shí)現(xiàn)

    作者: 時間:2011-01-24 來源:網(wǎng)絡(luò) 收藏

    (1)空閑狀態(tài)為從設(shè)備的初始狀態(tài),在沒有任何操作的時候,從設(shè)備將始終保持這個狀態(tài);
    (2)每次數(shù)據(jù)傳輸時首先傳出地址和命令字,根據(jù)地址和命令字確定是不是對本設(shè)備的訪問,并確定訪問的首地址;從設(shè)備則從命令字中識別該訪問是讀操作還是寫操作;
    (3)讀訪問只有在信號IRDY,TRDY,DEVSEL都為低狀態(tài)時才能進(jìn)行;
    (4)猝發(fā)傳輸需要通過地址遞增邏輯來實(shí)現(xiàn)地址的自動遞加;其地址遞增的周期為數(shù)據(jù)周期和最后傳輸周期總和,在等待周期暫停遞增;
    (5)主從設(shè)備中任一方?jīng)]有準(zhǔn)備好,操作中都需要能夠引起等待狀態(tài)插入的活動;
    (6)讀操作還有一個中間準(zhǔn)備過程。
    那么完成本狀態(tài)機(jī)需要6個狀態(tài):idle表示空閑狀態(tài);addr表示地址周期;turnad表示讀轉(zhuǎn)換周期;data表示數(shù)據(jù)傳輸周期;lasttra表示最后傳輸周期;wait表示等待周期;在各個狀態(tài)到來時還要對中間信號、輸出信號和本地信號執(zhí)行相應(yīng)的操作:
    (1)idle,addr,turnad周期對_TFRDYn和PCIDEVSELn置高電平;addr周期依據(jù)地址信號確定是否選中本機(jī),識別是否為讀操作;addr周期輸出PCI_AD[3:2]對寄存器進(jìn)行尋址,實(shí)現(xiàn)讀操作。
    (2)data,lasttra周期對PCI_TRDYn和PCI_DEVSELn置低電平;data,lasttra周期置DATA_EN有效并輸出。
    (3)addr,data,lasttra周期置奇偶校驗(yàn)有效。
    (4)等待周期置PCI_TRDYn和PCI_DEVSELn低電平。
    根據(jù)對PCI總線傳輸時序的分析,影響各個狀態(tài)相互轉(zhuǎn)化的因素是:幀同步信號PCI_FRAMEn、主設(shè)備準(zhǔn)備好信號PCI_IRDYn、讀識別信號READn。其中,READn用來標(biāo)識狀態(tài)addr產(chǎn)生的中間識別信號。

    本文引用地址:http://www.czjhyjcfj.com/article/191386.htm

    3 測試平臺與仿真測試
    這種改進(jìn)M/T數(shù)字及位置檢測算法的硬件采用Xilinx公司的 XC3S400。使用36 000刻的增量式碼盤,速度環(huán)采樣周期T設(shè)定為1 ms,高頻時標(biāo)信號的頻率為40 MHz,結(jié)合PC運(yùn)算的數(shù)字算法可以在速度O.001~150(°)/s的范圍內(nèi)獲得±2.5×10-5 s的精度。與此同時,動態(tài)位置檢測算法可以使位置反饋的動態(tài)測量分辨率提高到10-2~10-6個脈沖當(dāng)量。
    對編寫好的VHDL程序采用ISE進(jìn)行綜合,并編寫測試平臺,用ModelSim對其進(jìn)行仿真測試。圖6為PCI控制器的仿真圖,圖中state表示狀態(tài)機(jī)在內(nèi)部轉(zhuǎn)換的過程,狀態(tài)1表示空閑狀態(tài),狀態(tài)2表示地址周期,狀態(tài)4表示讀轉(zhuǎn)換周期,狀態(tài)8表示最后傳輸周期,狀態(tài)9表示猝發(fā)讀寫周期。

    k.jpg
    該I/O讀操作,將地址為1的寄存器讀出。這里設(shè)定I/O地址為0X200~0X20F這4個雙字空間,那么在地址周期中地址0X204的2~3位尋址于寄存器的第一個雙字,其后緊跟的是讀的轉(zhuǎn)換周期,猝發(fā)讀寫周期和最后一位讀寫周期。可以看出,這兩個周期都對這個寄存器進(jìn)行了讀操作。

    4 結(jié)語
    本文介紹了使用設(shè)計(jì)和實(shí)現(xiàn)基于PCI總線傳輸?shù)母倪M(jìn)型M/T法測速電路,它克服了經(jīng)典測速方法的幾個缺點(diǎn),在較大速度范圍內(nèi)都具有良好的精度。同時使用設(shè)計(jì)和實(shí)現(xiàn)了PCI從設(shè)備控制器,使得測速電路的設(shè)計(jì)與PCI總線的設(shè)計(jì)成為一個整體,節(jié)省了板上器件,也使得整個設(shè)計(jì)信號在FPGA內(nèi)部流動,具有更加良好的抗干擾能力和穩(wěn)定性。


    上一頁 1 2 3 4 下一頁

    關(guān)鍵詞: FPGA PCI 高精度 測速

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 江津市| 灵武市| 罗田县| 龙门县| 内乡县| 无极县| 孙吴县| 泰来县| 佛冈县| 兴安县| 彭泽县| 碌曲县| 五原县| 黑龙江省| 永定县| 高青县| 嘉峪关市| 珲春市| 甘谷县| 洪洞县| 拜泉县| 瓦房店市| 太康县| 玛多县| 梅州市| 易门县| 昭平县| 闸北区| 尚志市| 通渭县| 南召县| 连江县| 彝良县| 孝昌县| 潞城市| 安达市| 罗甸县| 师宗县| 通河县| 正定县| 东乡族自治县|