[發明專利]一種面向BMC的I2C控制器的快速傳輸方法有效
| 申請號: | 201810023683.0 | 申請日: | 2018-01-10 |
| 公開(公告)號: | CN108228520B | 公開(公告)日: | 2020-06-16 |
| 發明(設計)人: | 王朝輝;王霞;王振江 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F13/42 | 分類號: | G06F13/42 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 劉淑風 |
| 地址: | 215100 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 bmc i2c 控制器 快速 傳輸 方法 | ||
1.一種面向BMC的I2C控制器的快速傳輸方法,其特征在于,將32位ARM分為兩個16位,每個16位的低8位作為I2C的傳輸數據,高8位作為控制信號進行傳輸,在I2C控制器與ARM總線之間有讀寫寬度不同的兩個FIFO用作命令和數據的緩存:
對于寫命令數據端,FIFO寫寬度為(8+3)*2=22位,其中8位為有效數據,3位表示START、STOP、INVALID三個標志位,FIFO讀寬度為8+3=11位;
對于ARM讀數據端,FIFO寫寬度為(8+1)=9位,其中8位為有效數據,1位表示無效或者FIFO為空的標志位,FIFO的讀寬度為(8+1)*2=18位。
2.根據權利要求1所述的一種面向BMC的I2C控制器的快速傳輸方法,其特征在于,對于寫命令數據端,狀態機如下:
1) I2C_START狀態,當收到START標志,狀態機跳到I2C_SLAVE_ADDR狀態;
2) I2C_SLAVE_ADDR狀態,根據8位數據的最低位跳轉到讀狀態或者寫狀態,如果最低位為1,則跳轉到I2C_READ狀態,否則跳轉I2C_WRITE狀態;
3) I2C_WRITE狀態,如果接收到STOP標志,狀態機跳到I2C_STOP狀態,如果接收到START標志,立即跳到I2C_START狀態,否則狀態機一直處于向slaver寫狀態;
4) I2C_READ狀態,如果接收到STOP標志,狀態機跳到I2C_STOP狀態,否則狀態機一直處于向slaver讀數據;
5) I2C_STOP狀態,表示狀態機處于停止狀態。
3.根據權利要求1或2所述的一種面向BMC的I2C控制器的快速傳輸方法,其特征在于,如果數據長度byte數為奇數,狀態機必須將最后一個byte的INVALID標志位置1,并寫入一個隨機數,用來湊滿32位總線。
4.根據權利要求1或2所述的一種面向BMC的I2C控制器的快速傳輸方法,其特征在于,I2C支持快速模式、發出byte模式、多byte地址發出接收模式。
5.根據權利要求1或2所述的一種面向BMC的I2C控制器的快速傳輸方法,其特征在于,該方法適用于各種基于SOC的I2C控制系統、或用于非SOC的I2C控制器和FPGA設計。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810023683.0/1.html,轉載請聲明來源鉆瓜專利網。





