1 ARINC429总线及协议芯片HI-8582简介
1.1 ARINC429航空总线简介
ARINC429总线是美国航空无线电公司制定的民用航空数字总线传输标准,它规定了使用该总线的航空电子设备的信息流向和ARINC429 基本数据字的格式。ARINC429为单向传输总线,信息只能从通信设备的发送口输出,经传输总线传至与它相连的需要该信息的其他设备的接收口。在需要两 个通信设备间双向传输时,则在每个方向各用一根独立的传输总线。ARINC429通信采用带有奇数奇偶校验的32位信息字,信息字通过标牌识别,最多具备 256个标牌。采用双极性归零制的三态码调制方式,即调制信号由“高”、“零”和“低 ”状态组成的三电平状态调制。
1.2 HI-8582简介
目前在机载设备中使用的ARINC429总线协议芯片较多,相比之下,HOLT INTEGRATED CIRCUITS公司生产的 HI-8582是一款性能价格比较高的ARINC429协议芯片。该器件的主要功能如下:
●符合ARINC429总线协议;
●具有独立的双向接收和发送接口;
●无需驱动,可直接上ARINC429总线;
●标牌可程序化识别;
●串行数据速率可设位为100kbps或12.5kbps;
●对接收的数据可进行奇偶状态校验;并可对发送数据奇偶状态进行设置;
●可自动产生字与字之间的间隔;
●52脚PQFP封装,节省印制板空间。
2 AT89C52与HI-8582的接口设计
2.1 接口原理介绍
由于AT89C52是8位处理器,而HI-8582是16位接口芯片,在接口设计中利用一片CPLD实现接口,设计中选用了ALTERA公司的EPM7128作为接口电路。电路框图见图1。
图1 中,D1为单片机AT89C52,其中P0端口用于数据的的交换,P2端口用于控制,利用两个外中断INT0、INT1接收收到的429信号,单片机的复 位信号是硬件看门狗产生的,图1中没有画出,复位信号RST作为CPLD的输入信号,单片机的时钟选用12MHz,同时12MHz作为CPLD的时钟源。 D2为CPLD器件EPM7128,主要完成8位总线和16位总线的转换、数据交换、编译码、产生HI-8582的时钟和复位信号。D3为 ARINC429接口电路HI-8582,BD00~BD11为双向数据总线与EPM7128相接,其余均为离散量。
2.2 CPLD的控制逻辑
图2 接口电路的CPLD控制逻辑
图2 接口电路的CPLD控制逻辑
CPLD的控制逻辑见图2。U12为反向器,单片机的复位信号反向后送HI-8582的MR管脚,复位HI-8582中 的寄存器。U6~U11构成了分频电路,将12MHz的时钟频率分为1MHz,作为HI-8582的时钟信号。U1~U5为三态8D触发器,由OE控制输 出,CLK为时钟控制,上升沿锁存数据,低电平保持,当OE为高电平时输出为高阻状态。 [page]2.3 HI-8582的复位及初始化
电路上电后,单片机首先复位RST管脚(高电平有效),同时RST反向后复位HI-8582,然后把控制字写到16位数据总线上,此后便可接收和发送数 据。一般情况下,当既不能接收又不能发送数据时,应怀疑初始化过程。初始化程序如下:
CLR 7BH;CWSTR清0
MOV P0,2FH;
SETB P2.0;
CLR P2.0;上升延锁存
CLR P2.2;设置8582为输出模式
MOV P0,#31H;
SETB P2.3;上升延锁存控制字低8位
CLR P2.3;
MOV P0,#0E0H;
SETB P2.1;上升延锁存控制字高8位
CLR P2.1;
SETB 7BH;
MOV P0,2FH ;
SETB P2.0;上升延锁存
CLR P2.0;
SETB P2.2;设置8582为输入模式
2.4 HI-8582的数据发送过程
HI-8582发送数据时,首先应置ENTX引脚为低电平,再将PL1置低,将低16位数据写到16位数据总线上,之后,将PL1置高,再将PL2置低, 将高16位数据写到16位数据总线上,数据写完之后,将ENTX置高。HI-8582的发送存储器最多可装载16个32位字长的数据,HI-8582采用 的是先进先出的发送顺序。发送程序如下:
MOV R0,#0A0H;
CLR 7CH;ENTX置低
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
CLR 7EH;PL1置低
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
CLR P2.2;设置8582为输出模式
MOV A,@R0;读入8位数据
MOV P0,A;
SETB P2.3;
CLR P2.3;
INC R0;
MOV A,@R0; 读入8位数据
MOV P0,A;
SETB P2.1;
CLR P2.1;
INC R0;
SETB 7EH;PL1置高
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
SETB P2.2;
CLR 7DH;PL2置低
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
CLR P2.2;
MOV A,@R0;读入8位数据
MOV P0,A;
SETB P2.3;
CLR P2.3;
INC R0;
MOV A,@R0; 读入8位数据
MOV P0,A;
SETB P2.1;
CLR P2.1;
SETB 7DH;PL2 HIGH
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
SETB 7CH;ENTX置高
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
SETB P2.2;
2.5 HI-8582的数据接收过程
当接收器1接收到数据后,系统会置HF1低电平,而当接收器2接收到数据后,系统将置HF2为低电平。欲使接收器1将接收数据的字1送至16位数据总线 上,应先置SEL为低电平,再置EN1为低电平,而后再置EN2为高电平,SEL为高电平,便可将字2送至16位数据总线。要使接收器2的数据送至位数据 总线上,则置EN2为低电平,EN1为高电平即可。接收程序如下:
CLR 7AH;从FIFO中读数据
MOV P0,2FH;SEL置低
SETB P2.0;
CLR P2.0;
CLR 78H;EN2置低
MOV P0,2FH;
SETB P2.0;
CLR P2.0 ;
SETB P3.3 ;
CLR P3.3 ;
CLR P2.6;设置8582低8位输入
SETB P2.7 ;
CLR P2.7;锁存8582低8位输入
MOV A,P0;读429第1字节(8位)
MOV R2,A;保存数据
SETB P2.6;设置第一字节输入为高阻
CLR P2.5;设置第二字节为输入
SETB P2.4;
CLR P2.4;锁存8582第二字节输入
MOV A,P0;读429第2字节(8位)
MOV R3,A; 保存数据
SETB P2.5;高阻状态
SETB 78H;EN2 HIGH
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
SETB 7AH;SEL置高
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
CLR 78H;EN2置低
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
CLR P2.6;
SETB P2.7;
CLR P2.7;
MOV A,P0;读429第3字节(8位)
MOV R4,A;保存数据
SETB P2.6;高阻状态
CLR P2.5;设置低8位为输入
SETB P2.4;
CLR P2.4;
MOV A,P0;读429第4字节(8位)
MOV R5,A;保存数据
SETB P2.5;高阻状态
SETB 78H;EN2置高
MOV P0,2FH;
SETB P2.0;
CLR P2.0;
以上程序采用中断接收数据,当HI-8582的FIFO满后,HF1或HF2将变为低电平,产生中断,按以上程序处理结束后,HF1或HF2将变为高电平,从而完成一次数据的接收流程。
3 结束语
按照本文介绍的方法已成功实现HI-8582的ARINC429航空总线接口设计,设计的机载设备已批量装备现役飞机,效果良好。
上一篇:基于CC1020的无线通信模块设计
下一篇:GPS-GSM车载定位终端的设计
推荐阅读最新更新时间:2024-03-16 13:17
设计资源 培训 开发板 精华推荐
- 答题有礼|e络盟大讲堂:机器视觉在工业应用环境下的挑战
- DEYISUPPORT TI 大咖级工程师在这里,等你来约!
- 有奖直播 | 是德科技 InfiniiMax4.0系列高带宽示波器探头新品发布
- 阅读TI Think.lnnovate 神级DIY系列博文,你来畅想我送礼!
- 【TI有奖直播】新一代低功耗蓝牙微控制器CC2640R2,开发和应用案例解析
- 有奖直播:安世半导体先进 SiC MOSFET 助力提升 EV-Charger 和 OBC 应用能效
- 【已结束】 Qorvo、村田、NI直播【UWB最新技术、方案、市场、应用解析】(13:30开始入场)
- TI E2E中文社区年终回馈,15 块 CC3200-LAUNCHXL 开发板免费申请中……测评赢好礼喽!
- 阅读Microchip多种连接接口SAM单片机精彩专题,参与活动赢好礼
- 抢鲜体验| 两款GD RISC-V开发板