基于CPLD的I2C總線(xiàn)接口設計
3 應用實(shí)例
該模塊工作于主模式,主要應用于沒(méi)有I2C專(zhuān)用接口的CPU通過(guò)并口方便地與具有I2C接口的外設連接并交換信息。
圖4給出了CPU通過(guò)該模塊與X24C04E2PROM接口的例子。本文引用地址:http://dyxdggzs.com/article/191294.htm
在圖中,PC104 CPU通過(guò)數據總線(xiàn)、地址總線(xiàn)、讀、寫(xiě)信號線(xiàn)與I2C接口模塊相連,I2C接口模塊則通過(guò)SDL、SDA與X24C04相連,PC104CPU輸出的并行數據,經(jīng)過(guò)I2C接口模塊轉換后變成符合I2C總線(xiàn)模式要求的串行數據輸出到X24C04,X24C04輸出的串行數據經(jīng)過(guò)I2C接口模塊轉換后,變成并行數據供PC104CPU讀取。使用該模塊后CPU操作I2C總線(xiàn)就像操作并口一樣方便。該電路的控制軟件流程如圖5所示。
通過(guò)上述應用實(shí)例可以看出,本文設計的接口模塊只能工作于主機模式,并且在整個(gè)系統中只能有一個(gè)主機工作。在從機因處理其他工作而暫不能響應主機時(shí),模塊沒(méi)有設計等待功能,只能發(fā)送總線(xiàn)結束信號結束當前操作,待從機空閑時(shí)再重新開(kāi)始通信。
4 結論
本設計的創(chuàng )新點(diǎn)在于:通過(guò)CPLD實(shí)現并口到I2C總線(xiàn)接口的轉換,可以使不具備I2C總線(xiàn)接口的CPU通過(guò)并口方便地控制I2C總線(xiàn)設備,使用該模塊可以簡(jiǎn)化控制軟件的編程,加快系統設計的實(shí)現,在I2C總線(xiàn)操作過(guò)程中,轉換模塊自動(dòng)發(fā)出開(kāi)始信號、結束信號,不需要CPU干預。
本文設計的I2C接口模塊只能工作于主模式,只能應用于主機系統;在模塊的設計中,沒(méi)有考慮多主機的情況,對多主機的總線(xiàn)競爭沒(méi)有設計仲裁功能;模塊的頁(yè)面讀寫(xiě)數據數不能超過(guò)32個(gè)字節,在32個(gè)字節之內,CPU可以通過(guò)主動(dòng)設置工作模式為“110”而終止當前操作,達到連續讀寫(xiě)小于32個(gè)字節數據的目的,超過(guò)32個(gè)字節的連續數據讀寫(xiě)操作將使模塊工作錯誤。
評論