基于BU65170与单片机系统的RT设计与实现
1 引言:
1553B总线是一种时分制指令响应型串行多路数据传输总线,它最早应用于70年代末美国军用飞机的航电系统中并取得了成功,因其具有一般数据总线所无法比拟的高可靠性和实时性,在很多重要的科技领域都得到了广泛应用。在我国,近年来1553B总线也广泛应用于航空航天电子设备、地面车辆系统、舰艇系统等不同的军事平台上以及一些民用设备中。本文在所研制的某人造卫星有效载荷测控系统中,基于星上数据管理系统所采用的1553B总线,选用了专门用于 RT模式的总线协议芯片BU65170,设计了BU65170与单片机控制器的硬件接口,编制了BU65170的初始化和控制软件,最终实现了有效载荷对星上数据管理系统所发的内部指令、数据注入以及广播时间码的接收,同时将有效载荷测量数据打包传输到1553B总线上。
2BU65170芯片介绍
BU65170是DDC公司的第五代1553产品,它构成了MCU处理器与1553B总线间的智能接口。BU65170的内部结构如图1所示。
图1 BU65170 内部结构图
如图1所示:BU65170可选择在12MHZ和16MHZ两种时钟频率下工作。芯片内部具有4K×16静态数据存储器以及17个功能寄存器。还集成了编码/解码器,双收发器和协议处理器,数据按一定的协议经编码/解码器处理,通过双收发器A/B来完成与1553B总线间的数据传递,数据的传输速度最大可达1Mbit/s。
协议控制器和存储管理器使BU65170具有许多增强型的功能:数据的传输可以选择在单消息、双缓冲、循环缓冲模式下进行。对这三种数传模式的灵活运用不但能保证指令和数据收发的实时性,还支持大量的数据低误码率的快速传输;提供对消息的非法检测功能。对于来自总线上的消息,协议控制器根据非法指令表初始化的内容对其进行判断,响应合法的消息,对无用的消息加以非法屏蔽。这样可大大的提高系统的工作效率。
BU65170通过中断接口逻辑的控制可产生多种可屏蔽中断。芯片内部集成的中断控制寄存器和中断状态寄存器。中断控制寄存器用来允许或屏蔽不同类型中断,当有中断服务请求时,CPU可以通过查询中断状态寄存器来判断引发中断的消息类型,从而进行相应的控制操作。
BU65170与MCU接口简单,可应用于8位或16位单片机系统中,并有多种接口方式,故在测控系统的RT设计时得到广泛的应用。
3BU65170与单片机的硬件接口
图2给出了我们设计的BU65170作为接口芯片与单片机及星上1553B总线间的硬件接口示意图。
BU65170芯片的部分功能引脚介绍如下:
MSB/LSB:高低字节判定位;
POLARITY-SEL:在8位缓冲模式下,该脚为逻辑“0”时,MSB/LSB低电平时访问低字节,高电平时访问高字节;该脚为逻辑“1”时,MSB/LSB低电平时访问高字节,高电平时访问低字节;
TRIGGER-SEL:在8位缓冲模式下,TRIGGER-SEL表示一对字节的传输规则。该脚为逻辑“0”时,读、写传输顺序为先低字节后高字节;该脚为逻辑“1”时,读、写传输顺序为先高字节后低字节;
MEM/REG:寄存器和存储器选择位,低电平时访问寄存器,高电平时访问存储器;
ADDR-LAT:地址锁存,高电平时,读取地址,低电平时,锁存地址;
RD/WR:读写控制信号,高电平时,执行读操作,低电平时,执行写操作;
MSTCLR:复位端,接100ns负脉冲对芯片进行复位;
CLKIN:时钟信号输入端;
INT:中断请求信号,可程控选择脉冲触发和电平触发两种形式。脉冲触发:输出大于
500ns的负脉冲信号,触发中断服务请求;电平触发时:低电平触发中断服务请求。
如图2所示:为简化设计,节约线路板空间,本文BU65170采用与单片机相同的12M时钟输入。
BU65170芯片内部的寄存器和数据存储器读写时均是按16位操作的(每个寄存器占两个字节),而本文所应用的MCU是8位单片机,故对高低字节的操作采取分时读写的模式。先操作低字节,后操作高字节。为了软件设计时寻址简单,将BU65170的MSB/LSB引脚连接到单片机的地址线的最低位 P0.0上。这样单片机可以很方便的读写BU65170内部寄存器或SRAM地址单元的高低字节。
当有通讯事件到来时,BU65170的 脚会产生一个中断信号。将该信号送给单片机的外部中断0,并设置相应的软件中断优先级,这样就能保证通讯事件能够及时被单片机获知并做相关处理。
由于单片机对BU65170片内16位数据的高低字节采用分时读写的操作,故其高字节数据线D8-D15和低字节数据线D0-D7均直接连接到单片机的数据总线P0口上。为保证通讯时的电流输出,在P0口与两数据线间使用了总线驱动芯片74LS244。
BU-65170另一端是通过耦合变压器连接到1553B总线上的,其中A总线和B总线连接方式相同。变压器选用的是美国DDC公司生产的B-306
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)