[發明專利]一種基于FPGA實現多路I2C總線端口擴展的方法無效
| 申請號: | 201110171251.2 | 申請日: | 2011-06-23 |
| 公開(公告)號: | CN102243619A | 公開(公告)日: | 2011-11-16 |
| 發明(設計)人: | 王東鋒;楊林;朱力;陳偉峰;張睿;錢瑞杰;張天晶 | 申請(專利權)人: | 天津光電通信技術有限公司 |
| 主分類號: | G06F13/38 | 分類號: | G06F13/38 |
| 代理公司: | 天津中環專利商標代理有限公司 12105 | 代理人: | 莫琪 |
| 地址: | 300211*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 實現 i2c 總線 端口 擴展 方法 | ||
技術領域
????本發明涉及通信、測控的設備,特別涉及一種基于FPGA實現多路I2C總線端口擴展的方法。
背景技術
????目前,隨著通信技術的發展,通信、測控設備電路的各電路板之間、器件之間的通信越來越多,因而對板級通信速度要求也越來越高?。但現有技術還存在不足之處:首先,因為一般通信設備的主控MCU僅有一個I2C總線端口,當該通信設備需要同時與系統間多個I2C總線的從設備進行通信時,主控制設備要通過單一的I2C總線端口與所有從設備或從器件連接,只有一個I2C總線端口的主設備只能依次和從設備或從器件進行通信,當主設備和一個從設備或從器件進行通信時,其他從設備則處于等待狀態,不僅浪費了大量的時間,同時由于I2C的通信的標準頻率只有100KHz和400KHz(快速),因此主設備和從設備或從器件之間通信速度就會降低。
????其次,由于I2C總線協議規定的總線電容不能超過400pF,一個I2C總線上所能掛載的I2C器件是有限的,當系統中存在大量的I2C總線設備和器件時,一路I2C總線已不能滿足設備間通信的要求。
發明內容
????鑒于現在技術存在的問題,本發明提供一種基于FPGA的多路I2C總線端口擴展技術方案,由FPGA擴展出I2C端口,并使擴展的端口完全符合I2C總線通信協議。
????本發明是通過這樣的技術方案實現的:一種基于FPGA實現多路I2C總線端口擴展的方法,用于通信系統的主設備和從設備之間通信,其特征在于,將主設備的主控MCU通過高速并口連接一個FPGA,經編程構成FPGA內部電路,?FPGA內部電路包括MCU接口模塊和多路I2C接口模塊;
所述MCU接口模塊用于FPGA和主控MCU外圍總線的通信,主控MCU和FPGA之間采用高速并口進行通信,每次通信傳輸一個Byte的數據;
主控MCU和FPGA之間的并口通信采用如下定義:
ADDR_BUS[15:0]?:地址總線,表示FPGA中寄存器的地址;
DATA_BUS[7:0]??:雙向的數據總線;
WRB?:寫控制信號,低電平有效;
RDB?:讀控制信號,低電平有效;
RD_IRQ?:讀中斷信號,低電平有效;
????所述多路I2C接口模塊包括多路I2C接口;每路I2C接口用于連接外部I2C控制器和外部I2C總線;I2C接口主要由Start/Stop及SCL發生器的狀態機和主狀態機組成;Start/Stop及SCL發生器的狀態機用于產生開始,停止信號,以及SCL信號;主狀態機用于執行發送和接收操作。
????本發明的優點是,通信系統中的所有的從設備或者從器件的I2C通信端口和主設備電路中由FPGA擴展出來的I2C端口依次連接,既可以僅有一個設備連接到一個FPGA擴展出來的某個I2C端口,也可以有多個設備或器件分別連接到FPGA擴展的I2C端口,由FPGA擴展出來的I2C端口完全符合I2C總線協議。在以I2C總線通信的系統中,通過在主設備中使用本發明的通信端口擴展的方法,可以極大的提高主設備和從設備或者從器件的通信速度。
?
附圖說明
????圖1.?FPGA總體示意圖;
????圖2.?I2C接口設計示意圖;
????圖3.?Start/Stop及SCL發生器的狀態機的狀態轉移圖;
????圖4.?I2C接口主狀態機的狀態轉移圖。
具體實施方式
????為了更清楚的理解本發明,結合附圖和實施例詳細描述本發明:
FPGA擴展的I2C端口在FPGA端口配置時需要把相應的管腳的電平選擇為I2C電平模式。MCU和FPGA之間采用高速并口進行通信,每次可以傳輸一個Byte的數據。傳輸速率取決于MCU的系統時鐘。
MCU和FPGA的并口采用如下定義:
ADDR_BUS[15:0]?:地址總線(表示FPGA中寄存器的地址)
DATA_BUS[7:0]??:雙向的數據總線
WRB?:寫控制信號,低電平有效
RDB?:讀控制信號,低電平有效
RD_IRQ?:讀中斷信號,低電平有效
????在FPGA中設置兩大類寄存器來實現MCU和FPGA之間交互。
A)設置FPGA和MCU之間交互的寄存器:控制寄存器,狀態寄存器和中斷寄存器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津光電通信技術有限公司,未經天津光電通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110171251.2/2.html,轉載請聲明來源鉆瓜專利網。





