任旺 劉蓓 李春娟 張彪 秦夷
摘要:本文主要簡(jiǎn)單介紹ARM單片機(jī)的主要性能和其在某接收機(jī)中的應(yīng)用,對(duì)整個(gè)接收機(jī)的控制、數(shù)據(jù)融合、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳送及完成自動(dòng)測(cè)試所要的軟件配合。以某項(xiàng)目為例來介紹,可以擴(kuò)展到很多設(shè)計(jì)中。
關(guān)鍵詞:ARM接收;數(shù)據(jù)處理;控制器
中圖分類號(hào):TN911.25 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)04-0068-01
0 引言
現(xiàn)代雷達(dá)中數(shù)字信號(hào)的應(yīng)用以其靈活、方便、便捷、兼容性強(qiáng)和易于學(xué)習(xí)掌握接收受到了很多設(shè)計(jì)師的青睞,在很多領(lǐng)域得到應(yīng)用。尤其因其多I/O口,具有多串口、復(fù)用功能、多功能,使得在電路設(shè)計(jì)中可以在硬件設(shè)計(jì)上大大節(jié)省空間,硬電路簡(jiǎn)單,在軟件上除了可以分擔(dān)部分軟件工作,并可以分擔(dān)一些本應(yīng)在FPGA中完成比較復(fù)雜的一些邏輯關(guān)系、解碼工作等等。
本文主要依據(jù)ARM在某項(xiàng)目中接收機(jī)的應(yīng)用為例,介紹它的部分應(yīng)用,并給出核心技術(shù)的軟件實(shí)現(xiàn)和測(cè)試結(jié)果。
1 器件簡(jiǎn)單介紹
在這個(gè)項(xiàng)目中我們采用的ARM型號(hào)為STM32F103xE,屬增強(qiáng)型系列,使用高性能的ARM CortexTM-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)512K字節(jié)的閃存和64K字節(jié)的SRAM),豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè)。所有增強(qiáng)型型號(hào)的器件都包含3個(gè)12位的ADC、4個(gè)通用16位定時(shí)器和2個(gè)PWM定時(shí)器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:多達(dá)2個(gè)I2C、3個(gè)SPI、2個(gè)I2S、1個(gè)SDIO、5個(gè)USART、一個(gè)USB和一個(gè)CAN。
外部中斷/事件控制器(EXTI) 外部中斷/事件控制器包含19個(gè)邊沿檢測(cè)器,用于產(chǎn)生中斷/事件請(qǐng)求。每個(gè)中斷線都可以獨(dú)立地配置它的觸發(fā)事件(上升沿或下降沿或雙邊沿),并能夠單獨(dú)地被屏蔽;有一個(gè)掛起寄存器維持所有中斷請(qǐng)求的狀態(tài)。EXTI可以檢測(cè)到脈沖寬度小于內(nèi)部APB2的時(shí)鐘周期。多達(dá)112個(gè)通用I/O口連接到16個(gè)外部中斷線。
溫度傳感器產(chǎn)生一個(gè)隨溫度線性變化的電壓,轉(zhuǎn)換范圍在2V~3.6V之間。溫度傳感器在內(nèi)部被連接到ADC1_IN16的輸入通道上,用于將傳感器的輸出轉(zhuǎn)換到數(shù)字?jǐn)?shù)值。
工作于-40°C至+105°C的溫度范圍,供電電壓2.0V至3.6V,一系列的省電模式保證低功耗應(yīng)用的要求。
2 ARM在接收機(jī)中的一些應(yīng)用
2.1 項(xiàng)目中接收機(jī)需要解決的關(guān)鍵技術(shù)
該項(xiàng)目接收機(jī)部分完成射頻到50MHz~550MHz中頻的變頻過程;采樣部分我們采用1.2GHz時(shí)鐘的高速采樣;提取模塊完成對(duì)各路信號(hào)的相位提取;微波器件因頻段、頻點(diǎn)、溫度等因素會(huì)影響其硬件指標(biāo),會(huì)引起的不同狀態(tài)時(shí)的固定相位誤差,最終會(huì)引起方位角和俯仰角測(cè)算的誤差。在工程設(shè)計(jì)中,除了采取硬件線纜的等相設(shè)計(jì)之外,可以在軟件上對(duì)排除不了的進(jìn)行校正。我們采用了查表的形式對(duì)數(shù)據(jù)進(jìn)行了校正,通過校正測(cè)算出的角度在0.60以內(nèi)。
2.2 控制部分的硬件電路介紹
在控制部分電路中,ARM作為FPGA和計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸、數(shù)據(jù)融合、數(shù)據(jù)整理等功能的控制器件。首先,ARM和FPGA之間的數(shù)據(jù)傳輸依靠地址線、數(shù)據(jù)線、訪問信號(hào)線的邏輯關(guān)系進(jìn)行傳輸;ARM和計(jì)算機(jī)之間的數(shù)據(jù)傳輸依靠串口,以報(bào)文串行方式通訊。原理框圖為圖1。
2.3 ARM中軟件設(shè)計(jì)介紹
ARM中的程序一直處于循環(huán)狀態(tài),以中斷觸發(fā)方式工作,根據(jù)中斷不同去觸發(fā)不同的響應(yīng)程序,完成響應(yīng)的任務(wù)。該項(xiàng)目中應(yīng)用的主要中斷包括3個(gè)硬件電平中斷(分別對(duì)應(yīng)三根來自FPGA的線),和兩個(gè)串口中斷。其中硬件電平中斷來自FPGA,主要傳達(dá)硬件信息;串口中斷主要傳達(dá)計(jì)算機(jī)有信息過來,需要處理這些信息。
在圖1中,設(shè)置硬件參數(shù)程序主要完成把需要狀態(tài)的參數(shù)以一定的格式寫入對(duì)應(yīng)的FPGA寄存器中,F(xiàn)PGA中對(duì)應(yīng)的邏輯電路完成對(duì)這些數(shù)據(jù)的解碼,并傳輸給硬件,對(duì)對(duì)應(yīng)的硬件進(jìn)行控制,例如,各個(gè)開關(guān)控制碼、DDS頻率碼、頻段碼、靈敏度高低控制碼、放大器增益控制碼等等。
下載校表進(jìn)行補(bǔ)償程序主要完成把相應(yīng)的表下載到FPGA的功能。FPGA對(duì)采樣的數(shù)據(jù)進(jìn)行補(bǔ)償運(yùn)算。表的表項(xiàng)包括溫度、濕度、頻點(diǎn)、帶寬、頻段。
讀取FPGA數(shù)據(jù)程序主要完成對(duì)暫存在FPGA中雙口RAM中的采樣數(shù)據(jù)進(jìn)行讀取,并生成一定格式的報(bào)文,通過串口發(fā)送到計(jì)算機(jī),用來進(jìn)行顯示,利于調(diào)試用。而實(shí)際設(shè)備中,F(xiàn)PGA中的采樣數(shù)據(jù)在另來端口以并行方式傳輸給設(shè)備中的計(jì)算機(jī),速度可以達(dá)到對(duì)信號(hào)的實(shí)時(shí)監(jiān)測(cè)和跟蹤。
發(fā)送數(shù)據(jù)存儲(chǔ)信號(hào)主要完成對(duì)FPGA的觸發(fā),對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),當(dāng)存儲(chǔ)到設(shè)定的數(shù)據(jù)長(zhǎng)度時(shí),F(xiàn)PGA會(huì)以中斷方式觸發(fā)ARM中的程序來讀取數(shù)據(jù)(使ARM中參數(shù)=2的那根中斷使能線的電平發(fā)生變化)。
存儲(chǔ)數(shù)據(jù)到FLASH程序主要完成對(duì)無信號(hào)、某種狀態(tài)時(shí)測(cè)試的數(shù)據(jù)進(jìn)行存儲(chǔ),以備對(duì)相近狀態(tài)時(shí)測(cè)試的信號(hào)進(jìn)行補(bǔ)償。當(dāng)硬件狀態(tài)、頻段、溫度、濕度等條件變化時(shí),F(xiàn)PGA將告知ARM下載對(duì)應(yīng)表相的表到FPGA,依據(jù)頻點(diǎn)訪問表,進(jìn)行實(shí)時(shí)補(bǔ)償。
2.4 ARM在自動(dòng)測(cè)試中應(yīng)用和計(jì)算機(jī)軟件實(shí)現(xiàn)
在本項(xiàng)目中,調(diào)試階段的測(cè)試?yán)眯盘?hào)源經(jīng)喇叭發(fā)射信號(hào),在環(huán)境單純的微波暗室進(jìn)行測(cè)試,排除了外部信號(hào)干擾。
ARM在自動(dòng)測(cè)試中也起到了主導(dǎo)性的作用。計(jì)算機(jī)中的測(cè)試程序利用串口發(fā)送報(bào)文,控制信號(hào)源和接收機(jī)的狀態(tài),并對(duì)接收到的數(shù)據(jù)進(jìn)行解析,以一定的方式顯示。
在自動(dòng)測(cè)試中,利用循環(huán)程序,依據(jù)設(shè)定的步進(jìn)對(duì)信號(hào)源和接收機(jī)進(jìn)行參數(shù)設(shè)定狀態(tài),穩(wěn)定后對(duì)數(shù)據(jù)進(jìn)行檢測(cè),最后形成的數(shù)據(jù)進(jìn)行存儲(chǔ)和顯示,形成的校表存儲(chǔ)后,形成報(bào)文發(fā)送到RAM中,存儲(chǔ)到FLASH,以備補(bǔ)償用。
3 測(cè)試結(jié)果
在校表完成后,對(duì)各個(gè)狀態(tài)進(jìn)行測(cè)試,角度分辨率可達(dá)0.35度,誤差在0.6度內(nèi)。ARM在調(diào)試和自動(dòng)測(cè)試中起到了關(guān)鍵作用。在大批數(shù)據(jù)需要測(cè)試的情況下,節(jié)省了很多時(shí)間,給測(cè)試工作帶來了很多方便。
4 結(jié)語
本文簡(jiǎn)單闡述了ARM在此項(xiàng)目中的應(yīng)用,STM32F103增強(qiáng)型微控制器豐富的外設(shè)配置,使其適合于多種應(yīng)用場(chǎng)合:電機(jī)驅(qū)動(dòng)和應(yīng)用控制、醫(yī)療和手持設(shè)備、PC外設(shè)和GPS平臺(tái)、工業(yè)應(yīng)用、可編程控制器、變頻器、打印機(jī)和掃描儀、警報(bào)系統(tǒng),視頻對(duì)講,和暖氣通風(fēng)空調(diào)系統(tǒng)等等。
參考文獻(xiàn)
[1] STM32F103xCDE數(shù)據(jù)手冊(cè)[K].