王曉旭
摘 要:【目的】天線實時角度測量設(shè)備與天線的控制單元、環(huán)形器、信號處理、模擬器等多個外部設(shè)備之間存在多種類型的數(shù)據(jù)傳輸接口,為滿足這些接口在互不干擾的情況下,并行完成高速、準(zhǔn)確、無延時的數(shù)據(jù)傳輸?!痉椒ā坑布娐凡捎肁RM+FPGA架構(gòu),以總線方式將ARM與FPGA通過地址線、數(shù)據(jù)線、讀/寫允許、片選、中斷信號等管腳接口邏輯連接。由ARM處理器實現(xiàn)主控制程序,通過Keil軟件開發(fā),C語言設(shè)計。FPGA使用Quartus II開發(fā)環(huán)境,VHDL語言設(shè)計,采用狀態(tài)機和FIFO技術(shù)實現(xiàn)時序、數(shù)據(jù)、信號輸出的設(shè)計?!窘Y(jié)果】該方法不僅滿足了多種類型數(shù)據(jù)接口并行傳輸?shù)母咚俾省崟r性要求,而且具有可擴展性?!窘Y(jié)論】該方法已經(jīng)在測控產(chǎn)品中應(yīng)用,效果顯著。
關(guān)鍵詞:ARM;FPGA;數(shù)據(jù)傳輸;接口
中國分類號:TP311? ? ?文獻標(biāo)志碼:A? ? ?文章編號:1003-5168(2024)06-0016-04
DOI:10.19968/j.cnki.hnkj.1003-5168.2024.06.003
Design Method for the Achievement of Multiple Types Interfaces Data Transmission Based on ARM+FPGA
WANG Xiaoxu
(China Electronics Technology Corporation 39th Research Institute, Xi'an 710065, China)
Abstract: [Purposes] There are many types of data transmission interfaces between the antenna real-time angle measurement device and the antenna control unit, circulator, signal processing, simulator and other external devices. In order to meet these interfaces, high-speed, accurate and non-delay data transmission is completed in parallel without interference. [Methods] The hardware circuit adopts ARM + FPGA architecture, and the ARM and FPGA are logically connected by bus through pin interface such as address line, data line, read-write permission, chip selection, interrupt signal and so on. The main control program is implemented by ARM processor, developed by Keil software and designed by C language. FPGA uses Quartus II development environment, VHDL language design, and uses state machine and FIFO technology to achieve timing, data, signal output design. [Findings] The design method not only meets the requirements of high speed rate and real-time of parallel transmission of multiple types of data interfaces, but also has scalability. [Conclusions] The method has been applied in the measurement and control products, and the application effect is remarkable.
Keywords: ARM; FPGA; data transmission; interfaces
0 引言
隨著現(xiàn)代集成電路技術(shù)的飛速發(fā)展,在微處理器的嵌入式應(yīng)用中,ARM處理器以小體積、高性能、低功耗、低成本、設(shè)計靈活等優(yōu)點,處于技術(shù)領(lǐng)先位置[1]。FPGA屬硬件線路,具有抗干擾性強、數(shù)據(jù)高速處理能力強、運行快速穩(wěn)定、擴展性強等優(yōu)勢。ARM與FPGA各具特色,卻有很強的互補性,不僅可以單獨使用,還可以進行ARM+FPGA綜合設(shè)計[2]。ARM+FPGA架構(gòu)在速度、功能、性價比等方面已實現(xiàn)質(zhì)的飛躍,因其強大的設(shè)計優(yōu)勢,近幾年被廣泛應(yīng)用于各種通信、控制及測量設(shè)備中。本研究闡述了基于ARM+FPGA架構(gòu)的天線實時角度測量設(shè)備實現(xiàn)多種類型數(shù)據(jù)傳輸?shù)脑O(shè)計方法。
1 天線實時角度測量設(shè)備
天線實時角度測量設(shè)備的主要作用是采集并計算天線的實時角度,按不同頻率、不同接口分別傳輸?shù)教炀€控制單元、信號處理、模擬器、環(huán)形器、增程等多個外部設(shè)備[3]。其傳輸接口類型分別為:SSI同步串行接口、高速并口、RS422串口等。SSI同步串行接口的頻率有2種,一種為585 Hz與300 Hz可切換,另一種為固定頻率;高速并口的頻率隨外部設(shè)備的輸入頻率(PRF)而變化;RS422串口的頻率為固定頻率。其原理示意如圖1所示。
2 硬件設(shè)計
天線實時角度測量設(shè)備的硬件核心部分分別選用ARM7TDMI-S內(nèi)核的LPC2294單片機和EP1C6T144的FPGA芯片。以總線方式將ARM單片機與FPGA結(jié)合使用,通過地址線、數(shù)據(jù)線、讀/寫允許、片選、中斷信號等管腳接口邏輯連接,形成“ARM+FPGA”架構(gòu)的核心控制方式,從而節(jié)省了ARM與FPGA芯片的I/O口。ARM是主控芯片,實現(xiàn)主控程序功能,設(shè)備流程均由其來完成。FPGA用于擴展功能,在FPGA中設(shè)置譯碼器,鎖存器電路。FPGA不僅實現(xiàn)與人機界面、信號處理、增程、模擬器等外部設(shè)備接口,而且完成A/D器件的高速數(shù)據(jù)采樣,并將數(shù)據(jù)暫存SRAM中。接口邏輯框如圖2所示。
3 程序設(shè)計
ARM單片機完成主控程序,基于Keil軟件開發(fā)工具,采用C語言設(shè)計。FPGA使用Quartus 1I可編程邏輯器件集成開發(fā)環(huán)境,采用VHDL語言設(shè)計[4]。
3.1 主控程序設(shè)計
ARM單片機實現(xiàn)主控程序功能,主程序初始化后由FPGA產(chǎn)生的中斷觸發(fā),進入主函數(shù)While(1)的死循環(huán)中[5],采集天線軸角的精、粗碼;外時統(tǒng)時間;計算角度;解碼實時時間;RS422串口收、發(fā)數(shù)據(jù);人機界面顯示信息等以上要執(zhí)行的命令,均在此循環(huán)內(nèi)部完成,且以觸發(fā)中斷的頻率為循環(huán)周期。將SSI同步串行接口和高速并口程序設(shè)置在優(yōu)先級更高的外部中斷中,保證數(shù)據(jù)的準(zhǔn)確性和實時性。這種軟件設(shè)計方式確保了實時角度數(shù)據(jù)以多類型、多接口、不同頻率的形式準(zhǔn)確無誤地上報給外部設(shè)備。
3.2 SSI同步串行接口設(shè)計
SSI同步串行接口由4路信號:起始(Start)、時鐘(Clk)、數(shù)據(jù)(Data)、結(jié)束(End)組成,通過FPGA來實現(xiàn)時序輸出,其I/O引腳分別作為Start、Data、Clk、End的輸出端口。采用有限狀態(tài)機和FIFO存儲器技術(shù)[6],時鐘頻率由外部10 MHz為基礎(chǔ)頻率,F(xiàn)PGA可根據(jù)速度要求變化頻率,時序關(guān)系如圖3所示。
3.3 高速并口設(shè)計
高速并口由16路數(shù)據(jù)位(Data0~Data15)、1路使能位(Wen)、1路時鐘位(Clk)、1路應(yīng)答位(Ack)組成,全部使用FPGA的I/O引腳。通過外部輸入基準(zhǔn)脈沖(PRF)下降沿觸發(fā),外部基準(zhǔn)脈沖(PRF)頻率一般為585 Hz或300 Hz。時序關(guān)系如圖4所示。
3.4 RS422串口
RS422串口通信由ARM單片機自帶的串口功能完成。采用串口0和串口1,外接2路MAX3491串口芯片電路,可同時實現(xiàn)2路RS422串口信號輸入與輸出,從而完成與天線控制單元的數(shù)據(jù)信息通信[7]。
4 結(jié)語
本研究采用“ARM+FPGA”核心架構(gòu),ARM為主控芯片,F(xiàn)PGA為擴展芯片,充分利用了ARM與FPGA的自身資源,以總線方式將ARM與FPGA結(jié)合使用,實現(xiàn)了高速數(shù)據(jù)采集、計算,并把多種類型、不同頻率的接口與外部設(shè)備之間進行信息交互,完成高速數(shù)據(jù)傳輸。該設(shè)計方案可靠性高、傳輸速率快,保證了數(shù)據(jù)的實時傳輸,滿足了高速、大容量的數(shù)據(jù)傳輸場合需要。該設(shè)計方法克服了單一使用ARM或FPGA時I/O接口數(shù)量有限、難以直接完成多種數(shù)據(jù)通信的缺陷,具有可擴展性。為了滿足不同類型的接口能夠同時并存,且互不干擾,需要對ARM中斷優(yōu)先級進行合理排序,優(yōu)化調(diào)配FPGA的時序。該設(shè)計方法已經(jīng)在工程實踐中應(yīng)用,并取得良好的效果。
參考文獻:
[1]黎玉成.基于嵌入式μClinux系統(tǒng)的P2P軟件應(yīng)用研究[J].機械與電子,2010(S1):179-181.
[2]姜杰,蔡芝磊,唐昆明,等.基于FPGA的線路光纖縱差成套保護硬件設(shè)計[J].現(xiàn)代電力,2013(2):27-30.
[3]范智博,周永金.人工表面等離激元饋電的寬帶低旁瓣全角度波束掃描天線[J].空軍工程大學(xué)學(xué)報,2023,24(6):29-35.
[4]唐敏.基于STC單片機的溫控教學(xué)設(shè)備的設(shè)計[J].裝備制造技術(shù),2014(9):47-49.
[5]管耀武,楊宗德.ARM嵌入式無通信系統(tǒng)開發(fā)實例精講[M].北京:電子工業(yè)出版社,2006.
[6]楊恒.零起點學(xué)單片機與CPLD/FPGA[M].北京:北京航空航天大學(xué)出版社,2007.
[7]鄧紅德,李陽,吳佳楠.基于RL-ARM的嵌入式以太網(wǎng)與串口通信系統(tǒng)設(shè)計[J].測控技術(shù),2012,31(8):75-79.