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