《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM微處理器的機(jī)載語音告警系統(tǒng)設(shè)計(jì)
基于ARM微處理器的機(jī)載語音告警系統(tǒng)設(shè)計(jì)
電子設(shè)計(jì)工程
宋霄罡,翟正軍,任嵐昆 西北工業(yè)大學(xué)
摘要: 基于ARM微處理器的機(jī)載語音告警系統(tǒng)設(shè)計(jì),摘要:針對(duì)某型現(xiàn)代軍用飛機(jī)的研制要求,設(shè)計(jì)了基于ARM微處理器的機(jī)栽語音告警系統(tǒng)。該系統(tǒng)硬件設(shè)計(jì)采用立體數(shù)字語音轉(zhuǎn)換器,并對(duì)語音采用差分方式輸出以提高抗干擾能力,設(shè)計(jì)了50ms掉電保護(hù)。軟件采用U-Boot的移
Abstract:
Key words :

摘要:針對(duì)某型現(xiàn)代軍用飛機(jī)的研制要求,設(shè)計(jì)了基于ARM微處理器的機(jī)栽語音告警系統(tǒng)。該系統(tǒng)硬件設(shè)計(jì)采用立體數(shù)字語音轉(zhuǎn)換器,并對(duì)語音采 用差分方式輸出以提高抗干擾能力,設(shè)計(jì)了50 ms掉電保護(hù)。軟件采用U-Boot的移植及告警命令優(yōu)先級(jí)的調(diào)度處理技術(shù),并將大語音庫從NAND Flash直接加載到SDRAM中,減小發(fā)音間隔。其應(yīng)用結(jié)果表明,該機(jī)載語音告警系統(tǒng)能根據(jù)戰(zhàn)場形勢變化解析告警命令后對(duì)飛行員發(fā)出告警語音,并且接收 到告警命令到發(fā)出告警語音間隔小于40 ms,適應(yīng)現(xiàn)代復(fù)雜多變的戰(zhàn)場環(huán)境,告警語音音質(zhì)清晰、無間斷音。
關(guān)鍵詞:語音告警;ARM;音頻芯片;掉電保護(hù);U-Boot的移植

    飛機(jī)語音告警系統(tǒng)是新型飛機(jī)必備的一種機(jī)載設(shè)備,其作用是將飛機(jī)當(dāng)前的工作狀態(tài)、危險(xiǎn)狀況或者通過數(shù)據(jù)鏈獲取的作戰(zhàn)任務(wù)命令,實(shí)時(shí)以語音方式告知飛行員。 在飛機(jī)飛行過程中飛行員一般是通過安裝在座艙里的操作臺(tái)、儀表和告警信號(hào)燈來了解飛機(jī)各個(gè)系統(tǒng)的工作狀態(tài)。由于飛行員在飛行時(shí)為完成相應(yīng)的飛行任務(wù),注意 力高度集中在飛行高度、速度和雷達(dá)參數(shù)等數(shù)據(jù)信息上,對(duì)飛機(jī)故障信息的注意力要相對(duì)弱一些,這樣就會(huì)出現(xiàn)飛行員不能及時(shí)地對(duì)故障采取措施,從而導(dǎo)致嚴(yán)重的 飛行事故。同時(shí),目前大多數(shù)新研制或改裝的飛機(jī)都有數(shù)據(jù)鏈系統(tǒng),許多作戰(zhàn)任務(wù)命令不再單純依靠地面指揮人員或長機(jī)的語音傳達(dá),可通過數(shù)據(jù)鏈或根據(jù)戰(zhàn)場態(tài)勢 產(chǎn)生,并及時(shí)告知飛行員,因此,針對(duì)某新型飛機(jī)的研制要求,設(shè)計(jì)了基于ARM單片機(jī)的語音告警系統(tǒng)。

1 系統(tǒng)總體框架設(shè)計(jì)與工作原理
    語音告警系統(tǒng)由以下6部分組成:語音命令輸入單元、語音命令真?zhèn)魏蛢?yōu)先權(quán)判斷單元、告警語音播放單元、電源及其監(jiān)控單元、自檢測單元和調(diào)試接口,系統(tǒng)設(shè)計(jì)框圖如圖l所示。

a.JPG


    系統(tǒng)的語音告警數(shù)據(jù)可以通過JTAG預(yù)先裝載到非遺失的NAND Flash中,系統(tǒng)上電后自動(dòng)將告警軟件和語音告警數(shù)據(jù)加載到SDRAM中。系統(tǒng)工作時(shí),通過RS422接收外系統(tǒng)傳來的一個(gè)或多個(gè)告警命令,按照告警命 令的優(yōu)先級(jí)依次發(fā)出告警語音。當(dāng)新的告警命令優(yōu)先級(jí)高于當(dāng)前告警命令時(shí),中斷當(dāng)前告警語音;當(dāng)高優(yōu)先級(jí)的告警命令處理結(jié)束后,接著依次發(fā)出較低一級(jí)的告警 語音。

2 硬件設(shè)計(jì)
2.1 ARM處理器單元
    ARM處理器單元由S3C2440型ARM、存儲(chǔ)單元的NAND Flash和SDRAM組成。
2.1.1 S3C2440尋址原理
    S3C2440是基于ARM920T內(nèi)核的16/32位RISC微處理器,提供32位地址總線,可以訪問4 Gb的線性地址空間,而S3C2440的內(nèi)部地址總線是30 b,能夠訪問的最大外部地址空間是1 GB,可見S3C2440僅利用ARM920T32位地址空間的低30位。S3C2440將1 GB的外部地址空間分成了8個(gè)存儲(chǔ)器組,每個(gè)組的大小128 MB,其中6個(gè)用于ROM、SRAM等存儲(chǔ)器,2個(gè)用于ROM、SRAM、SDRAM存儲(chǔ)器。S3C2440對(duì)外尋址時(shí),采用了部分譯碼的方式,低位地址 線用于外圍存儲(chǔ)器的片內(nèi)尋址,高位地址線用于外圍存儲(chǔ)器的片外尋址。高3位ADDR[29:27]來選擇該地址屬于哪一個(gè)
存儲(chǔ)器組,ADDR[26:0]來實(shí)現(xiàn)相應(yīng)存儲(chǔ)器組的內(nèi)部尋址,尋址范圍為128 MB,從而使得其外圍地址訪問空間為1 GB。
2.1.2 存儲(chǔ)單元設(shè)計(jì)
    NAND Flash接口信號(hào)較少(如圖2所示),數(shù)據(jù)寬度只有8 b,沒有地址總線,地址、數(shù)據(jù)總線復(fù)用,串行讀取,以頁(page)為單位進(jìn)行讀寫,以塊(block)為單位進(jìn)行擦除。操作NAND Flash時(shí),先傳輸命令,然后再傳輸?shù)刂罚詈笞x寫數(shù)據(jù)。本系統(tǒng)采用64 Mx8 bit的K9F1208,其組織方式可以分4類地址:
    1)Column Address表示數(shù)據(jù)在半頁中的地址,大小范圍0~255,用A[0:7]表示;
    2)Hafpage Pointer表示半頁在整頁中的位置,即在O~255空間或256~511空間,用A[8]表示;A[8]=00為上半頁,A[8]=01為下半頁;
    3)Page Address表示頁在塊中的地址,大小范圍0~31,用A[9:13]表示;
    4)Block Address表示塊在flash中的位置,大小范圍0~4 095,A[14:25]表示。

b.JPG


    對(duì)NAND Flash操作時(shí),地址分4個(gè)周期傳送。
2.2 音頻及功放單元
   系統(tǒng)采用CS4331完成數(shù)字音頻信號(hào)的轉(zhuǎn)換,CS4331是完全立體聲數(shù)字音頻轉(zhuǎn)換器,集成了數(shù)字插值、調(diào)制、數(shù)模轉(zhuǎn)換、低通濾波功能。  CS4331轉(zhuǎn)換后的模擬信號(hào)功率經(jīng)放大后以差分方式輸出,如果存在干擾信號(hào),會(huì)對(duì)差分信號(hào)產(chǎn)生相同的干擾,通過二者之差,干擾信號(hào)的有效輸入為零,達(dá)到了抗共模干擾的目的,音頻轉(zhuǎn)換及功放電路如圖3所示。

c.JPG


2.3 電源及其監(jiān)控單元
    機(jī)載設(shè)備要求能耐受飛機(jī)電源的浪涌、沖擊,并能夠在掉電50 ms內(nèi)系統(tǒng)仍能正常工作,必須設(shè)計(jì)電源濾波和掉電保護(hù)模塊。采用法拉電容對(duì)電源模塊做特殊設(shè)計(jì),其電路如圖4所示。

g.JPG
    二極管VD1和R2實(shí)現(xiàn)了系統(tǒng)的正常供電,二極管VD2和R1完成儲(chǔ)能電容C1的充電,并能夠限制加電瞬間的充電電流。VD1,VD2和VD3的單向?qū)щ?性保證儲(chǔ)能電容C1在飛機(jī)電源掉電時(shí),只給本電路板供電。同時(shí)電阻R2和電容C2,C3一起用于電源濾波,消除電源浪涌和尖峰。依據(jù)電路保持工作所需能量 需與法拉電容減少能量相等的原則,可知:

d.JPG

  
   式中,C為法拉電容的標(biāo)稱容量,F(xiàn);Uwork為電路中的正常工作電壓,V;Umin為電路能工作的最低電壓,V;T為電路中要求的保持時(shí)間,s;I為電路的負(fù)載電流,A。
    則有

e.JPG

    根據(jù)語音告警系統(tǒng)的設(shè)計(jì)方案和所選用的元器件,系統(tǒng)正常工作所需要的電流約為0.2 A,系統(tǒng)工作電壓為3.3 V,最小工作電壓為3 V,要求掉電時(shí)間為0.05 s,據(jù)此由式(4)可計(jì)算出所需要的法拉電容為:
    f.JPG
    按照10倍的設(shè)計(jì)余度,本文選擇O.47 F電容作為儲(chǔ)能元件,可實(shí)現(xiàn)掉電時(shí)間最大為700 ms的掉電保護(hù),完全滿足機(jī)載設(shè)備的要求。
圖4中MAX811為電源監(jiān)控器件,當(dāng)監(jiān)控到系統(tǒng)電源低于閾值3 V時(shí),產(chǎn)生復(fù)位信號(hào)以確保系統(tǒng)工作正常。

3 軟件設(shè)計(jì)
3.1 U-Boot的移植
    因1.1.4版本U-Boot(Universal Boot Loader)并不支持本系統(tǒng)設(shè)計(jì)所使用的微處理器S3C2440,但對(duì)S3C2410有完善的支持。本文U-Boot移植工作在微處理器S3C2410 的基礎(chǔ)上展開,U-Boot移植操作實(shí)際上就是根據(jù)系統(tǒng)硬件資源對(duì)相關(guān)的文件進(jìn)行修改。本系統(tǒng)相關(guān)硬件由S3C2440嵌入式微處理器、64 MB的NAND Flash、64 MB的SDRAM及串口組成,這里關(guān)鍵介紹存儲(chǔ)系統(tǒng)的初始化部分:
    1)Flash驅(qū)動(dòng)程序采用board/Cmi/Flash.c,由于Cmi中的flash.c寫入時(shí)要交換字節(jié),因而刪除了其 write_short()和write_buff()函數(shù),利用board/ep7312/Flash.c中write_word()和 write_buff()函數(shù),并且把flash.c中的FLASH_BASE_PRELIM改為CFG_FLASH_BASE。把 FLASH_BLOCK_SIZE改為Ox4000,NAND Flash K9F1208塊的大小是16 KB。
    2)Board/smdk2410/smdk2410.c中函數(shù)dram_init()定義了SDRAM的真實(shí)地址和實(shí)際大小。由于本設(shè)計(jì)中,SDRAM的大小為64 MB,所以修改Inelude/configs/Smdk2410.h中的PHYS_SDRAM_l_SIZE,改為0x04000000。
    經(jīng)過以上修改后生成目標(biāo)代碼,通過JTAG將二進(jìn)制文件燒入NAND Flash。燒寫成功后通過超級(jí)終端進(jìn)行測試,測試結(jié)果表明U-Boot移植成功并且可以在系統(tǒng)板上穩(wěn)定運(yùn)行。
3.2 系統(tǒng)軟件流程
    系統(tǒng)的軟件流程如圖5所示,系統(tǒng)上電或復(fù)位后,從NAND Flash啟動(dòng),S3C2440把NAND Flash的前4 KB加載到SDRAM中,并把SDRAM的首地址設(shè)為0x00000000,CPU從0x00000000開始執(zhí)行。NAND Flash的前4KB程序中包含從NAND Flash把BootLoader(引導(dǎo)加載程序)的其余部分裝入SDRAM的程序,進(jìn)行系統(tǒng)初始化;系統(tǒng)接收到RS422接口傳來的告警命令后首先進(jìn)行 告警命令真?zhèn)渭皟?yōu)先權(quán)判定,當(dāng)判定當(dāng)前告警命令為真并且為優(yōu)先級(jí)最高后,系統(tǒng)從SDRAM讀取告警語音數(shù)據(jù);當(dāng)檢測到此時(shí)系統(tǒng)無新告警命令或高優(yōu)先級(jí)命令 時(shí),將語音數(shù)據(jù)輸出給音頻轉(zhuǎn)換器進(jìn)行解碼、數(shù)模轉(zhuǎn)換,功率放大后把告警語音送到飛行員耳機(jī)完成故告警語音播放。

h.JPG


3.3 告警命令優(yōu)先級(jí)調(diào)度單元
    語音告警系統(tǒng)功能是以分布在飛機(jī)各處的主要傳感器信號(hào)為觸發(fā),將飛機(jī)當(dāng)前的工作狀態(tài)、危險(xiǎn)狀況或通過數(shù)據(jù)鏈獲取的作戰(zhàn)任務(wù)命令,根據(jù)信息的重要緊急程度的 不同,在語音告警系統(tǒng)里將各系統(tǒng)的告警命令分成了不同的告警優(yōu)先級(jí)。一般將告警命令分為3級(jí):危險(xiǎn)級(jí)、警告級(jí)、注意級(jí),這樣按優(yōu)先權(quán)將告警命令分成先后順 序。本系統(tǒng)采用的告警命令優(yōu)先級(jí)調(diào)度流程如圖6所示。

i.JPG



4 結(jié)論
    實(shí)踐證明,采用ARM微處理器和數(shù)字音頻轉(zhuǎn)換器設(shè)計(jì)的機(jī)載語音告警系統(tǒng)工作穩(wěn)定、可靠,告警語音的控制和播放更加靈活、快速,適應(yīng)復(fù)雜多變戰(zhàn)場環(huán)境,符合體積小、重量輕、功耗低的機(jī)載需求。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。