在PowerPC上實(shí)現I2C控制及實(shí)現設備間通信的方法
摘要:車(chē)輛顯控系統的控制主板選用高性能PowerPC MPC8548E處理器,擴展了顯示器、內存、Flash存儲器和接口設備。以此主板為平臺,實(shí)現了車(chē)輛數據和視頻的實(shí)時(shí)顯示和控制。本文重點(diǎn)闡述了在PowerPC上用軟件實(shí)現I2C控制以及通過(guò)PCI總線(xiàn)實(shí)現設備間通信的方法。
本文引用地址:http://dyxdggzs.com/article/196461.htm車(chē)輛顯控系統是對車(chē)輛工作狀態(tài)信息進(jìn)行顯示、控制,并完成人機交互的系統。車(chē)輛顯控系統需要在顯示文字、圖形和視頻的同時(shí)響應按鍵操作,并對車(chē)輛控制系統進(jìn)行操控。這就要求系統具有實(shí)時(shí)響應、并行處理多個(gè)任務(wù)的能力。本文在以PowerPC MPC8548E為處理器的控制主板上應用實(shí)時(shí)操作系統VxWorks,實(shí)現了實(shí)時(shí)響應系統操作、顯示相應信息的功能。以此主板為核心控制主板的顯控系統,具有高性能、高穩定性和良好的兼容性。
1 PowerPC MPC8548及其控制主板概述
PowerPC MPC8548是Freescale公司開(kāi)發(fā)的新一代PowerQUICC III系列的高性能處理器。其內部工作頻率可達1.33 GHz,在該工作頻率上處理性能可達3 065MIPS。一級緩存有指令緩存和數據緩存各32 KB,二級緩存為512 KB,支持DDR1和DDR2存儲器控制器,支持PCI、PCI-X和PCIE接口,支持SRapid IO接口和4個(gè)GbE接口。MPC8548不僅擁有強大的數據處理能力,還具有很強的通信處理能力,可靠性高,抗惡劣環(huán)境能力好,特別適合對網(wǎng)絡(luò )性能要求較高及有多個(gè)接口的場(chǎng)合。
車(chē)輛顯控系統的核心控制主板是以PowerPCMPC8548E為處理器的嵌入式系統。該系統通過(guò)擴展顯示器、內存、Flash存儲器以及其他接口控制電路,構成了高性能、高可靠性的核心控制主板。以此控制主板為硬件平臺,移植嵌入式實(shí)時(shí)操作系統VxWorks,對接口設備驅動(dòng)進(jìn)行二次開(kāi)發(fā),繼而以VxWorks為軟件開(kāi)發(fā)平臺,開(kāi)發(fā)應用程序,實(shí)現顯示和控制任務(wù)。
2 PowerPC控制主板硬件設計
如圖1所示,PowerPC控制主板硬件系統由處理器、外圍電路和外部接口設備組成。外圍電路包括電源、晶振和復位電路;外部接口電路包括串口、網(wǎng)口、EL/LVDS液晶顯示、16位PCI總線(xiàn)、USB接口、Flash、鼠標和鍵盤(pán)等。

PowerPC控制主板硬件結構圖
3 PowerPC控制主板軟件設計
車(chē)輛顯控系統是一個(gè)多任務(wù)的復雜的實(shí)時(shí)嵌入式系統,采用操作系統對所有軟硬件資源進(jìn)行分配、調度、控制和協(xié)調,尤其是協(xié)調并發(fā)活動(dòng),如任務(wù)調度、內存管理、同步機制、異常和中斷處理、任務(wù)間通信等。WindRiver公司(現被Intel收購)的VxWorks是一個(gè)實(shí)時(shí)嵌入式操作系統。VxWorks操作系統已經(jīng)廣泛應用于航空、汽車(chē)等行業(yè),鑒于VxWorks對PowerPC處理器體系結構的支持,使得應用PowerPC處理器的嵌入式系統大多以其作為操作系統。因此,車(chē)輛顯控系統也采用VxWorks作為操作系統。
嵌入式系統是根據實(shí)際要求對硬件資源進(jìn)行配置和裁減而成的系統。由于嵌入式產(chǎn)品是軟硬件的結合體,且隨著(zhù)產(chǎn)品的研制完成,軟件就已固化在硬件環(huán)境中,因此,軟硬件綜合開(kāi)發(fā)是嵌入式系統的一大特點(diǎn),而軟件設計是在緊密聯(lián)系硬件的基礎上完成的。
PowerPC控制主板的軟件設計遵循嵌入式軟件的體系結構設計方法,分為如下兩部分:
①特殊設備驅動(dòng)的開(kāi)發(fā),通用設備驅動(dòng)程序的集成,即板級支持包BSP的開(kāi)發(fā)。
②應用程序的開(kāi)發(fā),即顯控任務(wù)的實(shí)現。
3.1 設備驅動(dòng)開(kāi)發(fā)
由于本系統的硬件平臺是根據實(shí)際需要設計的,故必須根據實(shí)際的接口對設備驅動(dòng)進(jìn)行開(kāi)發(fā)。在VxWorks提供的通用設備驅動(dòng)的架構上,結合每個(gè)具體設備的工作原理和功能,以數據流為中心,在掌握設備與CPU及外接設備的通信方式后,對具體設備的驅動(dòng)進(jìn)行逐一開(kāi)發(fā)。設備驅動(dòng)程序開(kāi)發(fā)完成后,最終形成MPC8548E的板級支持包BSP。硬件設備程序的集成包括如下幾個(gè)方面。
(1)特殊設備驅動(dòng)
一些特殊設備的驅動(dòng)程序不在VxWorks配備的標準設備清單中,因此需自行開(kāi)發(fā),例如PCI線(xiàn)驅動(dòng)、DDR內存驅動(dòng)和顯示驅動(dòng)等。
(2)通用設備驅動(dòng)
通用設備的驅動(dòng)程序可以直接應用VxWorks標準驅動(dòng),或在標準驅動(dòng)的基礎上稍作改動(dòng)即可,例如鼠標、鍵盤(pán)、串口、以太網(wǎng)接口和USB接口等。
3.2 應用程序開(kāi)發(fā)
首先將車(chē)輛顯控系統要完成的任務(wù)分解為多個(gè)任務(wù):按鍵查詢(xún)、界面切換、數據顯示、視頻顯示和參數存儲。應用程序保證各任務(wù)按照規定的方式實(shí)時(shí)完成。PowerPC控制主板軟件結構圖如圖2所示。

PowerPC控制主板軟件結構圖
按鍵查詢(xún):定時(shí)查詢(xún)是否有鍵按下,如有,則向界面切換、數據顯示、視頻顯示和參數存儲發(fā)送消息,完成相應的任務(wù)。
界面切換:切換到相應界面。
數據顯示:顯示車(chē)輛控制系統在不同工作模式下的狀態(tài)。
視頻顯示:切換視頻通道,調節圖像的亮度、對比度,并進(jìn)行相關(guān)操作。
參數存儲:根據指令保存參數,或等間隔地將參數保存到緩存。
3.2.1 I2C接口控制的軟件實(shí)現
I2C總線(xiàn)是一種兩線(xiàn)式串行總線(xiàn),主要應用于微處理器外圍芯片的擴展。它只需兩根線(xiàn)——串行數據線(xiàn)和串行時(shí)鐘線(xiàn),即可實(shí)現微處理器與總線(xiàn)上具有I2C總線(xiàn)接口的設備進(jìn)行數據交換。
I2C總線(xiàn)設備以其簡(jiǎn)單性和有效性被廣泛使用。車(chē)輛顯控系統中用于模擬視頻顯示的視頻解碼器CCX25836就是其中之一。CCX25836的寄存器需要用I2C總線(xiàn)進(jìn)行配置,系統設計采用FPGA構建了硬件I2C電氣結構,在PowerPC控制主板上用軟件模擬視頻解碼器所需的I2C讀寫(xiě)流程,設置其寄存器,從而實(shí)現視頻通道的切換、亮度和對比度的調整等視頻顯示功能。I2C讀、寫(xiě)流程如圖3、圖4所示,通過(guò)I2C總線(xiàn)設置亮度、對比度的流程如圖5所示。

評論