一种1553B总线远程终端的即插即用的设计

2018-07-04 02:56良庆
计算机测量与控制 2018年6期
关键词:寄存器测控实例

,良庆

(1.中国科学院 国家空间科学中心,北京 101499; 2.中国科学院大学,北京 100049)

0 引言

即插即用是指当一个即插即用设备接入系统时,不需要外部配置过程,可以在运行过程中动态地由系统进行检测和配置的能力[1]。

地面即插即用的应用主要集中在设备级,而设备接入后的系统应用取决于上层应用和人的操作。当即插即用技术用于航天工程领域时,其内涵发生了变化,从单纯的设备级的识别扩展到功能和服务的层次。这种变化主要是由于在地面使用即插即用设备时,只要设备能够被系统识别和连接,后续的应用就可以交由使用者来决定。但是航天器上层应用的智能化程度较低,在设备连入系统后,其使用者只能是更高层次的应用,以及这些应用背后的地面用户。因此还需要解决应用功能和服务的即插即用问题,才能够发挥其作用。

目前航天器系统主要使用接口控制文件(interface control document,ICD)的形式进行接口描述和协调,而电子数据单(Electronical Data Sheet,EDS)技术的目的是取代这种方式,供系统自动识别EDS描述的部件信息,并根据其完成对接入部件的自动配置过程,从而实现即插即用。因此EDS的设计是实现即插即用的关键技术之一。

即插即用技术主要的应用场景可以是地面系统集成测试过程,在轨飞行任务过程中的各组成部分的分离和对接应用,以及空间星座、编队、组网等应用场景下的不同组成节点之间的动态接入和撤出过程。

1 即插即用技术和EDS

EDS是一种机器可读的数据表单,可以描述一个设备、软件组件或协议的一些细节[2]。EDS的典型代表有IEEE1451标准协议族的变换器EDS(Transducer EDS,TEDS),空间数据系统咨询委员会(Consultative Committee for Space Data System,CCSDS)的航天器接口业务(Spacecraft Onboard Interface Service,SOIS)的SEDS(SOIS EDS)和美国空军实验室(Air Force Research Laboratory, AFRL)的空间即插即用架构(Space Plug-and-Play Architecture,SPA)的xTEDS(eXtensible TEDS)。

IEEE1451.2-1997标准[3-4]规定了关于变换器与微处理器通信协议和TEDS,介绍了智能变换器接口模块(Smart Transducer Interface Module,STIM)的概念。变换器可以是传感器、执行器等,STIM是一种用于连接变换器到微处理器的数字接口,使制造商生产的变换器可以连接到多种网络中,并具有“即插即用”特性。STIM可以连接一个单独的传感器或执行器,也可以同时连接拥有众多通道的多个变换器,描述变换器信息的TEDS保存在STIM中。

CCSDS的SOIS架构旨在规范航天器数据系统的设计和开发,按照分层协议的思想定义了一系列的分层业务,并采纳了即插即用的设计思想,定义了SEDS,用于描述设备的元数据,设备特定功能和获取接口、设备特定获取协议DSAP,以及设备抽象控制程序DACP[2]。

AFRL在2004年发起了一套新的航天器标准的合作开发,把计算机工业中所拥有的即插即用技术应用于航天工程。AFRL在2007年公布了空间即插即用电子设备(space plug and play avionics, SPA)标准[5]。SPA网络一般由星载计算机、 嵌入式传感器接口模块(Appliqué Sensor Interface Modules , ASIMs)和路由器等组成[6],如图1所示。

图1 SPA网络模型

USB标准在计算机领域广泛采用。一个完整的USB设备是集成了USB接口芯片和其它离散组件的一块印制线路板。借鉴USB标准,AFRL对SPA ASIM设备的定义是:带有SPA接口的,集成了陀螺仪、推进器或反作用飞轮等航天器部件的一块印制线路板[7]。

xTEDS是SPA参考IEEE 1451的TEDS概念而提出的。在一个SPA系统中所使用的每一个硬件设备或软件应用都必须携带一个自我描述的xTEDS,这个xTEDS能够完整地把组件(设备或应用程序)解释给系统[8]。ASIM将描述设备的xTEDS存储在非易失性存储器中,当即插即用设备插入到SPA网络中时,ASIM将xTEDS上传给系统计算机。

2 龙芯1F芯片通用接口设计

龙芯1F(LS1F)[9]是龙芯1E处理器的配套IO桥芯片,其上集成了航天领域常用的测控接口和外围接口以替代FPGA的使用,满足了航天领域对核心芯片自主化的需求,其体系结构如图2所示 。

图2 增加SPA接口的LS1F体系结构

LS1F分为PCI总线设备模式、ISA总线设备模式、自主模式、1553B总线简易终端设备模式,分别表示连入系统主机的接口方式。可以桥接的设备端接口包括:CAN接口、AD接口、OC接口、PCM测控接口、脉冲计数器PPC、PWM接口、UART、GPIO等。

MIL-STD-1553B是数字式时分命令/响应型多路传输数据总线美国军方标准。1553B总线包括总线控制器(Bus Controller, BC),总线监视器(Bus Monitor,BM),远程终端(Remote Terminal, RT)3种类型的通信终端。1553B总线简易终端模式下,1553B总线控制器通过总线通信方式可以对LS1F内部的寄存器进行直接配置。

参考文献[9]的研究工作主要是1553B简易终端和测控接口的设计与验证。RT通过接收子地址9接收BC传来的一个数据字,依之选择并读取一个接口的寄存器值,然后再通过RT发送子地址9发送给BC。例如当数据字为0时,表示读取AD的寄存器。数据字取值与各个接口的对应关系如表1所示:

表1 接收子地址9数据字与各个接口的对应关系

RT通过不同接收子地址接收BC传来的数据字,对各个接口控制逻辑进行初始化参数设置。例如通过接收子地址10对AD采集控制逻辑的初始化参数设置,如表2所示,包括预分频系数(fdiv_para)、本次采集所用的通道数(channel_amount)、输出信号的周期(period)等共计11个寄存器。

表2 AD采集接口初始化参数列表

采用同样的方法,可实现对OC、PWM、PPC、PCM控制逻辑等接口的配置。

3 SPA接口与应用EDS的设计

3.1 增加SPA即插即用接口的设计思路

上节介绍的LS1F芯片通用接口在应用时,可以由BC直接通过RT对接入设备进行访问和控制,从而简化和实现了RT的标准化接口功能的设计。但是这种设计需要BC对RT的设置,以及通过RT接入的设备使用的接口配置事先已知,从即插即用角度看,属于需要BC“全知全能”的系统设计,仍然需要BC与RT以及接入设备之间事先的接口协调过程。

为了增强即插即用的自动识别和自动配置的特征,借鉴SPA的ASIM将描述设备的xTEDS存储在非易失性存储器的思路,对LS1F芯片通用接口增加了SPA接口设计(见图2)。在LS1F片外增加EEPROM,用于存储xTEDS,SPA接口负责读取,其内部功能框图参见图3。SPA接口需要解决2个问题,一是xTEDS的应用设计,二是xTEDS的实例化设计。

图3 SPA接口功能框图

xTEDS的应用设计方面,各个接口的配置信息形成的xTEDS事先存储在EEPROM中,内容包括1553B简易终端配置EDS和应用接口EDS。在上电初始化时,SPA接口模块将xTEDS读出,并依之完成对LS1F各个接口以及1553B简易终端接口的配置。再通过各个配置寄存器读取配置的结果,将其组织成1553B EDS和应用EDS。然后按照1553B总线即插即用通信协议的握手关系,先将1553B EDS发送给BC,由BC负责自动完成对RT 1553B总线通信的配置,并建立正常的通信关系。如果需要,RT再将应用EDS传给BC,从而实现BC对RT及其接入设备的功能级的接口自动识别和应用。

按照这一应用设计,SPA接口完成的工作包括如下过程:

1)从EEPROM中读取xTEDS数据;

2)根据xTEDS数据配置各测控接口;

3)读取测控接口各寄存器配置完成后的值;

4)生成应用EDS和1553B通信层EDS;

5)按照1553B总线即插即用协议将EDS发送给BC,由BC完成系统级配置过程。

xTEDS的实例化设计方面,每一个接口都有若干寄存器需要配置,将这些寄存器划分为名称、地址、数据类型和数值4种属性,使用可扩展标示语言(eXtensive Markup Language,XML)进行描述。

3.2 1553B远程终端xTEDS文档结构图

根据参考文献[10]中的“标准xTEDS文档结构图”,结合参考文献[9],提出“1553B远程终端xTEDS文档结构图”,如图4所示。

图4 1553B远程终端xTEDS文档结构图

其中Interface元素描述了1553B远程终端需要什么数据以及可以提供什么数据。Interface元素包括三个子元素:Notification元素、Command元素、Request元素。Notification元素描述了RT要通知BC的关于子地址定义的数据(见第4节),Command元素描述了BC要发送给RT的对测控接口的命令数据。这三个子元素又通过各自的子元素来描述。Command元素包括了CommandMetaMsg和若干CommandMsg子元素。CommandMetaMsg描述了各个接口的xTEDS组成关系,每一个CommandMsg对应一个接口的xTEDS。

CommandMsg元素由若干Variable元素组成。每一个Variable元素包含name、address、dataType、Value四种属性,分别代表某一接口的寄存器名、寄存器地址、寄存器数据类型和寄存器值。

3.3 测控接口xTEDS模板

按照图4的结构,根据各个测控接口的初始化配置,可以定义元描述xTEDS,并编辑形成各个接口的xTEDS。然后在此基础上,转换成“应用EDS”的格式。

3.3.1 元描述测控接口xTEDS

CommandMetaMsg中CommandMsg name是各个测控接口的名称, 供人工可读,CommandMsg id用来标识各个接口,供机器可读。CommandMsgVarAmount用来表示各个接口所含有的Variable元素的数量。元描述测控接口包括AD采集接口、OC门脉冲输出接口、PCM测控接口、PPC输入接口、PWM输出接口等,其xTEDS模板的实例设计如下:

< CommandMsg name=" OC control " id="2 " VarAmount="5 "/>

< CommandMsg name=" PCM interface " id="3 " VarAmount="4 "/>

< CommandMsg name=" PPC " id="4 " VarAmount="3 "/>

< CommandMsg name=" PWM control " id="5 " VarAmount="5 "/>

3.3.2 AD采集接口 xTEDS模板

CommandMsg中,name是AD接口的寄存器名称,与表2中的内容相对应。address是相应的寄存器的地址;dataType是寄存器数据类型;Value是寄存器的值。此处Value都用“?”表示,可根据具体的初始化配置信息填入,生成对应的xTEDS实例,因此可称为xTEDS模板。AD接口的xTEDS模板的实例设计如下:

其他应用接口的xTEDS模板的实例设计与此类似。

3.4 应用EDS包

在所有应用接口的xTEDS实例编辑完成后,可通过转换工具转换为应用EDS。转换工具负责解析XML编辑的xTEDS文档内容,将提取的信息组织成应用EDS,使之可以烧录入EEPROM。

应用EDS的组织采用CCSDS空间包格式[11],由包主导头和包数据域两部分组成,如图5所示。其中包数据域中的源数据包括接口描述和接口内容两部分。接口描述内容对应CommandMetaMsg的EDS实例。接口内容占用可变长度,对应某个测控接口的EDS内容。

图5 应用EDS包

图6中接口描述包含CommandMetaMsg的元标识、CommandMsg Id、VarAmount三部分。

1)元标识:16bit,取值0xEFEF。

2)CommandMsg Id:8bit,用来标识各个接口。例如AD、OC、PCM、PPC、PWM 等接口。

3)VarAmount:8bit,用来表示各个接口所含有的Variable元素的数量。本文中AD接口的Variable元素数量最多,共有11个元素。

接口内容包含标识、应用EDS两部分。标识表示接口实例,固定为0xABAB,占用16bit。应用EDS描述测控接口的初始化配置信息,占用的字节数为12Byte×VarAmount。

图6 源数据

如图7所示,应用EDS分为name、address、dataType、value四部分。

1)name:16bit,某个测控接口的寄存器名。前8bit是测控接口CommandMsg Id,后8bit表示具体的寄存器名称。通过这种方式,每个name所代表的寄存器具有唯一性、确定性。

2)address:32bit,寄存器的地址。这是因为龙芯1F中测控接口的寄存器地址都是32位的。

3)dataType:16bit,寄存器数据类型,例如INT、UNIT、Float等以及自定义类型的编码。

4)value:32bit,寄存器的值。这是因为龙芯1F中测控接口需要进行初始化的寄存器都是32bit的。

图7 应用EDS内容格式

4 1553B通信EDS的设计

1553B总线通信的EDS目的是描述RT方所需的传输消息,子地址定义,以及矢量字服务请求关系。因此EDS的内容主要包括矢量字定义和子地址定义2部分,如图8所示。

图8 1553B通信EDS格式

1)矢量字标识:16bit,固定为0xEDED;

2)矢量字mask:16bit,按照高位到低位顺序排列,其中位Dx=1表示使用该位的服务请求,Dx=0表示该位不使用。

3)矢量字定义数据域:16byte,表示子地址与服务请求位的对应关系。对应矢量字16bit定义(D0~D14。D15固定为EDS,不可变),按照从高位到低位的顺序,以字节为单位排列。如果矢量字Dx=1,则第x个字节有效,其低6bit有效,为T/R+子地址号,高2bit为0。如果矢量字Dx=0,则第x个字节无效(但保留位置,设置为全1)。

4)子地址域标识:16bit,固定为0x1212;

5)T子地址mask和R子地址mask:各32bit,按照高位到低位顺序排列(31~0),其中位Dx=1/0表示使用/不使用该位对应的子地址。

6)T子地址定义和R子地址定义各包括32个子地址的定义,每个子地址定义2个16bit,按照先T子地址后R子地址、子地址号从31~0的顺序排列。如果该子地址不使用,则设置为全0。

子地址定义中的第1个字定义如图9所示。

图9 子地址定义中的第1个字

1)消息类型:5bit,消息类型编码。如果该子地址不使用,则此6bit全0。

2)U/D:1bit,指该消息缺省是上线(1)还是不上线(0)。一般情况下缺省为0,如果缺省是1,则消息安排好后,将无条件周期运行,除非后来主动下线。

3)连续传输的消息数:4bit,指该子地址消息由几条连续消息组成。单消息为1,全0表示16条。

4)数据字个数:5bit,全0表示32个字。

子地址定义的第2个字表示该消息期望的传输时间最小间隔,单位ms。

Notification元素包含若干DataMsg元素(见图3),每个DataMsg元素对应一个子地址定义xTEDS实例,示例如下:

dataWord是数据字个数,由于每个寄存器取值均为32bit,因此其值是由CommandMetaMsg中VarAmount乘以2得到,例如AD的VarAmount是11,表示AD有11个Variable元素,对应11个寄存器,则AD的dataWord就是22。

5 小结

本文研究了IEEE的1451.2 TEDS,CCSDS的SOIS EDS,AFRL的SPA xTEDS,基于已有的LS1F通用接口芯片的设计,增加了SPA接口模块,以增强该接口芯片即插即用的自动识别和自动配置特征,并引入如下应用设计:

1)LS1F通用接口芯片的具体配置情况可以由连入的设备自行定义,形成自描述xTEDS,并保存在EEPROM中,而不需要事先与系统主机之间进行接口协调。

2)生成的xTEDS可以分为1553B通信EDS、应用EDS,以及根据需要划分的更多层次的EDS设计,从而支持与连入系统之间的不同层次业务之间的端到端即插即用服务。

3)LS1F通用接口芯片的1553B总线接口需要遵守与系统主机BC之间交换EDS的握手协议,但是可以维持其原有的正常通信协议,由BC方自动识别并配置协议,从而也增强了系统即插即用的能力。这一点可以供LS1F其它与系统主机连接接口的即插即用设计借鉴。

参考文献:

[1] 尤 政,田贺祥,李 滨,等. 微小卫星综合电子系统中的即插即用技术[J]. 清华大学学报(自然科学版),2009,49(11):1765-1769.

[2] CCSDS 876.1-R-2. Spacecraft Onboard Interface Services-Specification for Dictionary of Terms for Electronic Data Sheets[S]. Washington, DC,USA: CCSDS Secretariat, 2016,1-9.

[3] IEEE Standards Board. IEEE Standard for a Smart Transducer Interface for Sensors and Actuators-Transducer to Microprocessor Communication Protocols and Transducer Electronic Data Sheet(TEDS)Formats[S]. USA: the Institute of Electrical and Electronics Engineers, 1997,1-97.

[4] 刘建园.基于IEEE1451.2智能传感器研究与设计[D].秦皇岛:燕山大学,2009,1-24 .

[5] Slane F A, Hooke A J. Space plug and play avionics standards: progress, problems and a view of the future[A]. Rohnert Park, California : AIAA Infotech@Aerospace[C]. 2007,1-5.

[6] Walker W L, Manning W J, McFarland C D, et al. Performance characterization of a space plug-and-play avionics appliqué sensor Interface Module[A]. St.Louis,Missouri : AIAA Infotech@Aerospace[C]. 2011:1-3.

[7] Lyke J Space-plug-and-play avionics(SPA):a three-year progress report[A]. Rohnert Park, California : AIAA Infotech@Aerospace[C]. 2007,1-9.

[8] Lanza D L, Vick R W, Lyke J C. The space plug-and-play avionics common data dictionary-constructing the language of SPA[A]. Atlanta , Georgia: AIAA Infotech@Aerospace[C]. 2010,1-3.

[9] 方青文.航天专用数据采集和状态控制ASIC设计与验证[D].北京:中国科学院大学,2013,1-46.

[10] 邹吉炜.空间即插即用电子系统关键技术研究[D].哈尔滨:哈尔滨工业大学,2015.

[11] 谭维炽,顾莹琦.空间数据系统[M].北京:中国科学技术出版社,2004.

猜你喜欢
寄存器测控实例
昆山祺迈测控设备有限公司
Lite寄存器模型的设计与实现
基于FPGA的LFSR结构伪随机数发生器的实现*
移位寄存器及算术运算应用
基于现代测控技术及其应用分析
虚拟仪器技术在农业装备测控中的应用
向着新航程进发——远望7号测控船首航记录
完形填空Ⅱ
完形填空Ⅰ