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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 三線制同步串行通信控制器接口設(shè)計

          三線制同步串行通信控制器接口設(shè)計

          作者: 時間:2009-11-11 來源:網(wǎng)絡(luò) 收藏

          數(shù)據(jù)接收流程:在幀脈沖信號觸發(fā)下,數(shù)據(jù)在時鐘信號rclk上升沿到來時保持穩(wěn)定,并通過rdata信號線進入數(shù)據(jù)接收模塊。在該模塊內(nèi)部,數(shù)據(jù)經(jīng)過串/并變換,接收FIFO作為數(shù)據(jù)緩沖器,將接收到的數(shù)據(jù)鎖存在VHDL程序指定的兩個地址寄存器中,一個地址單元存儲數(shù)據(jù)的高八位,另外一個地址單元存儲數(shù)據(jù)的低八位,當數(shù)據(jù)存滿這兩個地址單元后,向系統(tǒng)發(fā)出一個“接收緩存滿”的接收中斷標志int,系統(tǒng)微處理器響應(yīng)后,數(shù)據(jù)被全部取出,并行數(shù)據(jù)被送往系統(tǒng)的數(shù)據(jù)總線上,重復(fù)進行相同操作,直至連續(xù)接收完所有數(shù)據(jù),數(shù)據(jù)接收過程結(jié)束。
          數(shù)據(jù)發(fā)送模塊也是進行數(shù)據(jù)發(fā)送的核心部分,其模塊結(jié)構(gòu)如圖6所示。

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

          數(shù)據(jù)發(fā)送流程:在sgate幀脈沖信號觸發(fā)下,系統(tǒng)數(shù)據(jù)總線上的并行數(shù)據(jù)在時鐘信號sclk上升沿到來時保持穩(wěn)定,并通過數(shù)據(jù)發(fā)送模塊開始數(shù)據(jù)發(fā)送。在模塊內(nèi)部,首先發(fā)送FIFO數(shù)據(jù)緩沖器,當并行數(shù)據(jù)存滿該緩存單元后,數(shù)據(jù)發(fā)送模塊向系統(tǒng)發(fā)出一個“發(fā)送緩存滿”的發(fā)送中斷標志int,系統(tǒng)微處理器響應(yīng)后,并行數(shù)據(jù)從發(fā)送FIFO內(nèi)讀出,經(jīng)過并/串變換成串行數(shù)據(jù),最高位MSB最前,最低位LSB最后,并被送往發(fā)送數(shù)據(jù)信號線Sdata上,發(fā)送至外圍設(shè)備,重復(fù)進行相同操作,直至發(fā)送完畢所有數(shù)據(jù),數(shù)據(jù)發(fā)送過程結(jié)束。


          3 結(jié) 語
          本文在介紹了制同步串行機制基礎(chǔ)上,首先對制同步串行接口進行了硬件電路,然后針對傳統(tǒng)電路方式的不足,構(gòu)建了基于C的三線制同步串行通信接口結(jié)構(gòu),詳述了各個功能模塊及其工作原理,合理,并且滿足了實際應(yīng)用要求。目前,此接口結(jié)構(gòu)模塊已作為設(shè)計中的關(guān)鍵子模塊被成功應(yīng)用于某航天項目及其配套的硬件測試平臺中。


          上一頁 1 2 3 下一頁

          評論


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