在PowerPC上實現(xiàn)I2C控制及實現(xiàn)設(shè)備間通信的方法
I2C讀、寫流程
3.2.2 通過PCI局部總線實現(xiàn)設(shè)備間通信
PCI局部總線是微型計算機中處理器/存儲器與外圍控制部件、擴展卡之間的互聯(lián)接口,PCI局部總線規(guī)范是互聯(lián)機構(gòu)的協(xié)議,也是電氣和機械配置的規(guī)范。PCI局部總線具有總線主設(shè)備支持和自動配置功能,提供了3類地址空間,即存儲器、I/O和配置地址空間。這些特點為總線上各設(shè)備間的通信奠定了基礎(chǔ)。
車輛顯控系統(tǒng)中存在多個PCI設(shè)備,鑒于PowerPC較強的處理能力和實時操作系統(tǒng)的實時多任務(wù)處理功能,使得PowerPC控制主板成為“主設(shè)備”,負責(zé)設(shè)備間的協(xié)調(diào),其他設(shè)備作為“從設(shè)備”。由“主設(shè)備”根據(jù)“從設(shè)備”的設(shè)備識別號和供應(yīng)商識別號對其進行配置,根據(jù)地址空間的存儲映射訪問方式進行數(shù)據(jù)通信。PCI設(shè)備間的通信流程如圖6所示。
3.3 應(yīng)用程序與設(shè)備驅(qū)動的連接
應(yīng)用程序是通過調(diào)用設(shè)備驅(qū)動程序來訪問設(shè)備的。調(diào)用設(shè)備驅(qū)動有3種方式:直接調(diào)用、通過操作系統(tǒng)內(nèi)核調(diào)用和通過操作系統(tǒng)的擴展模塊調(diào)用。直接調(diào)用方式可以使應(yīng)用程序高效地訪問設(shè)備,但移植性差,且用戶需自行管理設(shè)備;通過內(nèi)核調(diào)用,由操作系統(tǒng)管理,移植性好,但增加了系統(tǒng)開銷;通過擴展模塊調(diào)用的優(yōu)缺點與通過內(nèi)核調(diào)用類似。
車輛顯控系統(tǒng)是一個復(fù)雜的實時操作系統(tǒng),需要良好的可移植性,且存在擴展模塊,因此應(yīng)用程序同時使用通過內(nèi)核和擴展模塊兩種方式來調(diào)用設(shè)備驅(qū)動程序。通過內(nèi)核調(diào)用通用設(shè)備驅(qū)動程序,通過擴展模塊調(diào)用特殊驅(qū)動程序。
3.4 應(yīng)用程序與設(shè)備的直接連接
針對一些特殊設(shè)備的控制要求,PowerPC控制主板對其采用直接控制的方式,而不通過設(shè)備驅(qū)動。
I2C總線是一種兩線式串行總線,主要應(yīng)用于微處理器外圍芯片的擴展。它只需兩根線——串行數(shù)據(jù)線和串行時鐘線,即可實現(xiàn)微處理器與總線上具有I2C總線接口的設(shè)備進行數(shù)據(jù)交換。
I2C總線設(shè)備以其簡單性和有效性被廣泛使用。車輛顯控系統(tǒng)中用于模擬視頻顯示的視頻解碼器CCX25836就是其中之一。CCX25836的寄存器需要用I2C總線進行配置,系統(tǒng)設(shè)計采用FPGA構(gòu)建了硬件I2C電氣結(jié)構(gòu),在PowerPC控制主板上用軟件模擬視頻解碼器所需的I2C讀寫流程(詳見圖3~4),設(shè)置其寄存器,從而實現(xiàn)視頻通道的切換、亮度對比度的調(diào)整等視頻顯示功能,如圖5所示。
結(jié)語
PowerPC MPC8548E微處理器以其豐富的接口、較強的運算能力、較快的處理速度、穩(wěn)定性和易擴展性受到嵌入式系統(tǒng)開發(fā)者們的青睞。車輛顯控系統(tǒng)的主板采用此芯片為核心處理器,配備必要的外圍接口,并采用VxWorks作為運行在其上的操作系統(tǒng),使其具備了實時處理多任務(wù)的能力。通過擴展PCI設(shè)備,實現(xiàn)了顯控系統(tǒng)設(shè)備間、顯示系統(tǒng)與其他系統(tǒng)設(shè)備間的數(shù)據(jù)交換和控制。
評論