<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 1553B總線遠(yuǎn)程端點(diǎn)數(shù)據(jù)鏈路層協(xié)議的FPGA實(shí)現(xiàn)

          1553B總線遠(yuǎn)程端點(diǎn)數(shù)據(jù)鏈路層協(xié)議的FPGA實(shí)現(xiàn)

          作者: 時(shí)間:2009-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          命令解析完成后都需要進(jìn)行狀態(tài)反饋或者數(shù)據(jù)發(fā)送,而完成這個(gè)功能的是發(fā)送模塊,發(fā)送模塊負(fù)責(zé)把命令解析模塊和接收模塊裝載到發(fā)送緩沖器中的數(shù)據(jù)發(fā)送到上去,如圖3所示,它包括讀取數(shù)據(jù),產(chǎn)生反相字,曼徹斯特碼編碼,添加同步頭,2 MHz時(shí)鐘數(shù)據(jù)發(fā)送等幾個(gè)部分,同時(shí)由于發(fā)送緩沖器中數(shù)據(jù)有可能多于2個(gè)字節(jié),因此還可能需要循環(huán)進(jìn)行這個(gè)操作。下面就根據(jù)發(fā)送的具體流程設(shè)計(jì)每個(gè)部分。首先是發(fā)送緩沖器部分,當(dāng)接收到發(fā)送命令后,發(fā)送模塊就第一次讀取發(fā)送緩沖器的前兩個(gè)字節(jié),因?yàn)檫@兩個(gè)字節(jié)肯定是狀態(tài)字,然后把這兩個(gè)字節(jié)貼上狀態(tài)字標(biāo)簽,繼續(xù)傳給后繼單元,待完成以后就把接收發(fā)送緩沖器的發(fā)送數(shù)據(jù)長(zhǎng)度寄存器減1,并把發(fā)送緩沖器中的數(shù)據(jù)向前移動(dòng)2個(gè)字節(jié)。如果發(fā)送數(shù)據(jù)長(zhǎng)度寄存器不為零,則繼續(xù)等待下一次的發(fā)送。

          本文引用地址:http://www.ex-cimer.com/article/192062.htm

          2.4 上層交互模塊
          最后一個(gè)模塊是上層交互模塊,這個(gè)模塊負(fù)責(zé)與上層微控制器進(jìn)行信息交互,它負(fù)責(zé)把微控制器寫入的數(shù)據(jù)放入相應(yīng)的寄存器中,或者按上層微控制器的命令回傳相關(guān)的數(shù)據(jù)。上層交互模塊主要包括邊沿信號(hào)與電平信號(hào)轉(zhuǎn)換、地址解碼和讀寫寄存器。因?yàn)閰f(xié)議實(shí)現(xiàn)模塊中采用的是邊沿信號(hào)觸發(fā),而上層微控制器給的信號(hào)是電平信號(hào),要順利地完成通信,就需要進(jìn)行轉(zhuǎn)換,這里通過鎖存器和計(jì)數(shù)器來(lái)完成。地址解碼就是把收到的地址解碼成相應(yīng)寄存器的地址,然后寫入收到的數(shù)據(jù)或者把寄存器中的數(shù)據(jù)讀出放入到數(shù)據(jù)上。


          3 仿真及實(shí)現(xiàn)
          為了確保設(shè)計(jì)的可行性,必須對(duì)設(shè)計(jì)進(jìn)行時(shí)序仿真。整個(gè)協(xié)議VerilogHDL實(shí)現(xiàn)程序在Altera公司的開發(fā)軟件QuartusⅡ中編寫、編譯、綜合。整個(gè)程序的仿真在Modelsim 6.0中進(jìn)行,其仿真過程如下:
          (1)接收數(shù)據(jù)。控制器發(fā)送給實(shí)現(xiàn)程序兩個(gè)數(shù)據(jù):0x1234和Ox5678,上層微控制器在實(shí)現(xiàn)程序接收數(shù)據(jù)后通過上層交互模塊把數(shù)據(jù)讀出,其中第一個(gè)數(shù)據(jù)包含了接收數(shù)據(jù)長(zhǎng)度,通過圖4可以看出整個(gè)過程順利進(jìn)行,完成了預(yù)定目標(biāo)。

          (2)發(fā)送數(shù)據(jù)。總線控制器間隔地發(fā)送給實(shí)現(xiàn)程序兩個(gè)發(fā)送數(shù)據(jù)的命令,讓實(shí)現(xiàn)程序反饋相關(guān)的數(shù)據(jù),這些數(shù)據(jù)是通過上層交互模塊提前寫入到實(shí)現(xiàn)程序中的,其仿真過程如圖5。通過圖5也可以看出在實(shí)現(xiàn)程序接收到命令到發(fā)送出數(shù)據(jù)的延時(shí)時(shí)間大約為4μs,完全符合總線對(duì)端點(diǎn)反饋信號(hào)延時(shí)的規(guī)定。
          (3)一般命令。總線控制器發(fā)送給實(shí)現(xiàn)程序一般的方式代碼命令,代碼分別為:000ll,10010,01111和00001,其仿真過程如圖6所示??梢姡瑢?shí)現(xiàn)程序正確地反饋了相關(guān)信息,符合設(shè)計(jì)要求。



          關(guān)鍵詞: 1553B FPGA 總線 遠(yuǎn)程

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();