基于80C196KC的ARINC429總線接口板設計-設計應用_第1頁
基于80C196KC的ARINC429總線接口板設計-設計應用_第2頁
基于80C196KC的ARINC429總線接口板設計-設計應用_第3頁
基于80C196KC的ARINC429總線接口板設計-設計應用_第4頁
基于80C196KC的ARINC429總線接口板設計-設計應用_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯基于80C196KC的ARINC429總線接口板設計-設計應用【摘要】基于Intel16位單片機80C196KC的ARINC429總線接口板包括接收/發(fā)送、外擴FlashRAM、顯示接口等模塊。協(xié)議芯片HS3282和HS3182可以方便的完成數據接收/發(fā)送、緩存和轉換,并可以控制接收/發(fā)送速率。上位機為標準的RS232接口,可以方便的和計算機相連進行軟件開發(fā),實現數據的接收/發(fā)送及格式的轉換。

1引言

ARINC429總線是美國航空無線電公司(ARINC)制定的民用航空數字總線傳輸標準,又稱為Mark33數字信息傳輸系統(tǒng),目前廣泛應用于商用及運輸飛機上,我國信息產業(yè)部也于1986年參考ARINC429標準頒布實施了我國自己的航空通信標準HB-6096-86,其標準和ARINC429基本一致。

傳統(tǒng)的ARINC429總線收發(fā)板多是直接插到計算機的主板接口上,實現起來過于麻煩,并且要編寫相應得驅動程序來實現數據的實時顯示和存儲。本文介紹了一種基于Intel的16位單片機80C196KC的ARINC429總線收發(fā)板,它既可以通過串口連接到計算機上,同時又可以實現數據在收發(fā)板的存儲和顯示,設計簡單,便于攜帶,給ARINC429總線的檢測帶來了很大的方便。

2ARINC429總線的傳輸標準及系統(tǒng)整體設計

ARINC429協(xié)議規(guī)定以串行方式實現數字數據信息的傳輸,并且只能是單向傳輸,所以

在總線上只允許有一個發(fā)送設備,可以同時有多(不超過20個)個接收設備,信息編碼的基本格式有兩種,32位或25位數字組成的基本數據單元,無論那種格式都包括8位標志位、

1位奇偶校驗位和兩位狀態(tài)位,兩種傳輸格式的不同只是攜帶數據的長度不同,數據的傳輸速率有100Kbps和12.5Kbps兩種,既可以實現高速傳輸又可以低速傳輸[1]。

接口板設計的目的是能夠實現對ARINC429總線進行數據的接收和發(fā)送,,它既能接收雙極歸零制的429信號并將其轉換為數字信號送入計算機或其它設備,又可將計算機或其它設備發(fā)出的數字信號轉換為429信號輸出。本文介紹的總線接口板以Intel的十六位單片機MCS-80C196KC為,實現數據的接收和發(fā)送、外圍芯片的邏輯控制、數據的存儲和顯示以及和計算機的接口[3][4]。ARINC429總線協(xié)議芯片HS-3282完成發(fā)送時數據的緩存和并行、串行的相互轉換,HS-3182為ARINC429總線的驅動芯片,可以實現系統(tǒng)內部邏輯信號與ARINC429所要求的差分信號的轉換,同時可以作為發(fā)送數據的緩存和調節(jié)發(fā)送速率,系統(tǒng)的整體框圖如圖1所示:

圖1系統(tǒng)的整體框圖

3接口板的硬件設計

ARINC429總線協(xié)議芯片和驅動芯片

ARINC429的接收電路已經有了工業(yè)標準的芯片組,其中以Harris公司生產的HS-3282和HS-3182為流行,HS-3282是總線協(xié)議芯片,HS-3182是總線驅動芯片,都滿足ARINC429的通信標準。

HS-3282是十六位寬的計算機數據總線和ARINC429總線的接口,它有2接收通道和一個發(fā)送通道,HS-3182是實現電平的轉換,有關于這兩個芯片的介紹很多,這里就不再說明。由于ARINC429總線的數據寬度為32位,而HS-3282的數據位寬為16位,因此用了兩個字WORD1、WORD2與計算機交換收發(fā)的32位ARINC429總線上的數據,其數據的對應關系如表1和表2所示[2]:

表1.WORD1與ARINC429總線數據位的關系

WORD1

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

429協(xié)議

13

12

11

10

9

31

30

32

1

2

3

4

5

6

7

8

429定義

數據低位

S/D

SSM

P

標志位

表2.WORD2與ARINC429總線數據位的關系

WORD2

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

429協(xié)議

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

429定義

±

數據位

從表1和表2可以看出,ARINC429的數據位和計算機的數據位并不是一一對應的,在WORD1中有標志位、奇偶校驗位P、狀態(tài)位SSM、源目標標志S/D以及數據低位,WORD2是十六位數據,并且8位標志位是反序的,有時會帶來不便,但計算機采集來的數據可以直接應用到WORD2上,在發(fā)送數據時會非常方便。

HS-3182是作為ARINC429總線的發(fā)送設備完成兩路信號的差分驅動,與HS-3182相連的電容控制用來控制ARINC429的傳輸速率,其中c1,c2為75pF時對應ARINC429總線的高速狀態(tài)(100Kbps)、為300pF時對應ARINC總線的低速狀態(tài)(12.5Kbps),因此盡量用高精度、軍品級的電容,HS-3282和HS-3182相連的電路圖如圖2所示:

圖2HS-3282和HS-3182的連接圖

3.2ARINC429總線收發(fā)硬件電路

硬件的計算機系統(tǒng)采用Intel的16位單片機80C196KC,該CPU可以動態(tài)的配置成8位或者16位的總線寬度,結構采用寄存器結構,有232字節(jié)的RAM寄存器陣列供用戶配置,外接晶振為12MHz或者20MHz,可以滿足ARINC429總線的高速發(fā)送和接收。CPU和HS-3282的接口比較簡單,發(fā)送時常和HS-3182相配合使用,因為HS-3282的數據寬度為16位的,因此單片機也配置成16位總線寬度,CPU和HS-3282的接口部分關鍵就是對收發(fā)的邏輯控制,諸如接收器1數據可以讀取標志D/R1,接收器2數據可以讀取標志D/R2,總線選擇信號SEL等端口都需要CPU的控制和監(jiān)視,在這里就直接和CPU的I/O口相連,當然也可以通過CPU的I/O,/RD,/WR及地址的低位和GAL或者CPLD相連,通過編成組成專門的邏輯控制電路,這在單片機的I/O口不夠用時可以采用這種辦法,HS-3282需要CPU控制和監(jiān)視的管腳如表3所示:

表3.S-3282控制及狀態(tài)的引腳及功能

符號

管腳號

輸入/輸出

描述

SEL

8

輸入

總線數據選擇,選擇兩個十六位中的一個,用于接收器1或2

/DR1

6

輸出

接收器1數據可以讀取標志

/DR2

7

輸出

接收器2數據可以讀取標志

/EN1

9

輸入

接收器1中的數據輸出到總線上

/EN2

10

輸入

接收器2中的數據輸出到總線上

/MR

39

輸入

復位信號

ENTX

33

輸入

發(fā)送使能信號,使數據從HS-3182的FIFO發(fā)送到429總線上

/PL1

28

輸入

第1個16位字發(fā)送到FIFO中

/PL2

29

輸入

第2個16位字發(fā)送到FIFO中

TX/R

30

輸出

發(fā)送存儲器FIFO為空標志

/CWSTR

34

輸入

控制字鎖存到控制寄存器

由于HS-3282是外圍器件,收發(fā)速率都沒有CPU快,因此要為CPU提供READY信號,在這里為CPU提供READY信號的是/EN1和/EN2管腳,只要這兩個管腳有一個是低電平就可以產生READY,因此對這兩個信號加一個與非門既可以產生READY信號。

4軟件設計

HS3282的收發(fā)既可以采用查詢方式又可以采用中斷方式,由于發(fā)送器狀態(tài)標志位TX/R接到CPU的I/O口,這就限制了軟件設計時發(fā)送采用查詢方式。接收兩種方式都可以,在這里采用中斷方式接收。

初始化程序設計

在上電復位后單片機應首先進行自身初始化和HS3282的設置,主要是設置單片機的波特率和向HS3282寫控制字。在這里設置單片機的串口為工作模式1,即10位構成一串行幀:1位起始位(0),8位數據(低位在先),1位停止位(1)。單片機首先將控制字寫到P3和P4端口,通過置高再置低P2.7端口,將控制字在/CWSTR的下降沿寫入,進行工作方式、碼速率等的設置。

接收程序設計

數據的接收以中斷響應的處理為。HS3282有兩路接收通道,這兩個接收通道標志位/DR1、/DR2共享一個中斷,就容易出現中斷沖突現象,為了避免這種現象在硬件設計中已經考慮到了這種問題,將接收器標志/DR1、/DR2分別與單片機I/O口的P0.0和P0.1相連接,當產生接收中斷時,通過軟件檢測方式判斷是哪一路引起的中斷,其軟件設計如下:

ReceiverData(char*data)

if(P0.0==0)//P0.0=/DR1

{P1.3=0;//P1.3=SEL

P1.4=0;//P1.4=/EN1

*data=P3;

*(data+1)=P4;//接收低16位

P1.3=0;

P1.4=1;

P1.4=0;

*(data+2)=P3;

*(data+3)=P4;//接收高16位

else

if(P0.1==0)//P0.1=/DR2

{P1.3=0;

P1.5=0;

*data=P3;

*(data+1)=P4;//接收低16位

P1.3=0;

P1.5=1;

P1.5=0;

*(data+2)=P3;

*(data+3)=P4;//接收高16位

發(fā)送程序設計

在數據的發(fā)送過程中,PC機通過串口把數據發(fā)送到單片機的串口緩存區(qū),單片機查詢到串口緩存區(qū)有數據后,接收到一個完整的數據字。同時單片機向HS3282寫入一個32位的數據字也要分兩次才能完成。準備好低16位數據,控制HS3282的引腳PL1,使PL1從低電平跳變到高電平,將低16位數據寫入;同樣的方法將高16位數據在PL2從低電平跳變到高電平寫入。通過啟動HS3282的引腳ENTX發(fā)送控制信號,HS3282將自動發(fā)送數據,其標準滿足ARINC429協(xié)議,單片機檢測到TX/R為高,即數據發(fā)送完成時將ENTX置低。發(fā)送函數如下所示:

SendData(char*data)

{P1.6=0;//P1.6=PL1

P3=*data;

P4=*(data+1);//低16位

P1.6=1;//上升沿寫入

P1.7=0;//P1.7=PL2

P3=*(data+2);

P4=*(data+3);//高16位

P1.7=1;//上升沿寫入

P2.6=0;//P2.6=ENTX,發(fā)送使能

while(P0.2);//P0.2=TX/R,檢查是否發(fā)送完成

P2.6=1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論