设备接口设计论文

2022-04-15

摘要:本文描述了一种基于FPGA实现电气系统与对接设备电气接口、通信接口、模拟量接口等的系统设计。从硬件平台组件,逻辑控制、软件设计三个方面进行说明。详细介绍了任务悬挂物投放允许等接口设计方法,满足了接口对接要求。今天小编给大家找来了《设备接口设计论文(精选3篇)》,仅供参考,大家一起来看看吧。

设备接口设计论文 篇1:

光缆检测系统中的USS设备接口设计

摘要:把CY7C68013成功用于光缆检测系统中,实现了标准的USB接口。该接口实现了标准的USB1.1和USB2.0协议。

关键词:光缆检测;USB;接口;CY7C68013

引言

随着人们对通信的要求越来越高,光通信以其独特的优势而越来越普及,与此同时光缆检测也变得非常重要,为适应对预设光缆线路的可用状态实时监测和管理需求,要求光缆线路监测系统能够对预设通信光缆进行拓扑管理、告警管理、统计分析管理、安全管理、资源管理和系统自维护。

光缆检测系统和计算机之间的接口设计是该系统的一个重要组成部分。RS-232接口曾经取得过巨大成功,但是随着计算机与外围设备的发展,RS-232串行端口逐渐成为通信的瓶颈。而USB则突破原有接口的限制,不仅具备较高的通信速率,而且其弹性化设计可以取代各种外围设备所使用的接口,在计算机外围接口中也占据着越来越明显的优势。

Cypress公司的CY7C68013芯片内部是增强型51单片机,控制简单,并实现了标准的USB1.1和USB2.0协议,而且成本较低,用于光缆检测系统是一个很好的选择,然而,其实现架构较为复杂。本文重点分析和讨论了其固件程序、驱动程序等开发过程,实践表明,本文的方法达到了预期设计目的,效果较好。

光缆检测系统

图1是光缆线路检测硬件模块框图,由DTE接口单元、主控处理单元和PSTN接口单元组成。

DTE接口单元:提供了RS-232接口,USB接口。USB符合1.1和2.0协议。

主控处理单元:是系统的核心模块。主要功能为:从DTE接口单元接收命令,并通过调制解调后发送到远端监测站;从PSTN接口接收远端监测站的信号,解调后发送到DTE。

PSTN接口单元:提供了分别用于轮询和中断两路PSTN标准接口。

本文采用从底层到上层的结构来叙述如何使USB设备完成光缆检测系统和计算机之间数据传输的基本功能。

USB设备接口设计

USB设备接口设计主要包含两方面的内容:USB芯片和光缆检测系统之间的接口;USB芯片和计算机之间的接口设计。其中USB芯片和光缆检测系统之间的接口可分为固件配置程序设计和接口时序设计;USB芯片和计算机之间的接口可分为驱动程序设计以及驱动程序和应用程序之间的通信。

固件配置程序

USB传输类型包括中断传输(interrupt)、批量传输(bulk)、等时传输(iso)、控制传输(control)四种类型,四种类型的相关特性:数据最大长度、数据周期性、发生错误是否重传、可得到的最大带宽等都存在较大区别。根据光缆检测系统和计算机之间数据交互的特点,CY7C68013被配置为slave、异步、bulk模式。图2是固件程序的框架结构,只完成数据读写的功能,不对数据进行任何处理。

要实现最基本的数据读写功能只需要在TD_Init函数中进行配置,由于篇幅原因这里仅列举比较重要的一些寄存器的配置情况(表1)。

这里仅仅配置了端点2和端点6,端点2配置为写设备地址,端点6配置为读设备地址,两个端点都设置为4个缓冲区,缓冲区大小设置为512bytes,两个端口都设置为自动方式,这样设置可以使得读写数据非常方便,大大减少开发时间和复杂性。

接口时序设计

异步slavefifo写时序设计

外部主控器进程如下:

IDLE:当写事件发生时,转到状态1。

状态1:指向IN FIFO,激活FIFOADR[1:O],转向状态2。

状态2:如果FIFO满标志为1(1:FIFO不满;0:FIFO满),则转向状态3,否则停留在状态2。

状态3:传送总线驱动数据。传送一个数据,激活SLWR,转向状态4。

状态4:如果有更多的数据要写,则转向状态2,否则转向IDLE。

实现异步从属FIFO读和实现异步从属FIFO写大同小异,这里不再赘述。

驱动程序设计

驱动程序设计主要包括驱动程序设计、用来安装驱动程序的inf文件设计。Cypress公司为了使用户使用简单,已经完成了大部分工作,用户只需要对其驱动程序和inf文件作一些必要的修改就可以实现需要的功能。用户可以去掉Cypress公司提供的部分不需要的功能,同时需要对USB设备描述符、配置描述符、接口描述符、端点描述符和串描述符进行修改。

固件驱动程序的功能是使计算机认识自己的USB设备,因此需要对设备进行固件程序配置,固件配置程序可以在Cypress公司提供的框架下进行修改,主要是对端点和选择模式相关的寄存器进行配置,然后通过提供的hex2c将生成的十六进制文件转换为一个数组,并将该数组替换驱动程序中的firmware[],用DDK进行编译产生固件驱动程序。计算机通过搜索注册表中的设备VID和PID来识别USB,如果存在EEPROM或者是FLASH,则这个VID和PID可以开发人员自己定制。如果没有EEPROM则VID必须为04b4,PID必须为8613,否则设备将无法被识别。

下载固件驱动程序后,需要下载通用驱动程序,通用驱动程序可以完成需要设备完成的一系列功能。通用驱动程序可以直接使用Cypress公司提供的通用驱动程序。配置的时候VID和PID必须和inf文件中通用驱动程序的VID和PID一致。

lnf文件的编写

所有的USB设备都至少具有一个VID和PID,VID和PID通过设备描述符表提交给Windows系统,同时,Windows系统使用INF文件将某一个VID和PID绑定到某一设备驱动程序。这样,Windows系统在知道了设备的VID和PID后,就通过存储在INF文件中的信息查找该设备的驱动程序。第一次安装后,VID和PID信息就保存在注册表中,以后当该设备重新插上时,系统就会在注册表中很快的查找该设备的驱动程序信息。

固件驱动程序的VID和PID必须为04b4和8613(如果有EEPROM则可以定制),固件驱动程序主要是用来自动加载固件配置;通用驱动程序的VID和PID必须和固件程序中配置的一致;

读写测试的C语言程序

操作设备之前需要安装驱动程序,此时需要把sys文件和inf文件分别拷贝到系统文件夹system32drivers和inf下,然后依次选择驱动程序目录文件进行安装即可,驱动程序安装成功后就可以对设备进行访问。访问过程通常分为三个阶段:打开设备、操作设备、关闭设备。

打开设备可以通过符号链接名方式,用CreateFile函数可以以同步方式打开设备,获取设备句柄。操作设备通过DeviceIoControl函数可以完成,由于接口时钟不同,所以要用异步方式对设备进行读写,否则设备读写将会出现错误;读取设备时采用直接程序控制方式,即CPU不断查询设备的FULL状态位,当有数据到达时该位变为低电平,CPU就开始读取数据。设备操作完成后通过CloseHandle函数关闭设备句柄。

结语

通过上述从底层到上层设计的几个步骤就可以实现标准的USB1.1和USB2.0协议,实践表明,该设计在光缆检测系统中工作良好。随着个人电脑和各种电子产品,如打印机、扫描仪、调制解调器等,还是新出现的外围产品,如数码相机、摄像机、移动硬盘、闪存等,几乎100%支持USB,因此USB接口的应用十分广阔。

作者:刘 杰 郑 翔 张文强

设备接口设计论文 篇2:

电气系统与设备对接接口设计与实现

摘 要:本文描述了一种基于FPGA实现电气系统与对接设备电气接口、通信接口、模拟量接口等的系统设计。从硬件平台组件,逻辑控制、软件设计三个方面进行说明。详细介绍了任务悬挂物投放允许等接口设计方法,满足了接口对接要求。

关键词:GJB1188A GJB289A 对接设备 电气控制盒

1 引言

目前,电气系统与对接设备的接口普遍采用GJB1188A标准[1]。GJB1188A标准中的数据总线接口应符合GJB289A的要求。电气系统提供GJB289A规定的远程终端功能[2]。同时在GJB188A基础上增加了两个硬件接口功能。

GJB289A总线的传输速率为1Mbit/s,字长总共20位,包括3bit的同步头、16bit的有效位和1bit的奇偶位。一次BC-RT通信或者RT-BC通信包括了一个指令字、一个状态字和规定的一定量的数据字。

电气系统与对接设备通信除实现GJB1188A中GJB289A数据总线远程终端功能,还需要实现GJB1188A中连锁接口、地址接口、两路供电接口功能,除此之外还需实现对接设备连锁接口、电池激活独立供电接口。

2 GJB289A总线终端设计

2.1 设计思路

在航空电子系统中采用GJB289A总线接口,通常采用智能模块实现,由于电气系统要求体积小、重量轻、功耗低,因此采用高速CPU实现GJB289A总线通信协议既能满足GJB289A总线接口要求,而且能满足GJB1188A的其它设计要求(输入输出开关量、422通信、定时器功能)。

对接设备1553B总线局部网络拓扑结构如图1所示,总线上主要由总线控制器(BC)、远程终端(RT)、总线监控器(MT)三种终端类型组成。BC用于管理和控制1553B总线上的所有子系统的消息通信;BM用于监控1553B总线上的消息传递,有选择地接收记录总线消息;RT主要负责子系统与1553B通信,一般每个子系统都会被安排唯一一个RT地址挂接在1553B总线上。

图1 对接设备1553B总线局部网络拓扑图

2.2 硬件设计

电气系统总线协议RT端主要由FPGA,协议处理器、变压器、信号隔离和转换电路等几部分组成。如图2所示。变压器实现1553B协议中曼彻斯特Ⅱ编码的电平变化,使得变换后的电平符合1553B协议芯片处理要求。BU61580专用协议芯片,是航空工程领域广泛采用的MIL-STD-1553B总线的控制芯片。

图2 硬件电路示意图

根据对接设备1553B总线特性和电气系统可靠性,实时性和灵活性的要求,本设计尽量简化硬件电路设计,核心芯片选用Altera公司生产的现场可编程逻辑门阵列(FPGA)EP3C25Q240C8,该芯片具有丰富的逻辑资源,可以满足多任务处理的要求。根据模块化的设计思想,主要运用VHDL语言的同步有限状态机方法进行编程[3]。

同时,FPGA采用的输入晶振频率为50 MHz(周期20 ns),而且FPGA内部通过硬件程序运行的并行机制,在一个时钟周期内可以按要求完成更多的功能任务,从而缩短了程序的执行时间,提高数据的处理速度。此外,基于模块化的Verilog程序,便于维护和升级。

根据GJB1188A规定,1553B地址线包括5位地址线和1位地址校验组成。悬空为逻辑1,接飞机电源地为逻辑0,地址校验采用奇校验。根据此特性,设计如图3所示电路实现地址位电平转换电路[4]。

图3 地址位电平转换原理图

如图3所示,当对接设备地址位悬空时,光耦输入端通过28V电压上拉为高电平,内部发光二极管发光,对应输出端导通,输出端从高电平状态拉低为低电平;同理,当对接设备地址位接对接设备电源地时,光耦输入端被拉低与地址回线同电势,输入端发光二极管不发光,对应输出端截止,输出端被电源拉高为高电平。通过这种方式可以获得当前设备在对接设备的挂点位置。

2.3 软件设计

FPGA的功能全部采用VHDL语言实现,主要完成的工作有:(1)曼彻斯特码的编解码,包括串,并转换。(2)1553B协议的消息的解析,包括同步头的识别,以及各种错误的识别、奇偶校验等。(3)1553B协议的消息发生,包括同步头的产生、各种状态位的产生以及各种错误信息的产生。(4)与CPU接口的实现。(5)各种中断信号的实现。(6)定时和超时控制电路等。

2.3.1 总线发送电路实现

编码器的实现只需要用若干倍1553B的传输速率(本没计采用12倍频)将并行数据转换为串行数据,加上相应的同步头即可。在硬件上数据发送电路主要由一个状态机、双口FIFO、注入错误标志寄存器以及控制电路组成[5]。

复位之后,该状态机在每个时钟的上升沿都检测FIFO中是否有数据,若为空则停留在空闲状态。一旦上层软件通过EBC接口向FIFO写入数据后,硬件电路自动将数据读出。进入到同步头发送状态,硬件电路根据命令寄存器的控制字送出相应的串行同步头,随后进入数据发送状态。在每个时钟沿,移位寄存器将数据寄存器的数据移出,进行曼码编码后发出,同时,数据计数器自动加l。当计数值为16时,则转入到奇偶校验状态,将异或得到的检验位编码后发出。

2.3.2 总线接受电路实现

无论是BC还是RT都需要对收到的数据进行解析。接收电路的主要功能有:曼码的解码、串并转换、同步头检测、奇偶校验以及各种错误的检测。状态机复位之后进入同步头搜索状态[6]。硬件电路以12倍1553总线传输速率的频率去检测几种同步头。若收到同步头,则将状态寄存器中的对应位置位,并转入数据接收状态;否则,停留在该状态下。数据接收状态下,移位寄存器在时钟沿将经过解码的数据移入。在数据计数器计数到16之后转入到奇偶校验状态;之后,将数据和状态写入到FIFO中。

3设备接口功能实现

图4 电气系统其它接口电路处理示意图

电气系统其余接口如图4所示,包括:

(1)电源供电接口(遥测供电、激活供电、其他设备供电);

(2)投放允许接口;

(3)回锁与回锁回线接口;

(4)零位与零位回线接口。

在GJB1188A-99国军标的基础上为电气系统增加了一路电源供电、零位与零位回线。

投放允许信号由对接设备发出,作为电气系统的开关量输入信号,经过光耦隔离与信号变换后进入FPGA。当系统判断到该信号和通信接收到同样信号时,电气系统控制盒便确认该消息为无误,进行相应后续处理。

遥测供电:实现对遥测设备单独供电。

激活供电:实现对各个热电池激活所用,因为激活电池电流较大,这样有单独的激活电源供电,提高了系统的安全性和稳定性。

其它设备供电:为其它设备供电。该供电进入电气系统根据需要分配给各个设备,通过电源芯片转换电路完成电源转换。

零位与零位回线主要满足某设备获得计时零点。

回锁信号实现对接设备获取电气系统是否与对接设备对接的状态。

4 总结

FPGA有其独特的优势得到广泛应用,用户对电气系统的通信能力、体积、重量、功耗等方面提出了越来越高的要求。这就要求设计者用有限的资源实现更多的功能。本设计采用FPGA通过电气系统完成与对接设备通信的硬件电路设计,总线通信软件功能实现;同时介绍了投放允许、回锁信号、零位信号等模拟量接口设计与实现。满足了电气系统与对接设备的设计要求,对于FPGA在电气系统中的设计方法具有一定的使用参考价值。

参考文献

[1] GJB 1188A-1999.飞机/悬挂物电气连接系统接口要求.

[2] GJB 289A-1997. 飞机内部时分制指令/响应型多路传输数据总线.

[3] Michael D.Ciletti Verilog HDL高级数字设计.2004. 电子工业出版社.

[4] 吴昊等,周越文,毛东辉,等. 基于Verilog的曼彻斯特Ⅱ型码解码器设计[J]. 2012.计算机测量与控制.

[5] 李筱雅,尚丽娜,张芹芹. 1553总线测试仿真系统设计与实现[J]. 2012.现代电子技术.

[6] 王建国,孙敬华,曹丙霞. 基于AVR单片机的曼彻斯特编解码及其应用[J]. 2006.计算机工程.

作者:杨琳艳 周靖

设备接口设计论文 篇3:

多核平台下网络设备软件接口的设计与实现

摘要:随着网络技术的发展,高性能的网络设备在构建复杂的应用系统中发挥着至关重要的作用。该文基于OCETON MIPS64多核处理器,设计并实现了一套适合于多核处理器开发平台的软件接口,最大限度的发挥了多核处理器所带来的性能优势,同时保证了对于系统的复杂应用的支持,最大限度的减少了用户对于原有系统的修改。

关键词:多核;接口;linux kernel;Fast Path

Design and Implementation of Network Interface in Multi-core Framework

LI Xi,LIU Hong

(College of Mathematics and Computer Science,Hunan Normal University,Changsha 410081,China)

Key words: multi-core; interface; linux kernel; Fast Path

随着计算机技术和网络设备的迅速发展,通信网络的应用日趋复杂,大量新的业务不断涌现。这种形势下,人们对网络系统中的业务流量控制能力和安全性提出了更高的要求,而作为网络系统的核心单元——网络处理器,则面临着更严峻的挑战。一方面,接入用户数量的迅猛增长以及业务需求的多样化使得各种网络设备必须提供足够的吞吐量;另一方面,由于网络应用不断更新和变化,新业务不断涌现,这就要求服务提供商能快速地满足用户的需求,增多盈利模式,从而巩固和提高竞争力。多核处理器便是为解决这些问题而研发出来的产品,它能够提供更强大的吞吐量。多核平台为提高网络设备的吞吐率提供了一种崭新的模式,为网络应用的集成化、复杂化、简易化和高性能化提供了新的技术支持。多核平台的应用也对网络工程技术人员提出新的要求和挑战。

目前市场上新推出的应用与网络设备的多核处理器,如Cavium公司和RMI公司的多核产品,更关注于如何提高应用性能;通过广泛的、根据条件的时钟控制来降低功耗;处理器核心内建硬件加速器;使用多核技术,而不是简单的提高CPU的频率;一体化的针对不同应用的专用协处理器;使用标准指令集的简单软件模型。(简单概述这些系统的优缺点,或者是研发目的的不同侧重角度,从而说明本论文的研究是有意义的,有必要的)

该文将论述网络软件体系中多核接口部分。它负责管理控制平面(Control Plane)和数据平面(Data Plane)以及数据平面中多核处理与Linux之间的数据传递,是软件平台能够工作的基础。

平台接口:慢速通道和快速通道的接口。接口的设计是在搭建此多核平台中非常重要的一部分。快速通道处理速度快,性能高是我们所看重的,但是正因为如此,其功能也必然简单化。作为一个网络设备,必须考虑到各种复杂的环境,因此接口就将决定对于快速通道不能处理的数据包的命运,接口设计的模式将决定整体框架的结构。另外接口是Linux内核与多核平台交互的接口,

1)事件定义:定义所要处理的相关信息,此类事件应该是Slow Path和Fast Path均能够处理的。Linux已经的netlink/pfkey等socket已经为我们提供了大量的内核消息,如需要我们可以自行扩展。

2)事件收集:收集慢速通道中信息的变化。此类有些是用户行为,如用户主动添加了路由;有些为状态发生了改变,比如内核存储的某些缓存过期,需要删除此类信息;还有如内核出现了某些异常错误,需要通知快速通道等。

3)事件处理:将收集到的慢速通的信息按照消息类型传递给快速通道。即使用户修改了一个简单的配置,我们也应该遵循先设置慢速通道,再由事件处理模块传递给快速通道的模式,否则会导致慢速通道和快速通道不同步。

以下是一个对于接口路由的简单例子,其余应用可以按照这种模式类似的加如CSM,每个模块的处理不同,体现了模块化。

为了使得Linux当加入GMVI之后,Linux Kernel的改动最小,数据包处理与原有过程无大的区别,我们采用如下数据结构来描述一个从多核向Linux发送的一个数据包,它的具体实现具体与多核体系相关,该文的测试是在Cavium的Simple Executive和RMI的RMIOS上进行。

当网卡接收到数据包,需要向Linux内核发送转发这个数据包的时候,可以通过Simple Executive的POW接口发向Linux。在Linux中我们通过虚拟网卡来接受来自多核处理器的异常包。

这样带来的优点是对于Linux内核而言,就如同只是增加了一个网卡,而整个框架并没有因为在多核模式下而发生变化;同时又可以利用Linux所提供的强大的网络功能进行与性能无关协议。

4实验及性能分析

为了验证此软件接口为我们在多核平台开发的便利性,我们以IPsec隧道模式下的吞吐率实验来证明。因为Octeon的Simple Executive提供了IPsec对于数据包加密封装的处理,而我们所设计的软件接口则可以将Fast Path不能处理的IKE的协商问题交给Linux kernel和应用程序完成,这些为许多Open source软件已经提供。这样即体现了多核的性能优势,又可以利用原有系统已有的复杂功能。以下是用SMARTBITS 6000在不同核心数目及不同数据包大小的测试结果。我们可以从结果看到采用GMVI技术之后,我们可以充分利用多核技术带来的性能优势,较快的开发高性能网络设备,同时又能够利用原有系统的复杂应用。

该文描述了多核处理器和Linux之间的接口,为软件开发提供了一个良好的框架。但是我们看到,多核硬件平台还为我们提供了丰富的硬件加速接口,如何利用这些硬件加速功能,如加密功能,内容过滤功能等是我们下一步的研究重点。

多核系统应用与网络设备平台最近在美国和欧洲市场有迅猛发展,而国内许多网络设备厂家仍处于试验和观望的状态。该文所描述的网络平台软件介绍是在这种崭新的网络应用平台下的尝试,对未来如何利用多核系统构建高性能、应用复杂的平台有重要的借鉴作用。

作者:李希 刘宏

上一篇:儿科护理管理论文下一篇:模具设计研究论文