<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于80C196KC的ARINC429總線(xiàn)接口板設計

基于80C196KC的ARINC429總線(xiàn)接口板設計

作者: 時(shí)間:2009-03-31 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

3.2 收發(fā)硬件電路

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

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

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

4 軟件

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

初始化程序

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

接收程序設計

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

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ā)送程序設計



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>