通用接口(共7篇)
通用接口 篇1
网络管理接口的一致性测试是保证不同的网管系统之间能进行互联、互通和互操作的重要手段和必要步骤[1]。网络管理接口一致性测试是面向电信级网络管理软件的测试,要完成对如此复杂庞大的软件接口的测试任务,仅靠人工手动测试不但耗时耗力,而且难以保证测试的质量[2]。因此,网管接口一致性测试的自动化程度,始终是相关测试研究工作所追求的目标之一。要提高网管接口一致性测试的自动化程度,测试过程自动化的将成为一个重要环节。在实际的接口测试中,一方面需要对同一接口规范不同提供者的实现分别进行测试,另一方面又要对某些接口实现进行回归测试[3]。因此将测试过程自动化机制引入网管接口的一致性测试很有意义。
目前在网管接口一致性测试中,测试过程自动化方面已有一些研究成果,文献[4]提出了测试流技术,通过测试流技术实现测试过程自动化,并将测试流控制语句按功能分为基本功能语句模块、判断语句模块、循环语句模块、异常捕获语句模块和辅助语句模块共五个模块。但是该文献并未给出测试流技术的具体设计实现与应用,随着网管接口测试技术的发展,测试流在实际的测试应用过程中存在本有以下两个弊端:
1)测试流采用纯文本方式定义,其格式不可通用,而且由于没有层次结构,当脚本文件较大时,测试人员很难看明白脚本,如果脚本有错误时,检查也很困难。
2)测试流脚本与接口技术直接关联,对于不同的接口技术,要为之定义专门的测试流脚本。
本文将基于文献[4]中提出的测试流技术,进一步进行扩展,引入测试事务[5]的概念,同时本文对测试流控制语句进行扩充,设计出了一套格式通用且与网管接口技术无关的测试事务描述方法。该测试事务描述方法采用目前使用非常广泛的XML格式来进行定义,所以该描述方法具有理解容易、操作简单、使用方便等特性。另外,该描述方法还具备通用性和可扩展性,不仅可以应用于目前所有的主流网管接口技术,如CORBA、WebService、SNMP等技术,而且对于以后出现的新接口技术也可以使用该方法。
1 测试事务模型介绍
分散的、独立的测试用例无法体现实际应用环境中用户的动态行为,因此需要一种方法来描述测试用例[6]间的组织关系。测试事务就是若干个相关联的、可能具有数据或业务依赖关系并按照一定的业务逻辑顺序执行的测试用例的组合。测试事务即可以是简单事务(例如修改对象属性值),也可以是复杂事务(例如创建一个对象,然后修改该对象的属性值,最后将该对象删除,并在创建、修改和删除操作之间,进行查询该对象属性值的操作)。测试事务必须能够体现出测试用例的逻辑顺序调用关系、根据上一测试用例的执行结果判定选择下一测试步骤分支、测试步骤的条件迭代、测试用例的参数赋值(包括变量赋值和测试用例上下文赋值)、测试结果数据的保留和再利用、测试结果的评判等。
在网管接口一致性测试中,测试人员在拿到测试规范之后,需要将测试规范按照功能模块划分为若干测试事务,每个测试事务对应一个测试流脚本,而测试流是一系列的基本测试用例和相关的逻辑控制信息的组合。如图1所示。
2 测试事务描述方法
在测试事务的描述方法中,基本单元为测试用例(称为TC),主要的逻辑控制信息包括:Transaction、varDefineClause、varDefineFunctionClause、ifClause、forClause、whileClause、exportClause、pauseClause、descriptionClause、Debug、break和exit,通过这些逻辑控制信息,控制TC的执行逻辑顺序,并实现测试数据在TC间的传递。
测试事务描述方法采用XML格式进行定义,所以我们需要定义一套Schema,下面主要介绍Schema中各个节点的定义以及结构。
2.1 节点的定义
testFlow节点:XML文件的根节点,不能被其它任何节点包含,在测试过程中不具有实际意义。
TC节点:测试用例调用节点,每个TC代表一个接口中的操作。
Transaction节点:交易节点,该节点可以将若干个测试用例(TC)集合在一起,如在3G通信网中将所有与通知相关的操作放在一个交易中,将所有与告警相关的操作放在一个交易中,这样便于整个测试流语言的管理。
varDefineClause节点:变量定义节点,该节点主要用于定义能够存储和交换数据的变量,并给变量赋值,定义后的变量可以在后面操作中使用。
varDefineFunctionClause节点:变量定义节点,该节点与varDefineClause节点不同的是对变量的赋值是通过已经定义好的函数进行赋值。例如要定义一个整数变量n,但是n的值不能事先知道,需要通过取一个字符串的长度来确定,这样就可以通过一个取字符串长度的函数来给变量n赋值。
ifClause节点:条件控制节点,该节点主要用于上下文的条件判断以选择要执行的下一步,如果条件判断结果为true,则执行该节点下的测试用例,如果判断结果为false,则不执行该节点下的测试用例。
forClause节点:循环控制节点,该节点主要用于控制特定步骤的循环执行,主要应用与已经知道循环次数的情况下。
whileClause节点:循环控制节点,该节点主要用于控制特定步骤的循环执行,主要用于不确定循环次数的情况下。例如在测试过程中,某个操作的返回参数为“FALSE”时,循环体中的测试用例就要执行,如果该操作的返回参数为“TRUE”时,循环结束,这种情况下我们只能使用该节点。
exportClause节点:输出节点,该节点主要用于将某个操作的参数的返回值输出出来,输出方式有两种,一种是输出到文件中,另一种是输出到一个变量中。
descriptionClause节点:描述节点,该节点主要是用于对测试流增加注释或者描述,便于测试人员编写和查看测试流文件。
pauseClause节点:暂停节点,该节点主要作用为暂定,可以将测试流的执行暂停若干时间,时间单位为秒。例如某些操作在下发之后,需要等几秒钟才能查看操作的状态,那么就需要该节点来进行暂停。
Debug节点:调试节点,该节点与编程中的断点类似,设置了该节点之后,测试流在执行到该节点时会停下,给用户弹出询问窗口,如果用户选择继续执行,则测试流继续执行,如果用户选择停止,则测试流终止执行。
break节点:循环体结束节点,该节点主要用于结束其所在的循环体。
exit节点:测试流结束节点,该节点主要用于结束整个测试流。
2.2 节点的结构及其描述
2.2.1 testFlow节点
testFlow节点为根节点,其结构图如图2所示。从图中可以看出根节点下可以包含除了break和exit之外的所有节点。
2.2.2 TC节点
TC节点代表接口中的操作,其结构图如图3所示,每个TC包含三部分,分别是基本属性Attributes、参数列表ParameterList和检查列表CheckList。
其中基本属性包含1个可选属性和2个必选属性,下面给出各个属性的含义和示意性的用法说明:
alias:当前测试用例的别名,为了让测试人员更好的区分所下发的操作,例如对于订购通知,下发的操作都是一样的,但是有可能某个操作订购的是配置相关的通知,另外一个订购的是告警相关的通知,有了别名之后就可以更好的来进行区分。alias为可选属性,用户可以根据实际情况来决定是否需要。
InterfaceType:接口类型,用来区分下发的操作是采用哪种接口技术,如:COR-BA、WebService、SNMP等等。
Opinfo:操作的具体信息,用来表示下发的操作的具体信息。
参数列表ParameterList:主要是为TC中的参数赋值,参数列表中的每个参数都可以分别给他们赋值,参数的结构图如图4所示。每个参数都两个属性paraName(参数名称)和type(参数类型),另外有5种赋值方式,分别是set(直接为参数赋值),assign(将其它TC的返回值赋值给该参数),varAssign(将已经定义好的变量的值赋值给该参数),default(默认值),function(将函数的返回值赋值给该参数)。
检查列表CheckList:主要是用来判定TC的执行结果,同时也可以作为if和while的条件判定。其结构图如5所示,检查列表将若干个检查点(CheckPoint),通过and、or或not相互连接组合(and节点是逻辑与关系,or节点逻辑或关系,not节点是逻辑非关系),从而满足一定的判定要求。
2.2.3 Transaction节点
Transaction节点可以自包含,其结构与根节点testFlow相同,下可以包含除了break和exit之外的所有节点,这里不再给出其结构图。该节点有一个属性transactionName(交易名称),用来区分不同的交易。
2.2.4 varDefineClause节点
varDefineClause节点为变量定义节点,其结构如图6所示,该节点包含3个属性,分别是varName(变量名)、varType(变量类型)和varValue(变量值)。
2.2.5 varDefineFunctionClause节点
varDefineFunctionClause节点为变量定义节点,其结构如图7所示,由于该节点是通过函数为变量赋值,所以该节点的三个元素分别是varName(变量名)、varType(变量类型)和functionName(函数名)。
2.2.6 ifClause节点
ifClause节点为条件控制节点,其结构如图8所示。ifClause节点有一个CheckList元素,与TC中的检查列表是相同的,这里不再说明。ifClause下可以包含所有的节点。
2.2.7 forClause节点
forClause节点为循环控制节点,其结构与根节点testFlow相同,下可以包含除了break和exit之外的所有节点,这里不再给出其结构图。该节点有4个属性分别是varName(变量名),from(变量的初始值),to(变量的终止值),step(循环的步长)。
2.2.8 whileClause节点
whileClause节点为循环控制节点,其结构与根节点testFlow相同,下可以包含除了break和exit之外的所有节点,这里不再给出其结构图。该节点有一个CheckList元素,与TC中的检查列表是相同的,这里不再说明。
2.2.9 exportClause节点
exportClause节点为输出节点,其结构如图9所示。该节点有5个必选属性和一个可选属性,下面给出各个属性的含义和示意性的用法说明:
InterfaceType:接口类型,用来区分下发的操作是采用哪种接口技术,如:COR-BA、WebService、SNMP等等。
Opinfo:操作的具体信息,用来表示下发的操作的具体信息。
para:操作的参数名,用来表示要将操作中的哪一个参数的值输出。
exportType:输出类型,分为两种,一种是输出到变量(取值为var),一种是输出到文件中(取值为file)。
value:输出的变量名称或者文件路径,如果exportType取值为var,则该属性的值为参数名,如果exportType取值为file,则该属性的值为文件的绝对路径。
operatorType:对文件的操作类型,该属性为可选属性,当exportType取值为file时有效。该属性取值有三种,分别是:overwrite(替换原来的文件)、append(追加到原来的文件中)和askuser(弹出对话框,询问用户)。
2.2.1 0 descriptionClause和pauseClause节点
descriptionClause和pauseClause节点都只有一个属性value,用来表示描述值和暂停值。
3 结论
在测试工作越来越自动化的情况下,测试过程的自动化执行和测试结果的自动化判定都成了关键。本文提出的测试事务描述方法,是从本实验室进行的基于CORBA、WebService、SNMP技术的接口测试系统的相关研究和实践中总结出来的,并且已经完成了相应的开发工
图8 if结构图作,在模拟环境中通过了的相应的测试,该描述方法在测试过程自动化进行的情况下,对测试执行结果进行自动化判定,大大减少了人工操作,提高了测试效率和测试过程的自动化程度。该描述方法可以应用于单个接口技术的网管接口测试中,同时也可以应用到有多种接口技术混合的网管接口测试中。而且本文研究的测试事务描述方法与特定的接口技术无关,因此具有较高的通用性,能够指导以后基于其他技术的接口测试系统相关功能的研究和开发,并且按这种描述方法开发的测试评判子系统也具有较好的软件重用性。
摘要:网管接口一致性测试的自动化技术一直是相关测试研究工作的重点之一,而测试事务模型的提出使网管接口一致性测试的自动化程度迈上了一个新的台阶。文章基于对网管接口一致性测试的研究和实践,提出了一种基于XML格式的测试事务模型描述方法,给出了该描述方法的Schema定义。文中研究的描述方法可以应用于目前主流的网管接口技术,并在网管接口测试过程中减少大量的人工操作,缩短测试周期,显著的提高了测试效率和测试自动化程度。
关键词:计算机软件,网络管理,接口一致性测试,事务模型,测试流,XML语言
参考文献
[1]王智立.网络管理接口一致性测试的方法、技术及应用[D].北京:北京邮电大学,2005.
[2]刘益畅.模型驱动的3G网管接口测试系统的设计与实现[D].北京:北京邮电大学,2010
[3]朱鸿,金凌紫.软件质量保障与测试[M].北京:科学出版社,1997.
[4]芮兰兰,孟洛明,邱雪松,等.基于CORBA的网络管理接口一致性测试中的测试流技术[J].北京邮电大学学报,2002,25(3):41-45.
[5]陈颖慧,邱雪松,刘益畅,等.基于模型的Web Service性能测试方法[J].北京邮电大学学报,2009,32(增刊):44-48.
[6]郑蓉蓉.基于WSDL_SOAP接口的测试系统研究与实现[D].北京:北京邮电大学,2009.
通用接口 篇2
关键词:单片机,USB,A/D,数据采集
0 引言
数据采集技术是信息技术的重要组成部分之一。信息技术的三大支柱技术是信息获取技术、通信技术和计算机技术,常被称为3 C技术。其中,信息获取技术是信息技术的基础和前提,而数据采集技术是信息获取的主要手段和方法,它是以传感器技术、测试技术、电子技术和计算机技术等为基础的一门综合应用技术。
数据采集在工程领域中的地位和作用不言而喻,单片机通用数据采集系统是在单片机应用领域中使用最多的一类系统。它主要是实时采集外界连续变化的模拟量,通过模/数转换器把这些模拟信号转换成数字信号送入单片机,也可以直接采集代表某些状态特性的开关量,单片机系统对这些信号进行数据处理,并根据用户的要求,将处理后的数据送显示、打印,也可以通过串行口送给其它的计算机。如果需要,还可以通过数/模转换器变换成模拟信号控制外部设备,输出的开关量信号也可以直接用于控制目的。
目前通用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真,易受计算机插槽数量和地址、中断资源的限制,可扩展性差。而通用串行总线U S B的出现,很好地解决了上述问题,很容易实现便捷、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。
1 数据采集系统概述
1.1 数据采集
数据采集就是将要获取的信息通过传感器转换为信号,并经过信号调理、采样、量化、编码和传输等步骤,最后送到计算机系统中进行处理、分析、存储和显示。
数据采集系统追求的主要目标有精度和速度:对任何量值的测试都要有一定的精确度要求,否则将失去采集的意义;提高数据采集的速度不仅仅可以提高工作效率,更主要的是可以扩大数据采集系统的适用范围,以便实现动态测试。
1.2 数据采集系统的基本组成
计算机数据采集系统一般由传感器、前置放大器、滤波器、多路模拟开关、采样/保持(S/H)器、A/D转换器和计算机系统组成。
1.3 USB
U S B的拓扑结构如图1所示。
一个USB系统中含有3部分:USB Host、USB Device、USB Hub。
每个USB系统有且只有一个Host,它负责管理整个USB系统,包括USB Device的连接和删除、Host和USBDevice的通信和总路线的控制等。
为了满足不同外设和用户的要求,U S B提供了4种传输方式:控制传输、同步传输、中断传输和块数据传输。它们在数据格式、传输方向、数据包容量限制和总线访问限制等方面有着各自不同的特征。
2 系统硬件设计
2.1 硬件组成
基于U S B总线的实时数据采集系统硬件组成包括模拟开关、A/D转换器、单片机、U S B接口芯片,为了扩展用途,还可以加上多路模拟开关和数字I/O端口。其硬件总体结构如图2所示。多路模拟信号经过模拟开关传到A/D转换器转换为数字信号,单片机控制采集,U S B接口芯片存储采集到的数据并将其上传至P C,同时也接收P C机U S B控制器的控制信息。
基于U S B总线的实时数据采集系统严格遵循USBl.1协议,有以下特点:
(1)易于扩展。最长传输距离5m,采用USBHub可达30m;最多可同时接127个设备。
(2)电磁干扰影响极小。本系统放置在计算机外部,不受板卡间的电磁干扰影响;若在电磁干扰极强的环境下工作,需专门为其设计电磁屏蔽方案。
(3)安装方便,支持即插即用。克服了以往数据采集板卡需要打开机箱的麻烦。
(4)性价比高,远优于传统的实时数据采集系统。
(5)实时采集,实时显示。
2.2 芯片选择方案
在微控制器和U S B接口的选择上有2种方式。一种是采用普通单片机加上专用的U S B通信芯片,现在的专用芯片中较流行的有National Semiconductor公司的USBN9602、Scan Logic公司的SL11等。
另一种方案是采用具备U S B通信功能的单片机。随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,电磁兼容性好,因此采用具备U S B接口的单片机是构成U S B数据采集系统较好的方案。不过,由于具备了U S B接口,这些芯片与过去的开发系统通常是不兼容的,需要购买新的开发系统,投资较高。
本方案的芯片选择:单片机选择C y g n a l公司的C8051F020芯片,USB通信控制选择National Semiconductor公司的USBN9604芯片。
2.3 系统硬件框图
C8051F020单片机和USBN9604的接口电路如图3所示,该电路由C8051F020单片机、USBN9604、时钟振荡电路以及相应的外围电路组成。其中USBN9604通过外部中断INT0与C8051F020单片机进行通信。
C8051F2020单片机与USBN9604的并行连接有非复用和复用2种方式。它们可通过设置引脚MODE0、MODEl来选择。在非复用方式时,可用控制引脚CS、RD、WR、地址引脚A0和双向数据线D[7:0]实现相应的地址读写。而在复用方式时,则使用控制引脚C S、R D、W R、地址锁存信号ALE和双向数据线D[7:0]实现其地址读写。
多路模拟输入信号经多路模拟开关控制将其中的一路接入串行A/D转换器,A/D转换器经光电隔离后串行输出到移位寄存器,移位寄存器将此结果转为8位并行数据,C8051系统通过8位的并行接口传送A/D转换器采集的数据,存储在FIFO存储器中;一旦FIFO存满,SIE立刻对数据进行处理,然后C8051F020系统将数据从FIFO存储器中读出,由收发器通过数据线(D+、D-)送至主机。图3中USBN9604的CLKOUT与C8051F020的XTAL1相连,即USBN9604的时钟输出为C8051F020提供时钟输入。USBN9604的复位端接RC电路以保证复位电路可靠地工作。由于晶振频率较高,结合USBN9604内部网络,在XOUT端串接100m F电容及470m H电感,起稳定内部振荡频率的作用。
设计的主要功能:模拟数据被C8051F020的ADC采集并进行处理,C8051F020通过USB控制器把它发送到Host(PC或者是工作台),相反,Host可以把这数据发送给U S B控制器。信号处理框图如图4所示。
3 系统软件设计
一个U S B设备的软件一般包括主机的驱动程序、应用程序和固件程序。
固件实际上是单片机的程序文件,存放在单片机中,包括U S B设备的连接、U S B协议、中断处理等。
U S B固件程序的结构一般是基于中断处理的。主程序做完必要的初始化工作后,就等待U S B中断的产生,中断产生后,根据中断状态对相应的端点读取数据,或是向相应的端点发送数据。U S B单片机控制程序通常由3部分组成:初始化部分,初始化单片机和所有的外围电路(包括USBN9604);主循环部分,其任务是可以中断的;中断服务程序,其任务是对时间敏感的,必须马上执行。
初始化USB须使用USB读/写函数对USB控制器内部的控制寄存器进行设置。
中断服务程序处理U S B控制器产生的中断,将数据从USB内部FIFO读出,并建立正确的事件标志,以通知主循环程序处理。
初始化单片机主要就是对A D C进行初始化。
4 结论
U S B为计算机外设输入输出提供了新的接口标准。它使设备具有热插拔、即插即用、自动配置的能力,并标准化设备连接。U S B的级联星型拓扑结构大大扩充了外设数量,使用外设更加便捷,快速。而新提出的USB2.0标准更是将数据传输速率提高到了一个新的高度,可以说,U S B接口具有很好的应用前景。
参考文献
[1]杨金岩,郑应强,张振仁.8051单片机数据传输接口扩展与应用实例[M].北京:人民邮电出版社
[2]林嵘,孙金生,秦华旺,等.数据转换与接口技术[M].南京:东南大学出版社,2004
[3]张弘.USB接口设计[M].西安:西安电子科技大学出版社,2002
[4]邵贝贝,刘慧银.微控制器原理与开发技术[M].北京:清华大学出版社,1997
通用接口 篇3
分布式发电技术是未来世界能源技术发展的重要方向之一,具有能源利用率高、环境负面影响小、可提高能源供应可靠性等优势。美国电气可靠性技术解决方案协会(The Consortium for Electric Reliability Technology Solutions,CERTS)提出了一种能更好地发挥分布式发电潜能的一种组织形式——微网[1,2,3]。微网从某些方面可定义为一组负荷和微能源的集合,是一种整合分布式发电的全新方案,以单个系统方式运行,提供给用户优质电力,是新型电力电子技术和分布式发电、可再生能源发电技术与储能技术的综合。它将燃气轮机、风力发电、光伏发电、燃料电池、储能设备等并在一起,直接接在用户侧,是一个模块化的整体。
目前分布式发电通常都是直接并网,但是随着IEEE 1547.4等标准的发布,其已覆盖微网以及分布式电源的主动孤岛(既包括分布式电源本地主动孤岛,也包括微网及含分布式电源的区域电网主动孤岛)。为适应分布式发电以及微网的发展,Capstone和SMA等厂家也提出了采用外加控制柜实现微网并网/独立运行双模式切换[4]。但是这些接口提供的硬件结构、数据量、控制方式等不尽相同,因此随着未来电源的多样化,分布式电源并网接口必然需要实现通用化和标准化,这不但有利于分布式发电以及微网的推广,并且可以避免电源厂家不正确的运行方式,有利于即插即用等功能的实现,提高系统可靠性。
本文针对分布式电源接入微网后的系统运行特性,研究微网运行,将接口从系统中分离出来,使其成为一个独立于微网与分布式电源的个体,并分为功率接口与信息接口2部分,提出了互联模型的5种运行模式,设计了分布式电源与微网互联标准接口模型,并利用设计出的通用接口对系统运行模式控制和无缝切换控制等技术进行了实验。
1 分布式电源与微网互联接口设计
1.1 微网运行需求分析与方案设计
在目前的分布式发电设备设计中,分布式电源与电网的互联接口作为分布式发电设备的一部分,各厂家根据自身产品定制,提供有限的信息和操作。
但是对于微网来说,对其内部的分布式发电单元的管理要求更高,主要体现在以下几点:
1)分布式发电单元需要做到即插即用。
由于某些可再生能源发电本身存在间歇性等特性,如光伏发电、风力发电等,使得分布式电源有可能需要频繁地并入和切离微网系统,这需要类似于计算机串口、并口和USB口等标准化的接口以及类似于计算机基本输入输出系统(BIOS)的微网中央管理单元配合实现[5,6]。
2)需要将分布式电源纳入统一的调度管理。
正常情况下,分布式电源需要在能量管理系统或本地控制下调整各自功率输出,以维持微网运行的稳定性、经济性等。此外,当整个系统完全断供时,需要分布式发电单元辅助微网进行黑启动,为重要负荷供电。
3)系统对重要负荷的供电模式需满足无缝切换的要求。
考虑到功率平衡原则、分布式电源产权关系、电气分布、地理位置及调度管辖范围等因素,可将微网独立运行划分为2级——单元孤岛和整体独立运行。单元孤岛是指当微网无法维持正常独立运行等情况时,需要将整个系统解列,分布式电源为重要负荷一对一单独供电。因此,在很多场合需要实现单元孤岛无缝切换,以确保网内重要敏感负荷的供电不受影响,即在逆变器持续不断工作的同时,通过其控制方法和网络结构等方面的调整来保证网内电压的连续平稳过渡[7,8,9]。
传统的分布式电源与电网的互联接口在微网环境下难以实现整个系统的统一管理,也无法满足微网系统对分布式电源灵活控制和保护的要求。但是,目前对于分布式发电与微网互联还没有出台具体统一的标准,针对分布式发电的IEEE P1547标准中也没有专门针对微网制定接口的规范标准,并且由于各国国情、法律、技术等种种因素的制约,使得具体标准很难统一[10,11,12]。
为使互联接口设备既符合现有互联标准的一般需求,又能尽量提高适应具体条件和需求的灵活性,本文提出了一种灵活可靠的分布式电源与微网互联方案,将互联接口从各个分布式电源中分离出来,作为一个独立于微网与分布式电源的即插即用单元,大大提高了对微网系统进行统一管理的便利性,并可以通过在接口单元中设计控制功能,对系统进行灵活的控制和保护。整体规划如图1所示。
接口可以采用现有产品和元件(如开关和断路器等),都可由现有设备供应商提供。分布式发电装置与微网之间的接口独立于分布式电源和微网,其可以分为功率接口和信息接口2部分。其中:功率接口与微网线路直接相连;信息接口则是与微网的中心管理单元通过通信方式相连,也就是分布式电源的管理终端。
图2为多分布式电源通过互联接口接入微网的连接图。微网中含多个分布式电源时,互联接口的电力电子开关与信息接口共同实现即插即用特性,使得各分布式电源并入与切离微网系统变得非常便利。同时,各个互联接口的信息接口部分通过微网系统中央管理单元进行通信,实现对各分布式电源并网、切除、发电调度、故障检测等的统一管理,协调整个微网的运行,并能够在完全断供情况下辅助微网进行黑启动。各重要负荷通过互联接口的功率接口接入系统,微网和分布式电源运行正常时,两者同时对重要负荷供电,任一方发生故障情况下,都能确保重要负荷的供电不受影响,实现其供电模式的无缝切换。
1.2 功率接口
功率接口是用来连接/断开分布式发电单元与微网,并为线路电量测量提供接口的硬件接口,一般由线路开关和电量传感器(用于为系统监控提供电压/电流信号)组成。功率接口是互联接口的基础部分,在本文的互联接口单元设计中,功率接口可以是单相二/三线或者三相三/四线,接线方式决定着电缆/电线和传感器的数目,也决定着断路器和感应器的等级。接口设计如图3所示。
该接口包括手动开关、断路器、控制接触器、电压/电流测量等部分。除了功率部分外,接口还包括2类信息:一类是传感器测量的电压/电流信号以及断路器状态,上送至信息接口;另一类是信息接口发出的控制信号,控制并网接触器。为了对负载提供高质量的供电电源,并提高微网故障时保护的反应速度,设计中采用快速静态开关晶闸管——可控硅整流器(SCR)代替普通的机械开关,其关断时间短、通过电流大、价格低。开关1和开关2主要用于电力电子开关故障时将其彻底与线路隔离,旁路开关供电力电子开关检修时备用,电流传感器和电压传感器供测量线路实时电量使用。
1.3 信息接口
信息接口比功率接口复杂,是互联单元的核心,主要包括3种信息:采集电压、电流和其他参数的测量信息;发送/接收输入/输出信号的控制信号;分布式电源和微网的信息。
为了提高接口使用的灵活性和功能可扩展性,并结合实际应用要求,设计中采用高级精简指令集计算机(RISC)微处理器(ARM)管理终端对功率接口传送来的信息进行处理,并为系统提供控制功能。ARM的数据处理能力能满足系统要求,同时,控制性能强,通信接口丰富,具有以太网、CAN、RS-485多种通信接口,外围硬件方面还配置有USB接口、液晶显示器(LCD)、键盘接口、网口,非常便于系统性能的扩展。软件方面配置有经裁减的嵌入式操作系统,并提供集成开发环境,利于进行工业级的应用程序开发。此外,随着ARM技术及工业应用的快速发展,其应用开发成本不断下降[13,14,15]。综合以上优势,本文的信息接口设计中采用ARM作为管理终端,具体设计如图4所示。
信息接口包括输入信息和输出信息两大类信息。输入信息包括:来自功率接口的传感器信号与开关状态信号;来自本地分布式电源和其他设备(如电力系统操作设备、企业能量管理系统、其他分布式电源)的通信信号;从键盘上输入的手动控制命令。输出信息包括:发送到开关连接/断开设备的控制信号;发送到分布式电源(开关开/合信号、功率命令等)和微网的通信信号(功率输入/输出数据等);显示面板上的监视信号,如功率、能量、谐波等。
2 分布式电源与微网互联运行模式分析
信息接口收集从功率接口传输来的信息量,对负荷供电模式进行实时调节控制,切换不同的系统运行模式。根据接口设计中开关的作用,将电力电子开关及其旁路开关看做一个开关,为了便于分析系统运行状态,将接口中的开关简化为3个,如图4所示。根据微网实际运行需求分析,接口运行模式主要有以下5种:
1)模式1:微网与分布式电源共同对负荷供电。
2)模式2:微网直接对负荷供电。
3)模式3:分布式电源单独对负荷供电。
4)模式4:微网与分布式电源都断开。
5)模式5:分布式电源与微网连接但不对负荷供电。
各种模式之间的转换关系如图5所示。
模式1是微网与分布式电源运行状况均良好时,两者共同对负载供电的模式;模式2是分布式电源出现故障或检修时,由微网直接对负载供电的模式;模式3是微网出现故障或检修等情况时,由分布式电源直接对负载供电的模式;模式4是微网与分布式电源都出现故障或检修时,停止对负载供电的模式;模式5是微网无法自启动时,由分布式电源为其提供启动能量进行系统黑启动的模式。
接口互联单元的功能模块通过ARM编程实现。这些功能模块主要有:
1)频率、电量等的数据计算、显示、传输。
2)继电保护:如欠压保护、过压保护、过频率保护、低频率保护等。
3)同步:将测得的微网电压和频率与分布式电源输出电压和频率进行比较,当微网与分布式电源的电压和频率分别足够接近时,模块将对互联单元载流设备发出合闸命令。如果电压和频率相差大、无法并网时,互联单元便将微网的电压和频率信号发送给分布式电源,分布式电源据此对本身电压和频率进行调节,以使电压和频率达到并网要求。
4)反孤岛:是互联单元的一个特殊功能,需要与分布式电源控制单元进行协调与通信。
5)控制:如控制功率因数以提高电压调节性能。这种控制需要通过本地和远程通信进行调节。
6)能量管理:调节分布式电源基于日能量率的尖峰抑制或基础负荷。
7)电能质量:对分布式电源并入微网的公共耦合点的电能质量(如谐波直流注入)等进行分析,如果电能质量没有达到标准的要求,互联单元将发出断开分布式电源连接的命令。
以上各种控制、保护、管理功能需根据系统要求具体分析和选择,目前本文设计的接口可以在20 ms周期内对数据进行分析和处理,并根据情况对开关和分布式电源进行控制,能够满足目前微网运行的需求。但在需要更加实时计算、分析和控制的情况下,可以通过增加一块数字信号处理器(DSP)来完成,在这种情况下,DSP主要用于对数据进行快速采集和处理,而ARM主要用于系统的控制、保护、管理等。
以上设计的互联接口,也可扩展到系统中无重要负载或系统中有多个分布式发电单元的情况。系统中无重要负载的情况可看做以上5种运行模式中的模式5。当系统中有多个分布式电源时,只需将功率接口部分作小部分扩展即可,信息接口部分的功能修改则要根据系统运行模式进行适当扩展。图6为示范项目所设计的扩展接口功率部分。
3 实验
本文设计的互联接口单元可使分布式电源实现即插即用的功能。当分布式发电单元并网合闸时,首先与微网中央管理单元通信,在其同意并网后,修改中央管理单元配置信息,建立该分布式发电与管理单元通信链路,将相关指令下达至发电单元。三相负载电压和并网电流波形如图7所示。
图7中高电平脉冲代表SCR导通时刻。由实验波形可以看出,使用标准接口将分布式电源接入微网,当接口开关状态由模式3转换为模式1,即负荷由分布式发电单元独立供电转换为由微网及分布式发电单元共同供电时,三相负载电压在时间上保持了很好的连续性,并网电流很快进入稳定状态,有效地实现了分布式发电单元的即插即用。
图8为通过控制互联接口将分布式发电单元从联网状态切换至独立运行的实验波形。
关断点为撤去SCR触发脉冲的时刻。从图8中可以看出,强制关断策略下三相并网电流在2 ms内就全部降低到0,分布式电源随后就立即转入孤岛运行模式。而三相负载电压在时间上保持了不间断,且其幅值只是在SCR关断的时间内有所畸变,不过很快又恢复正常,同时其相位与并网时保持一致,确保了重要敏感负荷的正常供电。
4 结语
本文针对分布式电源与微网互联进行了研究讨论,提出了一种可靠的分布式电源与微网互联的标准解决方案,将分布式电源与微网互联接口分成功率接口与信息接口2个部分,设计了适用于即插即用的分布式电源与微网互联模型。针对微网运行需求,提出了互联模型的5种运行模式及其相互转换关系,通过设计的互联接口单元对运行模式及其切换进行了实际测试工作。表明所设计的模块化互联模型具有即插即用、可扩展、技术独立的特点,能灵活地满足不同分布式发电单元与微网互联的要求。
摘要:研究设计了一种通用的分布式发电单元与微网互联接口单元,将分布式电源与微网互联接口分成功率接口和信息接口2个部分,分析并阐述了这2个接口的作用与设计方法,提出了即插即用的分布式电源与微网互联接口模型。针对微网运行需求,分析了互联模型的5种运行模式,并通过设计的互联接口单元对运行模式及其切换进行了实际测试。结果表明所设计的模块化互联接口模型具有可扩展、技术独立的特点,能灵活地满足不同分布式发电单元与微网互联的要求,很大程度上提高了分布式电源与微网互联的标准性、灵活性。
通用接口 篇4
I2C总线协议是PHILIPS公司于1987 年开发的双向两线制同步串行总线协议。由于它具有连线少、允许多主机控制、具有总线仲裁和同步等特点,被广泛应用到各个领域,并已经成为一种世界性的工业标准[1]。I2C总线上数据的传输速率在标准模式下可达100 kbit /s,在快速模式下可达400 kbit /s,在高速模式下可达3. 4 Mbit /s[2]。
SPI总线协议是Motorola公司开发的高速、同步串行总线协议,一般需要3 ~ 4 根总线完成数据传输,SPI接口的传输速度可以达到5 Mbit /s。SPI接口技术是一种高速高效率的串行接口技术,主要用于扩展外设和进行数据交换[3]。
目前广泛使用的从机同步串行接口电路大多不具有兼容I2C总线和SPI总线数据传输的功能。有些从机同时具有I2C总线接口电路和SPI总线接口电路,但两种接口电路不仅浪费了内部逻辑资源,而且占用较多的信号接口。
本文通过分析I2C总线协议和SPI总线协议的特点,提出并设计了一种兼容I2C总线和SPI总线的通用从机同步串行接口电路,首先将该接口电路进行模块划分,然后对划分后的模块利用Verilog - HDL进行编码并通过Modelsim进行功能仿真,最终在Quartus II中下载到FPGA中进行验证,为传感器中的接口电路设计提供参考。
1 接口电路设计与实现
1. 1 设计要求
以一款目标物体温度探测传感器为例,本文设计并实现了一种通用从机同步串行接口电路。为了满足数据精度的需要,此传感器中内部寄存器数据为16 bit。此传感器中有5 个寄存器,分别为物体电压寄存器、本地温度寄存器、配置寄存器、制造商ID寄存器、器件ID寄存器,其中物体电压寄存器、本地温度寄存器、制造商ID寄存器、器件ID寄存器为只读寄存器,配置寄存器的高八位为可读写部分,低八位为只读部分。
通用从机同步串行接口电路引脚如图1 所示。其中CS为从机片选信号,A1、A0 为从机地址选择端口,SCL为串行时钟线,SDA为串行数据线。
1. 1. 1 接口电路用于I2C总线数据传输时的设计要求
发送到SDA线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制,但是每个字节后必须跟一个应答位[4]。主机发送起始条件后,首先发送一个7 位从机地址( 用于选中当前要使用的从器件) ,紧接着发送1位的数据传输方向位( R/W) 以指示是从从器件读取数据还是把数据写入从器件,数据传输由主机产生的停止条件结束[5]。当读写位即数据传输方向位( R/W) 为1 时,主机从传感器读取数据; 当读写位即数据传输方向位( R/W) 为0 时,主机向传感器写入数据。
其中A1、A0 与I2C总线从机地址的对应关系如表1所示。
为了满足主机同传感器内部多个寄存器之间进行数据传输,主机对传感器进行写数据操作之前,必须首先向地址指针寄存器写入地址,指定写操作对应的寄存器,然后再向地址对应的寄存器写入数据; 而主机对传感器进行读数据操作时,不向地址指针寄存器写入地址,直接读取地址指针寄存器相对应的寄存器数据。地址指针与传感器内部寄存器的对应关系如表2 所示。接口电路将接收的8 位地址指针数据存入地址指针寄存器,对传感器内部寄存器进行寻址。
1. 1. 2 接口电路用于SPI总线数据传输时的设计要求
本次设计中采用的时钟极性CPOL和时钟相位CPHA[6]都为1。
主机通过SPI总线接口与传感器内多个寄存器进行通信时,主机利用不同的读写指令来识别传感器内部不同寄存器。传感器先向主机发送地址寄存器对应的寄存器数据,紧接着传感器接收主机发送的读写指令,如果为读指令,传感器则将对应的寄存器数据发送给主机; 如果为写指令,传感器则将接收的数据存入相应的寄存器。
利用SPI总线对该传感器内部寄存器进行读操作时,接口电路将读指令的低8 位存入到相应的地址寄存器,然后再读取对应寄存器数据; 利用SPI总线对该传感器内部寄存器进行写操作时,由于该传感器中只有配置寄存器可以写,因此将写状态字的中间8 位数据存入到配置寄存器。读指令与内部寄存器的对应关系如表3 所示,写指令与寄存器的对应关系如表4 所示。
1. 2 通用从机同步串行接口电路模块划分
根据上述通用从机接口电路的设计要求,本设计中对该传感器接口电路划分为3 个模块: 起始和停止检测模块、并串和串并转化模块、控制模块。该接口电路的结构框图如图2 所示。
起始和停止检测模块: I2C总线或SPI总线数据传输起始位和停止位检测。
并串和串并转换模块: 利用此模块接收主机发送的串行数据和向主机发送串行数据。
控制模块: 在起始和停止位的控制下向主机发送应答位和对并串和串并转换模块的并串和串并转换控制。
1. 3 接口电路设计实现
根据接收和发送数据时序分析,利用SCL上升沿接收主机发送的数据,利用SCL下降沿向主机发送数据。
起始和停止模块设计: 在CS为1 且SCL为1 的情况下,SDA的下降沿为从机接口电路利用I2C总线数据传输的起始位,SDA的上升沿为从机接口电路利用I2C总线数据传输停止位; 在CS为0 的情况下,从机接口电路利用SPI总线进行数据传输。
并串和串并转换模块设计: 利用SCL时钟的上升沿读入主机串行数据并转化为并行数据存入传感器内部相应的寄存器; 利用SCL时钟的下降沿将传感器内部寄存器数据串行输出。
控制模块设计: 该通用传感器同步串行接口电路利用I2C总线进行数据传输时,每次只能传输一个字节和接收或发送一位应答位; 利用SPI总线进行数据传输时,每次可以传输16 bit数据。因此,控制模块可以利用计数器来实现。
由于本文传感器内部的寄存器为16 bit,因此该接口电路用于I2C总线数据传送需要分为高低字节分别进行传送。传感器接口电路用于I2C总线数据传输支持的数据格式如下:
a起始位+ 8 bit从机地址和读标志位+ 8 bit高字节数据+8 bit低字节数据+ 停止位
b起始位+ 8 bit从机地址和写标志位+ 8 bit地址指针+ 停止位
c起始位+ 8 bit从机地址和写标志位+ 8 bit地址指针+8 bit高字节数据+ 停止位
该接口电路用于SPI总线数据传输支持的数据格式如下:
a 16 bit读数据
b 16 bit读数据+16 bit写指令
c 16 bit读数据+16 bit读指令
d 16 bit读数据+ 16 bit读指令+ 16 bit读数据
该接口电路控制模块电路的状态机如图3 所示。
2 Modelsim对该设计进行功能仿真结果
2. 1 接口电路用于I2C总线数据传输时的仿真
图4 所示为该接口电路用于I2C总线数据传输时格式a的功能仿真结果,图5 所示为该接口电路用于I2C总线数据传输时格式c的功能仿真结果。
图4、图5 中所示的信号从上向下为片选信号CS,从机地址选择信号A1、A0,串行时钟信号SCL,串行数据信号SDA,地址指针寄存器PntrReg,配置寄存器Confg。从图4 中可以看出,CS为1 且A1 和A0 都为0 时,主机向传感器发送起始位之后,紧接着发送的是7 位从机地址7’b100_0000 和读标志位1’b1,对传感器执行读操作; 下一个SCL时钟下降沿传感器向主机发送低电平应答位接下来传感器在SCL下降沿传感器向主机发送地址指针寄存器PntrReg数据8’b0000_0010 对应的配置寄存器Confg 16 bit数据16’b1100_1010_0111_0011。从图5 中可以看出,CS为0 且A1 和A0 都为0 时,主机向传感器发送起始位之后,紧接着发送的是7 位从机地址7’b1000000和写标志位1’b0,对传感器执行写操作; ; 下一个SCL时钟下降沿传感器向主机发送低电平应答位; 接下来主机向传感器寄存器地址指针寄存器写入数据8’b0000_0010; 传感器发送应答位之后,主机向该地址指针对应的配置寄存器的高8 位写一个字节数据8’b1100_1010。
以上结果说明,该接口电路利用该I2C总线进行数据传输时,可以正确实现数据格式a和数据格式c。由于I2C总线数据传输中数据格式b可以被包含在数据格式中,因此可以利用该接口电路实现本文中的I2C总线数据传输。
2. 2 接口电路用于SPI总线数据传输时的仿真
图6 所示为该接口电路用于SPI总线数据传输时格式b的功能仿真结果,图7 所示为该接口电路用于SPI总线数据传输时格式d的功能仿真结果。
图6 中所示的信号从上向下为片选信号CS,串行时钟信号SCL,串行数据信号SDA,电压寄存器Vobj,配置寄存器Confg。从上图中可以看出,传感器先向主机发送默认地址8’b0000_0000 对应的电压寄存器Vobj16 位数据16’b1000_1010_0010_0101,然后将接收16 位写配置寄存器指令16’b0000_1011_0101_0000,最后可以看出将8 bit数据8’b1011_0101 存到配置寄存器的高八位中。图7 中所示的信号从上向下为片选信号CS,串行时钟信号SCL,串行数据信号SDA,电压寄存器Vobj,本地温度寄存器Tamb。从图7 中可以看出传感器内部电压寄存器Vobj数据为16’b1000_1010_0010_0101,本地温度寄存器Tamb数据为16’b1000_0000_0000_1000。传感器先通过SPI总线接口向主机发送Vobj寄存器数据16’b1000_1010 _0010_0101,然后接收16 位读Tamb数据指令16’b1000 _0000_0000 _1000,然后传感器将16 位Tamb数据16 ’b1000_0000_0000_1000 发送出去。
以上结果说明,该接口电路用于SPI总线数据传输时,可以正确实现SPI总线数据格式b和数据格式d。由于SPI总线数据传输中数据格式a和c可以被包含在数据格式d中,因此可以利用该接口电路实现本文所述的SPI总线数据传输。
3 FPGA验证
本设计选用ALTERA公司的EP4CE15F17C8N器件。整个设计采用Verilog - HDL编码,利用Quartus II软件编译后,将生成的pof文件通过AS口下载到FPGA中。通过单片机模拟I2C总线数据传输时的数据格式a、b、c和SPI总线数据传输时的数据格式a、b、c、d,可以成功实现单片机通过I2C总线和SPI总线与FPGA同步串行通信。
4 结束语
本文根据I2C总线协议和SPI总线协议的要求,设计了一种兼容I2C和SPI总线通用从机同步串行接口电路。首先将其进行模块划分,然后对各个模块分别设计与实现,最后对电路进行仿真、验证。与I2C总线接口电路、SPI总线接口电路相比,既可实现高速率数据传输,又可组成多主机、多从机的传感器网络。通用从机同步串行接口电路可通过I2C总线或SPI总线进行数据传输的灵活性的特点,在传感器中具有应用价值。
摘要:根据I2C总线和SPI总线协议设计并实现了一种兼容I2C和SPI总线协议的从机同步串行接口电路。基于在传感器中的应用,介绍了该接口电路的整体结构和模块划分、时序、Verilog-HDL设计与实现,并给出了整个电路的仿真结果。验证结果表明,该接口电路可以实现与主机之间基于I2C总线和SPI总线的数据发送与接收,可满足物联网中传感器系统的通信需求。
通用接口 篇5
关键词:USB2.0,热敏打印机,ARM7
引言
传统的机械针式打印机[2]体积大、打印速度慢、噪音大,已经逐渐推出了打印机的舞台。流行的喷墨、激光打印机虽然噪音略有降低,但是体积较大而且不具备实时打印的功能,难以满足一些测试仪器如温度记录仪,医疗仪器等的需求。热敏打印机具有打印速度快、噪声低、可靠性高、字迹清晰、机型小而轻等优点, 可满足该场合的打印要求, 因此在测绘仪器、POS消费终端等领域广泛使用。
1 系统硬件设计
该款USB热敏打印机主要由三部分组成:ARM7微控器,热敏打印机模块,电源。微控器模块担负热敏打印模块的控制和与主机USB实时通讯,电源模块负责前两个模块的供电。
1.1 系统框图
硬件系统由控制器、走纸电机、USB接口、热敏打印头及其检测和保护电路等组成。
1.2 ARM控制器的选择
本设计将用USB口与PC机通信[3], SPI口控制打印头,同时具有大容量的数据存储及高速数据处理能力。所以从集成度和性价比来看, ATMEL公司的ARM7内核芯片AT91SAM7S64是最理想的方案。该芯片具有64 KB的片内高速Flash存储器, 16 KB的片内高速SRAM (可以在最高时钟速度下进行单时钟周期访问操作) ,1个USB2.0全速 (12 Mbps) 设备端口,片上收发器,328字节可编程的FIFO,主/从串行外设接口 (SPI) ,8~16位可编程的数据长度,4个片选线。
1.3 热敏打印头的选择及控制
热敏打印技术最早使用在传真机上,其基本原理是将打印机接收的数据转换成点阵信号,控制热敏单元的加热,把热敏纸上热敏涂层显影。这种技术只能使用专用的热敏纸。热敏打印机接收到打印数据后,将打印数据转换为位图数据,然后按照位图数据的点控制打印机芯上的发热元件通过电流,这样就把打印数据变成打印纸上的打印内容了。本设计采用Fujistu的FTP-638MCL103, 它有效打印宽度是72mm, 具有5组加热组。
1.4 USB接口电路
AT9lSAM7S64芯片具有一个USB 2.O全速 (12Mbps) 设备端口,片上收发器,328字节可编程的FIFO。这就给设计带来很大的便捷性,也是采用本款ARM芯片较其他控制芯片的独特优势之一。其外接电路如图1所示
1.5 走纸电路设计
打印机走纸控制采用双极斩波驱动的步进电机来实现。本设计采用Allego公司的专用双全桥PWM步进电机驱动器A2919SLB来驱动电机。驱动器输出双路可直接驱动步进电机,PHASEl和PHASE2分别由ARM控制器输出相应脉冲来控制输出脉冲频率,从而得到理想的速度。
1.6 打印头保护和头温度测量电路
对打印头的保护是打印机控制系统好坏的重要标志[4]。由于行式热敏打印机对发热元件的加热时间都是ms级的,如果对发热元件连续加热超过l s,将会烧坏打印头,因此对打印头的保护必须及时、可靠。从行式打印头电路连接图可以看出,要使发热元件加热,除寄存器中数据点为高外,还必须将头电压VH-8V供电电源打开。只要任一条件不满足,就不可能给打印头加热,也就不会烧坏打印头。所以对打印头电压设计了一个电源保护电路。
如果打印过程中打印头过热,就必须停止打印,否则会烧坏打印头。打印头内置热敏电阻由THERM连接到外部检测电路,经过LM339M比较器,一旦温度超过极限温度,就通过OVER_HOT脚发出低电平给主控芯片.从而可以及时采取相应的保护措施。
2 热敏打印机的软件设计
软件的主要功能是接收来自PC即机通过USB口发来的数据,然后判断数据的内容,根据指定的通信协议进行处理。数据包括两种情况:控制命令、数据。将接收到的数据映射成点,通过SPI口,以串行方式送至打印头的缓冲区进行打印。如果数据是控制命令,则转到相应控制命令的执行程序。
在对打印头传送数据时,使用了ARM控制器的SPI口,因ARM只需向打印头单向传送数据,仅是主从式工作方式,所以只要通过3根线--时钟线 (SPKCLK) 、数据输出线 (SPIMOSI) 、片选线 (CS) 进行通信,内部通过SPIDAT寄存器完成转换。软件设计中的另一个关键技术就是将打印数据映射成点,再打印到纸上。映射的点必须和打印纸上的点一一对应,所以合理分配每导在打印纸上的空间就十分重要,既要分配充分,又不能相互重叠。软件设计中的另一个关键技术就是将打印数据映射成点,再打印到纸上。映射的点必须和打印纸上的点一一对应,所以合理分配每导在打印纸上的空间就十分重要,既要分并对打印机头作了充分的保护。通过采用响应的算法实现了热敏打印,在实际应用中效果良好。本文以标准心电波型为例,打印输出结果如图3。配充分,又不能相互重叠。打印纸的宽度是72mm,与832个点相对应,加热时序必须满足相应条件。
3 打印结果
本设计充分利用了ARM芯片AT91SAM7S64的资源, 完成了采用USB接口技术的热敏打印机的开发, 并对打印机头作了充分的保护。通过采用响应的算法实现了热敏打印, 在实际应用中效果良好。本文以标准心电波型为例, 打印输出结果如图3。
参考文献
[1]施坚强.基于ARM的热敏打印机系统[J].黑龙江科技信息.2008 (28) .
[2]王少慧.针式打印机常见故障及维护[J].中国设备工程.2008 (02) .
[3]杜德生.USB在数据采集系统中的应用[J].自动化技术与应用.2008 (09) .
通用接口 篇6
随着智能技术的发展, 人工智能将是21世纪农业工程发展的重点, 各种农业机器人或智能化系统将在农业自动化控制中不断应用, 推动和实现农业自动化, 向农机检测提出更高的要求。目前农机检测普遍使用单一设备进行检测和数据处理, 而集成通用接口的数据采集检测系统很少, 或基本没有。如检测增氧机性能, 增氧能力用溶解氧分析仪, 电机温升用万表, 功率、电流和电压用电能综合测试仪, 噪声用声级计, 质量用电子称, 如果采用通用接口技术, 则可以把检测增氧机的性能参数集中在一台检测设备系统中完成, 不但可以提高检测的效率, 而且可以提高检测的一致性和准确性。所以, 研制通用型农机检测接口的信号处理系统, 就可以连接不同的传感器, 从而达到同时、高效地完成农机的检测。因此, 利用微电子技术、信息技术、控制技术、计算机技术、传感器技术、接口技术等进行优化和技术性能的融合, 研制可以处理农机检测数据不同类型信号的数据信号处理器, 是现代检测技术发展的必然趋势, 也是提升农机检测水平的关键技术保证。
1 农机检测通用接口技术处理系统的基本构成
系统的基本构成为三个部分:信息采集部分、数据接收和控制部分、数据处理部分, 分别位于整个系统的感知层、传输层和应用层, 基本构成框图见图1。
信息采集系统中配置不同的连接口, 每个接口设计可更换接入方式, 以适应不同传感器或信号接收器方便接入, 电源采用蓄电池供电。
数据接收和控制系统采集不同传感器或信号接收器检测到的信号节点数据, 同时把模拟信号转换为数字信号, 并对检测的数据与标准数据进行比较, 形成修正因子;根据修正因子对数据进行修正, 然后形成最终检测结果, 最后通过无线传感器网络 (WSN) 和有线传输方式把数据传到数据处理系统。
数据处理系统主要负责把接收的数据形成报表, 并对单独数据进行计算处理, 形成最终检测结果, 然后通过打印机打印出来。
2 系统的组成
2.1 硬件
该系统的硬件主要是信号采集器 (信息采集部分或称传感器) 、信号传输器 (数据接收和控制部分) 、终端显示器 (数据处理部分) 三部分组成, 首先要对这些硬件进行信号通信传输的选配。
2.1.1 信号采集器 (传感器)
对于农业机械, 检测的技术参数主要是温度、湿度、水压力, 气体压力, 质量、流量、拉压力、太阳辐射、光强。为了满足更多的检测参数, 接入18个传感器接口, 因为不同技术参数传感器的信号 (采集的数据) 不同, 分别设置符合温度、湿度、水压力, 气体压力, 质量、流量、拉压力、太阳辐射、光强等接口, 为了方便数据处理和数据通信传输, 同时减少数据传输过程的衰减, 选择的传感器必须满足有rs232或rs485接口, 并提供modbus协议;对于传感器的量程, 可以按需要选配, 因为该系统可以适配不同量程的传感器。
2.1.2 信号传输器
采用无线和有线两种方式进行。有线比较简单, 直接用USB传输线就可以;无线传输选择无线传输模块。无线传输模块现有技术分别是采用433MHz频段无线数据终端DTD433, 或GPRS透明传输数据终端DTP_S09F。前者可以传输3 km以内范围, 后者只要中国移动网络已经覆盖, 就可以跨越不同地域甚至不同国家。考虑到农业机械在野外作业比较多, 无线通讯距离设置在1 km以上就可以满足要求, 同时考虑到数据传输过程的稳定性和准确度, 无线传输采用采用433 MHz频段无线数据终端DTD433, 为了提高接收灵敏度及减少误码率, 传输数据速率控制在2.5 kbps左右, 传输的码组格式为前导码+同步码+数据帧, 前导码长度12 ms, 以避开背景噪声, 减少数据第一位被干扰 (即零电平干扰) 而造成接收错误的数据, 同时采用CPU编译码在数据识别位前加一些乱码以抑制零电平干扰。
2.1.3 终端显示器
采用电脑显示和打印机输出, 电脑的技术要求满足CPU主频1.9 GHz, 内存容量2 G, 硬盘容量500 GB, 有带光驱。
2.2 软件
考虑到检测的通用性, 以及农机产品的不断开发升级, 检测技术也应作相应的升级和提高精度, 因此必须修改其控制系统的源程序, 所以必须选择一个可以方便修改的软件开发系统。组态软件, 或说是组态式监控软件, 功能非常强大, 具备实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、广泛支持I/O, 用户可以根据自己的控制对象和控制目的任意组态, 完成最终的自动化控制工程, 构建一套最适合自己的应用系统, 而且该系统可以升级和修改。如果用汇编、C等语言进行编制一套控制系统, 编制时间长, 价格非常昂贵, 而且稳定性比较差, 升级和增加功能都受到严重的限制, 倘若原来的编程人员因工作变动而离去时, 则必须同其他人员或新手进行源程序的修改, 因而会相当困难。
2.2.1 组态软件功能特点
组态软件是指一些数据采集与过程控制的专用软件, 它们是在自动控制系统监控层一级的软件平台和开发环境, 能以灵活多样的组态方式 (而不是编程方式) 提供良好的用户开发界面和简捷的使用方法, 它解决了控制系统通用性问题。其预设的各种软件模块可以非常容易地实现和完成监控层的各项功能, 并能同时支持各种硬件厂家的计算机和I/O产品, 与高可靠的工控计算机和网络系统结合, 可向控制层和管理层提供软硬件的全部接口, 进行系统集成。组态软件通常有以下几方面的功能:
1) 强大的界面显示组态功能。目前, 工控组态软件大都运行于Windows环境下, 充分利用Windows的图形功能完善界面美观的特点, 可视化的m风格界面、丰富的工具栏, 操作人员可以直接进人开发状态, 节省时间。
2) 良好的开放性。社会化的大生产, 使得系统构成的全部软硬件不可能出自一家公司的产品, “异构”是当今控制系统的主要特点之一。开放性是指组态软件能与多种通信协议互联, 支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。组态软件向下应能与低层的数据采集设备通信, 向上能与管理层通信, 实现上位机与下位机的双向通信。
3) 丰富的功能模块。提供丰富的控制功能库, 满足用户的测控要求和现场要求。利用各种功能模块, 完成实时监控、产生功能报表、显示历史曲线、实时曲线、提侠报警等功能, 使系统具有良好的人机界面, 易于操作, 系统既叫适用于单机集中式控制、DCS分布式控制, 也可以是带远程遇信能力的远程测控系统。
4) 强大的数据库。配有实时数据库, 可存储各种数据, 如模拟量、离散量、字符型等, 实现与外部设备的数据交换。
5) 可编程的命令语言。有可编程的命令语言, 使用户可根据自己的需要编写程序, 增强图形界面。
6) 周密的系统安全防范, 对不同的操作者, 赋予不同的操作权眼, 保证整个系统的安全可靠运行。
7) 仿真功能.捉供强大的仿真功能使系统并行设计, 从而缩短开发周期[1]。
2.2.2 软件控制流程图
该软件系统必须完成接收数据、处理数据、输出数据的软件功能, 同时考虑到通用性, 必须有一个人机对话窗口, 该窗口必须具备设置修改传感器量程、不同技术参数修正因子和指令接口改变接入形式, 大概流程如图2。
3 结束语
该系统采用先进技术, 实现检测数据的一致性和准确性。可提高检测手段水平, 降低人为干扰, 提高工作效率, 解决“检不准、检不快”的问题。可以打破传统笨重而不精准的农机检测方式, 检测人员可以通过在线监测, 便可以实时得到检验数据, 不仅可以减轻繁重的工作量, 还可以提高数据的精准性。最大优势体现在用于一些高危、高温作业的农机检测, 解决了一些项目“检不了”的问题, 而且还降低检测人员的工作危险。
摘要:本文论述了农机检测通用接口技术研究的必要性、可行性, 说明了该系统的基本构成, 以及该技术研究应用后的优点:实现检测数据的一致性和准确性, 提高检测手段水平, 降低人为干扰, 提高工作效率, 解决“检不准、检不快”的问题。
关键词:信息采集,数据处理,数据控制,接口,通用
参考文献
通用接口 篇7
随着数字集成电路制造工艺的发展,可编程逻辑器件密度越来越高,单片FPGA的规模可达上千万门,逐渐成为嵌入式系统设计的核心器件。将电子系统的核心模块设计成IP核,嵌入到FP-GA中,无论是在减小系统体积、降低系统功耗,还
是提高系统可靠性方面都具有明显的优势,同时还能提高开发效率,降低产品成本。
1 键盘IP设计原理
笔者设计基于FPGA的4×4矩阵式键盘(图1)接口IP核。键盘接口IP核的总体设计思想基于矩阵式键盘扫描原理。IP核的结构主要由分频器(division_even)和键盘扫描状态机(keyboard_scan_machine_state)两个模块组成,如图2所示。其中分频器用于将系统时钟(sys_clk)降低到键盘IP核所要求时钟周期范围内。键盘扫描状态机是IP核设计的核心,有键按下时在键盘时钟(key_clk)的作用下,循环输出列线扫描码C3~C0并接收行线R3~R0信号检测按键位置,设置键盘状态标志(n KEY)并输出四位按键编码KeyCode[3..0]。
2 分频器设计
由于扫描状态机对时钟频率无严格要求,故扫描周期设计为20ms,有利于消除按键抖动,提高按键检测的可靠性。当系统时钟为50MHz时,采用偶分频器实现106分频即可得到20ms的时钟信号。其核心Verilog代码为:
3 键盘扫描状态机设计
键盘扫描状态机是IP核设计的核心,当有键按下时启动扫描状态机检测按键位置,输出按键编码并设置键盘状态信号有效,供微处理器或控制器以查询或中断方式读取按键值。扫描状态机定义了NO_KEY_PRESSED(无键按下)、SCAN_C0(扫描第0列)、SCAN_C1(扫描第1列)、SCAN_C2(扫描第2列)、SCAN_C3(扫描第3列)和KEY_PRESSED(有键按下)6个状态。在没有键按下时状态机处于NO_KEY_PRESSED状态,键盘状态信号nKEY无效。有键按下时状态机进入SCAN_C0、SCAN_C1、SCAN_C2和SCAN_C3进行循环扫描,寻找按键位置。确定按键位置后进入KEY_PRESSED状态,输出按键编码keycode并设置键盘状态信号n KEY有效。扫描状态机采用标准三段式进行描述,由时序进程、逻辑进程、同步输出和按键编码4个模块组成。
时序进程用来描述在时钟脉冲的作用下现态(curr_state)和次态(next_state)的转换关系,其核心代码为:
逻辑进程根据现态和行线信号ROW[3..0]的值确定状态机的次态。为了与外接矩阵键盘在时序上满足状态机检测要求,逻辑进程设计成时序逻辑电路,其状态转换图如图3所示。
输出进程功能见表1,在时钟脉冲作用下,根据次态给C[3..0]赋值,为下一个状态检测提供列线信号,并设置相应的键盘状态信号n KEY。
检测到按键位置时,状态机进入KEY_PRESSED状态,同时键盘编码模块根据列扫描码和行扫描码的值按表2所示编码逻辑输出键值,同时设置键盘状态标志n KEY有效,以便微处理以查询或中断方式读取键盘编码。
4 仿真与测试
分频器和扫描状态机设计完成后,在Quartus II开发环境中按图2所示的原理框图设计顶层原理图,建立仿真波形文件进行仿真,键盘扫描状态机的仿真结果如图4所示。从图4中可以看出,IP核能够正确地检测出按键位置,给出相应的按键编码。
完成引脚锁定后,将IP核重新综合下载到FPGA中,与图1所示的键盘电路相接,测试键盘接口IP核功能正确,满足设计要求。
5 结束语