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