999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ZYNQ?7000的飛控計算機PC/104總線數傳鏈路設計

2024-09-13 00:00:00晏鵬鵬張玉民盛蔚
現代電子技術 2024年14期
關鍵詞:信號設計

摘" 要: 針對飛控計算機面向多模塊、多種類接口資源方向發展引發的原有飛控計算機固有性能不足、可拓展性差的問題,提出一種基于ARM+FPGA的軟硬件協同工作、以PC/104作為多模塊間通信總線的飛控計算機框架。該框架中針對PC/104總線與系統主存傳輸的帶寬不匹配問題,設計了雙通道數據緩沖路徑,通過FPGA設計IP實現PC/104總線時序的控制,以DMA的方式實現總線與主存DDR之間的高速數據緩存。實驗結果表明,所設計的飛控數據鏈路可實現模塊間PC/104總線以40 Mb/s的速度進行數據傳輸,以及通過總線實現外設到系統主存之間微秒級別延遲的高速數據交換,保證了多模塊工作時的數據傳輸效率。

關鍵詞: 飛控計算機; PC/104總線; ZYNQ?7000; FPGA; DMA數傳鏈路; 數據交換

中圖分類號: TN791?34; TN919.1?34" " " " " " " " " "文獻標識碼: A" " " " " " " "文章編號: 1004?373X(2024)14?0015?05

Design of ZYNQ?7000 based PC/104 bus data transmission link of flight control computer

YAN Pengpeng, ZHANG Yumin, SHENG Wei

(School of Instrumentation and Optoelectronic Engineering, Beihang University, Beijing 100191, China)

Abstract: In allusion to the problem of insufficient inherent performance and poor scalability of the original flight control computer caused by the development of multi?module and multi?type interface resources, a flight control computer framework based on ARM + FPGA hardware and software cooperation and taking PC/104 as a multi?module communication bus is proposed. In this framework, a dual?channel data buffer path is designed to improve the bandwidth mismatch between PC/104 bus and system main memory transmission. The PC/104 bus control is realized by IP designed in FPGA, and the high?speed data cache between bus and main memory is realized by means of DMA. The experimental results show that the designed flight control computer data link can realize 40 Mb/s data transmission speed between PC/104 buse between modules, and realize high?speed data exchange with microsecond delay between peripherals and system main memory by the bus, which ensures the data transmission efficiency of multi?module operation.

Keywords: flight control computer; PC/104 bus; ZYNQ?7000; FPGA; DMA data transmission link; data exchange

0" "引" 言

飛控計算機作為無人機飛行控制的指揮中心,擔任著實時的控制律解算、遙測數據的收發、飛行任務的執行等功能[1?2]。近年來,隨著嵌入式處理器的更新迭代,無人機所要執行的飛行任務也逐漸加重,無人機所需外設資源越來越多,傳統以DSP+FPGA為架構的導航計算機[3]過于復雜,較難進行冗余備份,而以MPC555處理核心為代表的多模塊方案[4]也難以滿足現在無人機的實時任務需求。PC/104在嵌入式領域具有廣泛應用,ZYNQ的獨特異構設計給用戶設計帶來了較大的想象空間。本文以PC/104為模塊間通信總線,以ZYNQ處理器作為主控,實現DMA雙通路的數據緩存鏈路設計,保證飛控在復雜條件下實時收發總線數據。

1" 系統總體設計

PC/104是一種工業計算機總線標準,有8位和16位兩個版本,分別與PC和PC/AT相對應,在嵌入式的設計中具有廣泛的應用[5]。由于業內無專用的PC/104總線接口芯片,也沒有集成PC/104總線外設接口的處理芯片,因此用軟件實現相應功能,雖然具有一定的靈活性,但是對于實時性較強的系統而言,顯然不能達到要求。對于實時性要求較高的飛控計算機,需要專門接口邏輯滿足復雜的任務需求。

ZYNQ?7000系列是賽靈思產品平臺基礎,它基于ARM處理器的片上系統(System on Chip, SoC),可滿足復雜嵌入式系統的高性能、低功耗和多核處理能力要求,同時保持了與7系列FPGA的一致性,便利了功能板塊的可擴展性[6]。ZYNQ?7000基于ARM處理器的結構,在單片內集成了雙核ARM Crotex?A9處理器核心(Processing System, PS)以及可編程邏輯(Programmable Logic, PL)[7],兩者之間通過AXI(Advancede Xtensible Interface)總線互聯。自1996年由ARM公司發布AMBA總線以來,到最新版本的AMBA4.0的AXI總線[8],AXI總線協議的物理接口包括AXI?GP、AXI?HP、AXI?ACP,接口帶寬為600 Mb/s~1.2 Gb/s,可分別應用于不同需求的場景。ZYNQ主機AXI?GP接口具有發起讀寫的權限,然而在飛控計算機傳輸多來源、多類型的數據時,為充分發揮PS與PL間高性能接口的作用,需要著重解決數據緩存與收發邏輯的問題,該問題的解決會提高飛控計算機的實時性。

針對上述問題,本文設計以ZYNQ為平臺的處理器方案,利用PL設計實現PC/104控制器接口的邏輯,PS負責做任務調度管理,DMA控制器做總線數據緩存。該方案中,PL中的數據收發不同階段通過中斷事件同步到PS端,PS控制PC/104總線控制器接收、發送與整合數據。為了減少CPU任務調度,充分發揮ZYNQ的AXI?HP接口ARM與FPGA高速數據流接口的性能[6],通過DMA可實現總線數據在FIFO與主存的交互。同時,自定義數據握手接口,可實現數據在DMA與PC/104控制器之間通過橋接FIFO做異步緩存??傮w設計思想和系統硬件框架如圖1所示。系統設計包含PC/104總線控制器設計、DMA緩存鏈路設計以及PS軟件控制設計三個部分。

2" FPGA邏輯設計與優化

2.1" PC/104控制器設計

本文采用16位數據總線的PC/104總線架構,對其部分線束進行了裁剪,保留了16位的數據總線、24位地址線的低20位,以及I/O、存儲設備所必需的16位控制線。PC/104總線時序根據數據總線的寬度、讀或寫操作、是否選擇插入等待周期、讀寫設備類型的不同,有著不同的操作時序,總線上地址以及數據的傳輸按照時鐘進行,圖2所示為本文采用16位I/O設備的讀寫操作時序。

根據狀態機的設計方法[9],將PC/104的傳輸時序劃分為:空閑、地址TS_1、地址TS_2、數據TC1_1~2、數據TC2_1~2、等待1WAIT_1、等待2WAIT_2共9個狀態周期。具體設計邏輯如下。

1) 系統上電或者復位之后,PC/104處于空閑狀態,此時等待ARM端的指令到來。

2) 收到指令之后,即刻進入地址狀態TS_1內。TS_1進行一拍的緩沖,在TS_2狀態內生成BALE地址鎖存使能的信號,將要訪問的設備地址鎖存在地址總線SA:19~0上。此時系統默認為寫總線周期,將來自PS的數據放到數據總線SD:15~0上,進入數據TC1狀態。

3) 在數據狀態TC1內,根據PS的指令使能讀或寫控制信號,如果M16#信號有效,此時監測NOWS#信號判斷是否需要提前結束當前周期,否則進入狀態TC2。

4) 如果是總線讀操作且IOCHRDY有效,在TC2狀態內即可讀取數據總線上的數據到指定的寄存器內;如果是總線寫操作,主設備端無需進行操作,等待從設備將數據讀走即可完成一次訪問周期。

5) 在TC1_2、TC2_2和WAIT_2均有后續任務邏輯判斷,有任務則執行任務,否則轉入PC/104處于空閑狀態,即1)狀態。

2.2" DMA數據鏈路設計

DMA是指外部設備不通過CPU,直接與系統內存交換數據的接口技術[10?11]。本文DMA數據鏈路設計的主要目的在于解決PC/104模塊與ARM通信帶寬不匹配問題,從而提高批量數據傳送的效率與速度。對于ARM來說,與FPGA對接的主要任務是搬運大量來自PC/104總線上的數據。一般情況下,將外設數據讀入內存或將內存傳送到外設,都要通過CPU控制完成,如采用查詢或中斷方式。雖然中斷方式可以提高CPU的利用率,但對于批量傳送數據的情況,如圖3所示,若采用DMA方式,CPU只需要提供地址和突發傳輸數據的長度給DMA,DMA即可接管總線、訪問內存,從而可以有效地提高數據傳送的效率與速度。

實際應用中,配置PL的DMA帶寬可達1.6 Gb/s,遠遠高于PC/104的帶寬16 Mb/s。FIFO常用于異步時鐘域之間的數據交換,其數據接口一般是AXIS(Advanced Extensible Interface?Stream)流式數據接口。AXIS是最簡化的AXI數據接口,其基本的邏輯是兩端握手交換信息,基于TVALID、TREADY兩個信號的握手信號[12]邏輯如圖4所示。當發送數據端準備好數據之后置TVALID為有效,接收數據端監測TVALID有效后,接收總線上的數據并置TREADY有效,此時一次數據握手收發結束。

FIFO作為數據在DMA和PC/104之間的緩沖,與DMA處于同一時鐘域下,二者數據交換能夠以滿速的帶寬進行。而PC/104控制器與FIFO交換數據時,需要減緩握手交換數據的速度。以總線發送數據為例,設計中延遲PC/104控制器的TREADY信號的使能時間,僅在PC/104狀態機處于總線空閑狀態時生成一次TREADY信號脈沖,此時來自AXI FIFO的TVALID信號已經有效,則一次數據交換完成。綜上可知,本文設計的DMA數據鏈路解決了數據通信中的帶寬不匹配問題,有效地提高了數據傳送的效率與速度。

3" 驅動邏輯設計與實現

本文設計中,通過硬件描述語言Verilog實現上述的各項邏輯功能,在Xilinx的ZYNQ開發設計平臺Vivado中進行仿真驗證。開發平臺可以對所設計語句進行RTL邏輯門級驗證、綜合驗證、布局布線驗證,用戶可根據驗證結果修改優化結構。驗證通過即可生成Bit流文件,而后在Vivado的軟件開發平臺加載Bit流文件,進行PS端驅動邏輯的開發。

通過Vivado平臺設計PC/104控制器接口IP核,接口示意圖如圖5所示。PC/104控制器接口IP和DMA通過上下傳FIFO緩存數據。PC/104控制器接口的IP封裝為AXI?Lite格式,PS端通過AXI?Lite接口可以配置PC/104控制器接口IP,進而能夠實現上層軟件對該IP的控制。AXI?Lite控制IP的核心在于配置接口寄存器,封裝IP時將寄存器的位映射到不同的IP功能,用戶只需讀寫相關寄存器即可控制FPGA進行邏輯操作。

ARM軟件通過中斷協調系統各個流程的推進,本文設計了三級中斷配置邏輯,如圖6所示,三級中斷表示內容如下。

1) 中斷Ⅰ:來自外界設備,用于向CPU發出數據讀取開始及發送數據完成請求。

2) 中斷Ⅱ:來自PC/104控制器,用于向CPU發出請求啟動或者復位PC/104總線。

3) 中斷Ⅲ:來自DMA控制器IP,用于向CPU發出請求表示與DDR的交換數據已完成或請求交換數據。

以一次總線數據傳輸為例:當前CPU模塊需要通過PC/104總線寫數據到I/O1模塊,地址為A,數據量為20 B,具體的配置流程如下。

1) 系統復位,DMA初始化。

2) 中斷接口配置,中斷函數匹配;配置中斷觸發方式以及優先級,綁定回調函數與中斷ID。

3) 進入用戶寫數據函數,配置I/O1板卡的地址A的中斷調用參數句柄,啟用各中斷。

4) 啟用DMA,將20 B數據傳到DMA緩沖通道。

5) 進入DMA完成中斷:根據步驟3)的參數句柄配置PC/104接口,突發傳輸數量并且啟動總線傳輸。

6) PC/104發送完成發起中斷,中斷函數中復位PC/104控制寄存器,一次總線任務結束。

至此,完整地實現了飛控計算機多模塊數據傳輸系統設計與驅動開發。

4" 仿真及實驗驗證

本文在Vivado提供的仿真驗證平臺上,對基于狀態機設計的PC/104控制器接口IP核進行仿真驗證。

圖7為16位I/O設備的總線讀操作仿真波形。總線工作在BCLK時鐘下,IOWC#、IORC#分別映射到PC/104控制器IP的控制寄存器上。PS端通過寄存器操作實現指令發送,PC/104狀態機開始工作。在總線TS周期的后半段拉高BALE信號,將地址鎖存到總線上,同時將來自FIFO的數據放到數據總線上。設計中使用標準的I/O讀寫周期,PC/104信號NOWS#以及IOCHRDY信號描述了可以提前結束或延長總線周期的情況[13]。

圖8為DMA與FIFO之間AXIS數據流仿真波形。在總線寫操作中,DMA將數據臨時存儲在FIFO中,通過AXIS接口交換數據。DMA需要發送數據時,將其AXIS接口的TVALID信號置為有效態,兩端自動同步完成數據流的傳輸,即圖示0x5678~0x2A2B。

FIFO通過AXIS協議收發PC/104總線上的數據。由于PC/104控制器一個標準的I/O設備操作需要6個時鐘周期,因此取數據通過延遲PC/104控制器AXIS接口的VALID信號實現。在PC/104總線完成一個總線周期時,生成一個VALID信號脈沖,即可更新一次PC/104總線數據。FIFO和PC/104控制器AXIS數據流實驗波形如圖9所示。圖中,在進行總線讀操作時FIFO的READY信號長期有效,控制VALID脈沖信號的生成,即可將總線接收的數據存儲在FIFO中。

基于以上描述,模擬無人機飛控系統中的常用外設,如IMU的數據接收情況,實驗中進行了多串口情況下總線數據接收測試。測試中,PC/104通信主模塊CPU工作在667 MHz的主頻下,數據生成模塊以200 Hz生成數據,以115 200、 512 000的波特率通過串口,以8 B幀長向PC/104通信從模塊發送數據,PC/104通信主模塊對接收的數據進行時間監測。實驗測試中,根據隊列輪詢的方法確保CPU給多個端口分配的響應級別相同,以保證各個端口能夠同等占有總線資源。實驗中,對掛載1~4個COM口時的總線有負載的時間段進行檢測。某時刻起始的總線有負載數據的時間線對比結果如圖10所示。

根據圖10結果,總線能夠滿足當前狀況下的負載響應,且具有足夠的裕量。對實時性要求高的系統中,還需考慮數據在鏈路上的延時,本文采用如圖10的測試條件對數據從數據模塊到主控模塊主存的延時進行分析,結果如圖11所示。

串口工具以4~20 B的幀長發送數據,PC/104接收模塊組幀完成后發起請求到PC/104主機模塊,接收完數據之間耗時為一次鏈路延時。在4 B的幀長情況下,總線鏈路延時為2.5 μs,當幀長增加到8 B、20 B時,鏈路延時同比例地增加到3.8 μs、7.4 μs。除去軟件的時間消耗,鏈路延時呈倍數增長,與控制器的設計理論相符。PC/104總線的鏈路設計在預設的實驗條件下,能夠保證多個通道同時響應時數據不阻塞,保持鏈路的延時在μs級別。

5" 結" 論

本文基于ZYNQ架構模塊化飛控計算機的設計,利用ZYNQ的可編程邏輯資源設計了PC/104控制器接口,并且封裝了規范化的AXI控制接口以及流式數據傳輸接口。驅動設計中,PS通過三級中斷的設計協調PL端邏輯的運行??紤]到處理器處理任務的實時性,在不占用CPU資源的情況下,設計了DMA數據收發鏈路。數據傳輸時,通過緩沖FIFO以及自定義流式數據接口,實現兩端不等帶寬情況下的數據收發。本文設計思想在工程應用中具有較大的借鑒意義,尤其對于大量任務需求的情況,該方法能夠實現較好的效果。

參考文獻

[1] 喻少林.基于DSP+FPGA的微小型無人機飛控計算機研究[D].杭州:浙江大學,2011.

[2] 吳軍鋒,韓冰,張志君,等.面向飛控計算機的新型總線體系架構研究[J].電子測試,2022,36(8):5?8.

[3] YAN J, XU X. Design and experiment of SINS/GPS integrated navigation system [J]. Journal of computer, 2013, 8(8): 1973?1978.

[4] 陳云.CAN總線飛控計算機設計與開發[D].南京:南京航空航天大學,2016.

[5] 楊文強.基于FPGA與PC/104的導航計算機系統設計[D].南京:東南大學,2020.

[6] 李朗,張索非,楊浩.基于Zynq?7000的視頻處理系統框架設計[J].計算機技術與發展,2017,27(5):192?195.

[7] Xilinx. Zynq?7000 all programmable SoC technical reference manual [EB/OL]. [2023?06?30]. https://docs.xilinx.com/r/en?US/ug585?zynq?7000?SoC?TRM.

[8] 林云,張祥,黃躍,等.基于Zynq?7000的毫米波雷達數據采集系統設計[J].電子測量技術,2021,44(19):134?138.

[9] 夏宇聞.VERILOG數字系統設計教程[M].2版.北京:北京航空航天大學出版社,2008.

[10] 張兵,陳欣,欣欣竑.基于CAN總線的分布式無人機實時仿真設備研究[J].系統仿真學報,2009,21(6):1587?1590.

[11] 蘇鋒.基于ZYNQ共享內存的數據交互系統設計方法[J].現代信息科技,2022,23(6):82?85.

[12] 鄭建立,漆榮輝,張璐.基于AXI4?Stream總線的數字視頻接口IP核設計[J].電子科技,2016,29(9):161?165.

[13] TOM S, DON A. ISA system architecture [M]. Massachusetts, USA: Addison?Wesley Publishing Company, 1995.

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 在线观看国产黄色| 久久天天躁夜夜躁狠狠| 国产91av在线| 亚洲综合第一页| 亚洲免费福利视频| 国产99在线观看| 99视频在线观看免费| 99九九成人免费视频精品| 久久99精品国产麻豆宅宅| 亚洲浓毛av| 成年片色大黄全免费网站久久| 在线观看视频99| 2020国产免费久久精品99| 手机在线免费不卡一区二| 巨熟乳波霸若妻中文观看免费| 亚洲天堂视频在线免费观看| 91麻豆精品国产91久久久久| 精品国产女同疯狂摩擦2| 一本无码在线观看| 在线免费观看AV| a级毛片毛片免费观看久潮| JIZZ亚洲国产| 热思思久久免费视频| 久久综合结合久久狠狠狠97色| 色综合天天娱乐综合网| 激情爆乳一区二区| 欧美专区日韩专区| 国产欧美一区二区三区视频在线观看| 国产福利小视频高清在线观看| 久久久久久久久亚洲精品| 久久99久久无码毛片一区二区| 国产高清在线精品一区二区三区| 无码 在线 在线| 亚洲三级视频在线观看| 2020极品精品国产| 国产精品专区第一页在线观看| 国产精品视频免费网站| 成人日韩视频| 亚洲av无码专区久久蜜芽| 成年免费在线观看| 久久亚洲黄色视频| аⅴ资源中文在线天堂| 尤物特级无码毛片免费| 日韩二区三区| 理论片一区| 亚洲三级成人| 狠狠v日韩v欧美v| 天天躁夜夜躁狠狠躁躁88| 中文字幕欧美日韩| h视频在线观看网站| 久久一色本道亚洲| 久久亚洲高清国产| 九九久久精品免费观看| 色视频久久| 成人一级黄色毛片| 国产a v无码专区亚洲av| 国产精品永久不卡免费视频| 国产swag在线观看| 国产真实乱了在线播放| 日本尹人综合香蕉在线观看| 色成人亚洲| 亚洲Aⅴ无码专区在线观看q| 免费中文字幕在在线不卡| 精品無碼一區在線觀看 | 88av在线播放| 亚亚洲乱码一二三四区| 人妖无码第一页| 亚洲欧美日韩另类在线一| 爆乳熟妇一区二区三区| 一区二区在线视频免费观看| 亚洲男人的天堂久久香蕉网| 色综合天天综合中文网| 久久黄色毛片| 九九视频免费在线观看| 中文字幕在线不卡视频| 久久久国产精品无码专区| 不卡无码h在线观看| 中文成人在线| 女人18毛片久久| 天天躁日日躁狠狠躁中文字幕| 波多野结衣一区二区三区AV| 天天躁日日躁狠狠躁中文字幕|