基于BU65170与单片机系统的RT设计与实现

发布者:dswecd最新更新时间:2012-01-31 来源: 微计算机信息 关键字:单消息  子地址双缓冲  循环缓冲 手机看文章 扫描二维码
随时随地手机看文章

1 引言:

1553B总线是一种时分制指令响应型串行多路数据传输总线,它最早应用于70年代末美国军用飞机的航电系统中并取得了成功,因其具有一般数据总线所无法比拟的高可靠性和实时性,在很多重要的科技领域都得到了广泛应用。在我国,近年来1553B总线也广泛应用于航空航天电子设备、地面车辆系统、舰艇系统等不同的军事平台上以及一些民用设备中。本文在所研制的某人造卫星有效载荷测控系统中,基于星上数据管理系统所采用的1553B总线,选用了专门用于 RT模式的总线协议芯片BU65170,设计了BU65170与单片机控制器的硬件接口,编制了BU65170的初始化和控制软件,最终实现了有效载荷对星上数据管理系统所发的内部指令、数据注入以及广播时间码的接收,同时将有效载荷测量数据打包传输到1553B总线上。

2 BU65170芯片介绍

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设计时得到广泛的应用。

3 BU65170与单片机的硬件接口

图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-3067。

4 BU65170与单片机接口软件设计

BU65170初始上电时,片内的寄存器和静态数据存储器的内容都是系统默认的。软件设计上的第一步就是要对这些功能寄存器和静态数据存储器进行初始化。初始化过程中对有寄存器的赋值是有先后顺序的。如果顺序颠倒会导致初始化的失败。例如启动/复位寄存器必须要在初始化的最开始设置。该寄存器的最后一位置1时,BU65170片内所有寄存器和地址单元都复位成上电时默认的状态。之后通过设置结构寄存器3来启用增强型功能模式。该功能启用后,一些 BU65170较前几代产品所具有的新功能将允许被使用。以上寄存器设置完毕后,其它部分则需按照设计要求进行相关初始化。整个初始化过程的流程图如如3 所示:


图3 初始化子程序框图                  图4 中断服务程序框图

针对1553B总线上的不同消息类型以及设计的要求,对于数据和指令的通讯采用三种数据传输模式:单消息模式、双缓冲模式和循环缓冲模式[2]。单消息模式主要特点是简单,每一个接收、发送子地址都对应一固定的数据块(该数据块可设定),对于每条新消息主处理器可直接查询数据块。双缓冲模式为主处理器提供一种接收最新、最完整有效数据的方法。该模式下,一个接收子地址对应两个数据块,任何时候都只有一个数据块是激活的,下一条接收消息的数据将存储在激活的数据块中,当一条有效的消息结束后,BU65170将在两个数据块上切换。进行大量的数据传输通讯采用循环缓冲模式。循环缓冲区大小在初始化中设定,最小位128字,最大为8192字。

初始化中断屏蔽寄存器时,主要打开两种中断。一种是消息结束(EOM)中断,另一种是循环缓冲翻转中断。为了便于消息查询,将消息描述栈指针指向栈顶。查询表和子地址控制字初始化指定了通讯过程中数据的接收和发送所利用的子地址以及采用的数据传输模式。该部分是初始化软件中最重要的环节。本文将数据注入设置在接收子地址2,内部指令设置在接收子地址8,接收方式均为单消息模式;广播时间设置在接收子地址4,接收方式为双缓冲模式;将测量数据打包发送给总线的事件设置在发送子地址9,发送方式为循环缓冲。同时对非法指令表进行初始化,仅将以上通讯事件设置为本系统所能接受的合法消息。

在处理1553B总线上的通讯事件时,采用中断查询的方法。当有外部中断0有中断信号时,单片机控制器通过外部中断0的入口地址跳转到中断服务程给出序中。如图4所示:首先查询是否是EOM中断,由于消息结束后,BU65170中命令字寄存器中的内容会被修改,故查询该寄存器。如果其中内容是内部指令或数据注入消息的命令代码,则执行相应的总线数据接收控制子程序,否则继续查询。为防止多个事件同时到来引起中断重叠时丢失事件响应的问题,在内部指令和数据注入控制子程序结束后进一步查询中断状态寄存器。该寄存器的低字节第五位表征循环缓冲翻转中断的状态。逻辑1表示循环缓冲区翻转,逻辑0则循环缓冲区没有翻转。如果该位为高电平,则清空该位后执行相应的子程序来控制测量数据发送。

总线通讯中还有一种被称作广播时间的通讯事件,该事件每秒钟发生一次。由星上数据管理系统广播发送当前时间。有效载荷接收并校对自已的时钟系统。设计接收该类型消息时,我们采用双缓冲模式。消息到来时,不触发中断。初始化设置正确后,该消息的接收完全由BU65170芯片自动完成。当测控系统使用时间时,直接到循环缓冲子地址对应的数据块中读取。

在调试过程中,笔者发现,单片机对BU65170芯片内寄存器和静态数据存储器的数据存取时,对操作时序要求严格,具体遵循以下原则:

对芯片内地址单元(双字节)进行写操作时,两次操作的间隔不应少于2.5us。

对芯片内地址单元进行读操作时,首先应对该地址进行一次空读。即第一次读取的数据不能使用,应对该地址重复读取一遍,第二遍读出的内容才是实际该地址中的内容。如果需要在连续的地址空间中读取多个数据,则两次读操作的时间间隔也不应少于2.5us。

4 结束语

本文在介绍1553B总线协议芯片BU65170的基础上,在以单片机为核心,以BU65170为通讯接口的有效载荷测控系统中,设计了软硬件接口,将有效载荷作为一个RT与星上数据管理系统实现了通讯连接。在数次整星电联试试验中,与数据管理系统的通讯及时准确、稳定可靠。接口电路简单,易于实现,软件设计模块化、规范化,针对不同类型消息采用不同通讯模式的方法大大提高了系统通讯的可靠性和稳定性。该接口方式对于嵌入式系统与1553B总线连接更具有广泛的适用性。

参考文献:

1.马捷中等 1553B总线控制器远程终端软件设计[J]  测控技术,2003

2.赵希权等 循环冗余校验在单片机无线通信中的应用 微计算机信息 2005.7-2

3.飞机内部时分制指令/响应式多路传输数据总线 美国军用标准,1978

4.李华  MCS-51系列单片机实用接口技术  北京航空航天大学出版社1993.1

关键字:单消息  子地址双缓冲  循环缓冲 引用地址:基于BU65170与单片机系统的RT设计与实现

上一篇:基于MAX1069的单片机数据采集系统的设计
下一篇:基于AT89C52的牵引变电所模拟屏的研制

推荐阅读最新更新时间:2024-03-16 12:51

消息称立讯精密赢得苹果大,在中国生产 iPhone 14 Pro Max
据多位知情人士透露,中国代工制造商立讯精密赢得苹果公司大单,将在中国生产高端 iPhone 机型。立讯精密是富士康、和硕在大陆的主要竞争对手。 两名直接了解情况的知情人士称,自去年 11 月以来,立讯精密已经在其位于上海西北的昆山工厂生产少量 iPhone 14 Pro Max,以弥补富士康的产量损失。 立讯精密正赢得苹果越来越多的业务订单。此前,新款 iPhone Pro 始终由富士康负责生产,如今立讯精密已经证明其可以独立组装苹果的复杂设备。 近年来,苹果与中国制造商的关系变得更加紧密。AirPods、Macbook 的组装商歌尔科技和闻泰科技都从中受益,而富士康则试图通过在印度、越南和美国建厂来减少对中国的依赖。
[手机便携]
韩厂在各地攻城略地 夺消息频传
面对全球电视市场成长趋缓,近期包括三星电子(Samsung Electronics)、乐金电子(LG Electronics)、Sony、Panasonic、夏普(Sharp)等业者,纷将战力转移到市场规模达200亿美元的数位看板(Digital Signage)市场,其中尤以韩厂扩展动作最积极,在全球各地展开激战,举凡各国机场、运动场、表演会场、购物中心等数位看板需求商机,都是短兵相接之地。   近期在德国柏林举行的消费性电子大展(IFA)上,包括三星、乐金、Sony、Panasonic、夏普、土耳其Vestal等业者纷展示各种尺寸的新款数位看板,引发业界高度瞩目,业者认为目前大尺寸电视市场由少数业者所寡占,由于数位看板的进入障
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved