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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

1引言

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

傳統(tǒng)的ARINC429總線收發(fā)板多是直接插到計(jì)算機(jī)的主板接口上,實(shí)現(xiàn)起來(lái)過(guò)于麻煩,并且要編寫相應(yīng)得驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示和存儲(chǔ)。本文介紹了一種基于Intel的16位單片機(jī)80C196KC的ARINC429總線收發(fā)板,它既可以通過(guò)串口連接到計(jì)算機(jī)上,同時(shí)又可以實(shí)現(xiàn)數(shù)據(jù)在收發(fā)板的存儲(chǔ)和顯示,設(shè)計(jì)簡(jiǎn)單,便于攜帶,給ARINC429總線的檢測(cè)帶來(lái)了很大的方便。

2ARINC429總線的傳輸標(biāo)準(zhǔn)及系統(tǒng)整體設(shè)計(jì)

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

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

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

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

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

3接口板的硬件設(shè)計(jì)

ARINC429總線協(xié)議芯片和驅(qū)動(dòng)芯片

ARINC429的接收電路已經(jīng)有了工業(yè)標(biāo)準(zhǔn)的芯片組,其中以Harris公司生產(chǎn)的HS-3282和HS-3182為流行,HS-3282是總線協(xié)議芯片,HS-3182是總線驅(qū)動(dòng)芯片,都滿足ARINC429的通信標(biāo)準(zhǔn)。

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

表1.WORD1與ARINC429總線數(shù)據(jù)位的關(guān)系

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定義

數(shù)據(jù)低位

S/D

SSM

P

標(biāo)志位

表2.WORD2與ARINC429總線數(shù)據(jù)位的關(guān)系

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定義

±

數(shù)據(jù)位

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

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

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

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

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

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

符號(hào)

管腳號(hào)

輸入/輸出

描述

SEL

8

輸入

總線數(shù)據(jù)選擇,選擇兩個(gè)十六位中的一個(gè),用于接收器1或2

/DR1

6

輸出

接收器1數(shù)據(jù)可以讀取標(biāo)志

/DR2

7

輸出

接收器2數(shù)據(jù)可以讀取標(biāo)志

/EN1

9

輸入

接收器1中的數(shù)據(jù)輸出到總線上

/EN2

10

輸入

接收器2中的數(shù)據(jù)輸出到總線上

/MR

39

輸入

復(fù)位信號(hào)

ENTX

33

輸入

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

/PL1

28

輸入

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

/PL2

29

輸入

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

TX/R

30

輸出

發(fā)送存儲(chǔ)器FIFO為空標(biāo)志

/CWSTR

34

輸入

控制字鎖存到控制寄存器

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

4軟件設(shè)計(jì)

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

初始化程序設(shè)計(jì)

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

接收程序設(shè)計(jì)

數(shù)據(jù)的接收以中斷響應(yīng)的處理為。HS3282有兩路接收通道,這兩個(gè)接收通道標(biāo)志位/DR1、/DR2共享一個(gè)中斷,就容易出現(xiàn)中斷沖突現(xiàn)象,為了避免這種現(xiàn)象在硬件設(shè)計(jì)中已經(jīng)考慮到了這種問(wèn)題,將接收器標(biāo)志/DR1、/DR2分別與單片機(jī)I/O口的P0.0和P0.1相連接,當(dāng)產(chǎn)生接收中斷時(shí),通過(guò)軟件檢測(cè)方式判斷是哪一路引起的中斷,其軟件設(shè)計(jì)如下:

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ā)送程序設(shè)計(jì)

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

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

最新文檔

評(píng)論

0/150

提交評(píng)論