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