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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA和BU-65170的1553B遠(yuǎn)程終端設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA和BU-65170的1553B遠(yuǎn)程終端設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-10-23 來源:網(wǎng)絡(luò) 收藏

          3.1 讀/寫模塊
          根據(jù)芯片手冊(cè)給出的CPU讀寫時(shí)序圖編寫程序,在對(duì)寄存器和內(nèi)部RAM進(jìn)行讀寫的模塊。讀寫模塊的仿真時(shí)序圖如圖4和圖5所示。

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

          f.JPG


          在讀寫過程中,信號(hào)BU_RD_WR為‘1’時(shí)表示對(duì)進(jìn)行讀操作,為‘0’時(shí)為寫操作;信號(hào)BU_MEM_REG為‘1’時(shí)表示對(duì)內(nèi)部RAM進(jìn)行讀/寫,為‘0’時(shí)表示對(duì)寄存器進(jìn)行讀/寫。在零等待模式中,信號(hào)BU_STRBD和BU_SELECT(可與BU_STRBD綁定,所以沒有給出)控制著讀/寫操作的開始。
          在長STRBD模式下SELECT和STRBD同時(shí)為低電平的第2個(gè)CLK上升沿,內(nèi)部鎖存MEM_REG和RD_WR信號(hào);短STRBD模式下STRBD上升沿內(nèi)部鎖存MEM_REG和RD_WR信號(hào)。考慮到容易滿足時(shí)序要求,采用長STRBD模式。當(dāng)鎖存住MEM_REG或RD_WR信號(hào)后,BU_READY會(huì)出現(xiàn)一個(gè)上升沿,緊接著當(dāng)BU_READY出現(xiàn)下降沿時(shí),表示BU-65170內(nèi)部傳送周期已經(jīng)結(jié)束。
          在16位零等待模式下,寫一個(gè)內(nèi)部存儲(chǔ)單元或寄存器時(shí),只需執(zhí)行一次寫操作,使該字的地址和數(shù)據(jù)呈現(xiàn)在地址總線和數(shù)據(jù)總線上即可。而讀一個(gè)內(nèi)部存儲(chǔ)單元或寄存器時(shí),需要進(jìn)行兩次讀操作。第一次讀時(shí),要讀單元的地址和位置出現(xiàn)在A13-A00和MEM_REG上,這個(gè)周期獨(dú)處的數(shù)據(jù)應(yīng)忽略掉;第二次讀時(shí),相應(yīng)的數(shù)據(jù)會(huì)出現(xiàn)在數(shù)據(jù)總線上。
          因此,如果要執(zhí)行一個(gè)多字讀操作,地址總是早于對(duì)應(yīng)的讀出數(shù)據(jù),在同一個(gè)周期上,地址總線上出現(xiàn)下一個(gè)字的地址,數(shù)據(jù)總線上出現(xiàn)前一個(gè)字的讀出數(shù)據(jù)。
          3.2 配置模塊
          BU-65170有17個(gè)寄存器,通過配置這些寄存器來選擇工作模式和具體功能。選擇增強(qiáng)模式、增強(qiáng)中斷使能模式,使能RT子地址控制字中斷,服務(wù)請(qǐng)求自動(dòng)清除。初始化流程如圖6所示,寄存器詳細(xì)配置如表3所示,具體子地址設(shè)置如表4所示。

          g.JPG


          3.3 時(shí)鐘模塊
          使用40 MHz的外部晶振作為的時(shí)鐘輸入,然后用FPGA自帶DCM模塊分頻得到16 MHz主時(shí)鐘,作為其余模塊的全局時(shí)鐘,仿真和實(shí)際波形測(cè)試表明全局時(shí)鐘穩(wěn)定性良好,滿足系統(tǒng)要求。
          3.4 RS 422控制及UART模塊
          RS 422模塊了RS 422通信功能,一方面滿足了工程要求;另一方面也使調(diào)試系統(tǒng)變得方便明了,因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/1553B">1553B發(fā)送過來的數(shù)據(jù)可以立即通過RS 422轉(zhuǎn)RS 232接口顯示在PC機(jī)上,同理,可以通過PC機(jī)發(fā)送數(shù)據(jù)到的總線控制器。1553B總線接收數(shù)據(jù)的過程如下:RS 422端口發(fā)送數(shù)據(jù)到FPGA,將數(shù)據(jù)緩存在FIFO中,RT接收到發(fā)送命令后,F(xiàn)PGA把FIFO中的數(shù)據(jù)寫入RT相應(yīng)的發(fā)送子地址,最后再由RT發(fā)送給BC。類似地,1553B總線發(fā)送數(shù)據(jù)的過程如下:RT接收到接收命令后,F(xiàn)PGA立刻把數(shù)據(jù)從相應(yīng)子地址讀出,并傳送給RS 422模塊,再通過UART將數(shù)據(jù)發(fā)出。
          UART采用10位異步通信方式,即1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,如圖7所示,波特率為9 600 b/s。RS 422控制模塊內(nèi)部包含一個(gè)分頻模塊,將產(chǎn)生RS 422接口定義中的收發(fā)所需的波特率。通過對(duì)于系統(tǒng)時(shí)鐘的分頻,產(chǎn)生波特率為9 600 b/s和153 600的信號(hào)。

          h.JPG

          i.JPG


          接收狀態(tài)機(jī)見圖8。當(dāng)檢測(cè)到起始位時(shí),首先檢驗(yàn)起始位是否正確,如果正確,立即采樣數(shù)據(jù)位,否則就返回空閑狀態(tài)。當(dāng)采樣計(jì)數(shù)器計(jì)到8后判斷下一位是否為停止位,若不是,則丟棄數(shù)據(jù)并進(jìn)入空閑狀態(tài);若是,則把數(shù)據(jù)存入寄存器后進(jìn)入空閑狀態(tài),結(jié)束一次成功的接收。為了提高正確率,還采用三模冗余算法。UART發(fā)送過程與接收類似,在收到發(fā)送信號(hào)后將需要發(fā)送的數(shù)據(jù)存入緩存,在使能有效和緩存不空的情況下開始傳輸。此時(shí)指針開始計(jì)數(shù),首先發(fā)送起始位‘0’,接著一次發(fā)送8 b數(shù)據(jù),最后發(fā)送停止位‘1’,結(jié)束一次發(fā)送過程。

          fpga相關(guān)文章:fpga是什么




          評(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); })();