国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ZYNQ-7000的1553B總線接口設計

2021-09-23 05:59張小紅
現(xiàn)代導航 2021年4期
關鍵詞:通訊總線遠程

張小紅

基于ZYNQ-7000的1553B總線接口設計

張小紅

(海軍裝備部,西安 710068)

Zynq-7000系列是由Xilinx公司研發(fā)制造的處理平臺結構,具有可編程、可拓展的特征,歸屬于SoC芯片,將FPGA和Cortex-A9雙核ARM有機融為一體。我們在利用Vivado對Zynq-7000系列芯片進行開發(fā)的過程當中,可以同時使用自己創(chuàng)建的IP核以及IP Catalog中的IP核,具備個性化、機動靈活的特性。文章簡要論述了Zynq-7000系列芯片的功能,淺談了1553B接口總線的工作原理和特點,以及根據(jù)1553B總線的特征及協(xié)議如何在Vivado中利用Zynq-7000提供的自定義IP核實現(xiàn)1553B總線接口方案的設計,提升接口性能,簡化應用,降低成本。

Zynq-7000;自定義IP;1553B總線;接口設計

0 引言

MIL-STD-1553B總線(簡稱1553B總線)是美國專門為飛機設備信息傳輸制定的一種總線類標準,是一種設備之間通信的協(xié)議,在當代航天系統(tǒng)以及飛機系統(tǒng)上得到大量推廣運用。1553B總線具有1 Mbps的工作頻率,使用的均是曼徹斯特II碼,工作方式為半雙工,該總線系統(tǒng)由三部分組合而成:總線控制器裝置(Bus Controller,BC)、遠程終端裝置(Remote terminal,RT)和總線監(jiān)視器裝置(Bus monitor,BM)。1553B總線所包含的消息格式有10種,每條消息包含不小于2個字,每個字包括消息位16個,奇偶位1個,同步頭位3個[2]。

本文利用1553B總線系統(tǒng)的結構特點,在以Zynq-7000系列芯片為中央處理器的ARM處理系統(tǒng)的基礎上,設計出1553B總線接口部件。雙核的CortexTM-A9處理芯片包含在Zynq-7000系列芯片當中,整個芯片以處理器為核心進行創(chuàng)建,內(nèi)存控制器以及大量的外設被集成在整個處理器子系統(tǒng)之中,使得在Zynq-7000中的CortexTM-A9的核運作時可以完全與可編程邏輯控制單元相互獨立,即Zynq-7000系列芯片包含ARM的PS部分和FPGA部分。

為方便用戶開發(fā)使用,Xilinx公司為開發(fā)者提供了許多現(xiàn)成的IP核方便用戶使用,有時候這些接口并不能完全滿足用戶的實際應用。因此,Xilinx公司還提供了自定義IP核的方法來滿足用戶的個性需求。本文提出一種利用自定義IP核的方法實現(xiàn)1553B總線接口的時間方案,該通信是使用Xilinx提供的IP封裝工具,將用戶的1553B接口的相關代碼封裝成為標準AXI總線形式模塊,即用戶自定義的IP核。使用時只需將模塊以圖形化的方式加入頂層文件中并進行AXI總線的自動連接,這種方式為用戶提供了系統(tǒng)化、個性化、簡單化的服務。

1 1553B總線簡介

1.1 1553B簡介

1553B這個串行總線體現(xiàn)出中央集權的特征,其數(shù)據(jù)傳輸方式為異步傳輸,具有1 Mbps的傳輸頻率,也就是每秒鐘傳輸106位。其中數(shù)據(jù)全部采用曼徹斯特II型碼進行編制,傳輸型號呈現(xiàn)差分特性,過去的傳輸介質一般都是使用屏蔽雙絞線。圖1所示是一種典型的1553B總線硬件拓撲結構圖[3-4]。

圖1 1553B總線拓撲結構

總線本身是一個二冗余的結構,包括總線和總線,二者為相互冗余的備份,所有的總線設備并聯(lián)共享總線主線部分??偩€只有1個總線控制器和小于31個遠程終端,總線監(jiān)視器可選,用于監(jiān)視總線通訊。

1.2 控制器功能簡介

BC用于對總線通訊進行發(fā)起和相關組織,同時調(diào)度和管理總線通訊。因為1553B采用的總線管理模式是中央集權方式,所以在參與總線通訊的整個過程之中,由總線控制器啟動全部的數(shù)據(jù)傳輸成為了必然,在接收與發(fā)送數(shù)據(jù)方面,遠程終端裝置只可以是被動進行。每個遠程終端裝置的數(shù)據(jù)通訊以及傳輸會在總線控制器裝置的發(fā)起以及組織下按照相關的通信協(xié)議進行運作。

RT在數(shù)據(jù)的發(fā)送以及接收方面只能處于較為被動的地位。遠程終端裝置接收與發(fā)送數(shù)據(jù)只是起到了橋梁的作用,其操作只能夠依據(jù)通訊協(xié)議進行運轉。

BM可以看見總線上面全部的通訊進程,所以對于整個通訊過程,總線監(jiān)視器可以全部或者有選擇性地進行監(jiān)視,同時分析與評估整個通訊的情況,從而能夠推斷出總線控制器裝置以及所有遠程終端裝置的運作情況。但值得說明的是,總線的通訊始終不由總線監(jiān)視器裝置參與。

1.3 物理層通訊協(xié)議

1553B總線信息是以位為最小單元的,每個字主要由20個位組成,每個字只有16 bit的有效信息,有3位同步頭在有效信息的前面,同步頭由2個一位半組成,校驗位處于有效信息位的后面,奇校驗模式被用于1553B總線數(shù)據(jù)傳輸當中。一條消息是指1553B總線上傳送一次數(shù)據(jù)的過程。每個消息包括不少于1個,不大于2個的命令字,至多32個數(shù)據(jù)字,至多2個狀態(tài)字。

1.3.1 命令字

當BC發(fā)出命令字的時候,總線通訊即是開始了。命令字的具體格式如表1所示。命令字主要由四個域組成,順次是5 bits的遠程終端地址、1 bit收發(fā)位、5 bits子地址和5 bits字計數(shù)/方式碼??偩€傳輸格式為3 bits同步頭、16 bits命令字有效數(shù)據(jù)位和1 bit校驗位。每次傳輸不小于1個命令字。

對于RT到RT的數(shù)據(jù)傳輸,BC先發(fā)出接收命令字,通知相關的遠程終端準備接收數(shù)據(jù),然后發(fā)出發(fā)送命令字,通知相關的遠程終端發(fā)出需要傳輸?shù)臄?shù)據(jù)。對于RT和BC直接數(shù)據(jù)傳輸,BC只發(fā)出1個命令字,通知相關的遠程終端準備接收或者發(fā)送數(shù)據(jù)。

表1 命令字格式

1.3.2 數(shù)據(jù)字

數(shù)據(jù)字為需要傳輸?shù)挠脩魯?shù)據(jù),有效位16 bits,在總線上的傳輸格式為同步頭3 bits,數(shù)據(jù)字有效數(shù)據(jù)位16 bits,校驗位1 bit。每次通訊傳輸?shù)臄?shù)據(jù)字個數(shù)由命令字的字計數(shù)/方式碼域確定,對于非方式碼傳輸,數(shù)據(jù)字的個數(shù)即為BC發(fā)出的命令字低 5位表示的字計數(shù),對于方式命令,是否需要數(shù)字由方式命令的定義確定。

1.3.3 狀態(tài)字

狀態(tài)字為遠程終端向BC發(fā)出的響應數(shù)據(jù),所有非廣播消息至少包含1個狀態(tài)字,廣播消息由于有多個遠程終端參與通訊,所有接收的遠程終端均不發(fā)出狀態(tài)字,狀態(tài)字的位定義如表2所示。

表2 狀態(tài)字格式

1.4 通訊過程

總線的通訊啟動由BC發(fā)出命令字開始,對于不同的通訊過程,數(shù)據(jù)傳輸?shù)臄?shù)量、意義有很大的差別,最常用的數(shù)據(jù)傳輸方式包括遠程終端RT到總線控制器BC、總線控制器BC到遠程終端RT、遠程終端RT到遠程終端RT、總線控制器BC到多個遠程終端RT的廣播等10種,在此簡單介紹常用幾種,如下所述。

1.4.1 總線控制器BC向遠程終端RT的傳輸

總線控制器向遠程終端發(fā)送一個接收指令及數(shù)據(jù)字,遠程終端回送1個狀態(tài)字,指令字和狀態(tài)字沒有間隔的連續(xù)發(fā)送。

1.4.2 遠程終端RT向總線控制器BC的傳輸

總線控制器向遠程終端發(fā)送一個發(fā)送指令,遠程終端回送1個狀態(tài)字,繼之以規(guī)定數(shù)目的數(shù)據(jù)字,狀態(tài)字和數(shù)據(jù)字沒有間隔的連續(xù)發(fā)送。

1.4.3 遠程終端RT向遠程終端RT的傳輸

總線控制器向遠程終端發(fā)送一個接收指令,緊接著向遠程終端發(fā)出一個發(fā)送指令,遠程終端發(fā)出1個狀態(tài)字,繼之以規(guī)定數(shù)目的數(shù)據(jù)字,狀態(tài)字和數(shù)據(jù)字沒有間隔的連續(xù)發(fā)送,遠程終端接收到數(shù)據(jù)字后,回送1個狀態(tài)字。

2 基于ZYNQ-7000的1553B總線接口設計

ZYNQ-7000系列芯片提供了FPGA的靈活性和可擴展性,集成了PS和PL,在PL中實現(xiàn)自定義邏輯,在PS中實現(xiàn)自定義軟件,兩者可獨立工作也可協(xié)作。本文提出了一種基于ZYNQ-7000的1553B總線接口設計方案。該方案通過ZYNQ-7000的PS部分和PL部分協(xié)作來實現(xiàn),基于ZYNQ-7000系列芯片的1553B總線接口方案的整體設計如圖2所示[5-6]。

圖2 基于ZYNQ-7000系列芯片的1553B總線接口方案的整體設計

由圖2可知,總線接口包括模擬收發(fā)器、曼徹斯特編解碼和協(xié)議處理邏輯三大模塊。模擬收發(fā)器是完成FPGA輸出信號與總線信號之間的電平轉換,曼徹斯特編解碼器和1553B協(xié)議處理邏輯是接口主要組成部分,完成數(shù)據(jù)編解碼和協(xié)議處理,通過ZYNQ-7000系列芯片可以實現(xiàn)??偩€接口通過一定的地址、數(shù)據(jù)和握手信號與外部系統(tǒng)相連接。

其ZYNQ-7000實現(xiàn)方式如下:

(1)創(chuàng)建自定義IP。

1)點擊菜單Tools->Create and Package IP;

2)點擊next,選擇Create a new AXI4 peripheral選項;

3)顯示IP的名字、版本和描述等信息。這里可以修改IP的名字為1553B_IP,以及該IP核的存放位置,用戶可以根據(jù)需求自己定義;

4)顯示AXI總線接口名字,接口是Slave,數(shù)據(jù)寬度是32位,IP內(nèi)部的寄存器數(shù)量為32個。默認選項,點擊Next;

5)點擊Finish完成。

(2)添加自定義IP核的功能。

1)打開IP Catalog界面,右鍵選中1553B_IP_ip_v1.0,然后選擇Edit in IP Packager選項;

2)點擊OK,軟件會自動打開另外一個Vivado窗口對用戶自定義的IP核進行編輯;

3)雙擊頂層文件1553B_IP_ip_v1_0.v打開,在“users to add ports here”位置添加管腳端口定義,如時鐘、數(shù)據(jù)的發(fā)送端和接收端使能;

4)在頂層文件1553B_IP_ip_v1_0.v的程序對上述管腳進行例化;

5)雙擊打開rtc_ip_v1_0_s00_AXI.v文件,在以下的位置添加上述管腳端口定義;

6)在“Add user logic here”根據(jù)協(xié)議要求在該位置添加實現(xiàn)1553B通訊的代碼,在此處進行曼徹斯特解碼和編碼,并根據(jù)協(xié)議完成1553B總線的控制字、數(shù)據(jù)字及狀態(tài)字的相關處理。按照1553B協(xié)議規(guī)范,通過接收端接收總線上的數(shù)據(jù)并存入緩存寄存器,通過發(fā)送器取出緩存中的數(shù)據(jù)并發(fā)送到總線上,同時通知外部系統(tǒng)向緩存中寫入代發(fā)數(shù)據(jù)或者從緩存中讀取已接收的數(shù)據(jù);

7)點擊Save All Files,編譯文件;

8)雙擊IP-XACT下的component.xml文件,返回到Package IP-test_IP_ip窗口,點擊Port and Interfaces頃,點擊Merge changes from Ports and Interface Wizard;

9)再對前面沒有打鉤的File Groups點擊Merge changes from File Groups Wizard來更新文件和驅動。選擇Review and Package選項,然后點擊Re-Package IP結束IP核的設置。關閉IP核的Vivado工程,回到系統(tǒng)工程界面。

至此,自定義1553B總線的IP核已添加完成。

(3)使用時直接調(diào)用上文中(2)產(chǎn)生的1553B_IP核,添加相應的約束文件,就能完成1553B總線接口的功能。

3 結論

本文通過介紹1553B總線的原理、協(xié)議相關內(nèi)容以及ZYNQ-7000相關的知識,通過自定義IP核的方式實現(xiàn)了1553B總線接口的設計,將其封裝成通用的1553B總線IP核。其使用簡便靈活,實用性高,可滿足用戶的個性化要求,提升了系統(tǒng)集成度,擴展性增強。

[1] Xilinx, Serial RapidIO Gen2 Endpoint v4.0LogiCORE IP Product Guide[EB/OL], 2015.

[2] Zhan X. SRIO Programming and Performance Data on Keystone DSP[EB/OL], 2011.

[3] 泮朋軍,朱浩文. 基于FPGA的1553B總線接口設計與驗證[J]. 現(xiàn)代電子技術,2015(03):26-30.

[4] 曾清樂,李敬磊,李穎臻. 基于ZYNQ 7000的1553B總線控制器測試系統(tǒng)的設計與實現(xiàn)[J]. 電子世界,2019(19).

[5] 李家星. 嵌入式系統(tǒng)和FPGA的總線控制器的設計實現(xiàn)[J]. 微計算機信息,2007,23(01Z):242-243.

[6] 江志東,霍立平,張弟,等. 基于SoC芯片的1553B總線仿真平臺設計與實現(xiàn)[J]. 電子設計工程,2020,28(24):6.

Design of 1553B Bus Interface Based on Zynq-7000

ZHANG Xiaohong

The Zynq-7000 series is based on Xilinx's fully programmable and extensible processing platform architecture. It is a SoC chip that integrates Cortex-A9 dual-core ARM and FPGA. During the development process of Zynq-7000 series chips using Vivado, IP cores in IP Catalog can be used. Users can also create their own IP cores for personalized and flexible use. The paper briefly introduces the functions of Zynq-7000 series chips, discusses the working principle and characteristics of 1553B interface bus, and according to the characteristics and protocols of 1553B bus, how to use the custom IP core provided by Zynq-7000 in Vivado to realize the design of 1553B bus interface scheme and improve the interface performance, simplify applications and reduce costs.

Zynq-7000; Custom IP; 1553B Bus; Interface Design

TP273

A

1674-7976-(2021)-04-276-05

2021-07-14。張小紅(1978.04-),山西山陰人,研究生,高級工程師,主要研究方向為雷達通信工程。

猜你喜歡
通訊總線遠程
讓人膽寒的“遠程殺手”:彈道導彈
《茶葉通訊》簡介
《茶葉通訊》簡介
通訊報道
遠程工作狂綜合征
遠程詐騙
一種基于CAN總線的誤碼測試方法
通訊簡史
CAN總線并發(fā)通信時下位機應用軟件設計
基于CAN總線的水下通信系統(tǒng)設計
万年县| 星子县| 巴楚县| 临澧县| 湛江市| 诸城市| 宁陵县| 元氏县| 门头沟区| 中宁县| 磐安县| 泸水县| 克什克腾旗| 彰武县| 土默特左旗| 德昌县| 天柱县| 广水市| 永州市| 商河县| 手机| 旺苍县| 浙江省| 阿拉善盟| 客服| 乐至县| 南安市| 化隆| 浙江省| 万山特区| 太谷县| 栾川县| 施秉县| 广平县| 敦化市| 乌什县| 文成县| 嘉定区| 法库县| 尼勒克县| 特克斯县|