《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > PowerPC在車輛顯控系統(tǒng)中的應(yīng)用
PowerPC在車輛顯控系統(tǒng)中的應(yīng)用
單片機(jī)與嵌入式系統(tǒng)
崔曉穎,,杜 宏,,孫麗艷,劉軍華
摘要: 摘要:車輛顯控系統(tǒng)的控制主板選用高性能PowerPCMPC8548E處理器,,擴(kuò)展了顯示器、內(nèi)存,、Flash存儲(chǔ)器和接口設(shè)備,。以此主板為平臺(tái),實(shí)現(xiàn)了車輛數(shù)據(jù)和視頻的實(shí)時(shí)顯示和控制,。本文重點(diǎn)闡述了在PowerPC上用軟件實(shí)現(xiàn)I2C控制
Abstract:
Key words :

摘要:車輛顯控系統(tǒng)的控制主板選用高性能PowerPC MPC8548E處理器,,擴(kuò)展了顯示器、內(nèi)存,、Flash存儲(chǔ)器和接口設(shè)備,。以此主板為平臺(tái),實(shí)現(xiàn)了車輛數(shù)據(jù)和視頻的實(shí)時(shí)顯示和控制,。本文重點(diǎn)闡述了在PowerPC上用軟件實(shí)現(xiàn)I2C控制以及通過PCI總線實(shí)現(xiàn)設(shè)備間通信的方法,。
關(guān)鍵詞:PowerPC,;MPC8548E;VxWorks,;BSP

    車輛顯控系統(tǒng)是對(duì)車輛工作狀態(tài)信息進(jìn)行顯示,、控制,并完成人機(jī)交互的系統(tǒng),。車輛顯控系統(tǒng)需要在顯示文字,、圖形和視頻的同時(shí)響應(yīng)按鍵操作,并對(duì)車輛控制系統(tǒng)進(jìn)行操控,。這就要求系統(tǒng)具有實(shí)時(shí)響應(yīng),、并行處理多個(gè)任務(wù)的能力。本文在以PowerPC MPC8548E為處理器的控制主板上應(yīng)用實(shí)時(shí)操作系統(tǒng)VxWorks,,實(shí)現(xiàn)了實(shí)時(shí)響應(yīng)系統(tǒng)操作,、顯示相應(yīng)信息的功能。以此主板為核心控制主板的顯控系統(tǒng),,具有高性能,、高穩(wěn)定性和良好的兼容性。

1 PowerPC MPC8548及其控制主板概述
    PowerPC MPC8548是Freescale公司開發(fā)的新一代PowerQUICC III系列的高性能處理器,。其內(nèi)部工作頻率可達(dá)1.33 GHz,,在該工作頻率上處理性能可達(dá)3 065MIPS。一級(jí)緩存有指令緩存和數(shù)據(jù)緩存各32 KB,,二級(jí)緩存為512 KB,,支持DDR1和DDR2存儲(chǔ)器控制器,支持PCI,、PCI-X和PCIE接口,,支持SRapid IO接口和4個(gè)GbE接口。MPC8548不僅擁有強(qiáng)大的數(shù)據(jù)處理能力,,還具有很強(qiáng)的通信處理能力,,可靠性高,抗惡劣環(huán)境能力好,,特別適合對(duì)網(wǎng)絡(luò)性能要求較高及有多個(gè)接口的場(chǎng)合,。
    車輛顯控系統(tǒng)的核心控制主板是以PowerPCMPC8548E為處理器的嵌入式系統(tǒng)。該系統(tǒng)通過擴(kuò)展顯示器,、內(nèi)存,、Flash存儲(chǔ)器以及其他接口控制電路,構(gòu)成了高性能,、高可靠性的核心控制主板,。以此控制主板為硬件平臺(tái),移植嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks,對(duì)接口設(shè)備驅(qū)動(dòng)進(jìn)行二次開發(fā),,繼而以VxWorks為軟件開發(fā)平臺(tái),開發(fā)應(yīng)用程序,,實(shí)現(xiàn)顯示和控制任務(wù),。

2 PowerPC控制主板硬件設(shè)計(jì)
    如圖1所示,PowerPC控制主板硬件系統(tǒng)由處理器,、外圍電路和外部接口設(shè)備組成,。外圍電路包括電源、晶振和復(fù)位電路,;外部接口電路包括串口,、網(wǎng)口、EL/LVDS液晶顯示,、16位PCI總線,、USB接口、Flash,、鼠標(biāo)和鍵盤等,。

a.JPG



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

b.JPG


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

c.JPGd.JPG


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

結(jié)語
    PowerPC MPC8548E微處理器以其豐富的接口、較強(qiáng)的運(yùn)算能力,、較快的處理速度,、穩(wěn)定性和易擴(kuò)展性受到嵌入式系統(tǒng)開發(fā)者們的青睞,。車輛顯控系統(tǒng)的主板采用此芯片為核心處理器,配備必要的外圍接口,,并采用VxWorks作為運(yùn)行在其上的操作系統(tǒng),,使其具備了實(shí)時(shí)處理多任務(wù)的能力。通過擴(kuò)展PCI設(shè)備,,實(shí)現(xiàn)了顯控系統(tǒng)設(shè)備間,、顯示系統(tǒng)與其他系統(tǒng)設(shè)備間的數(shù)據(jù)交換和控制。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。