I2C總線在多機通信中的應用
發布時間:2007/4/23 0:00:00 訪問次數:2792
關鍵詞:I2C總線 多機通信 軟硬件設計
I2C(Inter Integrated Circuit)總線是Philips公司開發的一種雙向兩線主機總線,它能方便地實現芯片間的數據傳輸與控制。通過兩線緩沖接口和內部控制與狀態寄存器,可方便地完成多機間的非主從通信或主從通信。基于I2C總線的多機通信電路結構簡單、程序編寫方便,易于實現系統軟硬件的模塊化和標準化。
本文給出了基于I2C總線的多機通信調度指揮系統方案,討論了系統的軟硬件設計。
1 系統硬件設計
本調度指揮系統由主機和調度操作臺兩部分組成,工作原理如圖1所示,兩者間通過RS422總線實現較長距離的數據傳送。主機和操行臺內部均采用分散多處理器控制,處理器間采用I2C總線進行數據通信。
主機內部采用分散控制方式,整個交換系統被分割成多個用戶子系統及1個通信子系統,每個子系統由一個CPU處理單元負責128個用戶的呼叫控制和管理,多個子系統之間通信I2C組成一個無主通信總線進行信息交互(如呼叫處理信息、維護信息等),構成一個完整的交換系統。
調度操作臺由操作臺控制CPU、顯示屏及多個用戶鍵板構成,支持128~1024個操作按鍵和256~2048個LED指示燈,每個操作按鍵可縮位一組電話號碼對應主機內的一個電話用戶,雙燈組合指示該電話用戶狀態,并支持LCD中文顯示。操作臺內部主控CPU與用戶鍵板控制CPU之間通過I2CU叫線組成主從通信總線進行信息交互(按鍵信息、LED顯示信息)。
1.1 主機I2C總線構成
子系統的CPU處理單元由Philips-80C652單片機配合外圍電路(如EPROM、RAM、EEPROM、譯碼和I/O驅動等)構成,80C652具有一個支持雙向數據傳送的I2C總線串行接口,I2C總線邏輯根據路徑自動地進行數據傳送。CPU對I2CU總線的訪問通過以下四個特殊功能寄存器完成:
S1CON(D8H) SIO1控制寄存器
S1STA(D9H) SIO1狀態寄存器
S1DAT(DAH) SIS1數據寄存器
S1ADR(DBH) SIO1從地址寄存器
SIO1邏輯通過P1.6/SCL和P1.7/SDA兩個引腳連接到外部I2C總線,可工作于以下四種模式:主發送模式、主接收模式、從接收模式、從發送模式。各子系統間的I2C接口復接即構成了主機I2C通信總線,通票用無主通信方式,每個CPU既可以響應通用地址的廣播呼叫,也可以進行點對點的通信,完全滿足程控交換的信息傳送要求且結構簡單。連接示意圖如圖2所示。
1.2 調度臺I2C總線構成
操作臺控制CPU板由Philips-80C652單片機配合外圍電路(如EPROM、RAM、EEPROM、譯碼和顯示驅動電路等)構成,其P1.6-SCL、P1.7-SDA為I2C總線接口SIO1。單片機的SIO1通過MC3486/3487與主機通過RS422接口通信,SIO1與用戶鍵板的P87LPC764通信,最多可支持63塊用戶鍵板的通信連接。
每個用戶鍵板均采用Philips-P87LPC764單片機控制,每塊鏈板提供64個用戶按鍵及128個用戶鍵燈。P87LPC764是51LPC系列OTP單片機,其最大特點是改進型80C51系列,增加了WDT看門狗、I2C總線、三個模擬量比較器、上電復位檢測,保證I/O口驅動電流達到20mA,運行速度為標準80C51的2倍,而且溫度范圍達到了工業級標準(-40℃~+85℃)。該芯片的I2C總線系統包括一個可簡化軟件驅動的I2C總線硬件。除了必要總線仲裁、錯誤檢測、時鐘擴展和總線超時定時器外,包括一個一位接口,這個接口通過循環查詢或中斷同步軟件。
采用該設計的優點在于系統擴充性強,軟件功能分擔:由P87LPC764進行按鍵掃描和LED顯示處理,大大減輕了主CPU-80C652的負擔;由于P87LPC764性價比優越,比專用鍵盤電路更便宜,功能上也可靈活改變;鍵板可按需配置,只需簡單的4線連接(SDA、SCL、+5V、GND)。調度臺I2C總線連接示意圖如圖3所示。
2 I2C總線的數據傳送方式
I2C總線器件之間通信串行數據線SDA和串行時鐘線SCL傳送數據,交換信息。每個器件(微控制器
關鍵詞:I2C總線 多機通信 軟硬件設計
I2C(Inter Integrated Circuit)總線是Philips公司開發的一種雙向兩線主機總線,它能方便地實現芯片間的數據傳輸與控制。通過兩線緩沖接口和內部控制與狀態寄存器,可方便地完成多機間的非主從通信或主從通信。基于I2C總線的多機通信電路結構簡單、程序編寫方便,易于實現系統軟硬件的模塊化和標準化。
本文給出了基于I2C總線的多機通信調度指揮系統方案,討論了系統的軟硬件設計。
1 系統硬件設計
本調度指揮系統由主機和調度操作臺兩部分組成,工作原理如圖1所示,兩者間通過RS422總線實現較長距離的數據傳送。主機和操行臺內部均采用分散多處理器控制,處理器間采用I2C總線進行數據通信。
主機內部采用分散控制方式,整個交換系統被分割成多個用戶子系統及1個通信子系統,每個子系統由一個CPU處理單元負責128個用戶的呼叫控制和管理,多個子系統之間通信I2C組成一個無主通信總線進行信息交互(如呼叫處理信息、維護信息等),構成一個完整的交換系統。
調度操作臺由操作臺控制CPU、顯示屏及多個用戶鍵板構成,支持128~1024個操作按鍵和256~2048個LED指示燈,每個操作按鍵可縮位一組電話號碼對應主機內的一個電話用戶,雙燈組合指示該電話用戶狀態,并支持LCD中文顯示。操作臺內部主控CPU與用戶鍵板控制CPU之間通過I2CU叫線組成主從通信總線進行信息交互(按鍵信息、LED顯示信息)。
1.1 主機I2C總線構成
子系統的CPU處理單元由Philips-80C652單片機配合外圍電路(如EPROM、RAM、EEPROM、譯碼和I/O驅動等)構成,80C652具有一個支持雙向數據傳送的I2C總線串行接口,I2C總線邏輯根據路徑自動地進行數據傳送。CPU對I2CU總線的訪問通過以下四個特殊功能寄存器完成:
S1CON(D8H) SIO1控制寄存器
S1STA(D9H) SIO1狀態寄存器
S1DAT(DAH) SIS1數據寄存器
S1ADR(DBH) SIO1從地址寄存器
SIO1邏輯通過P1.6/SCL和P1.7/SDA兩個引腳連接到外部I2C總線,可工作于以下四種模式:主發送模式、主接收模式、從接收模式、從發送模式。各子系統間的I2C接口復接即構成了主機I2C通信總線,通票用無主通信方式,每個CPU既可以響應通用地址的廣播呼叫,也可以進行點對點的通信,完全滿足程控交換的信息傳送要求且結構簡單。連接示意圖如圖2所示。
1.2 調度臺I2C總線構成
操作臺控制CPU板由Philips-80C652單片機配合外圍電路(如EPROM、RAM、EEPROM、譯碼和顯示驅動電路等)構成,其P1.6-SCL、P1.7-SDA為I2C總線接口SIO1。單片機的SIO1通過MC3486/3487與主機通過RS422接口通信,SIO1與用戶鍵板的P87LPC764通信,最多可支持63塊用戶鍵板的通信連接。
每個用戶鍵板均采用Philips-P87LPC764單片機控制,每塊鏈板提供64個用戶按鍵及128個用戶鍵燈。P87LPC764是51LPC系列OTP單片機,其最大特點是改進型80C51系列,增加了WDT看門狗、I2C總線、三個模擬量比較器、上電復位檢測,保證I/O口驅動電流達到20mA,運行速度為標準80C51的2倍,而且溫度范圍達到了工業級標準(-40℃~+85℃)。該芯片的I2C總線系統包括一個可簡化軟件驅動的I2C總線硬件。除了必要總線仲裁、錯誤檢測、時鐘擴展和總線超時定時器外,包括一個一位接口,這個接口通過循環查詢或中斷同步軟件。
采用該設計的優點在于系統擴充性強,軟件功能分擔:由P87LPC764進行按鍵掃描和LED顯示處理,大大減輕了主CPU-80C652的負擔;由于P87LPC764性價比優越,比專用鍵盤電路更便宜,功能上也可靈活改變;鍵板可按需配置,只需簡單的4線連接(SDA、SCL、+5V、GND)。調度臺I2C總線連接示意圖如圖3所示。
2 I2C總線的數據傳送方式
I2C總線器件之間通信串行數據線SDA和串行時鐘線SCL傳送數據,交換信息。每個器件(微控制器