摘要 為解決車(chē)輛在行駛中對交通信息的了解,文中針對車(chē)載導航系統功能需求,設計了基于DSP芯片的車(chē)載導航系統,提出了一種基于TMS3 20C6713B的DSP處理器車(chē)載導航系統設計方案,介紹了系統的硬件設計和實(shí)現方法。該系統具有結構簡(jiǎn)單、可靠性高、維護方便,且有較好地繼承性等特點(diǎn)。 數字信號微處理器DSP具有高速運行與數據處理的功能,以其高性能和低功耗的優(yōu)勢為實(shí)時(shí)導航系統的數學(xué)計算提供了有效的硬件平臺。在現代武器裝備中,設計了基于DSP芯片的車(chē)載導航系統,其在民用和軍事領(lǐng)域均發(fā)揮著(zhù)重要作用,系統具有高可靠性、安全性等特點(diǎn)。 1 車(chē)載導航系統工作原理 車(chē)載導航系統的主要功能是定時(shí)采集陀螺正交編碼信號、加速度計的輸入和里程計輸入信號,并對采集的數據進(jìn)行必要的處理,以實(shí)現導航解算。同時(shí)將采集數據通過(guò)RS422總線(xiàn)和CAN總線(xiàn)發(fā)送至地面監測設備;并通過(guò)RS422總線(xiàn)接收相關(guān)的命令及參數。該系統結構如圖1所示。 2 系統硬件設計 2.1 處理器及存儲器設計 車(chē)載導航系統電路采用TI公司的TMS320C6713B-A200作為DSP,該DSP芯片標稱(chēng)主頻為200 MHz,工作在160 MHz主頻時(shí)DSP處理能力為1600 MI·s-1/1 200MFLOPS。使用40 MHz的晶振作為DSP的時(shí)鐘輸入,經(jīng)內部鎖相環(huán)倍頻后作為DSP工作的時(shí)鐘,使用一片TPS70345電壓調整器為其提供3.3 V的IO電壓和1.2 V的內核電壓;采用一片容量為16 MB的MT48LC4M3282TG-7IT芯片作為SDRAM的存儲器,存儲器直接接入DSP的EMIF總線(xiàn)上,SDRAM芯片的地址線(xiàn)BA1、BA0和A11~A0接DSP芯片的EA15~EA2,數據線(xiàn)D31~D0接ED31~ED0。FlashRom芯片的地址線(xiàn)A22~A0接DSP芯片的GP13~CP11和EA21~EA2,數據線(xiàn)DQ15~DQ0,接ED15~ED0,初始化時(shí)GP13~GP13個(gè)引腳的狀態(tài)為高,SDRAM芯片的片選信號接DSP芯片的CE0;采用一片容量為16 MB的S29GL128N10TFIR1芯片為FlashRom存儲器,FlashRom芯片的片選信號接DSP芯片的CE1。之所以DSP芯片的CE1接到FlashRom的片選上,是因其引導方式采用從ROM加載,BOOT程序存放在FlashRom存儲器中。存儲器的讀寫(xiě)信號均接到DSP芯片的AWE信號上。DSP通過(guò)EMIF總線(xiàn)接口訪(fǎng)問(wèn)外部存儲器,可通過(guò)操作寄存器控制對外部存儲器的訪(fǎng)問(wèn),簡(jiǎn)化了電路的設計。 2.2 電源設計 車(chē)載導航系統輸入電源為27±9 V,經(jīng)MHF+28515將24 V轉換為+15 V和+5 V的電壓,MHF+28515的輸入電壓范圍為16~48 V,輸出功率15 W,其中+5 V電壓輸出最大功率為7.5 W,電流1 500 mA,+15 V電壓輸出功率最大分別為5 W,電路330 mA。由于車(chē)載導航系統電路自身+5 V電源使用的電流約為1000 mA,所以能提供+5 V,電流>140 mA的輸出給外部使用,為滿(mǎn)足系統中各部件的供電要求,設計了車(chē)載導航系統供電系統。 MHF+28515輸出的+5 V電源為整個(gè)模塊提供數字電源,其中CAN總線(xiàn)協(xié)議芯片等部分+5 V工作的芯片直接使用該電源;其他電路使用經(jīng)轉換后的電源其處理方法包括:通過(guò)電壓調整器TPS70345將+5 V電源轉換成3.3 V和1.2 V電源,其中3.3 V供DSP外圍電路及SDRAM、Flash等芯片使用,1.2 V供DSP內核使用;通過(guò)電壓調整器TPS70351將+5 V電源轉換成3.3 V和1.8 V電壓,其中3.3 V供FPGA外圍電路、光耦等芯片使用,1.8 V供FPGA內核使用;通過(guò)兩個(gè)DC/DC模塊NKE0503將+5 V電源轉換成3.3 V電壓,一個(gè)供RS422隔離電路中的MAX3490及光耦使用,另一個(gè)供RS232隔離電路中的MAX3232及光耦使用。通過(guò)一個(gè)DC/DC模塊NME0505將+5 V電源進(jìn)行隔離,供MAX481、CAN總線(xiàn)收發(fā)器和其通路上的光耦使用。MHF+28515輸出的±15 V電源為整個(gè)模塊提供模擬電源,其中+15 V電壓通過(guò)三端穩壓器JW78M05將電壓轉換成+5 V模擬電壓,供LM3940IMP和REF196使用;+5 V模擬電壓通過(guò)LM3940IMP轉換成3.3 V模擬電壓,為運放供電;+5 V模擬電壓通過(guò)REF196轉換成3.3 V模擬電壓,為電橋供電;+15 V和-15 V電壓則是為運放OP497供電。 2.3 輸入信號 車(chē)載導航系統電路輸入信號有3路加速度計信號、3路陀螺信號、兩路里程計信號、兩路標頻信號、一路行車(chē)狀態(tài)信號、9路狀態(tài)檢測信號和10路測溫信號。 加速度計信號的信號形式為可逆脈沖,幅值TTL,滿(mǎn)量程為256 kHz,經(jīng)3路16位計數器計數,上升沿觸發(fā),中斷5鎖存,加速度計信號采用RC濾波和帶施密特觸發(fā)輸入的反向器進(jìn)行整形處理,然后通過(guò)74LVC244進(jìn)行電平轉換后引入FPGA中。 陀螺信號的信號形式為正交編碼信號,幅值高電平4~5 V,低電平0~0.8 V,電流≤8 mA,頻率≤1.5 MHz,相位差90°±20°,經(jīng)3路16位計數器計數,上升沿觸發(fā),中斷5鎖存,陀螺信號也與加速度計信號相同,進(jìn)行整形處理。而標頻信號頻率為128 kHz,幅值TTL,也信 號需整形。因此,標頻信號的處理形式和加速度計信號處理方法相同。 里程計信號包括兩路里程計信號、1路行車(chē)狀態(tài)信號和1路里程計地,幅值12 V,驅動(dòng)能力30 mA,需光耦隔離,設置兩個(gè)16位計數器和1位狀態(tài)寄存器,分別記錄里程計脈沖輸入和狀態(tài)信息,里程計脈沖上升沿觸發(fā)計數,中斷5鎖存;要求行車(chē)狀態(tài)信號State可用命令使能和禁止,使能狀態(tài)下當State=1時(shí),里程計信號加法計數;當State=0時(shí),減法計數;禁止狀態(tài)下里程計信號加法計數,里程計信號先經(jīng)RC濾波電路和保護二極管,然后經(jīng)光隔進(jìn)入FPGA。 狀態(tài)檢測信號包括3路跳模檢測信號、3路高壓狀態(tài)信號和3路機抖狀態(tài)信號,信號形式均為開(kāi)關(guān)量,幅值為T(mén)TL,機抖狀態(tài)信號和高壓狀態(tài)信號需光耦隔離。跳模檢測信號處理形式和參數選擇與加速度計信號相同;高壓狀態(tài)信號和機抖檢測信號處理形式則與陀螺信號一致。 測溫信號包括10路測溫電阻輸入和1路測溫電阻輸入公共端,溫度范圍在-45~+70℃,測溫電阻與模塊上3個(gè)高精度電阻組成電橋,按照電橋工作原理,橋臂電阻的阻值應小于測溫電阻的最小值,并應當考慮一定的冗余,溫度系數的計算公式為R0×3.85×10-3,其中R0是0℃電阻,由于采用了高精度電阻和12位的AD,A/D轉換精度>0.5 ℃,可用多路開(kāi)關(guān)實(shí)現。電橋兩臂中點(diǎn)分別接入運算放大器進(jìn)行跟隨處理,再經(jīng)后級放大后由A/D轉換芯片采集溫度測試結果,A/D轉換芯片采用串行接口芯片,與DSP的McBSP1接口連接,該芯片分辨率為12位,并具有10 μs的轉換時(shí)間及最大11路的A/D輸入。 在車(chē)載導航系統電路設計中采用了CAN總線(xiàn)設計。CAN總線(xiàn)獨立控制器采用SJA1000T,使用16 MHz晶振作為時(shí)鐘輸入,可通過(guò)軟件配置ID號和數據傳輸波特率,最大速率為1 Mbit·s-1。其總線(xiàn)控制器使用數據地址復用總線(xiàn),經(jīng)FPGA轉換后與DSPEMIF總線(xiàn)連接。CAN總線(xiàn)控制器信號采用TTL電平(5 V),與信號為3.3 V電平的FPGA之間需使用SN74LVC4245作電平轉換。CAN總線(xiàn)接收器采用Philips Semiconductors公司PCA82C250。其總線(xiàn)控制器與收發(fā)器之間的數據傳輸信號采用光耦進(jìn)行隔離。CAN總線(xiàn)接口電路如圖2所示。 2.4 FPGA設計 車(chē)載導航系統電路采用FPGA處理模塊上控制邏輯、各輸入信號的計數及實(shí)現串行接口通訊協(xié)議。FPGA對輸入信號進(jìn)行計數,并對標頻信號分頻產(chǎn)生中斷5信號,產(chǎn)生中斷5信號的同時(shí)對各計數器值進(jìn)行鎖存。DSP可通過(guò)EMIF總線(xiàn)訪(fǎng)問(wèn)FPGA的內部資源,地址空間占用EMIF總線(xiàn)的CE2。FPGA的加載模式為主控串行模式(Master Serial Mode),FPGA功能框圖如圖3所示。FPGA設計包括加速度計信號計數器設計、陀螺信號計數器設計、里程計信號計數器設計、陀螺合頻計數器設計、標頻分頻器設計、狀態(tài)檢測、故障檢測信號和串行通訊接口設計。 加速度計信號輸入為可逆脈沖,每個(gè)通道加速度計輸入包括3路信號,分別是+A、-A和GND,按照設計要求,+A信號上有脈沖時(shí)計數值增加,-A信號上有脈沖時(shí)計數值減少,當頻標分頻中斷產(chǎn)生時(shí),將計數結果存入鎖存器內。在FPGA中設計了16位的計數器,上電復位計數器為0,+A信號上有脈沖時(shí)計數值加1,-A信號上有脈沖時(shí)計數值減1,當頻標分頻中斷產(chǎn)生時(shí),將計數結果存入鎖存器內,DSP可通過(guò)EMIF訪(fǎng)問(wèn)鎖存器得到加速度計信號計數器的結果。 陀螺信號輸入形式為正交編碼信號,每個(gè)通道陀螺信號輸入包括3路信號,分別是A、B和DGND,當A相超前B相90°時(shí)計數值增加,當A相落后B相90°時(shí)計數值減少。在設計時(shí)輸入信號先經(jīng)過(guò)鑒相電路,識別A路和B路信號的相位先后,并產(chǎn)生兩路4倍頻的可逆脈沖信號,然后對可逆脈沖進(jìn)行計數,當標頻信號中斷產(chǎn)生時(shí),將計數結果存入鎖存器內。 里程計信號包括兩路計數輸入和一路行車(chē)狀態(tài)信號輸入,計數輸入每路使用一個(gè)16 bit計數器,當中斷產(chǎn)生時(shí)將計數器數值存入鎖存器;行車(chē)狀態(tài)信號(STATE)上電初始為無(wú)效狀態(tài),用戶(hù)通過(guò)命令設置STATE狀態(tài)是否有效。其STATE信號處于有效狀態(tài)時(shí),STATE為1,里程計計數器遞增計數;若STATE為0時(shí),里程計計數器遞減計數;而當STATE信號處于無(wú)效狀態(tài)時(shí),里程計計數器遞增計數。 在FPGA中設計了16位計數器,上電復位計數器為0,計數器的值均增加,而計數器均加1,當頻標分頻中斷產(chǎn)生時(shí),將計數結果存入鎖存器內。DSP可通過(guò)EMIF訪(fǎng)問(wèn)鎖存器得到陀螺合頻計數器的結果。 標頻分頻器用來(lái)將標頻信號分頻,產(chǎn)生鎖存FPGA內加速度計數器、陀螺計數器、里程計計數器的計數值以及狀態(tài)檢測信號的狀態(tài)中斷信號。在FPGA中標頻分頻器由一個(gè)預定標器和一個(gè)計數器組成,可由軟件編程設置分頻,DSP通過(guò)EMIF總線(xiàn)向預定標器寫(xiě)入需分頻的數值,計數器記錄頻標脈沖的個(gè)數,計數至定標值時(shí)計數器輸出并清零,而計數器輸出至DSP的中斷,同時(shí)鎖存FPGA內加速度計數器、陀螺計數器、里程計計數器的計數值以及狀態(tài)檢測信號的狀態(tài)。 狀態(tài)檢測信號為開(kāi)關(guān)量信號,狀態(tài)存放在一個(gè)地址中,每一位代表一路的狀態(tài)。在FPGA中設計一個(gè)16位的寄存器,存放行車(chē)狀態(tài)、高壓檢測信號狀態(tài)、機抖檢測信號狀態(tài)及跳模檢測信號狀態(tài),并在中斷時(shí)將信號鎖存到鎖存器中。 故障檢測信號是通過(guò)一個(gè)地址寫(xiě)入故障檢測向量,根據故障檢測向量每一位具體是0或1,由可編程邏輯器件將故障檢測向量自動(dòng)設置輸出引腳。在FPGA中設置一個(gè)8位的存儲器,用于存放故障檢測向量,信號經(jīng)驅動(dòng)后輸出。 FPGA內部設計了串行協(xié)議模塊,經(jīng)外接電路組成RS232和RS422串行接口。集成協(xié)議芯片參照ST16C2552進(jìn)行設計,對其MODEM控制等功能進(jìn)行了裁減。而串行接口工作波特率也均可設置。 3 結束語(yǔ) 文中介紹了基于DSP的車(chē)載導航系統,給出了硬件電路設計。其具有結構簡(jiǎn)單、可靠性高、維護方便,能提高系統整體性能和性?xún)r(jià)比,且有較好的繼承性等特點(diǎn)。實(shí)踐證明該硬件電路可靠,為車(chē)載導航領(lǐng)域的硬件設計提供了參考。 |