資料介紹
基于CPLD的系統(tǒng)中I2C總線的設計
?
摘要: 在介紹I2C總線協(xié)議的基礎上,討論了基于CPLD的系統(tǒng)中I2C總線的設計技術,并結(jié)合工程實例設計了I2C總線IP核,給出了部分源代碼和仿真結(jié)果。
關鍵詞: I2C總線 IP核 CPLD
I2C總線是PHILIPS公司推出的新一代串行總線,其應用日漸廣泛?1~2?。目前許多單片機都帶有I2C總線接口,能方便地實現(xiàn)I2C總線設計;對沒有I2C總線的微控制器(MCU),可以采用兩條I/O口線進行模擬。在以單片機為MCU的系統(tǒng)中很容易實現(xiàn)I2C總線的模擬擴展,有現(xiàn)成的通用軟件包可以使用?2~3?。
對有些基于CPLD的系統(tǒng),要與帶有I2C總線接口的外圍器件連接,實現(xiàn)起來相對復雜一些。為實現(xiàn)系統(tǒng)中的I2C總線接口,可以另外引入單片機,也可以采用PCF8584或者PCA9564器件(PHILIPS公司推出的專用I2C總線擴展器)進行擴展,但這樣會增加系統(tǒng)成本,使系統(tǒng)冗余復雜。像ALTERA、XILINX等一些大公司有專用的基于CPLD器件的I2C總線IP核,但這些IP核的通用性不強,需要的外圍控制信號較多,占用系統(tǒng)很大的資源,因此直接采用這種IP核不可取。
I2C總線的協(xié)議
I2C總線僅僅依靠兩根連線就實現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送:一根為串行數(shù)據(jù)線(SDA),一根為串行時鐘線(SCL)。該總線協(xié)議有嚴格的時序要求??偩€工作時,由時鐘控制線SCL傳送時鐘脈沖,由串行數(shù)據(jù)線SDA傳送數(shù)據(jù)??偩€傳送的每幀數(shù)據(jù)均為一個字節(jié)(8 bit),但啟動I2C總線后,傳送的字節(jié)個數(shù)沒有限制,只要求每傳送一個字節(jié)后,對方回應一個應答位(Acknowledge Bit)。發(fā)送數(shù)據(jù)時首先發(fā)送數(shù)據(jù)的最高位(MSB)。
I2C總線協(xié)議規(guī)定,啟動總線后第一個字節(jié)的高7位是從器件的尋址地址,第8位為方向位(“0”表示主器件對從器件的寫操作;“1”表示主器件對從器件的讀操作),其余的字節(jié)為操作的數(shù)據(jù)??偩€每次傳送開始時有起始信號,結(jié)束時有停止信號。在總線傳送完一個或幾個字節(jié)后,可以使SCL線的電平變低,從而使傳送暫停。
圖1列出了I2C總線上典型信號的時序,圖2表示I2C總線上一次完整的數(shù)據(jù)傳送過程。
依據(jù)I2C總線的傳輸協(xié)議,總線工作時的具體時序如下:
起始信號(S):在時鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由高電平向低電平的變化,用于啟動I2C總線,準備開始傳送數(shù)據(jù);
停止信號(P):在時鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由低電平向高電平的變化,用于停止I2C總線上的數(shù)據(jù)傳送;
應答信號(A):I2C總線的第9個脈沖對應應答位,若SDA線上顯示低電平則為總線“應答”(A),若SDA線上顯示高電平則為“非應答”(/A);
數(shù)據(jù)位傳送:I2C總線起始信號或應答信號之后的第1~8個時鐘脈沖對應一個字節(jié)的8位數(shù)據(jù)傳送。在脈沖高電平期間,數(shù)據(jù)串行傳送;在脈沖低電平期間,數(shù)據(jù)準備,允許總線上數(shù)據(jù)電平變化。
?
摘要: 在介紹I2C總線協(xié)議的基礎上,討論了基于CPLD的系統(tǒng)中I2C總線的設計技術,并結(jié)合工程實例設計了I2C總線IP核,給出了部分源代碼和仿真結(jié)果。
關鍵詞: I2C總線 IP核 CPLD
I2C總線是PHILIPS公司推出的新一代串行總線,其應用日漸廣泛?1~2?。目前許多單片機都帶有I2C總線接口,能方便地實現(xiàn)I2C總線設計;對沒有I2C總線的微控制器(MCU),可以采用兩條I/O口線進行模擬。在以單片機為MCU的系統(tǒng)中很容易實現(xiàn)I2C總線的模擬擴展,有現(xiàn)成的通用軟件包可以使用?2~3?。
對有些基于CPLD的系統(tǒng),要與帶有I2C總線接口的外圍器件連接,實現(xiàn)起來相對復雜一些。為實現(xiàn)系統(tǒng)中的I2C總線接口,可以另外引入單片機,也可以采用PCF8584或者PCA9564器件(PHILIPS公司推出的專用I2C總線擴展器)進行擴展,但這樣會增加系統(tǒng)成本,使系統(tǒng)冗余復雜。像ALTERA、XILINX等一些大公司有專用的基于CPLD器件的I2C總線IP核,但這些IP核的通用性不強,需要的外圍控制信號較多,占用系統(tǒng)很大的資源,因此直接采用這種IP核不可取。
I2C總線的協(xié)議
I2C總線僅僅依靠兩根連線就實現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送:一根為串行數(shù)據(jù)線(SDA),一根為串行時鐘線(SCL)。該總線協(xié)議有嚴格的時序要求??偩€工作時,由時鐘控制線SCL傳送時鐘脈沖,由串行數(shù)據(jù)線SDA傳送數(shù)據(jù)??偩€傳送的每幀數(shù)據(jù)均為一個字節(jié)(8 bit),但啟動I2C總線后,傳送的字節(jié)個數(shù)沒有限制,只要求每傳送一個字節(jié)后,對方回應一個應答位(Acknowledge Bit)。發(fā)送數(shù)據(jù)時首先發(fā)送數(shù)據(jù)的最高位(MSB)。
I2C總線協(xié)議規(guī)定,啟動總線后第一個字節(jié)的高7位是從器件的尋址地址,第8位為方向位(“0”表示主器件對從器件的寫操作;“1”表示主器件對從器件的讀操作),其余的字節(jié)為操作的數(shù)據(jù)??偩€每次傳送開始時有起始信號,結(jié)束時有停止信號。在總線傳送完一個或幾個字節(jié)后,可以使SCL線的電平變低,從而使傳送暫停。
圖1列出了I2C總線上典型信號的時序,圖2表示I2C總線上一次完整的數(shù)據(jù)傳送過程。
依據(jù)I2C總線的傳輸協(xié)議,總線工作時的具體時序如下:
起始信號(S):在時鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由高電平向低電平的變化,用于啟動I2C總線,準備開始傳送數(shù)據(jù);
停止信號(P):在時鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由低電平向高電平的變化,用于停止I2C總線上的數(shù)據(jù)傳送;
應答信號(A):I2C總線的第9個脈沖對應應答位,若SDA線上顯示低電平則為總線“應答”(A),若SDA線上顯示高電平則為“非應答”(/A);
數(shù)據(jù)位傳送:I2C總線起始信號或應答信號之后的第1~8個時鐘脈沖對應一個字節(jié)的8位數(shù)據(jù)傳送。在脈沖高電平期間,數(shù)據(jù)串行傳送;在脈沖低電平期間,數(shù)據(jù)準備,允許總線上數(shù)據(jù)電平變化。
I2C
加入交流群
掃碼添加小助手
加入工程師交流群
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- I2C總線應用系統(tǒng)設計運用 10次下載
- 基于51的I2c總線 34次下載
- SPI總線及I2C總線工作原理 0次下載
- 基于CPLD的I2C總線接口設計
- I2C總線在Linux系統(tǒng)中的驅(qū)動設計
- I2C總線技術在彩電中的應用
- 基于I2C總線的大型開關矩陣設計與實現(xiàn)
- I2C總線應用中的幾個問題
- 基于MCU和CPLD系統(tǒng)中I2C總線控制器的設計與實現(xiàn)
- I2C總線規(guī)范與I2C器件C51讀寫程序
- i2c總線的特點
- 基于MCU 的I2C 總線傳輸設計
- 用嵌入式系統(tǒng)的SPI模塊實現(xiàn)I2C總線通信
- i2c總線ppt(I2C總線器件應用) 0次下載
- I2C總線器件在高抗干擾系統(tǒng)中的應用 0次下載
- I2C總線協(xié)議的工作原理和尋址格式 3.6k次閱讀
- Linux I2C驅(qū)動入門知識科普 2.5k次閱讀
- i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程 7.8k次閱讀
- I2C總線驅(qū)動的C語言源程序詳細說明 5.9k次閱讀
- I2C總線系統(tǒng)中引起電壓失常的原因和檢修方法 1.8w次閱讀
- I2C總線控制系統(tǒng)的構(gòu)成_I2C總線控制系統(tǒng)的特點 2k次閱讀
- 基于MCS-51單片機I2C總線接口電路的設計 4.1k次閱讀
- I2C總線的工作原理解析 7.2k次閱讀
- I2C總線的特點與構(gòu)成詳解 1.1w次閱讀
- 80C51單片機模擬I2C總線的主機程序分享 4.1k次閱讀
- I2C總線的特點、控制技術與傳輸分析 1.1w次閱讀
- i2c總線相關知識 4.1k次閱讀
- 《振南電子STM32視頻教程》第八講:I2C總線 1.3k次閱讀
- 基于FPGA的I2C SLAVE模式總線的設計方案 2w次閱讀
- I2C器件接口IP核的CPLD設計 1.4k次閱讀
下載排行
本周
- 1MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費
- 2MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費
- 3聯(lián)想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費
- 4收音環(huán)繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 524Pin Type-C連接器設計報告
- 1.06 MB | 次下載 | 免費
- 6新一代網(wǎng)絡可視化(NPB 2.0)
- 3.40 MB | 次下載 | 免費
- 7MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
- 8MS1022高精度時間測量(TDC)電路數(shù)據(jù)手冊
- 1.81 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論