基于SoPC汽車安全監控系統設計
基于SoPC的汽車安全監控系統可廣泛應用于汽車的防盜、日常維護和交通事故的處理,為車輛故障提供有效的測試手段。
1 系統硬件組成
| [/table]設計采用Altera公司的SoPC開發工具。系統的開發包括硬件和軟件兩大部分。使用SoPC Builder生成Nios嵌入式處理器,Nios嵌入式處理器開發工具允許用戶配置一個或多個Nios CPU,從標準庫中添加外圍設備,綜合處理自定義系統,與QuartusII設計軟件一起編譯系統。軟件開發的步驟是:利用SoPC Builder生成的軟件文件,用文本編輯器編寫匯編語言或C/C++源程序,用GNUPro軟件開發工具進行程序設計、連編和調試。GNUPro將源程序連編(包括匯編/編譯和連接)成可執行程序,通過下載電纜對可執行程序進行調試和運行。Quartus II設計軟件提供全面有效的設計環境,將設計、綜合、布局和驗證以及第三方EDA工具接口集成在一個無縫的環境中。利用集成在Quartus II 3.0中的SoPCbuilder可以創建自己的Nios CPU系統。Nios是Altera公司開發的16/32位嵌入式處理器軟核。 |
| Altera公司推出了新一代多種系列FPGA,本設計選用低成本的Cyclone系列器件EP1C12,其具有12 060個邏輯單元,52個M4K RAM塊,239 616個RAM位和2個鎖相環,最大用戶I/O引腳249。系統硬件組成框圖由Nios系統和外部設備兩部分組成,如圖1所示。 |
![]() |
| Nios系統包括CPU(Nios)、存儲器(memory)、定時器(timer)、總線和并/串行接口(key_pio、led_pio、lcd_pio、ccs_pio、uart_0和uart_1)等,并/串行接口分別實現與鍵盤、LED和LCD顯示器、汽車中控系統以及GPS和GSM系統等外部設備的連接。Nios系統設計和設計結果分別如圖2和圖3所示。 |
![]() |
![]() |
| Nios系統同鍵盤、LED和LCD顯示器、汽車中控系統以及GPS系統等外部設備的連接比較簡單,GSM系統的連接較為復雜,如圖4所示。 |
![]() |
| 整個系統的工作過程是:來自汽車中控系統和GPS系統的信息可以顯示在LED和LCD顯示器上,也可以通過GSM系統進行無線發送。用戶可以通過鍵盤對系統進行控制,也可以通過GSM系統對汽車中控系統進行遠程無線控制。 |
| 2 系統軟件組成 |
| 系統軟件主要由主程序、GPS管理子程序和GSM管理子程序等部分組成。 |
| 主程序完成系統的初始化,以及鍵盤、LED、LCD顯示器和汽車中控系統的操作管理等。 |
| GPS管理子程序主要負責從GPS系統接收時間和位置信息。 |
| 請求GPS系統返回ASCII時間位置信息的二進制命令為: |
| @@EqmC |
| 其中,m為0時,輸出一次響應信息(查詢),m為1"255時,每1"255 s輸出一次響應信息(連續);C為校驗和(Eqm按字節“異或”);為回車(十六進制0d);為換行(十六進制0a);命令長度為8字節。 |
| 命令的響應信息為: |
| @@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)。 |
| 世界時間(UTC):hh是時(00"23),mm是分(00"59),ss是秒(00"59)。 |
| 緯度:dd是度(00"90),mm.mmmm是分(00"59.9999),n是方向(N是北,S是南)。 |
| 經度:ddd是度(000"180),mm.mmmm是分(00"59.9999),w是方向(W是西,E是東)。 |
| 信息長度是96字節。 |
| [table] |
int eq={@,@,E,q,1,C,0x0d,0x0a};
void gps_txd(int data[], int n) {
volatile int m,sum=0;
for(m=0;m






評論