當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Nios II及GPS/GSM的汽車狀態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)

引 言:

基于SoPC的汽車安全監(jiān)控系統(tǒng)采用Altera公司最新的SoPC(可編程片上系統(tǒng))解決方案——Nios處理器軟核為核心,配合GPSGSM系統(tǒng),對(duì)汽車的停放和運(yùn)行狀態(tài)進(jìn)行監(jiān)控。系統(tǒng)監(jiān)測(cè)、記錄和儲(chǔ)存汽車在行駛過程中的各種數(shù)據(jù),一旦出現(xiàn)安全問題,立即采用GSM無線通信方式通知相關(guān)人員和單位,并隨時(shí)發(fā)送通過GPS獲得的汽車位置等數(shù)據(jù),為問題的解決提供及時(shí)、準(zhǔn)確和可靠的信息,必要時(shí)通過GSM對(duì)汽車進(jìn)行遠(yuǎn)程控制。

基于SoPC的汽車安全監(jiān)控系統(tǒng)可廣泛應(yīng)用于汽車的防盜、日常維護(hù)和交通事故的處理,為車輛故障提供有效的測(cè)試手段。

1 系統(tǒng)硬件組成

設(shè)計(jì)采用Altera公司的SoPC開發(fā)工具。系統(tǒng)的開發(fā)包括硬件和軟件兩大部分。使用SoPC Builder生成Nios嵌入式處理器,Nios嵌入式處理器開發(fā)工具允許用戶配置一個(gè)或多個(gè)Nios CPU,從標(biāo)準(zhǔn)庫(kù)中添加外圍設(shè)備,綜合處理自定義系統(tǒng),與Quartus II設(shè)計(jì)軟件一起編譯系統(tǒng)。軟件開發(fā)的步驟是:利用SoPC Builder生成的軟件文件,用文本編輯器編寫匯編語言或C/C++源程序,用GNUPro軟件開發(fā)工具進(jìn)行程序設(shè)計(jì)、連編和調(diào)試。GNUPro將源程序連編(包括匯編/編譯和連接)成可執(zhí)行程序,通過下載電纜對(duì)可執(zhí)行程序進(jìn)行調(diào)試和運(yùn)行。Quartus II設(shè)計(jì)軟件提供全面有效的設(shè)計(jì)環(huán)境,將設(shè)計(jì)、綜合、布局和驗(yàn)證以及第三方EDA工具接口集成在一個(gè)無縫的環(huán)境中。利用集成在Quartus II 3.0中的SoPCbuilder可以創(chuàng)建自己的Nios CPU系統(tǒng)。Nios是Altera公司開發(fā)的16/32位嵌入式處理器軟核。

* ??蒲谢痦?xiàng)目“基于SOPC的汽車安全監(jiān)控系統(tǒng)”資助。 Altera公司推出了新一代多種系列FPGA,本設(shè)計(jì)選用低成本的Cyclone系列器件EP1C12,其具有12 060個(gè)邏輯單元,52個(gè)M4K RAM塊,239 616個(gè)RAM位和2個(gè)鎖相環(huán),最大用戶I/O引腳249。

系統(tǒng)硬件組成框圖由Nios系統(tǒng)和外部設(shè)備兩部分組成,如圖1所示。

 

Nios系統(tǒng)包括CPU(Nios)、存儲(chǔ)器(memory)、定時(shí)器(timer)、總線和并/串行接口(key_pio、led_pio、lcd_pio、ccs_pio、uart_0和uart_1)等,并/串行接口分別實(shí)現(xiàn)與鍵盤、LED和LCD顯示器、汽車中控系統(tǒng)以及GPS和GSM系統(tǒng)等外部設(shè)備的連接。Nios系統(tǒng)設(shè)計(jì)和設(shè)計(jì)結(jié)果分別如圖2和圖3所示。

 

Nios系統(tǒng)同鍵盤、LED和LCD顯示器、汽車中控系統(tǒng)以及GPS系統(tǒng)等外部設(shè)備的連接比較簡(jiǎn)單,GSM系統(tǒng)的連接較為復(fù)雜,如圖4所示。

 

整個(gè)系統(tǒng)的工作過程是:來自汽車中控系統(tǒng)和GPS系統(tǒng)的信息可以顯示在LED和LCD顯示器上,也可以通過GSM系統(tǒng)進(jìn)行無線發(fā)送。用戶可以通過鍵盤對(duì)系統(tǒng)進(jìn)行控制,也可以通過GSM系統(tǒng)對(duì)汽車中控系統(tǒng)進(jìn)行遠(yuǎn)程無線控制。

2 系統(tǒng)軟件組成

系統(tǒng)軟件主要由主程序、GPS管理子程序和GSM管理子程序等部分組成。

主程序完成系統(tǒng)的初始化,以及鍵盤、LED、LCD顯示器和汽車中控系統(tǒng)的操作管理等。

GPS管理子程序主要負(fù)責(zé)從GPS系統(tǒng)接收時(shí)間和位置信息。

請(qǐng)求GPS系統(tǒng)返回ASCII時(shí)間位置信息的二進(jìn)制命令為:
@@EqmC
其中,m為0時(shí),輸出一次響應(yīng)信息(查詢),m為1~255時(shí),每1~255 s輸出一次響應(yīng)信息(連續(xù));
C為校驗(yàn)和(Eqm按字節(jié)“異或”);
為回車(十六進(jìn)制0d);
為換行(十六進(jìn)制0a);
命令長(zhǎng)度為8字節(jié)。
命令的響應(yīng)信息為:
@@Eq,mm,dd,yy,hh,mm,ss,dd,mm.mmmm,n,ddd,mm.mmmm,w, shhhhh.h,sss.s,hhh.h,m,t,dd.d,nn,rrrr,aa,CCC
日期:mm是月(01~12),dd是日(01~31),yy是年(99~19)。
世界時(shí)間(UTC):hh是時(shí)(00~23),mm是分(00~59),ss是秒(00~59)。
緯度:dd是度(00~90),mm.mmmm是分(00~59.9999),n是方向(N是北,S是南)。
經(jīng)度:ddd是度(000~180),mm.mmmm是分(00~59.9999),w是方向(W是西,E是東)。
信息長(zhǎng)度是96字節(jié)。
對(duì)應(yīng)的管理子程序?yàn)椋?br /> int eq[8]={"@","@","E","q",1,"C",0x0d,0x0a};
void gps_txd(int data[], int n) {
volatile int m,sum=0;
for(m=0;m
while(~na_uart_0->np_uartstatus & 0x40);
/等待發(fā)送準(zhǔn)備好
if(m!=n-3) {
sum^=data[m];/計(jì)算校驗(yàn)和
na_uart_0->np_uarttxdata=data[m];/發(fā)送數(shù)據(jù)
}else
na_uart_0->np_uarttxdata=sum; /發(fā)送校驗(yàn)和
}
}
int gps,gps_buf[46];/定義全局變量
void gps_rxd(int context) {/接收中斷服務(wù)程序
gps_buf[gps]=na_uart_0->np_uartrxdata; /接收數(shù)據(jù)
if(gps_buf[gps++]=="q") gps=0; /數(shù)據(jù)定位
if(gps>46) gps=46;/忽略無用數(shù)據(jù)
}

GSM管理子程序主要負(fù)責(zé)GSM系統(tǒng)的數(shù)據(jù)收發(fā)管理。
GSM系統(tǒng)的數(shù)據(jù)收發(fā)以短信形式進(jìn)行,選擇短信格式的AT命令為AT+CMGF,收發(fā)短信的AT命令分別為AT+CMGR和AT+CMGS,對(duì)應(yīng)的管理子程序?yàn)椋?br /> cmgf[20]={"A","T","+","C","M","G","F","=","1",0x0d};/短信格式void gsm_txd(int data[], int n) {
volatile int m;
for(m=0;m
while(~na_uart_1->np_uartstatus & 0x40);
/等待發(fā)送準(zhǔn)備好na_uart_1->np_uarttxdata=data[m]; /發(fā)送數(shù)據(jù)
}
}
int gsm=2,gsm_buf[18]={"A","T"};
void gsm_rxd(int context) {
/接收中斷服務(wù)程序
gsm_buf[gsm]=na_uart_1->np_uartrxdata; /接收數(shù)據(jù)
if(gsm_buf[gsm]=="T") gsm=1;
/數(shù)據(jù)定位
if(++gsm==18) gsm=2;
}

3 設(shè)計(jì)調(diào)試方法和設(shè)計(jì)結(jié)果

在Quartus II中使用SignalTapII嵌入式邏輯分析儀可以實(shí)時(shí)觀測(cè)系統(tǒng)中節(jié)點(diǎn)的信號(hào)數(shù)據(jù)。被觀察的信號(hào)可以多進(jìn)制數(shù)值顯示也可以用波形顯示,但它需要占用芯片更多的資源,因此在對(duì)某個(gè)模塊的測(cè)試結(jié)束后,可以在設(shè)置中把SignalTapII嵌入式邏輯分析儀取消,并重新編譯生成以減少LE資源占用量。

實(shí)際試用結(jié)果表明:基于SoPC的汽車安全監(jiān)控系統(tǒng)運(yùn)行正常,定位準(zhǔn)確,數(shù)據(jù)傳輸可靠,操作管理方便。如果再配備上GIS(地理信息系統(tǒng)),整個(gè)系統(tǒng)將如虎添翼。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉