基于SOPC技術(shù)的多功能車載終端設(shè)計
1 引 言
車載導(dǎo)航監(jiān)控終端可廣泛用于交警巡邏車、消防用車、公安用車、運(yùn)鈔車、長途客車及一些特殊車輛上, 監(jiān)控中心通過無線通信網(wǎng)絡(luò)與車載導(dǎo)航監(jiān)控終端進(jìn)行信息交流, 從而實(shí)現(xiàn)監(jiān)控中心對車輛的集中、高效、可視化管理以及車輛之間的相互協(xié)作。
本設(shè)計系統(tǒng)分析了車載導(dǎo)航監(jiān)控終端的各種功能需求, 借助A ltera StratixTM 系列FPGA EP1S10豐富的邏輯資源, 應(yīng)用SOPC Builder開發(fā)工具實(shí)現(xiàn)了車載導(dǎo)航監(jiān)控終端硬件結(jié)構(gòu)的高度集成。同時,利用N ios嵌入式處理器強(qiáng)大的處理能力, 配合使用 C /OS- II實(shí)時操作系統(tǒng), 實(shí)現(xiàn)了終端對多種傳感信息的實(shí)時、高效處理。
2 功能描述
車載導(dǎo)航監(jiān)控終端主要實(shí)現(xiàn)對各種傳感信息的檢測、處理、顯示及數(shù)據(jù)的無線發(fā)送和接收。具體包括:
無線數(shù)據(jù)通信模塊——實(shí)現(xiàn)監(jiān)控中心與車載導(dǎo)航監(jiān)控終端之間指令的交換和數(shù)據(jù)的傳輸; 文本信息合成模塊 將文字信息轉(zhuǎn)換為語音信息, 方便終端獲取監(jiān)控中心的各種命令和指示;GPS定位模塊—— 獲取終端所在處的經(jīng)度和緯度信息, 監(jiān)控中心可以在電子地圖上準(zhǔn)確了解終端的地理位置;視頻圖像采集模塊——獲取車內(nèi)和車外的具體情況, 可以通過無線網(wǎng)絡(luò)把圖像信息傳輸?shù)奖O(jiān)控中心;人機(jī)交互模塊——在本地顯示電子地圖、各種狀態(tài)信息、協(xié)同作業(yè)的對方狀態(tài)信息以及接收按鍵輸入信息;信息存儲模塊——用于保存狀態(tài)和設(shè)置信息;狀態(tài)檢測和控制模塊——實(shí)現(xiàn)對車載其它設(shè)備狀態(tài)的檢測以及根據(jù)控制中心的命令對相關(guān)設(shè)備進(jìn)行控制;電源管理模塊——實(shí)現(xiàn)電源的充電以及備用電源的切換。
3 N ios軟核及外圍模塊接口設(shè)計
A ltera公司推出的高性能、大容量StratixTM FPGA以及N ios嵌入式軟核處理器, 實(shí)現(xiàn)了處理器和外圍接口的靈活配置, 大大推進(jìn)了SOPC (可編程片上系統(tǒng)) 設(shè)計的進(jìn)程。同時A ltera 公司提供的SOPCBuilder可視化開發(fā)工具, 能夠根據(jù)客戶需求, 實(shí)現(xiàn)對硬件系統(tǒng)的高效配置?;贜 ios嵌入式軟核處理器, 應(yīng)用SOPC 技術(shù)設(shè)計車載導(dǎo)航監(jiān)控終端, 將能夠大大簡化硬件設(shè)計的復(fù)雜度, 實(shí)現(xiàn)終端系統(tǒng)的高度集成, 滿足對各種接口的適配要求?;贓P1S10的多功能車載終端系統(tǒng)框圖如圖1所示。
圖1 多功能車載終端系統(tǒng)框圖
在本終端系統(tǒng)設(shè)計中, 采用了模塊化的設(shè)計理念, 通過對車載終端功能的分析, 確定了該系統(tǒng)所需的關(guān)鍵功能模塊, 并對功能模塊與EP1S10之間的接口進(jìn)行了規(guī)范。系統(tǒng)框圖中, CDMA 無線通信模塊、GPS定位模塊通過串口和EP1S10相連接;WTS701文本合成模塊通過SPI- master 總線和EP1S10相連接; FRAM信息存儲模塊通過I2C 總線和EP1S10相連接, 這些接口在SOPC Bu ilder的通信工具目錄下以免費(fèi)IP核的形式提供。另外, 人機(jī)接口模塊涉及顯示和鍵盤, 需要通過I /O 定義時序控制總線來處理; 視頻圖像采集模塊需要更復(fù)雜的邏輯控制接口來實(shí)現(xiàn), 下面對該模塊設(shè)計進(jìn)行介紹。
視頻圖像采集模塊由SAA7111 和ZR36060組成, StratixTMFPGA通過相應(yīng)的接口來控制SAA7111的工作狀態(tài), 并獲取經(jīng)過ZR36060壓縮后的數(shù)字視頻數(shù)據(jù)。SAA7111是功能強(qiáng)大的可編程視頻輸入處理芯片, 它可將攝像機(jī)輸出的PAL、NTSC 等不同制式的模擬復(fù)合全電視信號解碼成亮度、色度信號。
輸出的數(shù)字視頻信號格式有411YUV ( 16)、422YUV( 12位)、422YUV或CCIR- 656( 8位)、565RGB( 16位)、888RGB( 24位)等可供選擇。此外還提供了象素、時鐘信號、行場等多種同步信號。其所有的可編程功能是通過I2C 總線對內(nèi)部的32個寄存器相應(yīng)的控制位置相應(yīng)的數(shù)值來完成的, 而StratixTM FPGA的I2C 接口可以很方便地對其進(jìn)行編程和控制。
ZR36060主要完成對數(shù)字視頻圖像的壓縮, 輸出標(biāo)準(zhǔn)JPEG格式的文件。壓縮數(shù)據(jù)可以主方式從壓縮數(shù)據(jù)端口或以從方式從控制端口輸出, 兩種方式都有握手功能以便進(jìn)行數(shù)據(jù)流控制, 它可以和SAA7113實(shí)現(xiàn)無縫結(jié)合。StratixTM FPGA 與視頻圖像采集模塊之間的接口如圖2所示。
圖2 StratixTM FPGA 與視頻圖像采集模塊之間的接口。
視頻圖像壓縮模塊ZR36060工作于16b it代碼寬度的從模式, Stra tixTM FPGA 通過使用不同的片選線和啟動轉(zhuǎn)換線, 可以控制四路視頻圖像壓縮模塊的工作。兩路I2C總線和SAA7113的IICSA管角配合, 可以設(shè)置四路圖像采集模塊的工作狀態(tài)。通過S trat ixTM FPGA 要實(shí)現(xiàn)對圖像采集和壓縮模塊的正常操作, 就是要根據(jù)ZR36060的接口時序圖, 應(yīng)用SOPC Bu ilder設(shè)計合理的接口控制邏輯, ZR36060的接口時序如圖3所示。
在SOPC 開發(fā)工具中, 調(diào)用并行輸入輸出模塊( PIO ), 就可以構(gòu)造操作該圖像壓縮模塊的邏輯接口, N ios嵌入式軟核利用該邏輯接口, 就可以將壓縮后的圖像數(shù)據(jù)保存在SDRAM 中, 同時可以實(shí)現(xiàn)對SAA7113和ZR36060模塊工作狀態(tài)的正確設(shè)置。
圖3 ZR36060被動模式的接口時序
4 軟件系統(tǒng)設(shè)計
完成系統(tǒng)設(shè)計后, 可以使用SOPC Bu ilder的System Generation頁或使用命令行生成系統(tǒng)。SOPCBuilder軟件自動生成所有必要邏輯, 用以將處理器、外圍設(shè)備、內(nèi)存、總線、仲裁器、IP內(nèi)核及到達(dá)系統(tǒng)外邏輯和存儲器的接口集成在一起, 并建立將組件捆綁在一起的HDL源代碼。
SOPC Builder 還可以建立軟件開發(fā)工具包( SDK )軟件組件, 該組件包括INC、LIB、SRC 三個目錄, 這些目錄包含了標(biāo)題文件、一般外圍設(shè)備驅(qū)動程序、自定義軟件庫和實(shí)時操作系統(tǒng)( RTOS內(nèi)核) , 以便在生成系統(tǒng)時提供完整的設(shè)計環(huán)境。
有了SDK軟件開發(fā)工具包, 就可以根據(jù)需要調(diào)用外圍設(shè)備的驅(qū)動程序, 開發(fā)系統(tǒng)軟件。系統(tǒng)軟件的編輯可以采用目前的多種編輯工具, 編輯完成后,啟動N ios SDK She l,l 在[ SOPC Bu ilder]$ 命令字符后輸入nios- bu ild命令和相應(yīng)的源文件名, 就可以進(jìn)行編譯, 如有錯誤, 可以重新修改后再編譯。對于多個源文件, 可以使用makefile命令編譯, 這時候需要建立一個專門的包含整個項(xiàng)目源文件( . c、. h、.
s)的目錄, 并要修改makefile文件的有關(guān)選項(xiàng)。
車載導(dǎo)航監(jiān)控終端軟件包含多個功能模塊, 這些模塊以任務(wù)的形式與嵌入式實(shí)時操作系統(tǒng)相聯(lián)系, 具體功能模塊如下圖4所示。
圖4 車載導(dǎo)航監(jiān)控終端軟件功能模塊
各模塊在使用到底層驅(qū)動程序時, 先要設(shè)置一些變量以及安裝相應(yīng)的中斷函數(shù)。如使用串口1來控制CDMA 模塊時, 初始化過程包括:
串口1的中斷函數(shù)實(shí)現(xiàn)方法:
5 結(jié)束語
基于StratixTM FPGA 豐富的邏輯資源, 采用N ios嵌入式軟核, 應(yīng)用SOPC設(shè)計技術(shù)開發(fā)車載導(dǎo)航監(jiān)控終端, 大大提高了設(shè)計的靈活性, 優(yōu)化了系統(tǒng)結(jié)構(gòu)。