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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 采用片上系統(tǒng)技術來設計FC協議芯片的方案解析

          采用片上系統(tǒng)技術來設計FC協議芯片的方案解析

          作者: 時間:2012-05-09 來源:網絡 收藏

          芯片的結構

          根據3.2節(jié)的討論。FC對上層的接口(ULP)采用PCI接口,由芯片內置的PCI-TARGET內核實現。

          虛線方框部分構成了FC的N端口,整個芯片中有2個N端口。每個FC-N端口由“FC收發(fā)通道”和“FC幀收發(fā)控制器”2層構成。“FC收發(fā)通道”與光電接口模塊配合可實現FC-0層、FC-1層和FC-2層中數據幀收發(fā)的功能。該層為上層接口提供用于數據幀收發(fā)的片內FIFO通道。“FC幀收發(fā)控制器”實現FC-2層的數據幀打包、開包和檢錯。另外,通過芯片內嵌的軟件模塊實現FC-2層的序列和交換協議;同時提供ULP接口。下文對FC通道、幀收發(fā)控制器、CPU內核及ULP 接口作分別討論。

          FC收發(fā)通道模塊的設計

          功能概述

          該模塊主要完成FC-2層幀的收發(fā),包括:完成SERDES(串-并互相轉換模塊)與光電接口的連接、完成FC-1層的8b/10b編解碼、FC-2層幀級的CRC校驗和FC有序集碼的譯碼;同時利用內置存儲器構成FIFO與FC芯片后端模塊進行數據交換的緩沖區(qū)。

          組成結構

          該模塊分為“FC發(fā)送通道”和“FC接收通道”。在收發(fā)通道之間提供多種自環(huán)測試的通路(未在圖中標出)。

          “FC發(fā)送通道”主要由以下單元組成:

          (1)并-串轉化單元;

          (2)發(fā)送時鐘鎖相環(huán);

          (3)8b/10b編碼單元;

          (4)CRC校驗生成單元;

          (5)TX-FIFO發(fā)送控制單元;

          (6)TX-FIFO數據輸入緩沖單元;

          (7)自環(huán)控制單元。

          “FC接收通道”主要由以下單元組成:

          (1)串-并轉化單元;

          (2)接收時鐘鎖相環(huán);

          (3)時鐘恢復單元;

          (4)同步檢測單元;

          (5)有序集譯碼單元;

          (6)8b/10b解碼單元;

          (7)CRC校驗單元;

          (8)RX-FIFO發(fā)送控制單元;

          (9)RX-FIFO數據輸出緩沖單元;

          (10)自環(huán)控制單元。

          數據收發(fā)緩沖區(qū)的定義

          數據緩沖區(qū)TX-FIFO、RX-FIFO的定義如表2所示:途中發(fā)送緩沖區(qū)是33位,低32位是發(fā)送的數據,第32位用于表示當前碼字是否為有序集碼。接收緩沖區(qū)是36位,低32位是接收到的數據,高位部分保存FC-2幀的CRC校驗結果、8b/10b碼的譯碼校驗等信息。

          雙絞線傳輸器相關文章:雙絞線傳輸器原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();