2024年1月8日发(作者:奚云水)
AEC1553-PC104-FBC31RT/S5
用户手册
北京神州飞航科技有限责任公司
声 明
本文档中介绍的产品(包括硬件、软件和文档本身)版权归北京神州飞航科技有限责任公司所有,保留所有权利。未经北京神州飞航科技有限责任公司书面授权,任何人不得以任何方式复制本文档的任何部分。
对于本文档所有明示或暗示的条款、陈述和保证,包括任何针对特定用途的适用性或无侵害知识产权的暗示保证,均不提供任何担保,除非此类免责声明的范围在法律上视为无效。北京神州飞航科技有限责任公司不对任何与性能或使用本文档相关的伴随或后果性损害负责。本文档所含信息如有更改,恕不另行通知。
AEC1553-PC104-FBC31RT/S5 用户手册
文档版本:V1.00
发布日期:2009-09-03
北京神州飞航科技有限责任公司
地址:北京市海淀区西三环北路21号北控久凌大厦北楼10层
邮编:100089
电话:************,68403306,68403307,68403308
传真:************E-mail:****************网址:
目录 AEC1553-PC104-FBC31RT/S5 用户手册
目 录
第一章 概述 ......................................................................................................................................................... 1
1.1 关于本手册 ..................................................................................................................................... 2
1.2 产品描述 ......................................................................................................................................... 2
1.2.1 特性 ...................................................................................................................................... 2
1.2.2详细描述................................................................................................................................ 2
1.2.3 一般规格............................................................................................................................... 3
1.3 产品安装 ......................................................................................................................................... 3
1.3.1 安装之前的准备 ................................................................................................................... 3
1.3.2 硬件安装............................................................................................................................... 4
1.3.3 驱动安装............................................................................................................................... 4
1.3.4 演示应用软件安装 ............................................................................................................... 5
第二章 硬件说明 ................................................................................................................................................. 6
2.1 功能结构图 ..................................................................................................................................... 7
2.2 印制板示意图.................................................................................................................................. 7
2.3 连接器和信号定义 .......................................................................................................................... 8
2.3.1信号连接器定义:JP1 .......................................................................................................... 8
2.3.2 基地址跳线:J4 ................................................................................................................... 9
2.3.4 中断跳线:J1 ....................................................................................................................... 9
第三章 驱动程序编程接口 ............................................................................................................................... 10
3.1 动态库DLL ....................................................................................................................................11
3.1.1 适用编程工具 ......................................................................................................................11
3.1.2 需要引用的文件 ..................................................................................................................11
3.1.3 驱动程序结构变量定义 ......................................................................................................11
3.1.3.1 BC控制字结构 .........................................................................................................11
3.1.3.2 BC消息描述符结构 ................................................................................................ 12
3.1.3.3 BC消息发送结构 .................................................................................................... 12
3.1.3.4 BC消息接收结构 .................................................................................................... 13
3.1.3.5 BC消息重试结构 .................................................................................................... 13
3.1.3.6 BC消息重试通道选择 ............................................................................................ 13
3.1.3.7 BC消息和帧处理当状态字置位 ............................................................................ 14
3.1.3.8 BC消息处理当消息出错 ........................................................................................ 14
3.1.3.9 RT状态字设置 ......................................................................................................... 15
3.1.3.10 RT非法命令表结构 ............................................................................................... 15
3.1.3.11 RT数据发送缓冲模式选择 ................................................................................... 16
3.1.3.12 MT命令字过滤表结构 .......................................................................................... 17
3.1.3.13中断屏蔽寄存器结构 ............................................................................................. 18
3.1.3.14 RTC配置寄存器 .................................................................................................... 18
3.1.3.15 板卡资源设置结构 ................................................................................................ 18
3.1.3.16 板卡句柄结构 ........................................................................................................ 19
3.2 驱动程序函数功能 ........................................................................................................................ 19
I
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
目录
3.2.1 BC ........................................................................................................................................ 19
3.2.2 RT ......................................................................................................................................... 19
3.2.3 MT ....................................................................................................................................... 20
3.3 驱动程序函数接口说明 ................................................................................................................ 20
3.3.1 M1553_Open ....................................................................................................................... 20
3.3.2 M1553_Close ....................................................................................................................... 20
3.3.3 M1553_Reset ....................................................................................................................... 20
3.3.4 M1553_AddTimeTag ........................................................................................................... 21
3.3.5 M1553_SetResponseTimeout .............................................................................................. 21
3.3.6 M1553_SetIntMaskReg ....................................................................................................... 22
3.3.7 M1553_SetEvent .................................................................................................................. 22
3.3.8 M1553_ 22
3.3.9 M1553_Set_RTC_Resolution .............................................................................................. 23
3.3.10 M1553_Get_RTC_Time .................................................................................................... 23
3.3.11 M1553_Set_RTC_Time ..................................................................................................... 23
3.3.12 BC_Init ............................................................................................................................... 23
3.3.13 BC_Retry ........................................................................................................................... 24
3.3.14 BC_SetRetryNum .............................................................................................................. 24
3.3.15 24
3.3.16 BC_RetryChanSel .............................................................................................................. 24
3.3.17 BC_StopOnError ................................................................................................................ 25
3.3.18 BC_OnStatusSet ................................................................................................................. 25
3.3.19 BC_WriteMsg .................................................................................................................... 25
3.3.20 BC_AddEndOfListFlag ..................................................................................................... 26
3.3.21 BC_MsgRunCtl .................................................................................................................. 26
3.3.22 BC_GetMsgInfo ................................................................................................................. 26
3.3.23 BC_WriteDataBlock .......................................................................................................... 27
3.3.24 BC_Start ............................................................................................................................. 27
3.3.25 BC_Stop ............................................................................................................................. 27
3.3.26 BC_GetLastMsgId ............................................................................................................. 27
3.3.27 BC_IsMSGOver ................................................................................................................. 28
3.3.28 BC_GetMsgNum_Newly ................................................................................................... 28
3.3.29 BC_GetMsgCnt_Total ....................................................................................................... 28
3.3.30 BC_ReadNextMsg ............................................................................................................. 28
3.3.31 BC_ReadLastMsg .............................................................................................................. 29
3.3.32 BC_GetMsg_Refresh ......................................................................................................... 29
3.3.33 BC_ IsRunning ................................................................................................................... 29
3.3.34 RT_Init ............................................................................................................................... 30
3.3.35 RT_TxMode ....................................................................................................................... 30
3.3.36 RT_Select ........................................................................................................................... 30
3.3.37 RT_ClearTTagOnSync ....................................................................................................... 31
3.3.38 RT_LoadTTagOnSync ....................................................................................................... 32
3.3.39 RT_Status_Set .................................................................................................................... 32
3.3.40 RT_IllegalCmd ................................................................................................................... 32
3.3.41 32
北京神州飞航科技有限责任公司
II
目录 AEC1553-PC104-FBC31RT/S5 用户手册
3.3.42 RT_SetIllegalCmdTable ..................................................................................................... 33
3.3.43 RT_SetVectorWord ............................................................................................................ 33
3.3.44 RT_SetBITWord ................................................................................................................ 33
3.3.45 RT_SendMSG .................................................................................................................... 34
3.3.46 RT_GetMsgNum_Rx_Newly ............................................................................................. 34
3.3.47 RT_GetMsgNum_Tx_Newly ............................................................................................. 34
3.3.48 RT_ReadMSG_Rx ............................................................................................................. 35
3.3.49 RT_ReadMSG_Tx ............................................................................................................. 35
3.3.50 RT_Get_Newly_Rdata ....................................................................................................... 35
3.3.51 RT_Get_Delta_Time .......................................................................................................... 36
3.3.52 MT_Init .............................................................................................................................. 36
3.3.53 MT_SetCmdFilterTable ..................................................................................................... 36
3.3.54 MT_Start ............................................................................................................................ 36
3.3.55 MT_GetMsgNum_Newly .................................................................................................. 37
3.3.56 MT_ReadMSG ................................................................................................................... 37
3.4 驱动程序函数调用步骤 ................................................................................................................ 38
3.4.1打开板卡.............................................................................................................................. 38
3.4.2复位板卡.............................................................................................................................. 38
3.4.3初始化板卡 .......................................................................................................................... 38
3.4.4 BC模式 ............................................................................................................................... 38
3.4.4.1 初始化 ...................................................................................................................... 38
3.4.4.2 消息发送 .................................................................................................................. 38
3.4.4.3 消息接收 .................................................................................................................. 38
3.4.4.4 获取消息链表的配置信息 ...................................................................................... 39
3.4.4.5 改变运行中消息的数据 .......................................................................................... 39
3.4.4.6 插入消息 .................................................................................................................. 39
3.4.4.7 获取BC的运行情况 .............................................................................................. 39
3.4.5 RT模式 ................................................................................................................................ 40
3.4.6 MT模式............................................................................................................................... 41
3.4.7关闭板卡.............................................................................................................................. 41
3.5消息块状态描述字 ......................................................................................................................... 42
3.5.1 BC消息块状态描述字 ....................................................................................................... 42
3.5.2 RT消息块状态描述字 ........................................................................................................ 42
3.5.3 MT消息块状态描述字 ....................................................................................................... 43
3.6 MIL-STD-1553B的字 ................................................................................................................... 44
3.6.1 命令字................................................................................................................................. 44
3.6.2 数据字................................................................................................................................. 44
3.6.3 状态字................................................................................................................................. 44
第四章 功能演示软件 ....................................................................................................................................... 45
4.1使用环境 ........................................................................................................................................ 46
4.1.1硬件 ..................................................................................................................................... 46
4.1.2操作系统.............................................................................................................................. 46
4.2开发环境 ........................................................................................................................................ 46
4.3使用说明 ........................................................................................................................................ 46
III
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
目录
4.3.1 初始化窗口 ......................................................................................................................... 46
4.3.2 板卡选择窗口 ..................................................................................................................... 47
4.3.3 主窗口................................................................................................................................. 47
4.3.3.1 菜单 .......................................................................................................................... 48
4.3.3.2 工具栏 ...................................................................................................................... 48
4.3.3.3 状态栏 ...................................................................................................................... 48
4.3.4 BC窗口 ............................................................................................................................... 48
4.3.4.1 菜单 .......................................................................................................................... 48
4.3.4.2 工具栏 ...................................................................................................................... 49
4.3.4.3 状态栏 ...................................................................................................................... 49
4.3.5 RT窗口 ................................................................................................................................ 49
4.3.5.1 菜单 .......................................................................................................................... 50
4.3.5.2 工具栏 ...................................................................................................................... 50
4.3.5.3 状态栏 ...................................................................................................................... 51
4.3.6 BM窗口 .............................................................................................................................. 51
4.3.6.1 菜单 .......................................................................................................................... 51
4.3.6.2 工具栏 ...................................................................................................................... 51
4.3.6.3 状态栏 ...................................................................................................................... 52
4.3.7 功能配置窗口 ..................................................................................................................... 52
4.3.7.1 工作模式选择窗口 .................................................................................................. 52
4.3.7.2时标/应答超时/RTC设置窗口 ................................................................................ 52
4.3.7.3BC设置窗口 ............................................................................................................. 53
4.3.7.4消息配置窗口 ........................................................................................................... 53
4.3.7.5消息创建窗口 ........................................................................................................... 54
4.3.7.6消息编辑窗口 ........................................................................................................... 54
4.3.7.7消息群配置窗口 ....................................................................................................... 55
4.3.7.8即时修改消息置窗口 ............................................................................................... 56
4.3.7.9 RT设置窗口 ............................................................................................................. 57
4.3.7.10 RT数据配置窗口 ................................................................................................... 57
4.3.7.11 BM监视过滤设置窗口 .......................................................................................... 58
4.3.7.12查看消息选择窗口 ................................................................................................. 58
4.3.7.13查找记录窗口 ......................................................................................................... 59
4.3.8 操作建议............................................................................................................................. 59
附件A 产品配件 ............................................................................................................................................... 61
附件B 公司介绍 ............................................................................................................................................... 62
北京神州飞航科技有限责任公司
IV
1
AEC1553-PC104-FBC31RT/S5 用户手册
概述北京神州飞航科技有限责任公司
第一章
AEC1553-PC104-FBC31RT/S5 用户手册
第一章 概述
1.1 关于本手册
本手册适用于下列产品型号:
AEC1553-PC104-FBC31RT/S5 PC104总线,单通道(双冗余)多功能MIL-STD-1553通讯卡
本手册是关于上述产品的完全使用指南。以下各章节提供了关于该产品更详细的信息,包括产品的功能特性、安装使用、硬件和软件说明等内容。
本手册的电子版本,您可以在购买产品的配套光盘中获得,也可以通过访问北京神州飞航有限责任公司网站()下载获得。
注意
在使用该产品之前,请您详细阅读本手册各章节的内容。
1.2 产品描述
AEC1553-PC104-FBC31RT/S5是一款1553总线通讯板卡,其强大的功能能够满足不同用户的工业测量和自动化控制需求,良好的兼容性适用于各类系统配置。
1.2.1 特性
16bit PC104总线
单通道多功能1553数据通讯卡
每通道1个BC(总线控制器)
每通道0~31个RT(远程终端)
每通道1个MT(总线监视器)
BC、RT、MT 可同时存在
双冗余总线
每通道带RTC功能(可选),RTC计数器48位,分辨率可设
32位时标,分辨率1μs
软件可设置应答超时:0~32768μs
大容量的数据存储:16M × 16bit
1.2.2详细描述
BC模式
自动BC重试,次数可选(1~2次),重试通道可选
支持事件消息、周期消息,分辨率1ms
消息间间隔可设,分辨率1μs
提供中断和查询两种消息读取方式
北京神州飞航科技有限责任公司
2
第一章 概述 AEC1553-PC104-FBC31RT/S5 用户手册
采用链表的方式来管理消息,可以动态插入或修改事件消息
使能RTC功能后,可自动发送RTC时钟值
RT模式
0~31个RT
非法命令表功能
RT矢量字与子地址对应,用来刷新子地址事件消息
提供中断和查询两种消息读取方式
使能RTC功能后,RT自动计算BC与RT系统时差
MT模式
命令字过滤功能
采用循环缓冲接收数据
查询方式读取消息
1.2.3 一般规格
物理尺寸:96mm×90mm
连接器:J30J-25ZKWP7-T
工作电源:5V
工作温度:-40℃~+85℃
相对湿度:0~95%
1.3 产品安装
1.3.1 安装之前的准备
1. 在您安装产品之前请检查包装是否完好,以确定产品在运输的过程中没有遭到损坏。如果包装发现有破损,请您马上与运输商联系。
2. 在打开包装后请检查产品以及配件的完整性。打开产品外包装后,您应该发现如下产品
AEC1553-PC104-FBC31RT/S5通讯卡
产品合格证
产品配套光盘
标配连接器
如有规格不符,请您立刻联系我们,我们将负责维修或者更换。
3. 如果有可能,请您准备防静电工作台并佩戴防静电腕带。如果不具备以上静电防护装备,请您接触计算机设备的导地部分,例如机箱壳金属部分,以释放身体上的静电。
3
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第一章 概述
现在您可以准备安装AEC1553-PC104-FBC31RT/S5通讯卡了。
1.3.2 硬件安装
第一步: 打开板卡的防静电包装袋,取出板卡。
注意
手持板卡时,请您尽量只接触板卡的边缘。在板卡安装到您的计算机设备之前,请将板卡平放置于防静电包装袋中,这样有利于保护板卡不受静电损伤。取出板卡后,请您保留产品的防静电和防震包装,以便在您不使用时产品可以妥善存放。
图1-1 AEC1553-PC104-FBC31RT/S5产品图片
第二步: 关闭计算机设备的电源,将板卡安装到您的计算机机箱内。
AEC1553-PC104-FBC31RT/S5板卡需要地址跳线和中断跳线的设置,设置方法见基地址跳线:J4和中断跳线:J1。
第三步: 将配套的连接器或连接电缆插到板卡的连接器接口上。
关于连接电缆的制作请参照2.3.1的内容。
1.3.3 驱动安装
在产品配套光盘的“驱动安装”目录中,您可以找到AEC1553-PC104-FBC31RT/S5板卡的驱动,您也可以通过访问北京神州飞航科技有限责任公司网站()下载获得AEC1553-PC104-FBC31RT/S5板卡的驱动。请您按如下步骤安装产品的驱动:
Windows 98/2000操作系统驱动的安装
执行产品配套光盘中“驱动安装98-2000”目录中的程序
北京神州飞航科技有限责任公司
4
第一章 概述 AEC1553-PC104-FBC31RT/S5 用户手册
Windows Xp操作系统驱动的安装
执行产品配套光盘中“驱动安装xp”目录中的程序
Windows Server 2003操作系统驱动的安装
执行产品配套光盘中“驱动安装2003”目录中的程序
安装完驱动程序需重启系统!
1.3.4 演示应用软件安装
执行光盘中所带有的应用程序安装包M1553 ,按照安装提示进行程序安装,完成安装后,用户可以在Windows任务栏上的“开始”菜单里的程序列表中,找到应用程序的可执行快捷命令。
5
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第二章北京神州飞航科技有限责任公司
硬件说明6
第二章 硬件说明 AEC1553-PC104-FBC31RT/S5 用户手册
本章描述了AEC1553-PC104-FBC31RT/S5通讯卡硬件信息,包括硬件设置、I/O连接器和信号定义等。
2.1 功能结构图
图2-1 AEC1553-PC104-FBC31RT/S5功能结构图
2.2 印制板示意图
图2-2 AEC1553-PC104-FBC31RT/S5印制板示意图
7
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第二章 硬件说明
表2-1 AEC1553-PC104-FBC31RT/S5接头说明
接头 说明
P1、P2 PC104总线连接器
J2
JTAG编程接头,出厂配置使用
J1
中断选择跳线
J4
基地址选择跳线
JP1
信号连接器
2.3 连接器和信号定义
2.3.1信号连接器定义:JP1
NC 1 14 NC
NC 2 15 NC
NC 3 16 NC
NC 4 17 NC
NC 5 18 NC
NC 6 19 NC
NC 7 20 NC
NC 8 21 BUSB179-
BUSA25- 9 22 BUSB179+
BUSA25+ 10 23 NC
NC 11 24 BUSA179-
BUSB25-
12 25 BUSA179+
BUSB25+ 13
图2-3信号连接器的点号定义
表2-2 连接信号描述
信号 参考 方向 描述
BUSA25+
― ― A通道直接耦合+
BUSA25-
― ― A通道直接耦合-
BUSB25+
― ― B通道直接耦合+
BUSB25-
― ― B通道直接耦合-
BUSA179+
― ― A通道间接耦合+
BUSA179-
― ― A通道间接耦合-
BUSB179+
― ― B通道间接耦合+
BUSB179-
― ― B通道间接耦合-
北京神州飞航科技有限责任公司
8
第二章 硬件说明 AEC1553-PC104-FBC31RT/S5 用户手册
2.3.2 基地址跳线:J4
本板卡占用memory地址空间。
基地址跳线J4:
地址位
管脚号
地 址
D0000
D8000
1-2
Off
Off
3-4
Off
Off
5-6
Off
Off
A19
7-8
Off
Off
A18
9-10
Off
Off
A17 A16 A15
11-12 13-14 15-16
On
On
Off
Off
On
Off
用5个跳线开关,对应关系如上表,分别表示5个二进制位。
On:表示短接,为逻辑“0”,Off:表示断开,为逻辑“1”。
板卡硬件物理地址格式ADDR=0x000XY000,其中:
X=8×A19+4×A18+2×A17+1×A16;
Y=8×A15。
例如:当A17、A15是0,A19、A18、A16是1时,
X=8×1+4×1+2×0+1×1=0x0D;
Y+8×0=0x00;
所以ADDR=0x000D0000。
或者当A17是0,A19、A18、A16、A15是1时,
X=8×1+4×1+2×0+1×1=0x0D;
Y+8×1=0x08;
所以ADDR=0x000D8000。
2.3.4 中断跳线:J1
表2-3 中断跳线点号定义
用户根据需要可对计算机中断端口进行选择,通过J1进行设置:设置方式如下
中断号
管脚号
IRQ10
13-14
IRQ11
11-12
IRQ12
9-10
IRQ7
7-8
IRQ6
5-6
IRQ5
3-4
IRQ4
1-2
中断使用时尽量选择一个未被使用的中断号使用。
9
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章
北京神州飞航科技有限责任公司
驱动程序编程接口10
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
本章主要讲述了如何使用AEC1553-PC104-FBC31RT/S5板卡的驱动程序接口,为用户编程提供参考。AEC1553-PC104-FBC31RT/S5驱动程序提供了丰富的接口函数,能满足用户对板卡的操作需求;具有良好的兼容性,能适用于多种编程环境;操作简单方便,可以大大缩短用户的开发周期。
3.1 动态库DLL
AEC1553-PC104-FBC31RT/S5驱动程序接口函数按ANSI C标准编写,以动态链接库DLL形式提供给用户。您可以在AEC1553-PC104-FBC31RT/S5板卡配套光盘中获取。
3.1.1 适用编程工具
运行环境:Windows 98/2000/2003/xp操作系统
开发工具:
Visual C++
Visual Basic
C++ Builder
Delphi
Labview
Labwindows/CVI
3.1.2 需要引用的文件
当您进行程序开发时,需要引用下列文件:
库文件: 和
函数库头文件:M1553BF5_lib.h
3.1.3 驱动程序结构变量定义
3.1.3.1 BC控制字结构
typedef struct
{
BOOL Retry;
BYTE ChanSel;
BYTE MsgFmt;
}CONTROL_WORD_STRUCT;
结构参数说明:
Retry:消息重试允许位 TRUE:允许消息重试
ChanSel:消息发送时的通道选择 0:Channel B 1:Channel A
MsgFmt:设置消息的类型,消息的类型设置见表3-1
表3- 1 消息类型设置
D7~D3 D2
0
0
0
0
11
D1
0
0
1
1
D0
0
1
0
1
RT-to-RT
Broadcast
消 息 类 型
BC-to-RT(如果 T/=0 )或者 RT-to-BC (如果 T/=1)
0
0
0
0
RT-to-RTs (Broadcast)
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
Mode Code
保留
Broadcast Mode Code
保留
3.1.3.2 BC消息描述符结构
typedef struct
{
WORD CmdWord1;
WORD CmdWord2;
WORD Datablk[32];
WORD StatusWord1;
WORD StatusWord2;
}MSG_DESCRIPTOR_STRUCT;
结构参数说明:
CmdWord1:命令字1
CmdWord2:命令字2,在RT-RT的消息类型时为发送命令字,此时命令字1就为接收命令字
Datablk: 消息的数据字
StatusWord1:状态字1
StatusWord2:状态字2,在RT-RT的消息类型时为接收状态字,此时状态字1为发送状态字
3.1.3.3 BC消息发送结构
typedef struct
{
CONTROL_WORD_STRUCT CtlWord;
MSG_DESCRIPTOR_STRUCT MsgBlock;
WORD Gap;
WORD Period;
WORD InitPeriod;
BOOL Run;
}SMSG_STRUCT;
结构参数说明:
CtlWord:BC控制字结构变量
MsgBlock:BC消息描述结构变量
Gap:消息间间隔,分辨率1μs
Period:消息发送周期,分辨率1ms(Period = 0,为事件消息;否则为周期消息)
InitPeriod:消息发送周期的初始值,单位1ms。可以调整消息运行的初始点
北京神州飞航科技有限责任公司
12
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
Run:消息的初始状态:
TRUE:在运行BC_Start函数后,本消息马上会被执行
FALSE:在运行BC_Start函数后,BC会跳过该消息,消息不会被执行,直到用户调用函数BC_MsgRunCtl来启动消息的执行。
3.1.3.4 BC消息接收结构
typedef struct
{
WORD BSW;
DWORD TimeTag;
MSG_DESCRIPTOR_STRUCT MsgBlock;
}RMSG_STRUCT;
结构参数说明:
BSW:Block Status Word,BC消息块状态描述字,详细说明请参照“消息块状态描述字”部分
TimeTag:时标,分辨率1μs;在非时标模式下,该项无意义,为0
MsgBlock:消息描述符结构变量,用来存放消息的命令字、状态字、数据字。
3.1.3.5 BC消息重试结构
typedef struct
{
BOOL Retry_IF_MSGErr;
BOOL Retry_IF_StatusSet;
}RETRY_CASE_STRUCT;
结构参数说明:
除了应答超时、格式错误(状态字地址错误,数据格式错误,同步字错误等)消息会重试外,
以下2种情况也可使消息重试:
Retry_IF_MSGErr:如果消息传输出错
Retry_IF_StatusSet:RT的状态字低11位被置位
3.1.3.6 BC消息重试通道选择
typedef struct
{
BOOL Alter_Chan_On_Retry1;
BOOL Alter_Chan_On_Retry2;
}RETRY_CHANNEL_SEL_STRUCT;
13
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
结构参数说明:
Alter_Chan_On_ Retry1:第一次重试改变通道
TRUE:如果消息第一次传输是在通道A,那么第一次重试改为B通道传输;
FALSE:不改变通道
Alter_Chan_On_ Retry2:第二次重试改变通道
TRUE:如果消息第一次传输是在通道A,那么第二次重试改为B通道传输;
FALSE:不改变通道
3.1.3.7 BC消息和帧处理当状态字置位
typedef struct
{
BOOL Stop_On_MSG;
BOOL Stop_On_Frame;
}STATUS_SET_STRUCT;
结构参数说明:
Stop_On_MSG:消息停止执行
TRUE:如果状态字中低11位某位被置位,在处理完本条消息后将停止消息处理
Stop_On_Frame:帧停止执行
TRUE:如果状态字中低11位某位被置位,在处理完本帧后将停止帧处理
3.1.3.8 BC消息处理当消息出错
typedef struct
{
BOOL MSG_STOP_ON_ERR;
BOOL FRAME_STOP_ON_ERR;
}STOP_ON_ERR_STRUCT;
结构参数说明:
MSG_STOP_ON_ERR:出错时,停止消息执行
TRUE:消息出错(包括字错误、帧格式错误、超时错误)时停止消息处理,但如果重试使能,那么先重试,重试还有错误再停止
FRAME_STOP_ON_ERR:出错时,停止帧执行
TRUE:在自动重发模式下,出错时消息帧停止
北京神州飞航科技有限责任公司
14
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
3.1.3.9 RT状态字设置
typedef struct
{
BOOL TerminalFlag;
BOOL SubSystemFlag;
BOOL ServiceReq;
BOOL Busy;
BOOL DBusCtl;
}RT_STATUS_WORD_STRUCT;
结构参数说明:
TerminalFlag:
如果该位为真,RT的状态字中的“Terminal Flag”位将会置1
SubSystemFlag:如果该位为真,RT的状态字中的“Subsystem Flag”位将会置1
ServiceReq:如果该位为真,RT的状态字中的“Service Request”位将会置1
Busy:如果该位为真,RT的状态字中的“Busy”位将会置1
DbusCtl:如果该位为真,RT的状态字中的“Dynamic Bus Control Acceptance”位将会置1
3.1.3.10 RT非法命令表结构
typedef struct
{
DWORD CmdTable[32][2][32];
}RT_Illegal_CMD_TABLE_STRUCT;
结构参数说明:
CmdTable[I][J][K]:一个三维的RT非法命令表,一维坐标I代表RT的地址,二位坐标J代表发送或接收位(J=0,代表接收 J=1,代表发送),三维坐标K代表RT的子地址。数组的值的定义如下:
BITS
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
15
DESCRIPTION
1:数据量为32的命令字非法 0:合法
1:数据量为01的命令字非法 0:合法
1:数据量为02的命令字非法 0:合法
1:数据量为03的命令字非法 0:合法
1:数据量为04的命令字非法 0:合法
1:数据量为05的命令字非法 0:合法
1:数据量为06的命令字非法 0:合法
1:数据量为07的命令字非法 0:合法
1:数据量为08的命令字非法 0:合法
1:数据量为09的命令字非法 0:合法
1:数据量为10的命令字非法 0:合法
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
Eg:CmdTable[3][1][20] = 0x00000001表示RT地址为3,RT的子地址为20,发送32个数据的命令为非法的。
1:数据量为11的命令字非法 0:合法
1:数据量为12的命令字非法 0:合法
1:数据量为13的命令字非法 0:合法
1:数据量为14的命令字非法 0:合法
1:数据量为15的命令字非法 0:合法
1:数据量为16的命令字非法 0:合法
1:数据量为17的命令字非法 0:合法
1:数据量为18的命令字非法 0:合法
1:数据量为19的命令字非法 0:合法
1:数据量为20的命令字非法 0:合法
1:数据量为21的命令字非法 0:合法
1:数据量为22的命令字非法 0:合法
1:数据量为23的命令字非法 0:合法
1:数据量为24的命令字非法 0:合法
1:数据量为25的命令字非法 0:合法
1:数据量为26的命令字非法 0:合法
1:数据量为27的命令字非法 0:合法
1:数据量为28的命令字非法 0:合法
1:数据量为29的命令字非法 0:合法
1:数据量为30的命令字非法 0:合法
1:数据量为31的命令字非法 0:合法
3.1.3.11 RT数据发送缓冲模式选择
typedef struct
{
BYTE TxMode[32][32];
}RT_TX_MODE_STRUCT;
结构参数说明:
TxMode[I][J]:一个二维的模式设置数组,数组的行坐标代表RT的地址,数组的列坐标代表RT的子地址,数组的值为模式设置位,取值0为单缓冲模式,此种模式下RT发送数据都从发送数据区起始点读取数据发送;取值1为循环缓冲模式,此种模式下RT顺序从发送区读取数据发送,直到发送数据区指针到达设定的边界时,发送指针自动回到起始位置继续读数用于发送。
Eg:TxMode[1][6] = 1表示RT地址为1,子地址为6的远程终端的发送采用循环缓冲的模式
北京神州飞航科技有限责任公司
16
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
3.1.3.12 MT命令字过滤表结构
typedef struct
{
DWORD Filter[32][2];
}MT_CMD_FILTER_TABLE_STRUCT;
结构参数说明:
Filter[I][J]:一个二维的命令字过滤表,数组的行坐标I代表待监测的远程终端地址,数组的列坐标代表发送或接收位(J=0:接收 J=1:发送),数组的值定义如下:
BITS
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
17
DESCRIPTION
1:方式代码被监测 0:不被监测,消息丢掉
1:子地址为01的远程终端被监测 0:不被监测,消息丢掉
1:子地址为02的远程终端被监测 0:不被监测,消息丢掉
1:子地址为03的远程终端被监测 0:不被监测,消息丢掉
1:子地址为04的远程终端被监测 0:不被监测,消息丢掉
1:子地址为05的远程终端被监测 0:不被监测,消息丢掉
1:子地址为06的远程终端被监测 0:不被监测,消息丢掉
1:子地址为07的远程终端被监测 0:不被监测,消息丢掉
1:子地址为08的远程终端被监测 0:不被监测,消息丢掉
1:子地址为09的远程终端被监测 0:不被监测,消息丢掉
1:子地址为10的远程终端被监测 0:不被监测,消息丢掉
1:子地址为11的远程终端被监测 0:不被监测,消息丢掉
1:子地址为12的远程终端被监测 0:不被监测,消息丢掉
1:子地址为13的远程终端被监测 0:不被监测,消息丢掉
1:子地址为14的远程终端被监测 0:不被监测,消息丢掉
1:子地址为15的远程终端被监测 0:不被监测,消息丢掉
1:子地址为16的远程终端被监测 0:不被监测,消息丢掉
1:子地址为17的远程终端被监测 0:不被监测,消息丢掉
1:子地址为18的远程终端被监测 0:不被监测,消息丢掉
1:子地址为19的远程终端被监测 0:不被监测,消息丢掉
1:子地址为20的远程终端被监测 0:不被监测,消息丢掉
1:子地址为21的远程终端被监测 0:不被监测,消息丢掉
1:子地址为22的远程终端被监测 0:不被监测,消息丢掉
1:子地址为23的远程终端被监测 0:不被监测,消息丢掉
1:子地址为24的远程终端被监测 0:不被监测,消息丢掉
1:子地址为25的远程终端被监测 0:不被监测,消息丢掉
1:子地址为26的远程终端被监测 0:不被监测,消息丢掉
1:子地址为27的远程终端被监测 0:不被监测,消息丢掉
1:子地址为28的远程终端被监测 0:不被监测,消息丢掉
1:子地址为29的远程终端被监测 0:不被监测,消息丢掉
1:子地址为30的远程终端被监测 0:不被监测,消息丢掉
1:方式代码被监测 0:不被监测,消息丢掉
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
3.1.3.13中断屏蔽寄存器结构
typedef struct
{
BOOL BC_MsgOver;
BOOL BC_STOP;
BOOL RT_RMsg;
BOOL RT_TMsg;
}INTERRUPT_MASK_REGISTER_STRUCT;
结构参数说明:
BC_MsgOver:BC消息结束中断使能位 TRUE:BC处理完一条消息时,将会触发一个中断
BC_STOP:BC消息出错停止中断使能位 TRUE:BC消息出错停止时,将会触发一个中断
RT_RMsg:RT接收到一条接收数据消息中断使能位 TRUE:RT接收到一条接收数据消息时,
将触发中断
RT_TMsg:RT接收到一条发送数据消息中断使能位 TRUE:RT接收到一条发送数据消息时,
将触发中断
3.1.3.14 RTC配置寄存器
typedef struct
{
BOOL BstRTCEn;
BOOL NonBstRTCEn;
WORD SubAddr;
}RTC_CFG_STRUCT;
结构参数说明:
BstRTCEn:RTC消息类型是否为BC到RT的广播消息
TRUE:BC到RT的广播消息为RTC消息类型
NonBstRTCEn:RTC消息类型是否为BC到RT的非广播消息
TRUE:BC到RT的非广播消息为RTC消息类型
SubAddr:用于RTC功能的消息命令字中子地址设置
3.1.3.15 板卡资源设置结构
typedef struct
{
DWORD MemBase;
DWORD Irq;
BYTE CardId;
北京神州飞航科技有限责任公司
18
BYTE IntLevel;
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
}RESOURCE_STRUCT;
结构参数说明:
MemBase:板卡的基地址,硬件上可通过基地址跳线J4来设置
Irq:板卡的中断号,硬件上可通过中断选择跳线J1来设置
IntLevel:选择中断触发边沿,取值范围0 ~ 3
0:低电平有效 1:上升沿有效 2:下降沿有效 3:高电平有效
CardId:板卡编号,取置范围0 ~ 3。当多块(不超过4块)AEC1553-PC104-FBC31RT/S5板卡同时插在同一台机器上时,用户可根据实际情况将板卡任意进行编号,板卡编号取值范围为0 ~ 3,但不同板卡的编号不要相同!
3.1.3.16 板卡句柄结构
typedef struct
{
HDEVICE hCard;
BYTE CardId;
} ST_DEVDSC, *HDEVICE;
3.2 驱动程序函数功能
本卡为单通道多功能1553数据通讯卡,每个通道具有1个BC、0 ~ 31个RT、1个MT。
函数功能主体分3类,分别是BC、RT和MT
3.2.1 BC
自动BC重试
重试通道可选
重试条件可设
重试次数可设:1 ~ 2次
支持单条消息的定时发送,分辨率1ms
消息间隔时间可设,分辨率1μs
中断和查询两种消息接收方式
支持消息的顺序读取和刷新读取
4K × 48 × 16bit数据空间
4K × 8 × 16bit命令字空间
中断方式下可缓存2000条最新消息
查询方式下最少可缓存80条最新消息
采用链表的方式来管理消息,可以动态插入消息
可修改运行中的BC待发送的数据字
3.2.2 RT
0~31个RT
19
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
非法命令表功能
单缓冲和循环缓冲数据发送方式,每个子RT的数据缓存可到4K × 16bit
循环缓冲数据接收方式,缓冲区大小:1M × 16bit
中断和查询两种消息接收方式
中断方式下可缓存128条发送数据消息及128条接收数据消息
查询方式下可缓存4K条发送数据消息及4K条接收数据消息
运行中可随时读取RT下的某个子RT接收到最新数据
RTC功能
3.2.3 MT
命令字过滤功能
采用循环缓冲接收数据
1M × 16bit的数据区
可缓存128K条最近监控到的消息
查询方式来接收数据消息
3.3 驱动程序函数接口说明
本节内容详细描述了API函数的调用原型,函数功能、参数说明和返回值。
3.3.1 M1553_Open
函数原型:BOOL __stdcall M1553_Open (HDEVICE *phM1553BF5, RESOURCE_STRUCT *res);
函数功能:找板卡,并分配板卡资源
参数说明:phM1553BF5:板卡句柄的指针
res:结构指针变量,存放板卡申请的资源
返回值: 若板卡打开成功,函数返回值为真;否则为假
3.3.2 M1553_Close
函数原型:BOOL __stdcall M1553_Close (HDEVICE hM1553BF5);
函数功能:关闭板卡,释放板卡资源
参数说明:hM1553BF5:板卡的句柄
返回值: 若板卡关闭成功,函数返回值为真;否则为假
3.3.3 M1553_Reset
函数原型:BOOL __stdcall M1553_Reset (HDEVICE hM1553BF5);
函数功能:板卡复位函数
参数说明:hM1553BF5:板卡的句柄
北京神州飞航科技有限责任公司
20
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
返回值: 若板卡复位成功,函数返回值为真;否则为假
板卡复位执行的操作为:
BC停止
所有RT不使能
MT不使能
时间标签模式不使能
BC消息到达标志被清除
BC两次重试不改变通道
BC重试不使能
BC消息在Message Error和RT 状态字低11位置位时不重试
RT 状态字低11位置位后BC消息和帧发送不停止
消息出错时BC消息和帧发送不停止
应答超时设置清零
RT非法命令表不使能
RT接收非法命令数据
所有的中断不使能
其余的设置保持不变
3.3.4 M1553_AddTimeTag
函数原型:BOOL __stdcall M1553_AddTimeTag (HDEVICE hM1553BF5, BYTE ChanNo, BOOL
Enable);
函数功能:启动或停止时间标签模式
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:时标模式使能位 TRUE:时标使能
返回值: 若时标模式设置成功,函数返回值为真;否则为假
3.3.5 M1553_SetResponseTimeout
函数原型:BOOL __stdcall M1553_SetResponseTimeout (HDEVICE hM1553BF5, BYTE ChanNo,
WORD TimeOut);
函数功能:设置应答超时
21
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
TimeOut:超时时间设置寄存器,分辨率0.5µS
返回值: 若设置成功,返回值为真;否则为假。
3.3.6 M1553_SetIntMaskReg
函数原型:BOOL __stdcall M1553_SetIntMaskReg (HDEVICE hM1553BF5, BYTE ChanNo,
INTERRUPT_MASK_REGISTER_STRUCT *IntReg);
函数功能:设置中断屏蔽寄存器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
IntReg:中断屏蔽寄存器结构指针变量
返回值: 若中断屏蔽寄存器设置成功,函数返回值为真;否则为假
3.3.7 M1553_SetEvent
函数原型:BOOL __stdcall M1553_SetEvent (HDEVICE hM1553BF5, BYTE ChanNo,
HANDLE hEvent);
函数功能:设置“BC_STOP”中断触发事件,板卡产生中断时,驱动将通过该事件来通知应用程序。
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
hEvent:“BC_STOP”中断事件句柄,由API函数CreateEvent产生
返回值: 若中断触发事件设置成功,函数返回值为真;否则为假
3.3.8 M1553_RTC_Cfg
函数原型:BOOL __stdcall M1553_RTC_Cfg (HDEVICE hM1553BF5, BYTE ChanNo,
RTC_CFG_STRUCT *pRTCCfg);
函数功能:设置实时时钟RTC配置寄存器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
PRTCCfg:RTC配置寄存器结构指针
返回值: 若实时时钟配置寄存器设置成功,函数返回值为真;否则为假
北京神州飞航科技有限责任公司
22
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
3.3.9 M1553_Set_RTC_Resolution
函数原型:BOOL __stdcall M1553_Set_RTC_Resolution (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE Resolution);
函数功能:设置RTC时间分辨率
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Resolution:RTC时间分辨率设置寄存器,单位1μs
返回值: 若RTC时间分辨率设置成功,函数返回值为真;否则为假
3.3.10 M1553_Get_RTC_Time
函数原型:__int64 __stdcall M1553_Get_RTC_Time (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:获取当前RTC计数器的值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为当前RTC计数器的值,低48位有效,分辨率可由函数
M1553_Set_RTC_Resolution设置
3.3.11 M1553_Set_RTC_Time
函数原型:void __stdcall M1553_Set_RTC_Time (HDEVICE hM1553BF5, BYTE ChanNo,
__int64 Time);
函数功能:设置当前RTC计数器的值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Time:当前RTC计数器的值,低48位有效,分辨率可由函数
M1553_Set_RTC_Resolution设置
返回值: 空
3.3.12 BC_Init
函数原型:BOOL __stdcall BC_Init (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:初始化总线控制器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
23
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
返回值: 如果总线控制器初始化成功,函数返回值为真;否则为假
3.3.13 BC_Retry
函数原型:BOOL __stdcall BC_Retry (HDEVICE hM1553BF5, BYTE ChanNo, BOOL Enable);
函数功能:BC重试使能
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:重试使能位 TRUE:使能BC重试
返回值: 若BC消息重试设置成功,函数返回值为真;否则为假
3.3.14 BC_SetRetryNum
函数原型:void __stdcall BC_SetRetryNum (HDEVICE hM1553BF5, BYTE ChanNo, BYTE Num);
函数功能:设置BC重试的次数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Num:BC重试次数设置 0 --- 重试1次 1 --- 重试2次
返回值: 空
3.3.15 BC_SetRetryCase
函数原型:BOOL __stdcall BC_SetRetryCase (HDEVICE hM1553BF5, BYTE ChanNo,
RETRY_CASE_STRUCT *Retry);
函数功能:设置BC重试的条件
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Retry:BC消息重试结构指针变量
返回值: 若BC消息重试的条件设置成功,函数返回值为真;否则为假
3.3.16 BC_RetryChanSel
函数原型:BOOL __stdcall BC_RetryChanSel (HDEVICE hM1553BF5, BYTE ChanNo,
RETRY_CHANNEL_SEL_STRUCT *ChanSel);
函数功能:设置BC重试通道选择
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
北京神州飞航科技有限责任公司
24
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
ChanSel:BC消息重试通道选择结构指针变量
返回值: 若BC消息重试通道选择设置成功,函数返回值为真;否则为假
3.3.17 BC_StopOnError
函数原型:BOOL __stdcall BC_StopOnError (HDEVICE hM1553BF5, BYTE ChanNo,
STOP_ON_ERR_STRUCT *Err);
函数功能:BC停止消息处理
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Err:结构指针,当RT状态字出现Message Error时,BC将停止消息或帧的处理
返回值: 若函数设置成功,返回值为真;否则为假
3.3.18 BC_OnStatusSet
函数原型:BOOL __stdcall BC_OnStatusSet (HDEVICE hM1553BF5, BYTE ChanNo,
STATUS_SET_STRUCT *Status);
函数功能:当RT STATUS_SET置为时,BC将停止消息或帧的处理功能设置
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Status:结构指针
返回值: 若函数设置成功,返回值为真;否则为假
3.3.19 BC_WriteMsg
函数原型:BOOL __stdcall BC_WriteMsg (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, SMSG_STRUCT *Msg);
函数功能:配置BC消息:包块消息块的控制字、命令字、数据字、消息间的间隔、消息的格式、消息的类型(周期消息和事件消息)及消息的周期等
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:消息的id号,从0开始编号,到4094结束。由于消息是顺序执行的,消息链表中的消息编号必须连续。并且事件消息和周期消息统一编号。消息链表必须有一个结束符。由函数BC_AddEndOfListFlag产生。
Msg:消息描述符结构变量
25
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
返回值: 如果MsgId或ChanNo取值超出范围,函数返回值为假;否则为真。
3.3.20 BC_AddEndOfListFlag
函数原型:BOOL __stdcall BC_AddEndOfListFlag (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId);
函数功能:添加消息链表结束符
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:结束符的位置,取值0 ~ 4095。
例:消息链表中最后一条消息的id为9,则消息结束符的id为10
返回值: 如果MsgId或ChanNo取值超出范围,函数返回值为假;否则为真。
3.3.21 BC_MsgRunCtl
函数原型:BOOL __stdcall BC_MsgRunCtl (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, BOOL Run);
函数功能:BC消息运行控制函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:消息的id号,从0开始编号,到4094结束。
Run:消息运行控制位:
TRUE--- 当BC已经开始运行时(BC的运行由函数BC_Start启动),该为置位会使消息编号为MsgId的消息开始执行
FALSE:当BC已经开始运行时(BC的运行由函数BC_Start启动),该位的清零会使消息编号为MsgId的消息不再执行
返回值: 如果参数MsgId超出范围,函数返回值为假;否则为真。
3.3.22 BC_GetMsgInfo
函数原型:BOOL __stdcall BC_GetMsgInfo (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, SMSG_STRUCT *Msg);
函数功能:获取消息链表中消息配置信息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
北京神州飞航科技有限责任公司
26
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
MsgId:消息id号,取值0 ~ 4094
Msg:消息描述符结构变量,存放消息的配置信息
返回值: 如果MsgId或ChanNo取值超出范围,函数返回值为假;否则为真。
3.3.23 BC_WriteDataBlock
函数原型:BOOL __stdcall BC_WriteDataBlock (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, BYTE WordCnt, WORD *DataBuf);
函数功能:修改运行中的BC发送的数据字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:消息id号,取值0 ~ 4094
WordCnt:要写入的数据字的数量,取值0 ~ 32
DataBuf:存放待写入的数据字
返回值: 如果MsgId或ChanNo取值超出范围或待修改的消息不是BC->RT的消息,函数返回值为假;否则为真。
3.3.24 BC_Start
函数原型:void __stdcall BC_Start (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:BC开始处理消息。当BC数据传输的过程中出错时,BC将自动停止。
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 空
3.3.25 BC_Stop
函数原型:void __stdcall BC_Stop (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:BC停止消息处理
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 空
3.3.26 BC_GetLastMsgId
函数原型:void __stdcall BC_GetLastMsgId (HDEVICE hM1553BF5, BYTE ChanNo,
WORD *MsgId);
27
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
函数功能:获取最近被处理消息的Id
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:存放消息id号
返回值: 空
3.3.27 BC_IsMSGOver
函数原型:BOOL __stdcall BC_IsMSGOver (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:查询BC是否有新消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果BC有新消息,函数返回值为真;否则为假
3.3.28 BC_GetMsgNum_Newly
函数原型:WORD __stdcall BC_GetMsgNum_Newly (HDEVICE hHC1553B2, BYTE ChanNo);
函数功能:查询BC新消息数目(用户还未来得及接收的新消息)
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回新消息的数目
本函数在中断和查询方式下均可使用
3.3.29 BC_GetMsgCnt_Total
函数原型:DWORD __stdcall BC_GetMsgCnt_Total (HDEVICE hHC1553B2, BYTE ChanNo);
函数功能:查询BC从板卡复位到目前处理的总的消息数(包括用户还未来得及接收的新消息)
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回消息的总条数
本函数仅在中断屏蔽寄存器中“BC_MsgOver”为TRUE时有效
3.3.30 BC_ReadNextMsg
函数原型:void __stdcall BC_ReadNextMsg (HDEVICE hM1553BF5, BYTE ChanNo,
WORD *MsgId, RMSG_STRUCT *Msg);
函数功能:用户按BC处理消息的先后顺序依次读取消息
北京神州飞航科技有限责任公司
28
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:输出参数,存放消息的id号
Msg:存放读取到的消息
返回值: 空
本函数在中断和查询方式下均可使用
3.3.31 BC_ReadLastMsg
函数原型:void __stdcall BC_ReadLastMsg (HDEVICE hM1553BF5, BYTE ChanNo,
WORD *MsgId, RMSG_STRUCT *Msg);
函数功能:用户读取BC最近处理的那条消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:输出参数,存放消息的id号
Msg:存放读取到的消息
返回值: 空
本函数在中断和查询方式下均可使用
3.3.32 BC_GetMsg_Refresh
函数原型:BOOL __stdcall BC_GetMsg_Refresh (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, RMSG_STRUCT *Msg);
函数功能:用户指定消息id来读取BC消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:输入参数,存放待读取消息的id号
Msg:存放读取到的消息
返回值: 如果消息号为MsgId的消息处理完毕,函数返回值为真;否则为假
本函数仅在中断屏蔽寄存器中“BC_MsgOver”为TRUE时有效
3.3.33 BC_ IsRunning
函数原型:BOOL __stdcall BC_IsRunning (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:获取BC运行状态
29
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果BC运行中,函数返回值为真;否则为假
3.3.34 RT_Init
函数原型:BOOL __stdcall RT_Init (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:初始化远程终端
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果远程终端初始化成功,函数返回值为真;否则为假
3.3.35 RT_TxMode
函数原型:void __stdcall RT_TxMode (HDEVICE hM1553BF5, BYTE ChanNo,
RT_TX_MODE_STRUCT *TxMode);
函数功能:设置数据发送的模式
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
TxMode:数据发送模式结构指针变量
返回值: 空
3.3.36 RT_Select
函数原型:BOOL __stdcall RT_Select (HDEVICE hM1553BF5, BYTE ChanNo,
DWORD RTEnable);
函数功能:RT使能函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTEnable:RT使能寄存器,定义如下:
数据位 描述
D0
1:地址为0的远程终端使能 0:不使能
D1
1:地址为1的远程终端使能 0:不使能
D2
1:地址为2的远程终端使能 0:不使能
D3
1:地址为3的远程终端使能 0:不使能
D4
1:地址为4的远程终端使能 0:不使能
北京神州飞航科技有限责任公司
30
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
1:地址为5的远程终端使能 0:不使能
1:地址为6的远程终端使能 0:不使能
1:地址为7的远程终端使能 0:不使能
1:地址为8的远程终端使能 0:不使能
1:地址为9的远程终端使能 0:不使能
1:地址为10的远程终端使能 0:不使能
1:地址为11的远程终端使能 0:不使能
1:地址为12的远程终端使能 0:不使能
1:地址为13的远程终端使能 0:不使能
1:地址为14的远程终端使能 0:不使能
1:地址为15的远程终端使能 0:不使能
1:地址为16的远程终端使能 0:不使能
1:地址为17的远程终端使能 0:不使能
1:地址为18的远程终端使能 0:不使能
1:地址为19的远程终端使能 0:不使能
1:地址为20的远程终端使能 0:不使能
1:地址为21的远程终端使能 0:不使能
1:地址为22的远程终端使能 0:不使能
1:地址为23的远程终端使能 0:不使能
1:地址为24的远程终端使能 0:不使能
1:地址为25的远程终端使能 0:不使能
1:地址为26的远程终端使能 0:不使能
1:地址为27的远程终端使能 0:不使能
1:地址为28的远程终端使能 0:不使能
1:地址为29的远程终端使能 0:不使能
1:地址为30的远程终端使能 0:不使能
未定义
返回值: 若RT使能成功,函数返回值为真;否则为假
3.3.37 RT_ClearTTagOnSync
函数原型:void __stdcall RT_ClearTTagOnSync (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
函数功能:RT在接收到不带数据的同步方式指令后时标寄存器清零
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:模式使能位 TRUE:使能该功能
返回值: 空
31
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
3.3.38 RT_LoadTTagOnSync
函数原型:void __stdcall RT_LoadTTagOnSync (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
函数功能:RT在接收到带数据的同步方式指令后,将命令中的数据加载到时标寄存器中作为初始值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:模式使能位 TRUE:使能该功能
返回值: 空
3.3.39 RT_Status_Set
函数原型:DLL BOOL __stdcall RT_Status_Set (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, RT_STATUS_WORD_STRUCT *StatusWord);
函数功能:设置RT的状态字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址,低5位有效
StatusWord:RT状态字设置结构指针变量
返回值: 若RT状态字设置成功,函数返回值为真;否则为假
3.3.40 RT_IllegalCmd
函数原型:BOOL __stdcall RT_IllegalCmd (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
函数功能:RT非法命令表使能函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:使能位 TRUE:使能非法命令表
返回值: 若RT非法命令表设置成功,函数返回值为真;否则为假
3.3.41 RT_RevIllegalData
函数原型:BOOL __stdcall RT_RevIllegalData (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
北京神州飞航科技有限责任公司
32
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
函数功能:RT非法指令接收数据使能
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:使能位
TRUE:接收非法指令数据,将数据写入接收数据缓存,并将状态字中的消息差错位置位;对于发送数据指令RT只发送状态字(如果需要发送),且将状态字中的消息差错位置位,不发送数据。
FALSE:不接收非法指令数据,将状态字中的消息差错位置位
返回值: 若RT非法指令接收数据使能设置成功,函数返回值为真;否则为假
3.3.42 RT_SetIllegalCmdTable
函数原型:void __stdcall RT_SetIllegalCmdTable (HDEVICE hM1553BF5,
BYTE ChanNo, RT_Illegal_CMD_TABLE_STRUCT *CmdTable);
函数功能:RT非法指令表设置
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
CmdTable:指向RT非法命令表结构的指针
返回值: 空
3.3.43 RT_SetVectorWord
函数原型:void __stdcall RT_SetVectorWord (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, WORD VectorWord);
函数功能:设置矢量字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址
VectorWord:矢量字
返回值: 空
3.3.44 RT_SetBITWord
函数原型:void __stdcall RT_SetBITWord (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, WORD BITWord);
33
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
函数功能:设置自检字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址
BITWord:自检字
返回值: 空
3.3.45 RT_SendMSG
函数原型:void __stdcall RT_SendMSG (HDEVICE hM1553BF5, BYTE ChanNo,BYTE RTAddr,
BYTE SubAddr, WORD MsgLen, WORD *Msg);
函数功能:RT发送数据函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:待发送数据的远程终端
SubAddr:待发送数据的远程终端的子地址
MsgLen:待发送数据字的数量,单缓冲模式下可发送数据字的数量最大为32;循环缓冲模式下可发送数据字的数量最大为4096
Msg:存放待发送的数据字,缓冲区的大小要能容纳所有待发送的数据
返回值: 空
3.3.46 RT_GetMsgNum_Rx_Newly
函数原型:WORD __stdcall RT_GetMsgNum_Rx_Newly (HDEVICE hHC1553B2,
BYTE ChanNo);
函数功能:查询RT接收到的接收数据消息的条数(用户还未来得及接收的新消息)
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为RT接收数据消息的条数
3.3.47 RT_GetMsgNum_Tx_Newly
函数原型:WORD __stdcall RT_GetMsgNum_Tx_Newly (HDEVICE hHC1553B2,
BYTE ChanNo);
函数功能:查询RT接收到的发送数据消息的条数(用户还未来得及接收的新消息)
北京神州飞航科技有限责任公司
34
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为RT发送数据消息的条数
3.3.48 RT_ReadMSG_Rx
函数原型:BOOL __stdcall RT_ReadMSG_Rx (HDEVICE hM1553BF5, BYTE ChanNo,
RMSG_STRUCT *Msg);
函数功能:读取RT接收到的接收数据消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Msg:存放接收到的接收数据消息
返回值: 如果RT接收到一条接收数据消息,函数返回值为真;否则为假
3.3.49 RT_ReadMSG_Tx
函数原型:BOOL __stdcall RT_ReadMSG_Tx (HDEVICE hM1553BF5, BYTE ChanNo,
RMSG_STRUCT *Msg);
函数功能:读取RT接收到的发送数据消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Msg:存放接收到的发送数据消息
返回值: 如果RT接收到了一条发送数据消息,函数返回值为真;否则为假
3.3.50 RT_Get_Newly_Rdata
函数原型:void __stdcall RT_Get_Newly_RData (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, BYTE SubAddr, BYTE *WordCnt, WORD *DataBuf);
函数功能:在中断方式下,获取RT接收数据消息接收到的最新的数据
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址,取值0 ~ 31
SubAddr:RT的子地址,取值0 ~ 31
WordCnt:存放接收到的数据量,最多32个1553数据。若没有新数据,数据量为0
DataBuf:存放读取到的数据
35
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
返回值: 空
3.3.51 RT_Get_Delta_Time
函数原型:__int64 __stdcall RT_Get_Delta_Time (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:获取当前RT中的RTC计数值与1553网络中的BC实时时钟计数器的差值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为时间差值,分辨率可由函数M1553_Set_RTC_Resolution设置,低48位有效
时间差值 = BC当前RTC计数值 - RT当前RTC计数值
3.3.52 MT_Init
函数原型:BOOL __stdcall MT_Init (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:初始化总线监视器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果总线监视器初始化成功,函数返回值为真;否则为假
3.3.53 MT_SetCmdFilterTable
函数原型:void __stdcall MT_SetCmdFilterTable (HDEVICE hM1553BF5,
BYTE ChanNo, MT_CMD_FILTER_TABLE_STRUCT *FTable);
函数功能:设置待监测的消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
FTable:命令字过滤表结构指针
返回值: 空
3.3.54 MT_Start
函数原型:BOOL __stdcall MT_Start (HDEVICE hM1553BF5, BYTE ChanNo, BOOL Enable);
函数功能:使能MT,并开始工作
参数说明:hM1553BF5:板卡的句柄
北京神州飞航科技有限责任公司
36
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
ChanNo:通道号,取值0
Enable:使能位 TRUE:使能MT
返回值: 若MT使能成功,函数返回值为真;否则为假
3.3.55 MT_GetMsgNum_Newly
函数原型:DWORD __stdcall MT_GetMsgNum_Newly (HDEVICE hHC1553B2, BYTE ChanNo);
函数功能:查询MT最新消息数目
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: MT最新消息数目
3.3.56 MT_ReadMSG
函数原型:BOOL __stdcall MT_ReadMSG (HDEVICE hM1553BF5, BYTE ChanNo,
RMSG_STRUCT *Msg);
函数功能:MT消息读取函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Msg:存放监测到的消息
返回值: 如果MT监测到消息,函数返回值为真;否则为假
37
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
3.4 驱动程序函数调用步骤
3.4.1打开板卡
调用函数M1553_Open来找板卡,并分配板卡资源
3.4.2复位板卡
调用函数M1553_Reset来复位板卡到一个初始状态
3.4.3初始化板卡
1、 启动或停止时间标签模式(M1553_AddTimeTag)
2、 设置应答超时(M1553_SetResponseTimeout)
3、 设置RTC配置字(M1553_RTC_Cfg)
4、 设置中断触发事件
a) 用户创建中断事件(CreateEvent,标准API函数)
b) 设置中断触发事件(M1553_SetEvent)
3.4.4 BC模式
3.4.4.1 初始化
1、 BC初始化(BC_Init)
2、 BC重试
a) 设置BC重试的次数(BC_SetRetryNum)
b) 设置BC重试的条件(SetRetryCase)
c) 设置BC重试的通道(BC_RetryChanSel)
3、 设置消息出错时,BC消息处理(BC_StopOnError)
4、 设置RT状态字置位时,BC消息处理(BC_OnStatusSet)
3.4.4.2 消息发送
1、 配置BC消息链表(BC_WriteMsg),当消息链表结束时,添加消息链表结束符(BC_AddEndOfListFlag)
2、 启动BC(BC_Start)
在BC运行的过程中,调用函数BC_MsgRunCtl可以控制消息的执行与否
3.4.4.3 消息接收
查询的方式
北京神州飞航科技有限责任公司
38
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
1、 判断BC消息传输是否结束(BC_IsMSGOver)或查询BC最新消息数目(BC_GetMsgNum_Newly)
2、 若BC消息结束或BC最新消息数目不为0,则读取消息(BC_ReadNextMsg)
3、 重复以上2步
中断的方式
1、 设置中断屏蔽寄存器(M1553_SetIntMaskReg)中的BC_MsgOver位(此时驱动程序将会按中断的方式接收消息,并将消息进行缓存)
2、 读取消息
1) 顺序读取消息
判断是否产生中断(BC_IsMSGOver或BC_GetMsgNum_Newly),若产生中断,调用函数BC_ReadNextMsg顺序读取消息
2) 读取最新消息
判断是否产生中断(BC_IsMSGOver或BC_GetMsgNum_Newly),若产生中断,调用函数BC_ReadLastMsg读取最新消息
3) 刷新方式读取消息
直接调用函数BC_GetMsg_Refresh来读取消息
3、 重复2
3.4.4.4 获取消息链表的配置信息
调用函数BC_GetMsgInfo可获取消息块的配置
3.4.4.5 改变运行中消息的数据
调用函数BC_GetLastMsgId来获取刚被BC执行的消息的id,以确定BC执行的位置,在不会产生冲突的情况下,调用函数BC_WriteDataBlock来修改消息的数据。
3.4.4.6 插入消息
调用函数BC_WriteMsg可以动态的改变消息链表。在改变消息链表后,一定要添加链表结束符。
3.4.4.7 获取BC的运行情况
查询的方式
调用函数BC_IsRunning可获取BC是否在运行中
中断的方式
39
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
1、 设置中断屏蔽寄存器(M1553_SetIntMaskReg)中的BC_STOP位
2、 判断是否产生中断(WaitForSingleObject,标准API函数),若产生中断,则说明BC出错停止了
3、 重复2
3.4.5 RT模式
1、 RT初始化(RT_Init)
2、 设置RT数据发送模式(RT_TxMode)
3、 清置时标
a) 清除时标(RT_ClearTTagOnSync)
b) 重新装载时标(RT_LoadTTagOnSync)
4、 RT状态字设置(RT_Status_Set)
5、 RT非法命令设置
a) 启动或停止RT非法命令表模式(RT_IllegalCmd)
b) 若启动了RT非法命令表模式,则设置是否接收非法命令的数据(RT_RevIllegalData)及RT非法命令表(RT_SetIllegalCmdTable)
6、 设置矢量字(RT_SetVectorWord)
7、 设置自检字(RT_SetBITWord)
8、 RT使能(RT_Select)
9、 发送数据消息(RT_SendMSG)
10、 接收数据消息
接收接收数据消息
中断的方式
a) 中断屏蔽寄存器(M1553_SetIntMaskReg)中的RT_RMsg置位(此时驱动程序将会按中断的方式接收消息,并将消息进行缓存))
b) 调用函数RT_GetMsgNum_Rx_Newly来获取中断的次数,然后调用函数RT_ReadMSG_Rx读取接收到的接收数据消息
c) 重复b
查询的方式
调用函数RT_GetMsgNum_Rx_Newly来获取新消息的条数,然后调用函数RT_ReadMSG_Rx读取接收到的接收数据消息
北京神州飞航科技有限责任公司
40
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
接收发送数据消息
中断方式
a) 中断屏蔽寄存器(M1553_SetIntMaskReg)中的RT_TMsg置位(此时驱动程序将会按中断的方式接收消息,并将消息进行缓存)
b) 调用函数RT_GetMsgNum_Tx_Newly来获取中断的次数,然后调用函数RT_ReadMSG_Tx读取接收到的接收数据消息
c) 重复b
查询方式
调用函数RT_GetMsgNum_Tx_Newly来获取新消息的条数,然后调用调用函数
RT_ReadMSG_Tx读取接收到的发送数据消息
3.4.6 MT模式
1、 初始化MT(MT_Init)
2、 设置MT待监控的消息(MT_SetCmdFilterTable)
3、 MT使能(MT_Start)
4、 获取新消息的数目(MT_GetMsgNum_Newly)
5、 读取消息(MT_ReadMSG)
6、 重复4 ~ 5步
3.4.7关闭板卡
应用程序退出时,请复位板卡(M1553_Reset),并关闭板卡(M1553_Close)
41
北京神州飞航科技有限责任公司
2024年1月8日发(作者:奚云水)
AEC1553-PC104-FBC31RT/S5
用户手册
北京神州飞航科技有限责任公司
声 明
本文档中介绍的产品(包括硬件、软件和文档本身)版权归北京神州飞航科技有限责任公司所有,保留所有权利。未经北京神州飞航科技有限责任公司书面授权,任何人不得以任何方式复制本文档的任何部分。
对于本文档所有明示或暗示的条款、陈述和保证,包括任何针对特定用途的适用性或无侵害知识产权的暗示保证,均不提供任何担保,除非此类免责声明的范围在法律上视为无效。北京神州飞航科技有限责任公司不对任何与性能或使用本文档相关的伴随或后果性损害负责。本文档所含信息如有更改,恕不另行通知。
AEC1553-PC104-FBC31RT/S5 用户手册
文档版本:V1.00
发布日期:2009-09-03
北京神州飞航科技有限责任公司
地址:北京市海淀区西三环北路21号北控久凌大厦北楼10层
邮编:100089
电话:************,68403306,68403307,68403308
传真:************E-mail:****************网址:
目录 AEC1553-PC104-FBC31RT/S5 用户手册
目 录
第一章 概述 ......................................................................................................................................................... 1
1.1 关于本手册 ..................................................................................................................................... 2
1.2 产品描述 ......................................................................................................................................... 2
1.2.1 特性 ...................................................................................................................................... 2
1.2.2详细描述................................................................................................................................ 2
1.2.3 一般规格............................................................................................................................... 3
1.3 产品安装 ......................................................................................................................................... 3
1.3.1 安装之前的准备 ................................................................................................................... 3
1.3.2 硬件安装............................................................................................................................... 4
1.3.3 驱动安装............................................................................................................................... 4
1.3.4 演示应用软件安装 ............................................................................................................... 5
第二章 硬件说明 ................................................................................................................................................. 6
2.1 功能结构图 ..................................................................................................................................... 7
2.2 印制板示意图.................................................................................................................................. 7
2.3 连接器和信号定义 .......................................................................................................................... 8
2.3.1信号连接器定义:JP1 .......................................................................................................... 8
2.3.2 基地址跳线:J4 ................................................................................................................... 9
2.3.4 中断跳线:J1 ....................................................................................................................... 9
第三章 驱动程序编程接口 ............................................................................................................................... 10
3.1 动态库DLL ....................................................................................................................................11
3.1.1 适用编程工具 ......................................................................................................................11
3.1.2 需要引用的文件 ..................................................................................................................11
3.1.3 驱动程序结构变量定义 ......................................................................................................11
3.1.3.1 BC控制字结构 .........................................................................................................11
3.1.3.2 BC消息描述符结构 ................................................................................................ 12
3.1.3.3 BC消息发送结构 .................................................................................................... 12
3.1.3.4 BC消息接收结构 .................................................................................................... 13
3.1.3.5 BC消息重试结构 .................................................................................................... 13
3.1.3.6 BC消息重试通道选择 ............................................................................................ 13
3.1.3.7 BC消息和帧处理当状态字置位 ............................................................................ 14
3.1.3.8 BC消息处理当消息出错 ........................................................................................ 14
3.1.3.9 RT状态字设置 ......................................................................................................... 15
3.1.3.10 RT非法命令表结构 ............................................................................................... 15
3.1.3.11 RT数据发送缓冲模式选择 ................................................................................... 16
3.1.3.12 MT命令字过滤表结构 .......................................................................................... 17
3.1.3.13中断屏蔽寄存器结构 ............................................................................................. 18
3.1.3.14 RTC配置寄存器 .................................................................................................... 18
3.1.3.15 板卡资源设置结构 ................................................................................................ 18
3.1.3.16 板卡句柄结构 ........................................................................................................ 19
3.2 驱动程序函数功能 ........................................................................................................................ 19
I
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
目录
3.2.1 BC ........................................................................................................................................ 19
3.2.2 RT ......................................................................................................................................... 19
3.2.3 MT ....................................................................................................................................... 20
3.3 驱动程序函数接口说明 ................................................................................................................ 20
3.3.1 M1553_Open ....................................................................................................................... 20
3.3.2 M1553_Close ....................................................................................................................... 20
3.3.3 M1553_Reset ....................................................................................................................... 20
3.3.4 M1553_AddTimeTag ........................................................................................................... 21
3.3.5 M1553_SetResponseTimeout .............................................................................................. 21
3.3.6 M1553_SetIntMaskReg ....................................................................................................... 22
3.3.7 M1553_SetEvent .................................................................................................................. 22
3.3.8 M1553_ 22
3.3.9 M1553_Set_RTC_Resolution .............................................................................................. 23
3.3.10 M1553_Get_RTC_Time .................................................................................................... 23
3.3.11 M1553_Set_RTC_Time ..................................................................................................... 23
3.3.12 BC_Init ............................................................................................................................... 23
3.3.13 BC_Retry ........................................................................................................................... 24
3.3.14 BC_SetRetryNum .............................................................................................................. 24
3.3.15 24
3.3.16 BC_RetryChanSel .............................................................................................................. 24
3.3.17 BC_StopOnError ................................................................................................................ 25
3.3.18 BC_OnStatusSet ................................................................................................................. 25
3.3.19 BC_WriteMsg .................................................................................................................... 25
3.3.20 BC_AddEndOfListFlag ..................................................................................................... 26
3.3.21 BC_MsgRunCtl .................................................................................................................. 26
3.3.22 BC_GetMsgInfo ................................................................................................................. 26
3.3.23 BC_WriteDataBlock .......................................................................................................... 27
3.3.24 BC_Start ............................................................................................................................. 27
3.3.25 BC_Stop ............................................................................................................................. 27
3.3.26 BC_GetLastMsgId ............................................................................................................. 27
3.3.27 BC_IsMSGOver ................................................................................................................. 28
3.3.28 BC_GetMsgNum_Newly ................................................................................................... 28
3.3.29 BC_GetMsgCnt_Total ....................................................................................................... 28
3.3.30 BC_ReadNextMsg ............................................................................................................. 28
3.3.31 BC_ReadLastMsg .............................................................................................................. 29
3.3.32 BC_GetMsg_Refresh ......................................................................................................... 29
3.3.33 BC_ IsRunning ................................................................................................................... 29
3.3.34 RT_Init ............................................................................................................................... 30
3.3.35 RT_TxMode ....................................................................................................................... 30
3.3.36 RT_Select ........................................................................................................................... 30
3.3.37 RT_ClearTTagOnSync ....................................................................................................... 31
3.3.38 RT_LoadTTagOnSync ....................................................................................................... 32
3.3.39 RT_Status_Set .................................................................................................................... 32
3.3.40 RT_IllegalCmd ................................................................................................................... 32
3.3.41 32
北京神州飞航科技有限责任公司
II
目录 AEC1553-PC104-FBC31RT/S5 用户手册
3.3.42 RT_SetIllegalCmdTable ..................................................................................................... 33
3.3.43 RT_SetVectorWord ............................................................................................................ 33
3.3.44 RT_SetBITWord ................................................................................................................ 33
3.3.45 RT_SendMSG .................................................................................................................... 34
3.3.46 RT_GetMsgNum_Rx_Newly ............................................................................................. 34
3.3.47 RT_GetMsgNum_Tx_Newly ............................................................................................. 34
3.3.48 RT_ReadMSG_Rx ............................................................................................................. 35
3.3.49 RT_ReadMSG_Tx ............................................................................................................. 35
3.3.50 RT_Get_Newly_Rdata ....................................................................................................... 35
3.3.51 RT_Get_Delta_Time .......................................................................................................... 36
3.3.52 MT_Init .............................................................................................................................. 36
3.3.53 MT_SetCmdFilterTable ..................................................................................................... 36
3.3.54 MT_Start ............................................................................................................................ 36
3.3.55 MT_GetMsgNum_Newly .................................................................................................. 37
3.3.56 MT_ReadMSG ................................................................................................................... 37
3.4 驱动程序函数调用步骤 ................................................................................................................ 38
3.4.1打开板卡.............................................................................................................................. 38
3.4.2复位板卡.............................................................................................................................. 38
3.4.3初始化板卡 .......................................................................................................................... 38
3.4.4 BC模式 ............................................................................................................................... 38
3.4.4.1 初始化 ...................................................................................................................... 38
3.4.4.2 消息发送 .................................................................................................................. 38
3.4.4.3 消息接收 .................................................................................................................. 38
3.4.4.4 获取消息链表的配置信息 ...................................................................................... 39
3.4.4.5 改变运行中消息的数据 .......................................................................................... 39
3.4.4.6 插入消息 .................................................................................................................. 39
3.4.4.7 获取BC的运行情况 .............................................................................................. 39
3.4.5 RT模式 ................................................................................................................................ 40
3.4.6 MT模式............................................................................................................................... 41
3.4.7关闭板卡.............................................................................................................................. 41
3.5消息块状态描述字 ......................................................................................................................... 42
3.5.1 BC消息块状态描述字 ....................................................................................................... 42
3.5.2 RT消息块状态描述字 ........................................................................................................ 42
3.5.3 MT消息块状态描述字 ....................................................................................................... 43
3.6 MIL-STD-1553B的字 ................................................................................................................... 44
3.6.1 命令字................................................................................................................................. 44
3.6.2 数据字................................................................................................................................. 44
3.6.3 状态字................................................................................................................................. 44
第四章 功能演示软件 ....................................................................................................................................... 45
4.1使用环境 ........................................................................................................................................ 46
4.1.1硬件 ..................................................................................................................................... 46
4.1.2操作系统.............................................................................................................................. 46
4.2开发环境 ........................................................................................................................................ 46
4.3使用说明 ........................................................................................................................................ 46
III
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
目录
4.3.1 初始化窗口 ......................................................................................................................... 46
4.3.2 板卡选择窗口 ..................................................................................................................... 47
4.3.3 主窗口................................................................................................................................. 47
4.3.3.1 菜单 .......................................................................................................................... 48
4.3.3.2 工具栏 ...................................................................................................................... 48
4.3.3.3 状态栏 ...................................................................................................................... 48
4.3.4 BC窗口 ............................................................................................................................... 48
4.3.4.1 菜单 .......................................................................................................................... 48
4.3.4.2 工具栏 ...................................................................................................................... 49
4.3.4.3 状态栏 ...................................................................................................................... 49
4.3.5 RT窗口 ................................................................................................................................ 49
4.3.5.1 菜单 .......................................................................................................................... 50
4.3.5.2 工具栏 ...................................................................................................................... 50
4.3.5.3 状态栏 ...................................................................................................................... 51
4.3.6 BM窗口 .............................................................................................................................. 51
4.3.6.1 菜单 .......................................................................................................................... 51
4.3.6.2 工具栏 ...................................................................................................................... 51
4.3.6.3 状态栏 ...................................................................................................................... 52
4.3.7 功能配置窗口 ..................................................................................................................... 52
4.3.7.1 工作模式选择窗口 .................................................................................................. 52
4.3.7.2时标/应答超时/RTC设置窗口 ................................................................................ 52
4.3.7.3BC设置窗口 ............................................................................................................. 53
4.3.7.4消息配置窗口 ........................................................................................................... 53
4.3.7.5消息创建窗口 ........................................................................................................... 54
4.3.7.6消息编辑窗口 ........................................................................................................... 54
4.3.7.7消息群配置窗口 ....................................................................................................... 55
4.3.7.8即时修改消息置窗口 ............................................................................................... 56
4.3.7.9 RT设置窗口 ............................................................................................................. 57
4.3.7.10 RT数据配置窗口 ................................................................................................... 57
4.3.7.11 BM监视过滤设置窗口 .......................................................................................... 58
4.3.7.12查看消息选择窗口 ................................................................................................. 58
4.3.7.13查找记录窗口 ......................................................................................................... 59
4.3.8 操作建议............................................................................................................................. 59
附件A 产品配件 ............................................................................................................................................... 61
附件B 公司介绍 ............................................................................................................................................... 62
北京神州飞航科技有限责任公司
IV
1
AEC1553-PC104-FBC31RT/S5 用户手册
概述北京神州飞航科技有限责任公司
第一章
AEC1553-PC104-FBC31RT/S5 用户手册
第一章 概述
1.1 关于本手册
本手册适用于下列产品型号:
AEC1553-PC104-FBC31RT/S5 PC104总线,单通道(双冗余)多功能MIL-STD-1553通讯卡
本手册是关于上述产品的完全使用指南。以下各章节提供了关于该产品更详细的信息,包括产品的功能特性、安装使用、硬件和软件说明等内容。
本手册的电子版本,您可以在购买产品的配套光盘中获得,也可以通过访问北京神州飞航有限责任公司网站()下载获得。
注意
在使用该产品之前,请您详细阅读本手册各章节的内容。
1.2 产品描述
AEC1553-PC104-FBC31RT/S5是一款1553总线通讯板卡,其强大的功能能够满足不同用户的工业测量和自动化控制需求,良好的兼容性适用于各类系统配置。
1.2.1 特性
16bit PC104总线
单通道多功能1553数据通讯卡
每通道1个BC(总线控制器)
每通道0~31个RT(远程终端)
每通道1个MT(总线监视器)
BC、RT、MT 可同时存在
双冗余总线
每通道带RTC功能(可选),RTC计数器48位,分辨率可设
32位时标,分辨率1μs
软件可设置应答超时:0~32768μs
大容量的数据存储:16M × 16bit
1.2.2详细描述
BC模式
自动BC重试,次数可选(1~2次),重试通道可选
支持事件消息、周期消息,分辨率1ms
消息间间隔可设,分辨率1μs
提供中断和查询两种消息读取方式
北京神州飞航科技有限责任公司
2
第一章 概述 AEC1553-PC104-FBC31RT/S5 用户手册
采用链表的方式来管理消息,可以动态插入或修改事件消息
使能RTC功能后,可自动发送RTC时钟值
RT模式
0~31个RT
非法命令表功能
RT矢量字与子地址对应,用来刷新子地址事件消息
提供中断和查询两种消息读取方式
使能RTC功能后,RT自动计算BC与RT系统时差
MT模式
命令字过滤功能
采用循环缓冲接收数据
查询方式读取消息
1.2.3 一般规格
物理尺寸:96mm×90mm
连接器:J30J-25ZKWP7-T
工作电源:5V
工作温度:-40℃~+85℃
相对湿度:0~95%
1.3 产品安装
1.3.1 安装之前的准备
1. 在您安装产品之前请检查包装是否完好,以确定产品在运输的过程中没有遭到损坏。如果包装发现有破损,请您马上与运输商联系。
2. 在打开包装后请检查产品以及配件的完整性。打开产品外包装后,您应该发现如下产品
AEC1553-PC104-FBC31RT/S5通讯卡
产品合格证
产品配套光盘
标配连接器
如有规格不符,请您立刻联系我们,我们将负责维修或者更换。
3. 如果有可能,请您准备防静电工作台并佩戴防静电腕带。如果不具备以上静电防护装备,请您接触计算机设备的导地部分,例如机箱壳金属部分,以释放身体上的静电。
3
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第一章 概述
现在您可以准备安装AEC1553-PC104-FBC31RT/S5通讯卡了。
1.3.2 硬件安装
第一步: 打开板卡的防静电包装袋,取出板卡。
注意
手持板卡时,请您尽量只接触板卡的边缘。在板卡安装到您的计算机设备之前,请将板卡平放置于防静电包装袋中,这样有利于保护板卡不受静电损伤。取出板卡后,请您保留产品的防静电和防震包装,以便在您不使用时产品可以妥善存放。
图1-1 AEC1553-PC104-FBC31RT/S5产品图片
第二步: 关闭计算机设备的电源,将板卡安装到您的计算机机箱内。
AEC1553-PC104-FBC31RT/S5板卡需要地址跳线和中断跳线的设置,设置方法见基地址跳线:J4和中断跳线:J1。
第三步: 将配套的连接器或连接电缆插到板卡的连接器接口上。
关于连接电缆的制作请参照2.3.1的内容。
1.3.3 驱动安装
在产品配套光盘的“驱动安装”目录中,您可以找到AEC1553-PC104-FBC31RT/S5板卡的驱动,您也可以通过访问北京神州飞航科技有限责任公司网站()下载获得AEC1553-PC104-FBC31RT/S5板卡的驱动。请您按如下步骤安装产品的驱动:
Windows 98/2000操作系统驱动的安装
执行产品配套光盘中“驱动安装98-2000”目录中的程序
北京神州飞航科技有限责任公司
4
第一章 概述 AEC1553-PC104-FBC31RT/S5 用户手册
Windows Xp操作系统驱动的安装
执行产品配套光盘中“驱动安装xp”目录中的程序
Windows Server 2003操作系统驱动的安装
执行产品配套光盘中“驱动安装2003”目录中的程序
安装完驱动程序需重启系统!
1.3.4 演示应用软件安装
执行光盘中所带有的应用程序安装包M1553 ,按照安装提示进行程序安装,完成安装后,用户可以在Windows任务栏上的“开始”菜单里的程序列表中,找到应用程序的可执行快捷命令。
5
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第二章北京神州飞航科技有限责任公司
硬件说明6
第二章 硬件说明 AEC1553-PC104-FBC31RT/S5 用户手册
本章描述了AEC1553-PC104-FBC31RT/S5通讯卡硬件信息,包括硬件设置、I/O连接器和信号定义等。
2.1 功能结构图
图2-1 AEC1553-PC104-FBC31RT/S5功能结构图
2.2 印制板示意图
图2-2 AEC1553-PC104-FBC31RT/S5印制板示意图
7
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第二章 硬件说明
表2-1 AEC1553-PC104-FBC31RT/S5接头说明
接头 说明
P1、P2 PC104总线连接器
J2
JTAG编程接头,出厂配置使用
J1
中断选择跳线
J4
基地址选择跳线
JP1
信号连接器
2.3 连接器和信号定义
2.3.1信号连接器定义:JP1
NC 1 14 NC
NC 2 15 NC
NC 3 16 NC
NC 4 17 NC
NC 5 18 NC
NC 6 19 NC
NC 7 20 NC
NC 8 21 BUSB179-
BUSA25- 9 22 BUSB179+
BUSA25+ 10 23 NC
NC 11 24 BUSA179-
BUSB25-
12 25 BUSA179+
BUSB25+ 13
图2-3信号连接器的点号定义
表2-2 连接信号描述
信号 参考 方向 描述
BUSA25+
― ― A通道直接耦合+
BUSA25-
― ― A通道直接耦合-
BUSB25+
― ― B通道直接耦合+
BUSB25-
― ― B通道直接耦合-
BUSA179+
― ― A通道间接耦合+
BUSA179-
― ― A通道间接耦合-
BUSB179+
― ― B通道间接耦合+
BUSB179-
― ― B通道间接耦合-
北京神州飞航科技有限责任公司
8
第二章 硬件说明 AEC1553-PC104-FBC31RT/S5 用户手册
2.3.2 基地址跳线:J4
本板卡占用memory地址空间。
基地址跳线J4:
地址位
管脚号
地 址
D0000
D8000
1-2
Off
Off
3-4
Off
Off
5-6
Off
Off
A19
7-8
Off
Off
A18
9-10
Off
Off
A17 A16 A15
11-12 13-14 15-16
On
On
Off
Off
On
Off
用5个跳线开关,对应关系如上表,分别表示5个二进制位。
On:表示短接,为逻辑“0”,Off:表示断开,为逻辑“1”。
板卡硬件物理地址格式ADDR=0x000XY000,其中:
X=8×A19+4×A18+2×A17+1×A16;
Y=8×A15。
例如:当A17、A15是0,A19、A18、A16是1时,
X=8×1+4×1+2×0+1×1=0x0D;
Y+8×0=0x00;
所以ADDR=0x000D0000。
或者当A17是0,A19、A18、A16、A15是1时,
X=8×1+4×1+2×0+1×1=0x0D;
Y+8×1=0x08;
所以ADDR=0x000D8000。
2.3.4 中断跳线:J1
表2-3 中断跳线点号定义
用户根据需要可对计算机中断端口进行选择,通过J1进行设置:设置方式如下
中断号
管脚号
IRQ10
13-14
IRQ11
11-12
IRQ12
9-10
IRQ7
7-8
IRQ6
5-6
IRQ5
3-4
IRQ4
1-2
中断使用时尽量选择一个未被使用的中断号使用。
9
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章
北京神州飞航科技有限责任公司
驱动程序编程接口10
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
本章主要讲述了如何使用AEC1553-PC104-FBC31RT/S5板卡的驱动程序接口,为用户编程提供参考。AEC1553-PC104-FBC31RT/S5驱动程序提供了丰富的接口函数,能满足用户对板卡的操作需求;具有良好的兼容性,能适用于多种编程环境;操作简单方便,可以大大缩短用户的开发周期。
3.1 动态库DLL
AEC1553-PC104-FBC31RT/S5驱动程序接口函数按ANSI C标准编写,以动态链接库DLL形式提供给用户。您可以在AEC1553-PC104-FBC31RT/S5板卡配套光盘中获取。
3.1.1 适用编程工具
运行环境:Windows 98/2000/2003/xp操作系统
开发工具:
Visual C++
Visual Basic
C++ Builder
Delphi
Labview
Labwindows/CVI
3.1.2 需要引用的文件
当您进行程序开发时,需要引用下列文件:
库文件: 和
函数库头文件:M1553BF5_lib.h
3.1.3 驱动程序结构变量定义
3.1.3.1 BC控制字结构
typedef struct
{
BOOL Retry;
BYTE ChanSel;
BYTE MsgFmt;
}CONTROL_WORD_STRUCT;
结构参数说明:
Retry:消息重试允许位 TRUE:允许消息重试
ChanSel:消息发送时的通道选择 0:Channel B 1:Channel A
MsgFmt:设置消息的类型,消息的类型设置见表3-1
表3- 1 消息类型设置
D7~D3 D2
0
0
0
0
11
D1
0
0
1
1
D0
0
1
0
1
RT-to-RT
Broadcast
消 息 类 型
BC-to-RT(如果 T/=0 )或者 RT-to-BC (如果 T/=1)
0
0
0
0
RT-to-RTs (Broadcast)
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
Mode Code
保留
Broadcast Mode Code
保留
3.1.3.2 BC消息描述符结构
typedef struct
{
WORD CmdWord1;
WORD CmdWord2;
WORD Datablk[32];
WORD StatusWord1;
WORD StatusWord2;
}MSG_DESCRIPTOR_STRUCT;
结构参数说明:
CmdWord1:命令字1
CmdWord2:命令字2,在RT-RT的消息类型时为发送命令字,此时命令字1就为接收命令字
Datablk: 消息的数据字
StatusWord1:状态字1
StatusWord2:状态字2,在RT-RT的消息类型时为接收状态字,此时状态字1为发送状态字
3.1.3.3 BC消息发送结构
typedef struct
{
CONTROL_WORD_STRUCT CtlWord;
MSG_DESCRIPTOR_STRUCT MsgBlock;
WORD Gap;
WORD Period;
WORD InitPeriod;
BOOL Run;
}SMSG_STRUCT;
结构参数说明:
CtlWord:BC控制字结构变量
MsgBlock:BC消息描述结构变量
Gap:消息间间隔,分辨率1μs
Period:消息发送周期,分辨率1ms(Period = 0,为事件消息;否则为周期消息)
InitPeriod:消息发送周期的初始值,单位1ms。可以调整消息运行的初始点
北京神州飞航科技有限责任公司
12
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
Run:消息的初始状态:
TRUE:在运行BC_Start函数后,本消息马上会被执行
FALSE:在运行BC_Start函数后,BC会跳过该消息,消息不会被执行,直到用户调用函数BC_MsgRunCtl来启动消息的执行。
3.1.3.4 BC消息接收结构
typedef struct
{
WORD BSW;
DWORD TimeTag;
MSG_DESCRIPTOR_STRUCT MsgBlock;
}RMSG_STRUCT;
结构参数说明:
BSW:Block Status Word,BC消息块状态描述字,详细说明请参照“消息块状态描述字”部分
TimeTag:时标,分辨率1μs;在非时标模式下,该项无意义,为0
MsgBlock:消息描述符结构变量,用来存放消息的命令字、状态字、数据字。
3.1.3.5 BC消息重试结构
typedef struct
{
BOOL Retry_IF_MSGErr;
BOOL Retry_IF_StatusSet;
}RETRY_CASE_STRUCT;
结构参数说明:
除了应答超时、格式错误(状态字地址错误,数据格式错误,同步字错误等)消息会重试外,
以下2种情况也可使消息重试:
Retry_IF_MSGErr:如果消息传输出错
Retry_IF_StatusSet:RT的状态字低11位被置位
3.1.3.6 BC消息重试通道选择
typedef struct
{
BOOL Alter_Chan_On_Retry1;
BOOL Alter_Chan_On_Retry2;
}RETRY_CHANNEL_SEL_STRUCT;
13
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
结构参数说明:
Alter_Chan_On_ Retry1:第一次重试改变通道
TRUE:如果消息第一次传输是在通道A,那么第一次重试改为B通道传输;
FALSE:不改变通道
Alter_Chan_On_ Retry2:第二次重试改变通道
TRUE:如果消息第一次传输是在通道A,那么第二次重试改为B通道传输;
FALSE:不改变通道
3.1.3.7 BC消息和帧处理当状态字置位
typedef struct
{
BOOL Stop_On_MSG;
BOOL Stop_On_Frame;
}STATUS_SET_STRUCT;
结构参数说明:
Stop_On_MSG:消息停止执行
TRUE:如果状态字中低11位某位被置位,在处理完本条消息后将停止消息处理
Stop_On_Frame:帧停止执行
TRUE:如果状态字中低11位某位被置位,在处理完本帧后将停止帧处理
3.1.3.8 BC消息处理当消息出错
typedef struct
{
BOOL MSG_STOP_ON_ERR;
BOOL FRAME_STOP_ON_ERR;
}STOP_ON_ERR_STRUCT;
结构参数说明:
MSG_STOP_ON_ERR:出错时,停止消息执行
TRUE:消息出错(包括字错误、帧格式错误、超时错误)时停止消息处理,但如果重试使能,那么先重试,重试还有错误再停止
FRAME_STOP_ON_ERR:出错时,停止帧执行
TRUE:在自动重发模式下,出错时消息帧停止
北京神州飞航科技有限责任公司
14
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
3.1.3.9 RT状态字设置
typedef struct
{
BOOL TerminalFlag;
BOOL SubSystemFlag;
BOOL ServiceReq;
BOOL Busy;
BOOL DBusCtl;
}RT_STATUS_WORD_STRUCT;
结构参数说明:
TerminalFlag:
如果该位为真,RT的状态字中的“Terminal Flag”位将会置1
SubSystemFlag:如果该位为真,RT的状态字中的“Subsystem Flag”位将会置1
ServiceReq:如果该位为真,RT的状态字中的“Service Request”位将会置1
Busy:如果该位为真,RT的状态字中的“Busy”位将会置1
DbusCtl:如果该位为真,RT的状态字中的“Dynamic Bus Control Acceptance”位将会置1
3.1.3.10 RT非法命令表结构
typedef struct
{
DWORD CmdTable[32][2][32];
}RT_Illegal_CMD_TABLE_STRUCT;
结构参数说明:
CmdTable[I][J][K]:一个三维的RT非法命令表,一维坐标I代表RT的地址,二位坐标J代表发送或接收位(J=0,代表接收 J=1,代表发送),三维坐标K代表RT的子地址。数组的值的定义如下:
BITS
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
15
DESCRIPTION
1:数据量为32的命令字非法 0:合法
1:数据量为01的命令字非法 0:合法
1:数据量为02的命令字非法 0:合法
1:数据量为03的命令字非法 0:合法
1:数据量为04的命令字非法 0:合法
1:数据量为05的命令字非法 0:合法
1:数据量为06的命令字非法 0:合法
1:数据量为07的命令字非法 0:合法
1:数据量为08的命令字非法 0:合法
1:数据量为09的命令字非法 0:合法
1:数据量为10的命令字非法 0:合法
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
Eg:CmdTable[3][1][20] = 0x00000001表示RT地址为3,RT的子地址为20,发送32个数据的命令为非法的。
1:数据量为11的命令字非法 0:合法
1:数据量为12的命令字非法 0:合法
1:数据量为13的命令字非法 0:合法
1:数据量为14的命令字非法 0:合法
1:数据量为15的命令字非法 0:合法
1:数据量为16的命令字非法 0:合法
1:数据量为17的命令字非法 0:合法
1:数据量为18的命令字非法 0:合法
1:数据量为19的命令字非法 0:合法
1:数据量为20的命令字非法 0:合法
1:数据量为21的命令字非法 0:合法
1:数据量为22的命令字非法 0:合法
1:数据量为23的命令字非法 0:合法
1:数据量为24的命令字非法 0:合法
1:数据量为25的命令字非法 0:合法
1:数据量为26的命令字非法 0:合法
1:数据量为27的命令字非法 0:合法
1:数据量为28的命令字非法 0:合法
1:数据量为29的命令字非法 0:合法
1:数据量为30的命令字非法 0:合法
1:数据量为31的命令字非法 0:合法
3.1.3.11 RT数据发送缓冲模式选择
typedef struct
{
BYTE TxMode[32][32];
}RT_TX_MODE_STRUCT;
结构参数说明:
TxMode[I][J]:一个二维的模式设置数组,数组的行坐标代表RT的地址,数组的列坐标代表RT的子地址,数组的值为模式设置位,取值0为单缓冲模式,此种模式下RT发送数据都从发送数据区起始点读取数据发送;取值1为循环缓冲模式,此种模式下RT顺序从发送区读取数据发送,直到发送数据区指针到达设定的边界时,发送指针自动回到起始位置继续读数用于发送。
Eg:TxMode[1][6] = 1表示RT地址为1,子地址为6的远程终端的发送采用循环缓冲的模式
北京神州飞航科技有限责任公司
16
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
3.1.3.12 MT命令字过滤表结构
typedef struct
{
DWORD Filter[32][2];
}MT_CMD_FILTER_TABLE_STRUCT;
结构参数说明:
Filter[I][J]:一个二维的命令字过滤表,数组的行坐标I代表待监测的远程终端地址,数组的列坐标代表发送或接收位(J=0:接收 J=1:发送),数组的值定义如下:
BITS
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
17
DESCRIPTION
1:方式代码被监测 0:不被监测,消息丢掉
1:子地址为01的远程终端被监测 0:不被监测,消息丢掉
1:子地址为02的远程终端被监测 0:不被监测,消息丢掉
1:子地址为03的远程终端被监测 0:不被监测,消息丢掉
1:子地址为04的远程终端被监测 0:不被监测,消息丢掉
1:子地址为05的远程终端被监测 0:不被监测,消息丢掉
1:子地址为06的远程终端被监测 0:不被监测,消息丢掉
1:子地址为07的远程终端被监测 0:不被监测,消息丢掉
1:子地址为08的远程终端被监测 0:不被监测,消息丢掉
1:子地址为09的远程终端被监测 0:不被监测,消息丢掉
1:子地址为10的远程终端被监测 0:不被监测,消息丢掉
1:子地址为11的远程终端被监测 0:不被监测,消息丢掉
1:子地址为12的远程终端被监测 0:不被监测,消息丢掉
1:子地址为13的远程终端被监测 0:不被监测,消息丢掉
1:子地址为14的远程终端被监测 0:不被监测,消息丢掉
1:子地址为15的远程终端被监测 0:不被监测,消息丢掉
1:子地址为16的远程终端被监测 0:不被监测,消息丢掉
1:子地址为17的远程终端被监测 0:不被监测,消息丢掉
1:子地址为18的远程终端被监测 0:不被监测,消息丢掉
1:子地址为19的远程终端被监测 0:不被监测,消息丢掉
1:子地址为20的远程终端被监测 0:不被监测,消息丢掉
1:子地址为21的远程终端被监测 0:不被监测,消息丢掉
1:子地址为22的远程终端被监测 0:不被监测,消息丢掉
1:子地址为23的远程终端被监测 0:不被监测,消息丢掉
1:子地址为24的远程终端被监测 0:不被监测,消息丢掉
1:子地址为25的远程终端被监测 0:不被监测,消息丢掉
1:子地址为26的远程终端被监测 0:不被监测,消息丢掉
1:子地址为27的远程终端被监测 0:不被监测,消息丢掉
1:子地址为28的远程终端被监测 0:不被监测,消息丢掉
1:子地址为29的远程终端被监测 0:不被监测,消息丢掉
1:子地址为30的远程终端被监测 0:不被监测,消息丢掉
1:方式代码被监测 0:不被监测,消息丢掉
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
3.1.3.13中断屏蔽寄存器结构
typedef struct
{
BOOL BC_MsgOver;
BOOL BC_STOP;
BOOL RT_RMsg;
BOOL RT_TMsg;
}INTERRUPT_MASK_REGISTER_STRUCT;
结构参数说明:
BC_MsgOver:BC消息结束中断使能位 TRUE:BC处理完一条消息时,将会触发一个中断
BC_STOP:BC消息出错停止中断使能位 TRUE:BC消息出错停止时,将会触发一个中断
RT_RMsg:RT接收到一条接收数据消息中断使能位 TRUE:RT接收到一条接收数据消息时,
将触发中断
RT_TMsg:RT接收到一条发送数据消息中断使能位 TRUE:RT接收到一条发送数据消息时,
将触发中断
3.1.3.14 RTC配置寄存器
typedef struct
{
BOOL BstRTCEn;
BOOL NonBstRTCEn;
WORD SubAddr;
}RTC_CFG_STRUCT;
结构参数说明:
BstRTCEn:RTC消息类型是否为BC到RT的广播消息
TRUE:BC到RT的广播消息为RTC消息类型
NonBstRTCEn:RTC消息类型是否为BC到RT的非广播消息
TRUE:BC到RT的非广播消息为RTC消息类型
SubAddr:用于RTC功能的消息命令字中子地址设置
3.1.3.15 板卡资源设置结构
typedef struct
{
DWORD MemBase;
DWORD Irq;
BYTE CardId;
北京神州飞航科技有限责任公司
18
BYTE IntLevel;
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
}RESOURCE_STRUCT;
结构参数说明:
MemBase:板卡的基地址,硬件上可通过基地址跳线J4来设置
Irq:板卡的中断号,硬件上可通过中断选择跳线J1来设置
IntLevel:选择中断触发边沿,取值范围0 ~ 3
0:低电平有效 1:上升沿有效 2:下降沿有效 3:高电平有效
CardId:板卡编号,取置范围0 ~ 3。当多块(不超过4块)AEC1553-PC104-FBC31RT/S5板卡同时插在同一台机器上时,用户可根据实际情况将板卡任意进行编号,板卡编号取值范围为0 ~ 3,但不同板卡的编号不要相同!
3.1.3.16 板卡句柄结构
typedef struct
{
HDEVICE hCard;
BYTE CardId;
} ST_DEVDSC, *HDEVICE;
3.2 驱动程序函数功能
本卡为单通道多功能1553数据通讯卡,每个通道具有1个BC、0 ~ 31个RT、1个MT。
函数功能主体分3类,分别是BC、RT和MT
3.2.1 BC
自动BC重试
重试通道可选
重试条件可设
重试次数可设:1 ~ 2次
支持单条消息的定时发送,分辨率1ms
消息间隔时间可设,分辨率1μs
中断和查询两种消息接收方式
支持消息的顺序读取和刷新读取
4K × 48 × 16bit数据空间
4K × 8 × 16bit命令字空间
中断方式下可缓存2000条最新消息
查询方式下最少可缓存80条最新消息
采用链表的方式来管理消息,可以动态插入消息
可修改运行中的BC待发送的数据字
3.2.2 RT
0~31个RT
19
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
非法命令表功能
单缓冲和循环缓冲数据发送方式,每个子RT的数据缓存可到4K × 16bit
循环缓冲数据接收方式,缓冲区大小:1M × 16bit
中断和查询两种消息接收方式
中断方式下可缓存128条发送数据消息及128条接收数据消息
查询方式下可缓存4K条发送数据消息及4K条接收数据消息
运行中可随时读取RT下的某个子RT接收到最新数据
RTC功能
3.2.3 MT
命令字过滤功能
采用循环缓冲接收数据
1M × 16bit的数据区
可缓存128K条最近监控到的消息
查询方式来接收数据消息
3.3 驱动程序函数接口说明
本节内容详细描述了API函数的调用原型,函数功能、参数说明和返回值。
3.3.1 M1553_Open
函数原型:BOOL __stdcall M1553_Open (HDEVICE *phM1553BF5, RESOURCE_STRUCT *res);
函数功能:找板卡,并分配板卡资源
参数说明:phM1553BF5:板卡句柄的指针
res:结构指针变量,存放板卡申请的资源
返回值: 若板卡打开成功,函数返回值为真;否则为假
3.3.2 M1553_Close
函数原型:BOOL __stdcall M1553_Close (HDEVICE hM1553BF5);
函数功能:关闭板卡,释放板卡资源
参数说明:hM1553BF5:板卡的句柄
返回值: 若板卡关闭成功,函数返回值为真;否则为假
3.3.3 M1553_Reset
函数原型:BOOL __stdcall M1553_Reset (HDEVICE hM1553BF5);
函数功能:板卡复位函数
参数说明:hM1553BF5:板卡的句柄
北京神州飞航科技有限责任公司
20
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
返回值: 若板卡复位成功,函数返回值为真;否则为假
板卡复位执行的操作为:
BC停止
所有RT不使能
MT不使能
时间标签模式不使能
BC消息到达标志被清除
BC两次重试不改变通道
BC重试不使能
BC消息在Message Error和RT 状态字低11位置位时不重试
RT 状态字低11位置位后BC消息和帧发送不停止
消息出错时BC消息和帧发送不停止
应答超时设置清零
RT非法命令表不使能
RT接收非法命令数据
所有的中断不使能
其余的设置保持不变
3.3.4 M1553_AddTimeTag
函数原型:BOOL __stdcall M1553_AddTimeTag (HDEVICE hM1553BF5, BYTE ChanNo, BOOL
Enable);
函数功能:启动或停止时间标签模式
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:时标模式使能位 TRUE:时标使能
返回值: 若时标模式设置成功,函数返回值为真;否则为假
3.3.5 M1553_SetResponseTimeout
函数原型:BOOL __stdcall M1553_SetResponseTimeout (HDEVICE hM1553BF5, BYTE ChanNo,
WORD TimeOut);
函数功能:设置应答超时
21
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
TimeOut:超时时间设置寄存器,分辨率0.5µS
返回值: 若设置成功,返回值为真;否则为假。
3.3.6 M1553_SetIntMaskReg
函数原型:BOOL __stdcall M1553_SetIntMaskReg (HDEVICE hM1553BF5, BYTE ChanNo,
INTERRUPT_MASK_REGISTER_STRUCT *IntReg);
函数功能:设置中断屏蔽寄存器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
IntReg:中断屏蔽寄存器结构指针变量
返回值: 若中断屏蔽寄存器设置成功,函数返回值为真;否则为假
3.3.7 M1553_SetEvent
函数原型:BOOL __stdcall M1553_SetEvent (HDEVICE hM1553BF5, BYTE ChanNo,
HANDLE hEvent);
函数功能:设置“BC_STOP”中断触发事件,板卡产生中断时,驱动将通过该事件来通知应用程序。
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
hEvent:“BC_STOP”中断事件句柄,由API函数CreateEvent产生
返回值: 若中断触发事件设置成功,函数返回值为真;否则为假
3.3.8 M1553_RTC_Cfg
函数原型:BOOL __stdcall M1553_RTC_Cfg (HDEVICE hM1553BF5, BYTE ChanNo,
RTC_CFG_STRUCT *pRTCCfg);
函数功能:设置实时时钟RTC配置寄存器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
PRTCCfg:RTC配置寄存器结构指针
返回值: 若实时时钟配置寄存器设置成功,函数返回值为真;否则为假
北京神州飞航科技有限责任公司
22
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
3.3.9 M1553_Set_RTC_Resolution
函数原型:BOOL __stdcall M1553_Set_RTC_Resolution (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE Resolution);
函数功能:设置RTC时间分辨率
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Resolution:RTC时间分辨率设置寄存器,单位1μs
返回值: 若RTC时间分辨率设置成功,函数返回值为真;否则为假
3.3.10 M1553_Get_RTC_Time
函数原型:__int64 __stdcall M1553_Get_RTC_Time (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:获取当前RTC计数器的值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为当前RTC计数器的值,低48位有效,分辨率可由函数
M1553_Set_RTC_Resolution设置
3.3.11 M1553_Set_RTC_Time
函数原型:void __stdcall M1553_Set_RTC_Time (HDEVICE hM1553BF5, BYTE ChanNo,
__int64 Time);
函数功能:设置当前RTC计数器的值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Time:当前RTC计数器的值,低48位有效,分辨率可由函数
M1553_Set_RTC_Resolution设置
返回值: 空
3.3.12 BC_Init
函数原型:BOOL __stdcall BC_Init (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:初始化总线控制器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
23
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
返回值: 如果总线控制器初始化成功,函数返回值为真;否则为假
3.3.13 BC_Retry
函数原型:BOOL __stdcall BC_Retry (HDEVICE hM1553BF5, BYTE ChanNo, BOOL Enable);
函数功能:BC重试使能
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:重试使能位 TRUE:使能BC重试
返回值: 若BC消息重试设置成功,函数返回值为真;否则为假
3.3.14 BC_SetRetryNum
函数原型:void __stdcall BC_SetRetryNum (HDEVICE hM1553BF5, BYTE ChanNo, BYTE Num);
函数功能:设置BC重试的次数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Num:BC重试次数设置 0 --- 重试1次 1 --- 重试2次
返回值: 空
3.3.15 BC_SetRetryCase
函数原型:BOOL __stdcall BC_SetRetryCase (HDEVICE hM1553BF5, BYTE ChanNo,
RETRY_CASE_STRUCT *Retry);
函数功能:设置BC重试的条件
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Retry:BC消息重试结构指针变量
返回值: 若BC消息重试的条件设置成功,函数返回值为真;否则为假
3.3.16 BC_RetryChanSel
函数原型:BOOL __stdcall BC_RetryChanSel (HDEVICE hM1553BF5, BYTE ChanNo,
RETRY_CHANNEL_SEL_STRUCT *ChanSel);
函数功能:设置BC重试通道选择
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
北京神州飞航科技有限责任公司
24
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
ChanSel:BC消息重试通道选择结构指针变量
返回值: 若BC消息重试通道选择设置成功,函数返回值为真;否则为假
3.3.17 BC_StopOnError
函数原型:BOOL __stdcall BC_StopOnError (HDEVICE hM1553BF5, BYTE ChanNo,
STOP_ON_ERR_STRUCT *Err);
函数功能:BC停止消息处理
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Err:结构指针,当RT状态字出现Message Error时,BC将停止消息或帧的处理
返回值: 若函数设置成功,返回值为真;否则为假
3.3.18 BC_OnStatusSet
函数原型:BOOL __stdcall BC_OnStatusSet (HDEVICE hM1553BF5, BYTE ChanNo,
STATUS_SET_STRUCT *Status);
函数功能:当RT STATUS_SET置为时,BC将停止消息或帧的处理功能设置
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Status:结构指针
返回值: 若函数设置成功,返回值为真;否则为假
3.3.19 BC_WriteMsg
函数原型:BOOL __stdcall BC_WriteMsg (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, SMSG_STRUCT *Msg);
函数功能:配置BC消息:包块消息块的控制字、命令字、数据字、消息间的间隔、消息的格式、消息的类型(周期消息和事件消息)及消息的周期等
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:消息的id号,从0开始编号,到4094结束。由于消息是顺序执行的,消息链表中的消息编号必须连续。并且事件消息和周期消息统一编号。消息链表必须有一个结束符。由函数BC_AddEndOfListFlag产生。
Msg:消息描述符结构变量
25
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
返回值: 如果MsgId或ChanNo取值超出范围,函数返回值为假;否则为真。
3.3.20 BC_AddEndOfListFlag
函数原型:BOOL __stdcall BC_AddEndOfListFlag (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId);
函数功能:添加消息链表结束符
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:结束符的位置,取值0 ~ 4095。
例:消息链表中最后一条消息的id为9,则消息结束符的id为10
返回值: 如果MsgId或ChanNo取值超出范围,函数返回值为假;否则为真。
3.3.21 BC_MsgRunCtl
函数原型:BOOL __stdcall BC_MsgRunCtl (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, BOOL Run);
函数功能:BC消息运行控制函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:消息的id号,从0开始编号,到4094结束。
Run:消息运行控制位:
TRUE--- 当BC已经开始运行时(BC的运行由函数BC_Start启动),该为置位会使消息编号为MsgId的消息开始执行
FALSE:当BC已经开始运行时(BC的运行由函数BC_Start启动),该位的清零会使消息编号为MsgId的消息不再执行
返回值: 如果参数MsgId超出范围,函数返回值为假;否则为真。
3.3.22 BC_GetMsgInfo
函数原型:BOOL __stdcall BC_GetMsgInfo (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, SMSG_STRUCT *Msg);
函数功能:获取消息链表中消息配置信息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
北京神州飞航科技有限责任公司
26
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
MsgId:消息id号,取值0 ~ 4094
Msg:消息描述符结构变量,存放消息的配置信息
返回值: 如果MsgId或ChanNo取值超出范围,函数返回值为假;否则为真。
3.3.23 BC_WriteDataBlock
函数原型:BOOL __stdcall BC_WriteDataBlock (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, BYTE WordCnt, WORD *DataBuf);
函数功能:修改运行中的BC发送的数据字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:消息id号,取值0 ~ 4094
WordCnt:要写入的数据字的数量,取值0 ~ 32
DataBuf:存放待写入的数据字
返回值: 如果MsgId或ChanNo取值超出范围或待修改的消息不是BC->RT的消息,函数返回值为假;否则为真。
3.3.24 BC_Start
函数原型:void __stdcall BC_Start (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:BC开始处理消息。当BC数据传输的过程中出错时,BC将自动停止。
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 空
3.3.25 BC_Stop
函数原型:void __stdcall BC_Stop (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:BC停止消息处理
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 空
3.3.26 BC_GetLastMsgId
函数原型:void __stdcall BC_GetLastMsgId (HDEVICE hM1553BF5, BYTE ChanNo,
WORD *MsgId);
27
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
函数功能:获取最近被处理消息的Id
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:存放消息id号
返回值: 空
3.3.27 BC_IsMSGOver
函数原型:BOOL __stdcall BC_IsMSGOver (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:查询BC是否有新消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果BC有新消息,函数返回值为真;否则为假
3.3.28 BC_GetMsgNum_Newly
函数原型:WORD __stdcall BC_GetMsgNum_Newly (HDEVICE hHC1553B2, BYTE ChanNo);
函数功能:查询BC新消息数目(用户还未来得及接收的新消息)
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回新消息的数目
本函数在中断和查询方式下均可使用
3.3.29 BC_GetMsgCnt_Total
函数原型:DWORD __stdcall BC_GetMsgCnt_Total (HDEVICE hHC1553B2, BYTE ChanNo);
函数功能:查询BC从板卡复位到目前处理的总的消息数(包括用户还未来得及接收的新消息)
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回消息的总条数
本函数仅在中断屏蔽寄存器中“BC_MsgOver”为TRUE时有效
3.3.30 BC_ReadNextMsg
函数原型:void __stdcall BC_ReadNextMsg (HDEVICE hM1553BF5, BYTE ChanNo,
WORD *MsgId, RMSG_STRUCT *Msg);
函数功能:用户按BC处理消息的先后顺序依次读取消息
北京神州飞航科技有限责任公司
28
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:输出参数,存放消息的id号
Msg:存放读取到的消息
返回值: 空
本函数在中断和查询方式下均可使用
3.3.31 BC_ReadLastMsg
函数原型:void __stdcall BC_ReadLastMsg (HDEVICE hM1553BF5, BYTE ChanNo,
WORD *MsgId, RMSG_STRUCT *Msg);
函数功能:用户读取BC最近处理的那条消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:输出参数,存放消息的id号
Msg:存放读取到的消息
返回值: 空
本函数在中断和查询方式下均可使用
3.3.32 BC_GetMsg_Refresh
函数原型:BOOL __stdcall BC_GetMsg_Refresh (HDEVICE hM1553BF5, BYTE ChanNo,
WORD MsgId, RMSG_STRUCT *Msg);
函数功能:用户指定消息id来读取BC消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
MsgId:输入参数,存放待读取消息的id号
Msg:存放读取到的消息
返回值: 如果消息号为MsgId的消息处理完毕,函数返回值为真;否则为假
本函数仅在中断屏蔽寄存器中“BC_MsgOver”为TRUE时有效
3.3.33 BC_ IsRunning
函数原型:BOOL __stdcall BC_IsRunning (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:获取BC运行状态
29
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果BC运行中,函数返回值为真;否则为假
3.3.34 RT_Init
函数原型:BOOL __stdcall RT_Init (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:初始化远程终端
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果远程终端初始化成功,函数返回值为真;否则为假
3.3.35 RT_TxMode
函数原型:void __stdcall RT_TxMode (HDEVICE hM1553BF5, BYTE ChanNo,
RT_TX_MODE_STRUCT *TxMode);
函数功能:设置数据发送的模式
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
TxMode:数据发送模式结构指针变量
返回值: 空
3.3.36 RT_Select
函数原型:BOOL __stdcall RT_Select (HDEVICE hM1553BF5, BYTE ChanNo,
DWORD RTEnable);
函数功能:RT使能函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTEnable:RT使能寄存器,定义如下:
数据位 描述
D0
1:地址为0的远程终端使能 0:不使能
D1
1:地址为1的远程终端使能 0:不使能
D2
1:地址为2的远程终端使能 0:不使能
D3
1:地址为3的远程终端使能 0:不使能
D4
1:地址为4的远程终端使能 0:不使能
北京神州飞航科技有限责任公司
30
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
1:地址为5的远程终端使能 0:不使能
1:地址为6的远程终端使能 0:不使能
1:地址为7的远程终端使能 0:不使能
1:地址为8的远程终端使能 0:不使能
1:地址为9的远程终端使能 0:不使能
1:地址为10的远程终端使能 0:不使能
1:地址为11的远程终端使能 0:不使能
1:地址为12的远程终端使能 0:不使能
1:地址为13的远程终端使能 0:不使能
1:地址为14的远程终端使能 0:不使能
1:地址为15的远程终端使能 0:不使能
1:地址为16的远程终端使能 0:不使能
1:地址为17的远程终端使能 0:不使能
1:地址为18的远程终端使能 0:不使能
1:地址为19的远程终端使能 0:不使能
1:地址为20的远程终端使能 0:不使能
1:地址为21的远程终端使能 0:不使能
1:地址为22的远程终端使能 0:不使能
1:地址为23的远程终端使能 0:不使能
1:地址为24的远程终端使能 0:不使能
1:地址为25的远程终端使能 0:不使能
1:地址为26的远程终端使能 0:不使能
1:地址为27的远程终端使能 0:不使能
1:地址为28的远程终端使能 0:不使能
1:地址为29的远程终端使能 0:不使能
1:地址为30的远程终端使能 0:不使能
未定义
返回值: 若RT使能成功,函数返回值为真;否则为假
3.3.37 RT_ClearTTagOnSync
函数原型:void __stdcall RT_ClearTTagOnSync (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
函数功能:RT在接收到不带数据的同步方式指令后时标寄存器清零
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:模式使能位 TRUE:使能该功能
返回值: 空
31
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
3.3.38 RT_LoadTTagOnSync
函数原型:void __stdcall RT_LoadTTagOnSync (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
函数功能:RT在接收到带数据的同步方式指令后,将命令中的数据加载到时标寄存器中作为初始值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:模式使能位 TRUE:使能该功能
返回值: 空
3.3.39 RT_Status_Set
函数原型:DLL BOOL __stdcall RT_Status_Set (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, RT_STATUS_WORD_STRUCT *StatusWord);
函数功能:设置RT的状态字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址,低5位有效
StatusWord:RT状态字设置结构指针变量
返回值: 若RT状态字设置成功,函数返回值为真;否则为假
3.3.40 RT_IllegalCmd
函数原型:BOOL __stdcall RT_IllegalCmd (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
函数功能:RT非法命令表使能函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:使能位 TRUE:使能非法命令表
返回值: 若RT非法命令表设置成功,函数返回值为真;否则为假
3.3.41 RT_RevIllegalData
函数原型:BOOL __stdcall RT_RevIllegalData (HDEVICE hM1553BF5, BYTE ChanNo,
BOOL Enable);
北京神州飞航科技有限责任公司
32
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
函数功能:RT非法指令接收数据使能
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Enable:使能位
TRUE:接收非法指令数据,将数据写入接收数据缓存,并将状态字中的消息差错位置位;对于发送数据指令RT只发送状态字(如果需要发送),且将状态字中的消息差错位置位,不发送数据。
FALSE:不接收非法指令数据,将状态字中的消息差错位置位
返回值: 若RT非法指令接收数据使能设置成功,函数返回值为真;否则为假
3.3.42 RT_SetIllegalCmdTable
函数原型:void __stdcall RT_SetIllegalCmdTable (HDEVICE hM1553BF5,
BYTE ChanNo, RT_Illegal_CMD_TABLE_STRUCT *CmdTable);
函数功能:RT非法指令表设置
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
CmdTable:指向RT非法命令表结构的指针
返回值: 空
3.3.43 RT_SetVectorWord
函数原型:void __stdcall RT_SetVectorWord (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, WORD VectorWord);
函数功能:设置矢量字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址
VectorWord:矢量字
返回值: 空
3.3.44 RT_SetBITWord
函数原型:void __stdcall RT_SetBITWord (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, WORD BITWord);
33
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
函数功能:设置自检字
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址
BITWord:自检字
返回值: 空
3.3.45 RT_SendMSG
函数原型:void __stdcall RT_SendMSG (HDEVICE hM1553BF5, BYTE ChanNo,BYTE RTAddr,
BYTE SubAddr, WORD MsgLen, WORD *Msg);
函数功能:RT发送数据函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:待发送数据的远程终端
SubAddr:待发送数据的远程终端的子地址
MsgLen:待发送数据字的数量,单缓冲模式下可发送数据字的数量最大为32;循环缓冲模式下可发送数据字的数量最大为4096
Msg:存放待发送的数据字,缓冲区的大小要能容纳所有待发送的数据
返回值: 空
3.3.46 RT_GetMsgNum_Rx_Newly
函数原型:WORD __stdcall RT_GetMsgNum_Rx_Newly (HDEVICE hHC1553B2,
BYTE ChanNo);
函数功能:查询RT接收到的接收数据消息的条数(用户还未来得及接收的新消息)
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为RT接收数据消息的条数
3.3.47 RT_GetMsgNum_Tx_Newly
函数原型:WORD __stdcall RT_GetMsgNum_Tx_Newly (HDEVICE hHC1553B2,
BYTE ChanNo);
函数功能:查询RT接收到的发送数据消息的条数(用户还未来得及接收的新消息)
北京神州飞航科技有限责任公司
34
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为RT发送数据消息的条数
3.3.48 RT_ReadMSG_Rx
函数原型:BOOL __stdcall RT_ReadMSG_Rx (HDEVICE hM1553BF5, BYTE ChanNo,
RMSG_STRUCT *Msg);
函数功能:读取RT接收到的接收数据消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Msg:存放接收到的接收数据消息
返回值: 如果RT接收到一条接收数据消息,函数返回值为真;否则为假
3.3.49 RT_ReadMSG_Tx
函数原型:BOOL __stdcall RT_ReadMSG_Tx (HDEVICE hM1553BF5, BYTE ChanNo,
RMSG_STRUCT *Msg);
函数功能:读取RT接收到的发送数据消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Msg:存放接收到的发送数据消息
返回值: 如果RT接收到了一条发送数据消息,函数返回值为真;否则为假
3.3.50 RT_Get_Newly_Rdata
函数原型:void __stdcall RT_Get_Newly_RData (HDEVICE hM1553BF5, BYTE ChanNo,
BYTE RTAddr, BYTE SubAddr, BYTE *WordCnt, WORD *DataBuf);
函数功能:在中断方式下,获取RT接收数据消息接收到的最新的数据
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
RTAddr:RT的地址,取值0 ~ 31
SubAddr:RT的子地址,取值0 ~ 31
WordCnt:存放接收到的数据量,最多32个1553数据。若没有新数据,数据量为0
DataBuf:存放读取到的数据
35
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
返回值: 空
3.3.51 RT_Get_Delta_Time
函数原型:__int64 __stdcall RT_Get_Delta_Time (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:获取当前RT中的RTC计数值与1553网络中的BC实时时钟计数器的差值
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 函数返回值为时间差值,分辨率可由函数M1553_Set_RTC_Resolution设置,低48位有效
时间差值 = BC当前RTC计数值 - RT当前RTC计数值
3.3.52 MT_Init
函数原型:BOOL __stdcall MT_Init (HDEVICE hM1553BF5, BYTE ChanNo);
函数功能:初始化总线监视器
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: 如果总线监视器初始化成功,函数返回值为真;否则为假
3.3.53 MT_SetCmdFilterTable
函数原型:void __stdcall MT_SetCmdFilterTable (HDEVICE hM1553BF5,
BYTE ChanNo, MT_CMD_FILTER_TABLE_STRUCT *FTable);
函数功能:设置待监测的消息
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
FTable:命令字过滤表结构指针
返回值: 空
3.3.54 MT_Start
函数原型:BOOL __stdcall MT_Start (HDEVICE hM1553BF5, BYTE ChanNo, BOOL Enable);
函数功能:使能MT,并开始工作
参数说明:hM1553BF5:板卡的句柄
北京神州飞航科技有限责任公司
36
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
ChanNo:通道号,取值0
Enable:使能位 TRUE:使能MT
返回值: 若MT使能成功,函数返回值为真;否则为假
3.3.55 MT_GetMsgNum_Newly
函数原型:DWORD __stdcall MT_GetMsgNum_Newly (HDEVICE hHC1553B2, BYTE ChanNo);
函数功能:查询MT最新消息数目
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
返回值: MT最新消息数目
3.3.56 MT_ReadMSG
函数原型:BOOL __stdcall MT_ReadMSG (HDEVICE hM1553BF5, BYTE ChanNo,
RMSG_STRUCT *Msg);
函数功能:MT消息读取函数
参数说明:hM1553BF5:板卡的句柄
ChanNo:通道号,取值0
Msg:存放监测到的消息
返回值: 如果MT监测到消息,函数返回值为真;否则为假
37
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
3.4 驱动程序函数调用步骤
3.4.1打开板卡
调用函数M1553_Open来找板卡,并分配板卡资源
3.4.2复位板卡
调用函数M1553_Reset来复位板卡到一个初始状态
3.4.3初始化板卡
1、 启动或停止时间标签模式(M1553_AddTimeTag)
2、 设置应答超时(M1553_SetResponseTimeout)
3、 设置RTC配置字(M1553_RTC_Cfg)
4、 设置中断触发事件
a) 用户创建中断事件(CreateEvent,标准API函数)
b) 设置中断触发事件(M1553_SetEvent)
3.4.4 BC模式
3.4.4.1 初始化
1、 BC初始化(BC_Init)
2、 BC重试
a) 设置BC重试的次数(BC_SetRetryNum)
b) 设置BC重试的条件(SetRetryCase)
c) 设置BC重试的通道(BC_RetryChanSel)
3、 设置消息出错时,BC消息处理(BC_StopOnError)
4、 设置RT状态字置位时,BC消息处理(BC_OnStatusSet)
3.4.4.2 消息发送
1、 配置BC消息链表(BC_WriteMsg),当消息链表结束时,添加消息链表结束符(BC_AddEndOfListFlag)
2、 启动BC(BC_Start)
在BC运行的过程中,调用函数BC_MsgRunCtl可以控制消息的执行与否
3.4.4.3 消息接收
查询的方式
北京神州飞航科技有限责任公司
38
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
1、 判断BC消息传输是否结束(BC_IsMSGOver)或查询BC最新消息数目(BC_GetMsgNum_Newly)
2、 若BC消息结束或BC最新消息数目不为0,则读取消息(BC_ReadNextMsg)
3、 重复以上2步
中断的方式
1、 设置中断屏蔽寄存器(M1553_SetIntMaskReg)中的BC_MsgOver位(此时驱动程序将会按中断的方式接收消息,并将消息进行缓存)
2、 读取消息
1) 顺序读取消息
判断是否产生中断(BC_IsMSGOver或BC_GetMsgNum_Newly),若产生中断,调用函数BC_ReadNextMsg顺序读取消息
2) 读取最新消息
判断是否产生中断(BC_IsMSGOver或BC_GetMsgNum_Newly),若产生中断,调用函数BC_ReadLastMsg读取最新消息
3) 刷新方式读取消息
直接调用函数BC_GetMsg_Refresh来读取消息
3、 重复2
3.4.4.4 获取消息链表的配置信息
调用函数BC_GetMsgInfo可获取消息块的配置
3.4.4.5 改变运行中消息的数据
调用函数BC_GetLastMsgId来获取刚被BC执行的消息的id,以确定BC执行的位置,在不会产生冲突的情况下,调用函数BC_WriteDataBlock来修改消息的数据。
3.4.4.6 插入消息
调用函数BC_WriteMsg可以动态的改变消息链表。在改变消息链表后,一定要添加链表结束符。
3.4.4.7 获取BC的运行情况
查询的方式
调用函数BC_IsRunning可获取BC是否在运行中
中断的方式
39
北京神州飞航科技有限责任公司
AEC1553-PC104-FBC31RT/S5 用户手册
第三章 驱动程序编程接口
1、 设置中断屏蔽寄存器(M1553_SetIntMaskReg)中的BC_STOP位
2、 判断是否产生中断(WaitForSingleObject,标准API函数),若产生中断,则说明BC出错停止了
3、 重复2
3.4.5 RT模式
1、 RT初始化(RT_Init)
2、 设置RT数据发送模式(RT_TxMode)
3、 清置时标
a) 清除时标(RT_ClearTTagOnSync)
b) 重新装载时标(RT_LoadTTagOnSync)
4、 RT状态字设置(RT_Status_Set)
5、 RT非法命令设置
a) 启动或停止RT非法命令表模式(RT_IllegalCmd)
b) 若启动了RT非法命令表模式,则设置是否接收非法命令的数据(RT_RevIllegalData)及RT非法命令表(RT_SetIllegalCmdTable)
6、 设置矢量字(RT_SetVectorWord)
7、 设置自检字(RT_SetBITWord)
8、 RT使能(RT_Select)
9、 发送数据消息(RT_SendMSG)
10、 接收数据消息
接收接收数据消息
中断的方式
a) 中断屏蔽寄存器(M1553_SetIntMaskReg)中的RT_RMsg置位(此时驱动程序将会按中断的方式接收消息,并将消息进行缓存))
b) 调用函数RT_GetMsgNum_Rx_Newly来获取中断的次数,然后调用函数RT_ReadMSG_Rx读取接收到的接收数据消息
c) 重复b
查询的方式
调用函数RT_GetMsgNum_Rx_Newly来获取新消息的条数,然后调用函数RT_ReadMSG_Rx读取接收到的接收数据消息
北京神州飞航科技有限责任公司
40
第三章 驱动程序编程接口 AEC1553-PC104-FBC31RT/S5 用户手册
接收发送数据消息
中断方式
a) 中断屏蔽寄存器(M1553_SetIntMaskReg)中的RT_TMsg置位(此时驱动程序将会按中断的方式接收消息,并将消息进行缓存)
b) 调用函数RT_GetMsgNum_Tx_Newly来获取中断的次数,然后调用函数RT_ReadMSG_Tx读取接收到的接收数据消息
c) 重复b
查询方式
调用函数RT_GetMsgNum_Tx_Newly来获取新消息的条数,然后调用调用函数
RT_ReadMSG_Tx读取接收到的发送数据消息
3.4.6 MT模式
1、 初始化MT(MT_Init)
2、 设置MT待监控的消息(MT_SetCmdFilterTable)
3、 MT使能(MT_Start)
4、 获取新消息的数目(MT_GetMsgNum_Newly)
5、 读取消息(MT_ReadMSG)
6、 重复4 ~ 5步
3.4.7关闭板卡
应用程序退出时,请复位板卡(M1553_Reset),并关闭板卡(M1553_Close)
41
北京神州飞航科技有限责任公司