云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 1553B总线控制器设计与调试

1553B总线控制器设计与调试

  • 62 次阅读
  • 3 次下载
  • 2025/6/22 3:21:41

ViInt32 _stdcall demo_rt_watch_function(ViUInt32 cardnum,ViUInt16 chnum,struct api_int_fifo *sIntFIFO) { ViUInt32 tail; // FIFO Tail index

ViUInt32 messno,wordcount,i=0,j=0; // Message number to be updated ViStatus hr;

API_BC_MBUF api_message;

ViUInt16 rtaddr,subaddr,transrec; API_RT_MBUF_READ mbuf;

/***********************************************

* Loop on all entries in the FIFO. Get the tail pointer and extract

* the FIFO entry it points to. When head == tail FIFO is empty

******************************************/ tail = sIntFIFO->tail_index;

while (tail != sIntFIFO->head_index ) {

// Extract the buffer ID from the FIFO and read the message from the board

messno = sIntFIFO->fifo[tail].bufferID;

if

(sIntFIFO->fifo[tail].event_type==EVENT_BC_MESSAGE) {

hr=Eph6273_BC_MessageRead(

cardnum, // (i)card number (0 - based)

chnum, // (i)channel number (0 - based)

messno, // (i)index of BC message to read

&api_message); // (o)user's buffer to write message into

tail++; // Next entry

tail &= sIntFIFO->mask_index; // Wrap the index

sIntFIFO->tail_index = tail; // Save the index }

return API_SUCCESS; }

4 1553B总线系统连接与调试

1553B总线采用双铰屏蔽线传输,当终端离总线很近时(<0.3米)可以直接通过隔离变压器与总线连接,当终端离总线较远(最远不应超过6.1米)时要在变压器与总线之间插入耦合器。这两种方式比较变压器耦合具有更好的抗干扰能力,能用在长距离的通讯上,而直接耦合不利于RT故障的隔离,会因为某一个RT故障造成系统网络的通讯不正常。图1就是一个简单的系统连接图,当然设计者可以根据系统需求在总线上连接更多的终端,也可以挂总线监视器用以监视总线信息。

图1 简单的1553B系统连接图

系统连接完成之后就要对系统进行通讯调试,系统调试是一项至关重要的工作,程序设计和系统连接中的问题都会在这个时候一一的

暴露出来,这时对设计人员的实际处理问题能力和经验提出了要求,结合自己的经验对系统调试提出以下几点建议:

(1)系统连接完成之后不要急于加电,断开连接,用导线引出BC端的正负两个管脚,接在示波器上,让BC发送一些简单的数据,然后用示波器监视读取这些数据看是否正确,1553B总线上面的信息是以消息的形式调制成曼彻斯特码进行传输的,逻辑1是编码的1/0,逻辑0是编码的0/1。命令字和状态字的开头是前1.5位时为正后1.5位时为负的同步头,数据字是前1.5位时为负后1.5位时为正的同步头,同步头后面就是数据。据此可以分析波形确定数据。图2为实验中抓下的一条全0的命令字,前面先高后低的3个字位为同步头,代表了命令字(状态字的同步头也是这样),后面16位为指令字的数据,最后一位奇偶校验位为0表示为奇校验。

这样做的目的是保证BC发出的数据是基本正确的(包括时序和电平高低),设计人员构建系统的1553B芯片或板卡可能来自不同的厂家,甚至有自己单位研制的,这样可以避免出现一些例如正负管脚接反等低级错误。

(2)系统调试要先易后难,1553B通讯的消息类型多种多样,有非周期发送数据,也有非周期性发送命令字读取数据,有周期性发送的数据,也有周期性发送命令读取数据,也有这几种方式的组合。我们在调试时候应当先调试简单的单独通讯模式,BC发送一个数据字测试RT是否能收到,RT返回的数据BC是否能收到,收到的数据是否正确等。简单的调通后进而调试组合的等比较麻烦的通讯。另外

调试时应多用芯片自带的例子程序来帮助调试,这样能起到意想不到的效果。

(3)调试时还应当注意一些关键性的细节。例如系统单独运行正常,但是连接起来通讯就不正常了,考虑是否是没有进行地址校验导致的,或者是中断服务程序中内容过多导致中断处理时间过长而耽误了通讯。

图2 命令字波形图

5 结束语

1553B通讯比较复杂,设计和调试都存在不小的困难,本文结合自己调试1553B系统的一些经验和教训和大家进行了分享,希望能够为相关的设计人员提供一点帮助。

搜索更多关于: 1553B总线控制器设计与调试 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

ViInt32 _stdcall demo_rt_watch_function(ViUInt32 cardnum,ViUInt16 chnum,struct api_int_fifo *sIntFIFO) { ViUInt32 tail; // FIFO Tail index ViUInt32 messno,wordcount,i=0,j=0; // Message number to be updated ViStatus hr; API_BC_MBUF api_message; ViUInt16 rtaddr,subaddr,transrec; API_RT_MBUF_READ mbuf;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com