接口设计论文范文

时间:2023-03-16 17:43:14

引言:寻求写作上的突破?我们特意为您精选了12篇接口设计论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

接口设计论文

篇1

2OPC数据接口

(1)主要采用OPCServer嵌入控制软件或单独调用OPCServer程序。程序代码(略)。(2)燃气炉加载OPC接口数据见表1,电阻炉、离心机等设备的数据接口类似。

3应用效果

在电阻炉群控软件中,对每台炉窑添加多功能电量表,对每台炉的用电情况(三相电压、三相电流、瞬时功率、累计电量)进行实时监控,并对每炉次的用电量进行统计。为此,电阻炉的实时上传数据为:炉次,炉内各控制偶温度,炉内各监测偶温度,工件上各铠装偶温度,各区设定温度,各区输出功率,设定工艺参数,工艺运行参数,设备报警信息,电量信息等。在燃气炉群控软件中,对没有煤气流量计的炉窑添加了流量计,对每台炉的煤气用量情况(瞬时流量、累计流量)进行实时监控,并对每炉次的煤气用量进行统计。为此,燃气炉的实时上传数据为:炉次,炉内各控制偶温度,炉内各监测偶温度,工件上各铠装偶温度,各区设定温度,各区输出功率、设定工艺参数,工艺运行参数,煤气压力,助燃风压力,炉膛压力,设备报警信息,每支烧嘴控制大小火情况,每支烧嘴大小火信息,煤气消耗量信息等。通过以上实时数据的统计、分析和传递,在生产管理和设备管理等方面可达到以下效果:(1)生产调度方面。生产管理者可以快速了解各热处理设备的使用及运行情况,可以优化设备的使用率和生产工艺流程的顺畅。(2)能源调度调配方面。能源管理者可以快速了解设备的能源消耗情况,并可对能源消耗费用进行控制(对于电阻炉,可以实现错峰用电,实现能源成本的节约),对整个厂内耗能的热处理设备实现监控与调配,防止供电负荷变化过大和煤气消耗量不稳。(3)设备管理方面。设备管理人员可对炉窑设备进行实时监控,对存在的设备隐患和问题及时发现并处理,设备维修保养更快捷,设备运行更顺畅。(4)成品管理及质量跟踪方面。对出现问题的工件可以查看其在锻造加热和热处理工艺过程中各种工艺参数和温度参数,追溯到存在问题的环节。(5)安全管理方面。对于容易出现安全问题的设备进行实时监控,及时发现安全隐患并消除,防止安全事故的发生。对于发生安全事故的设备,通过查看其报警记录及其它相关参数,方便查找事故原因,并进一步针对事故原因进行分析解决。(6)成本管理方面。通过对炉窑设备的实时数据记录,可计算单支产品在加热锻造和热处理工艺流程中的能源消耗,实现单支产品的成本统计分析。(7)通过个人办公室全过程信息化联网计算机可以查看任何一个产品当前所在的生产流程位置、状态、已消耗费用等,另外设备总体使用率,各产品生产周期和生产成本等也一目了然。从而可根据生产数据信息化分析处理系统了解是否满足市场及客户需求,企业内部的运行效率如何,优化内部管理,企业系统如何有效的适应外部的变化。为企业发展管理决策提供第一手参考资料和依据。

篇2

2信息接口设计

在第2节中,对系统应用的信息接口进行了介绍,并对其功能进行了较为详细的描述,根据其功能和作用位置的不同,可以将其分为信息接收接口、信息交付接口和信息扩展接口3类。

2.1信息接收接口信息接收接口的主要功能是:接收由硬件提交的信息,并对信息的格式进行检验和分类,最终递交给中央处理模块。其主要结构和工作流程如图5所示。如图5所示,在信息接收接口中,收到的信息首先存储在消息缓冲中,信息格式模式匹配单元通过预先定义的合法消息格式,对消息缓冲中的信息进行匹配,监测其合法性,当出现异常时,反馈控制单元调度消息缓冲,根据异常消息的来源,向相应的硬件接口做出反馈,进而将异常消息丢弃或封闭/重置相应的硬件接口。合法的消息被送入消息分类单元,该单元维护若干个列表,列表中存储格式化的消息数据。当中央处理模块或其他模块,调用相应的功能时,则通过相应的功能子接口,将对应的数据取出并交给相应的功能。信息接收接口是基础硬件设施和软件处理单元之间的桥梁,通过扩展消息格式化的适配功能,能够有效拓展支持的硬件种类,从而使得系统的功能更加强大。

2.2信息交付接口信息接收接口面向的是底层硬件设备和系统,而信息交付接口面向的是上层的用户和用户界面,其功能是:将中央处理模块处理完毕的数据和信息,按照不同的种类递交给用户界面,在用户界面中进行集成和显示。其主要结构和工作流程如图6所示。与信息接收接口的不同之处在于,交付接口担负了双向的信息传递功能。首先,通过数据调用单元可以将处理完成的数据交付给用户界面使用,根据类型的不同有图形化数据、字节化数据、GIS数据等,用户界面通过调用这些不同种类的数据,即可按照实际需求,合成和显示出包含丰富内容的导航信息图示。同时,用户通过用户界面对导航信息系统进行控制、设置或调用其需要的单个数据,此时用户指令被传递到用户指令解释单元,若用户指令合法,则通过编译器对指令进行解释,产生针对系统每个模块的具体指令,并通过控制信息产生单元将具体指令转换为系统模块能够识别的具体控制信息。然后利用系统控制接口,对系统的软件和硬件进行直接的控制或设置等操作。信息交付接口是实现用户界面的基础,其并不关心用户界面如何实现,终端用户有着怎样的具体需求,仅仅是提供了一系列标准化的数据交付接口,这样就可以根据不同类型的船舶和不同的应用场景,设计不同的用户界面,而不需要受到核心软件系统的束缚。

2.3信息扩展接口与前2种接口不同,信息扩展接口是向外部开放的接口,通过这个接口,例如卫星通信网、GIS系统、AIS系统等,均可以连接入导航信息系统,为系统提供更加丰富的信息和更加强大的功能。其主要结构和工作流程如图7所示。信息扩展接口同样需要担负数据的双向传递任务,一方面其运行有相应数据交换/传输协议的协议栈,如AIS数据传输协议栈、VSAT卫星通信协议栈等,以便通过相应系统的接口下载和传输消息,同时将接收到的消息转换为系统能够识别的数据结构,供中央处理模块处理。另一方面,系统根据需要,提出相应的信息下载请求,该请求通过请求处理单元,转换为相应系统的控制和请求指令,封装为合适的控制消息后,发送给对应的外部系统。信息扩展接口可以通过扩展外部数据交换协议栈来扩展其可以支持的外部系统种类,从而能够综合更多的外部信息,丰富导航信息系统的内容。

3仿真与实现

根据以上研究和设计,本文采用软件实现的方法对导航信息系统进行仿真和模拟。采用的环境是Corei31.8GHz,4G内存,Win764bit,采用Java作为程序开发语言。仿真的重点在于实现各个接口的功能,验证各个接口工作的有效性和高效性,依托当前较为成熟的中央处理模块[7],实现对信息的处理和存储,并使用Java语言开发整个模拟系统,模拟系统界面如图8所示。通过编写相应的代码,模拟各种硬件设备,信息接收接口成功地收集和转换了不同种类的消息,并通过信息交付接口递交给用户界面,从图8可以看出其成功地实现了信息的收集和显示。如图9所示,进行信息设置的测试,通过设计控制面板,设置相应的参数,观察能否对系统进行有效控制。通过以上实践证明,在理论上本文所设计的接口能够发挥相应的功能,实现导航信息的收集、处理和交付等功能,说明了本文提出的方案具有一定的可行性。

篇3

2软件设计

本接口设计选用开发环境MDK,在MDK环境下可以使用C/C++方便地开发Cortex-M3的应用程序.与其他开发程序相比,MDK具有入门容易、使用方便,并在调试程序、软件仿真方面也有很强大的功能.以太网收发数据程序流程如图3所示.主程序通过查询的方式发送数据,采取通过判断函数返回值方式是否接收到数据,若接收到数据,通过指针把数据包传递给上层的LwIP协议栈进行处理,完成数据包的收取.收发数据主程序主要包括系统及外设的初始化、以太网控制器的初始化、发送数据、接收数据和应用处理等部分.

2.1STM32库STM32库是由ST公司针对STM32提供的函数接口,即API(ApplicationProgramInterface),开发者可以调用这些库函数接口来配置STM32的寄存器,使开发人员得以脱离最底层的寄存器操作,有开发速度快、易于阅读、维护成本低等优点.实际上,库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关配置,向上为用户提供平配置寄存器的接口[3].本设计采用最新的STM32的3.5版库文件,相对于以往版本的库文件兼容性更好.

2.2LwIP协议栈要实现TCP/IP协议栈,代码可以自行编写,但一般都会移植更加稳定优良的代码.LwIP是LightWeightInternetProtocol的缩写,是由瑞士计算机科学院AdamDunkels等开发的适用于嵌入式领域的轻量级TCP/IP协议栈,它可以移植到含有操作系统的平台中,也可以在无操作系统的平台下运行.由于其开源,占用的RAM和ROM比较少,支持较为完整的TCP/IP协议,且十分便于剪裁、调试,被广泛地应用于中、低端的32位操作平台[4].该协议栈提供了一组API函数应用程序调用,编程方便[5].LwIP通过pbuf建立了与底层硬件收发数据包的数据结构,可以实现数据的管理;netif结构体则保存了网卡地址、IP地址、网关等设置的这些信息.下面例举部分LwIP_Init()函数,其主要功能是初始化LwIP协议栈,主要是把ENC28J60与LwIP连接起来,包括IP,MAC地址,接口函数。

3仿真与应用

MDK仿真工具强大,本设计软件调试部分利用MDK软件针对STM32进行仿真,执行工程中的代码.仿真结果如下图4所示.构成网络应用的软件有不同的结构,有B/S结构(浏览器/服务器)和C/S(客户端/服务器).本网络接口设计中HTTP服务器其是基于B/S结构的,用户运行应用程序时通过访问Web调用服务器的应用程序,并通过浏览器把结果显示给用户.该以太网接口应用于校园能耗监控系统中,所以设计出一款可以远程控制LED灯亮灭的简单应用,其运行结果如图5所示.

篇4

双向端口操作 接口部分采用地址和数据总线复用的方式以减少所需要的端口引脚数。当传输数据时低位地址保持在一个锁存器中,“Data1”用作数据输入总线输出总线和部分地址总线,对总线的复用需要对端口的配置进行动态改变使端口按需要设置为输入或输出。为了将一个端口引脚配置为输入,必须将其相应的端口配置寄存器位(PRTnCF.x)设置为“0”使其输出方式为“漏极开路”,寄存器锁存位(Pn.x)必须设置为“1”,使其输出状态为高阻态。例如下面的代码将端口0的所有引脚配置为输入:movPRT0CF,#00h;漏极开路输出方式movP0,#0ffh;高阻抗下面的代码将端口0的所有引脚配置为推挽输出方式:movPRT0CF,#0ffh;推挽输出方式SRAM_Read子程序(见程序代码部分)给出改变端口方向的一个例子,在程序执行的前一阶段“DATA1”口被配置为输出,将低字节地址输出到端口锁存器,在程序执行的第二阶段“DATA1”口被配置为输入,从外部SRAM读取数据。

二、接口电路程序控制实现

该程序控制系统由初始化SRAM接口逻辑程序、读外部SRAM程序、写外部SRAM程序等组成,功能是通过该接口电路程序实现硬件间的有效连接,实现稳定的通信,从而实现对记录盘的各种配置以及对记录数据进行精确管理。程序代码中的主程序概述了如何对该外部128KBSRAM的每一个字节进行读写,该程序向外部SRAM写入一个字节,再从写入的地址读回,然后比较回读的值与写入的值是否一致,程序接着处理下一个地址,直到整个64K的存储块写完,一旦低存储块写完,程序将“A16位”置1(见示例代码中“常数和声明”一节),切换到高存储块。程序将接着对高存储块的每个字节进行同样的读、写和校验操作。

篇5

2软件设计

数据处理接口模块的软件主要由硬件初始化、自测试程序、周期数据收发和命令响应四大功能组成。其中周期数据的收发包含消息层和数据层两个层次。消息层负责命令的辨识和数据的组织搬运,数据层负责协议的执行和发送接收等底层任务。数据层基本数据帧的格式见图4所示。这里的同步字、数据长度、校验方式由主机在初始化时确定。其中校验方式可选择两种,若采用和校验,则检验位占用1字节;若使用CRC校验,校验位占2字节。在周期数据收发的数据层中,RS422链路分为测控链路和任务链路两部分。测控链路用于检测设备的连通性和硬件的正确性,任务链路用于任务系统之间的通信。因此,将用于测控通信的链路设计为无链接协议链路,将用于任务通信的链路设计为有链接协议链路。有链接协议的任务链路的状态转移图见图5所示。任务链路的工作原理是:上电后首先进行通信测试,主端首先发送LTST,若从端回复ALTST为正常,测试完成后,转入空闲工作状态;空闲状态时主从定期进行握手操作,当主机存在发送命令时,转入消息发送状态,当从端发来数据帧前导码LHDR时主端转入消息接收状态;消息发送完成后会进行发送检查,如果从接收无误会发来ACK握手信号,当出现超时或从发来NACK信号时进行重新发送状态,重试超过门限进入通信测试状态;消息接收状态时若消息正确则进入空闲状态,若接收超时或消息错误时发送NACK通知主端重新发送,当错误次数超门限时进入通信测试状态。

3低功耗设计

简易无人机携带燃料有限,而实际任务中往往又要求其尽可能长时间的滞空,这就要求各类设备尽可能地以较小的功耗完成较多的功能。因此本文从硬件软件等不同层面设计来降低模块的功耗。降低功耗总的来说有关闭无用功能、减少无用操作和合理器件选型三个方法。在不使用DSP内部的AD、eCAN、SCI等资源时,可将对应的资源的时钟HSPCLK和LSPCLK关闭,同时不使能这些资源,以达到降低功耗的目的。作为降压型线性电源,TPS74401芯片的耗散功率PD=(VIN-VOUT)×IOUT,即电源的转换效率取决于输入输出电压差的大小,因此在电源转换电路的设计上应在满足电源芯片的最小dropoutvoltage的情况下尽量减小LDO器件输入输出电压差,可提高转换效率减少发热功耗,本文中1.8V电源由最接近1.8V电压的3.3V电源转换而来。为保持较好的信号完整性,模块上的印制板走线阻抗均按照单端50Ω差分100Ω控制。在RS422的发送端和接收端进行阻抗匹配以优化信号质量。在发送端使用33Ω串联匹配方式,接收端采用120Ω并联匹配方式,由于正常工作时差分电平约±5V,为降低直流功耗在并联匹配电阻处串接一10pF电容,这样既满足瞬态的信号完整性要求,也可在稳态时达到隔离直流,减小匹配电阻上直流功耗的目的。详见图6所示。在软件设计方面,采用定时查询和中断接收相结合的方式,减少DSP对外设的多余操作,避免不必要的轮询操作所产生的功率消耗。本文介绍的串行数据接口板在今后的改进设计中,可以注意合理的器件选型,以达到降低功耗的目的。例如:现设计中1.8V电源转换效率为54%,今后可结合实际电流消耗状况选用合适的开关电源代替线性电源[4],并使开关电源工作在中等或较重负载状态,可提高电源效率至80%左右;现有设计中CPLD动态功耗约为0.7W,由于该模块中逻辑占用资源并不多,因此后期可考虑用更小功耗的中小规模可编程逻辑器件替换。目前现有设计中未考虑模块的睡眠唤醒功能,今后可结合主机实际的需求,添加相应功能的电路,以降低待机功耗。

篇6

带有I2C总线接口的器件可以十分方便地将一个或多个单片机及器件组成单片机系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少,因此其构成的系统价格低、器件间总线连接简单、结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方便地确定总线的时钟。

如今,为了提高系统的数据处理精度和处理速度,在家用电器、通讯设备及各类电子产品中已广泛应用DSP芯片。但大多数的尚未提供I2C总线接口,本文将介绍一种基于CPLD的已实现的高速DSP的I2C总线接口方案。

图1I2C总线接口电路结构

1I2C通信协议

I2C总线是一种用于IC器件之间的二线制总线。它通过SDA(串行数据线)及SCL(串行同步时钟线)两根线在连到总线上的器件之间传送信息,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的扩展与控制。I2C总线接口电路结构如图1所示,I2C总线时序图如图2所示。

I2C总线根据器件的功能通过软件程序使其可工作于发送(主)或接收(从)方式。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路的,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。

在数据传送过程中,必须确认数据传送的开始和结束信号(也称启动和停止信号)。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平则定义为“开始”信号;当SCL为高电平时,SDA由低电平跳变为高电平则定义为“结束”信号。开始和结束信号都由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲状态。

在I2C总线开始信号后,依次送出器件地址和数据,I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位),也叫应答位(ACK)。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。

2设计方案

本文以DSP芯片ADSP21992与时钟芯片PCF8583的控制接口为例,说明基于CPLD的I2C总线接口设计方案。

ADSP21992是2003年最新推出的160MIPS、带CAN通信接口的适合于高精度工业控制和信号处理的高性能DSP芯片。它带有48K片内RAM、SPORT通信接口、SPI通信接口、8通道14位A/D转换器以及PWM等。

PCF8583是一款带有256字节静态CMOSRAM的时钟/日历芯片。地址和数据严格按照双向双线制I2C总线协议传输。内置地址寄存器在每次读/写后自动递增。

2.1系统结构设计

系统的基本功能是通过CPLD的I2C总线接口完成ADSP21992(主控芯片)与PCF8583的数据交换。系统框图如图3所示。

系统主要由两个部分组成:一是DSP与CPLD的接口;另一是I2C核。为了能在DSP指定的时刻读/写PCF8583的数据,使用DSP的读写信号、同步时钟和最高位地址控制数据的传输。最高位地址作为控制信号是因为DSP的I/O口比较少,必须优先供应给其它外设,因此用它来产生DSP提供给I2C核的片选信号。而DSP的地址总线位数较多,最高位一般使用不到,这样正好可以充分利用资源。

2.2I2C核

I2C核原理示意图如图4所示。

整个I2C核由控制模块和I/O模块构成。其中,控制模块包括控制信号发生部分和时钟开关,I/O模块包括数据缓存和同步时钟缓存。

当DSP的最高地址位出现一个有效信号时,便会使I2C核内的触发器产生一个全局使能信号EN?熏它将会启动时钟、计数器和其它控制信号,但数据不会出现交换。如果此时DSP的读/写同步产生,则会启动相应的读/写进程,进行数据传输。

I2C核的关键技术是:

①用计数器和全局使能信号EN配合触发进程。

由于I2C核的片选信号EN是由触发产生的,不能象电平信号一样由DSP的I/O控制,因此只能通过精确的计数器定时和读/写使能信号共同判别控制。

读/写使能信号WR_EN/RD_EN也象EN那样由触发产生,因此也要用同样的方法判别。

②同步时钟的产生。

从图2中可以看到,数据在同步时钟的高电平脉冲时必须保持稳定,如果此时发生变化将会被视为一个控制信号,而通信也会被中断。因此,同步时钟的高电平脉冲一定要在有效数据的中间出现。而所需的控制信号必须在同步时钟正脉冲的时候出现。

③对数据总线进行三态设置。

因为SDA和DSP_DATA都是双向数据线,在写SDA和DSP_DATA的进程中必须设置高阻态,否则会出现数据线状态“不确定”。

图5I2C核工作时序图

2.3DSP与CPLD的接口模块

根据DSP的时序,DSP与CPLD之间必须根据双方(ADSP21992和PCF8583)的时序制定一个握手协议。当读程序时,由于I2C总线协议只能支持最高400kbit/s的传输速率,而DSP的同步时钟可达几十兆赫。因此,DSP必须等到I2C核把PCF8583的数据读到CPLD后才能获得正确的数据(这里可以通过设立一个忙标志来实现)。而当写程序时,为了节约CPLD的资源(数据缓存特别占用资源),可以设置DSP定时输出数据给I2C核,让I2C核的一次只送一个数据。

2.4硬件设计

此I2C核可外挂多个带有I2C总线接口的芯片,可以通过发送不同的器件地址来选择。SDA和SCL线必须接上拉电阻。此外,同步时钟不能太高,否则会影响数据传输的稳定性。

2.5时序

(1)I2C核时序

以写为例,I2C核时序如图5所示。

(2)PCF8583时序

PCF8583的数据是8bit一个存储单元,共256个字节,所以只需要8位地址,而且器件本身有两种寻址方式:一种是从指定地址开始递增寻址,另一种是从首地址开始递增寻址。两种寻址方式的时序是不一样的,如图6所示。

图6PCF8583时序图

篇7

近年来,随着嵌入式系统的快速发展及其对硬件可靠性要求的提高,特别是带有多个运动控制卡的网络运动控制系统的发展,对运动控制卡提出了新的要求。运动控制卡应具有带热插拔功能的CompactPCI总线接口。在这样的运动控制系统中,采用可靠性高的嵌入式系统软件,上位机只需对被控对象实施总体的控制和管理;而位置反馈信号的采集、闭环控制的计算及控制量的输出则均可由以DSP为核心的运动控制卡完成,极大地提高了运算速度和控制响应速度。通过带热插拔功能的CompactPCI总线接口的上下机联接,使系统具有更高的可靠性和带电更换故障板卡的能力。

1CompactPCI接口总线概述

CompactPCI接口总线定义了更加坚固耐用的PCI版本。在电气、逻辑和软件方面,它与PCI标准完全兼容。CompactPCI接口卡安装在支架上,并使用标准的Eurocard外型。CompactPCI虽然与标准PCI属同一标准,二者还是有很大的不同。CompactPCI相对PCI来讲具有很多优点:(1)具有更好的机械特性。它增强了PCI系统在电信或其它条件恶劣的工业环境中的可维护性和可靠性。(2)采用Eurocard封装,系统中气流均匀。(3)CompactPCI连接器的电源和信号引线支持热插拔规范,这对于容错系统是非常重要的,也是标准PCI所不能实现的功能。(4)总线易于扩展,可同时支持多达256个标准的PCI总线设备。(5)CompactPCI背板的连接器插针分为长针、中长针和短针。长针是一些电源针,最短的针是BD-SEL#,其它总线信号和部分电源信号是中长针。连接器插槽J1插孔有长针插孔、中长针和短针插孔,而J2插槽都是中长针插孔。

2系统的硬件结构概述

开放式四轴DSP运动控制卡经12位DAC驱动四个伺服电机,并通过CompactPCI总线背板连接器与主机通信。其中DSP处理器与CompactPCI接口采用PLX公司的PCI9030接口芯片使之和双口RAM缓冲区进行通信。

PCI9030是业界首个支持热交换的PCI目标接口芯片,为CompactPCI接口提供了优秀的解决方案。它采用SMARTarget技术,可以保证高性能的热交换实施功能,可以支持具有热交换功能的PICMG2.1目标设备,并且符合PCIv2.2规范所规定的32位33MHz目标接口功能,可以获得高达132Mbyte/s的PCI突发传输速度,局部总线操作速度最高可达60MHz,支持5个局部地址空间到PCI总线地址空间的映射(空间0、1、2、3、4以及1个扩展的ROM),传输等待周期及总线宽度可编程。另外,PCI9030内含预充电BIOS、早期电源支持、热交换控制/状态寄存器(HS_CSR)和附加引脚资源,可利用这些资源以及ENUM#输出信号、弹出开关和表示用户插入/取出状态的LED灯实现运动控制板卡的带电热插拔的软硬件控制。

图1

其硬件结构框图如图1所示。该系统由以下几部分组成:

·核心处理器TMS320LF2407,主要完成位置速度PID控制、插补迭代运算、开关量输入和输出、PLC控制等对实时性要求高的任务,另外还完成程序和数据存储和上下机的通信任务。

·模拟量控制电路,将数字量速度信号经四路12位数/模转换芯片DAC7725转换为-10V~10V的模拟信号,输出到电机伺服驱动模块。

·反馈电路,由两片CPLD元件EPM7128SLC84构成四路12位可逆脉冲计数器,对差分光电编码器的编码脉冲进行循环计数,可实现编码器Z相点硬件中断。

·FLASH电路,用于存储数控参数和数控指令代码,也用于紧急情况下保护数据。

·开关量电路,包括通用8/8I/O点、4个电机使能输出、4个轴的左右极限输入和原点中断输入等电路。

·通讯电路,通过PCI接口从模式使3.3V芯片PCI9030和双口RAM芯片70V24与PC机的CompactPCI总线相连,可以进行高速数据传输。

本系统是一个闭环多轴运动控制硬件系统,具有快速精确的计算能力以及较强的数据通讯能力,是良好的复杂数控系统平台。

3CompactPCI接口的设计

CompactPCI接口的设计要点在于在硬件插拔过程中,不能对CompactPCI总线产生较大的冲击,不能影响CompactPCI总线上数据传输的正确。所以应具有良好的热电源切换控制电路和相应的总线电路以及便于软件处理热插拔过程的控制信号。

电源控制和PCI9030的接口原理框图如图2所示。

3.1PCI9030芯片热插拔控制信号的作用

在CompactPCI规范中规定:(1)板卡插入后,硬件初始化过程中应点亮蓝灯;(2)板卡即将拔出,软件能获知板卡即将拔出,并做好善后工作后,点亮蓝灯。

PCI9030芯片有BD_SEIL#输入信号引脚、ENUM#输出信号引脚、CPCISW输入信号引脚和LEDON#输出信号引脚,均用作CompactPn接口热插拔控制信号。其功能分别如下:

PCI9030的BD_SEL#输入信号引脚同运动控制卡CompactPCI接口的引脚BD_SEL#相连,当BD_SEL#信号变高时,使PCI9030输出引脚成高阻态,保护芯片。PCI9030的ENUM#信号是送到背板的带上拉的集电极开路信号;它通知背板主机CPU板卡是刚刚插入,还是即将拔出。并通知CPU系统配置改变,使CPU同时执行相关必要的软件操作(在板卡安装时,安装设备驱动程序;在移出板卡前,卸载设备9B动程序)。板卡的插入/拔出状态是由CPCISW信号送到PCI9030完成的,这时,PCI9030通过ENUM#信号通知背板主饥硬件配置改变情况,同时主机CPU执行相关必要的软件操作。当操作结束时,主机CPU通过PCI9030将CPCISW信号写入HS-CSR寄存器的相应位中,使LEDON#信号变化,点亮或熄灭蓝灯,通知板卡可安全取出或已安全插入。另外,PCI9030将板卡插入/拔出的状态(即CPCISW信号)写入HS_CSR寄存器的相应位中,软件可以通过这些位来查询板卡插入/拔出状态,使软件可采取各种切换措施,也可以通过向寄存器的相应位写1来清除该位。

3.2热插拔电源电路的原理设计

3.2.1热插拔电源管理器的确定

热插拔电源电路需在插拔过程中和正常工作时,对CompactPCI接口板电源进行监控,按一定的速率及时地上电和断电,把该电源的情况及时通知背板系统以便通过软件进行处理;同时需对CompactPCI接口板的总线信号提供预充电电压,使CompaetPCI接插件的插针点的预充电电压达到1V,保证CompactPCI接口板在插拔过程中,对CompactPCI总线的冲击很小;另外需对背板的PCIRST信号和CompaetPCI接口板的电源好坏情况进行逻辑处理来产生该接口板上的LOCAL_PCI_RST信号。为此,热插拔电源电路采用了芯片LTCl646作为CompactPCI热插拔电源管理器。它能够使线路板在运行中的CompactPCI总线插槽内安全地插入和拔出。两个外部N沟道通路晶体管IRF7413控制3.3V和5V电源,使电源能在电流限制或可设置速率上电。电子电路断路器可保护两组电源不受过流故障情况的损害。

图2

3.2.2LTCl646芯片的主要引脚功能

·LTCl646的3.3V和5V输入主要来自中等长度的电源插针。3.3V和5V连接器长插针在CompactPCI插卡上与中等长度的3.3V和5V电源插针短接在一起,为LTCl646的预充电电路、VI/O上拉电阻和PCI9030芯片提供初期电源。

CompactPCI背板的连接器插针中有引脚BD_SEL#、HEALTHY#用于热插拔电源电路。

·芯片PWRGD#信号引脚输出指示何时所有电源电压都在容许范围内,连接于PWRGD#引脚的HEALTHY#信号把板卡电源情况通知背板主机,当HEALTHY#信号变高时,说明板卡电源情况出了问题。

·芯片OFF/ON#输入信号引脚连接于板卡的BD_SEL#引脚,用来控制开关板卡电源或将电源断路器复位。而BD_SEL#信号应通过1.2kΩ电阻上拉至PCI9030的I/O工作电压VI/O。

·芯片PRECHARGE引脚用于产生1V的预充电电压。可在板卡插拔过程中对总线I/O引脚施加偏置。板卡上需要进行预充电的CompactPCI总线引脚(即接插件J1、J2与CompactPCI接口器件PCI9030连接的引脚)包括:ADO~AD31、C/BEO#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#。LTCl646产生的预充电信号经过较大的10kΩ电阻上拉至预充电电压(PRECHARGEOUT)。而BD_SEL#、ENUM#、INTA#信号应上拉至PCI9030的I/O工作电压VI/O。

·芯片的RESETIN#引脚输入信号PCI_RST#,在片内与HEALTHY#信号进行逻辑结合,从而在引脚RESETOUT#生成LOCAL_PCI_RST#信号送到PCI9030芯片的PCI_RST#信号引脚,用来在任一组电源超出范围时对板卡和芯片PCI9030进行复位。

3.2.3在LTCl646芯片控制下CompactPCI接口板的上电顺序

当插卡插入时,长3.3V和5V连接器插针以及长GND插针首先接触。LTCl646预充电电路在插入阶段将总线I/O插针偏置为1V。3.3V和5V中等长度的电源插针在插入的下一个阶段接触,但只要OFF/ON#引脚被1.2kΩ上拉电阻拉到VI/O,线路板电源则被关断。在线路板插入的最后阶段,BD_SEL#短连接器插针开始接触,OFF/ON#引脚被拉低。这使得通路晶体管导通;并且在内部有一个5μA电流源与TIMER引脚连接。时每个通路晶体管的电流开始增加,直至增加到各自的电流限值;然后,3.3V和5V电源被允许按一定的速率上电,一旦两组电压都在容差范围之内,HEALTHY#将拉低,LOCAL_PCI_RST#可自由跟随PCI_RST#。

3.2.4在LTCl646芯片控制下CompactPCI接口板的断电顺序

当BD_SEL#被拉高时则开始一个断电过程。LTCl646内部开关被连接于每个输出电源电压引脚,使旁路电容器向地放电。TIMER引脚立即被拉低。GATE引脚被一个200μA的电流源拉低,以防止3.3V和5V电源上的负载电流同时变为零从而对电源电压造成干扰。当任一输出电压跌落在门限以下时,HEALTHY#引脚被拉高,LOCAL_PCI_RST#将被确定为低。

一旦断电过程完成,插卡就可以从插槽内取出。在拔出期间,预充电电路继续将总线I/O插针偏置为1V,直到5V和3.3V长连接器插针分开。

3.3CompactPCI接口设计的其它电气措施

·热插拔板卡在带电拔插过程中,为了保护板卡免遭静电损坏,必须进行静电放电。所以,必须在板卡上设计放电条。

篇8

CAN通讯协议描述了在设备之间信息如何传递。它对层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯是发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN的结构定义了模型的最下面的两层:数据链路层和物理层。应用层通过不同的新型协议层(专门用于特殊的工业领域加上由个别CAN用户定义的任何合适的方案)和物理层连接。物理层和数据链路层对于设计者来说是透明的,并包含在所有执行CAN协议的部件中。

实际中,许多设备是RS-232接口,为了实现CAN总线数据和RS-232接口设备数据的传输,设计完成了CAN总线与RS-232转换接口电路设计。

1.CAN总线协议分析

1.1CAN总线主要特点

CAN总线是一种多主式的串行通信总线,具有极高的实时性和可靠行,最高通信速率可以达到1Mbit/s,是一种十分优秀的现场工业总线。CAN总线具有如下特点:

结构简单,只有2根线与外部相连,且内部集成错误探测和管理模块。

通信方式灵活。可以多主方式工作,网络上的其他节点发送信息,而不分主从。

可以点对点、点对多点或者全局广播方式发送和接收数据。

网络上的节点信息可分成不同的优先级,以满足不同的实时要求。

CAN总线通信格式采用短帧格式,每帧字节最多为8个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8字节也不会占用总线时间过长,从而保证了通信的实时性。

采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。这大大的节省了总线仲裁冲突的时间,杂网络负载很重的情况下也不会出现网络瘫痪。

直接通信距离最大可达10Km(速率5Kbit/s以下),最高通信速率可达1Mbit/s(此时距离最长为40Km),节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。

CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检测、优先级判别等多项工作。

CAN总线采用CRC进行数据检测并可提供相应的错误处理功能,保证了数据通信的可靠性。

1.2CAN总线协议

CAN总线协议主要描述设备之间的信息传递方式,从结构上可分成3个层次,分别对应OSI网络模型的最低两层数据链路层和物理层。CAN总线协议层次结构由高到低如表1-1所示。

表1-1CAN总线协议层次结构

协议层

对应OSI模型

说明

LLC

数据链路层

逻辑链路控制子层,用于为链路中的数据传输提供上层控制手段

MAC

媒体访问控制子层,用于控制帧结构、仲裁、错误界定等数据传输的具体实现

物理层

物理层

物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输

LLC层和MAC层也可以看作是CAN总线数据链路层的两个子层。其中LLC层接收MAC层传递的报文,主要完成报文滤波、过载通知以及恢复管理等工作。而MAC层则为数据报文的传输进行具体的控制,包括帧结构控制、总线仲裁、错误检测、出错界定、报文收发控制等工作。

物理层定义了信号是如何实际传输的,因此涉及到位时间、位编码、同步的解释,CAN总线协议并未对物理层部分进行具体的规定。

1.3CAN总线报文传输结构

报文传输由以下4个不同的帧类型所表示

1.数据帧:数据帧携带数据从发送器至接收器。

数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。数据场的长度可以为0。数据帧(或远程帧)通过帧间空间与前述的各帧分开。

2.远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。

远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧末尾。通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传送进行初始化设置。

3.错误帧:任何单元检测到总线错误就发出错误帧。

错误帧由两个不同的场组成。第一个场用作为不同站提供的错误标志(ERRORFLAG)的叠加。第二个场是错误界定符。

为了能正确地终止错误帧,"错误被动"的节点要求总线至少有长度为3个位时间的总线空闲(如果"错误被动"的接收器有本地错误的话)。因此,总线的载荷不应为100%。有两种形式的错误标志,主动错误标志(Activeerrorflag)和被动错误标志(Passiveerrorflag)。

4.过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

过载帧包括两个位场:过载标志和过载界定符。

有两种过载条件都会导致过载标志的传送:

(1)接收器的内部条件(此接收器对于下一数据帧或远程帧需要有一延时)。

(2)间歇场期间检测到一"显性"位。

由过载条件1而引发的过载帧只允许起始于所期望的间歇场的第一个位时间开始。而由过载条件2引发的过载帧应起始于所检测到"显性"位之后的位。

1.4CAN总线错误处理

1.4.1错误检测

有以下5种不同的错误类型(这5种错误不会相互排斥)

1.位错误(BitError)

单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相合,则在此位时间里检测到一个位错误。但是在仲裁场(ARBITRATIONFIELD)的填充位流期间或应答间隙(ACKSLOT)发送一"隐性"位的情况是例外的。此时,当监视到一"显性"位时,不会发出位错误。当发送器发送一个被动错误标志但检测到"显性"位时,也不视为位错误。

2.填充错误(StruffError)

如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测到一个填充错误。

3.CRC错误(CRCError)

CRC序列包括发送器的CRC计算结果。接收器计算CRC的方法与发送器相同。如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC错误。

4.形式错误(FormError)

当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误。(备注:接收器的帧末尾最后一位期间的显性位不被当作帧错误)

5.应答错误(AcknowledgmentError)

只要在应答间隙(ACKSLOT)期间所监视的位不为"显性",则发送器会检测到一个应答错误。

1.4.2错误标定

检测到错误条件的站通过发送错误标志指示错误。对于"错误主动"的节点,错误信息为"主动错误标志",对于"错误被动"的节点,错误信息为"被动错误标志"。站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发出错误标志信息。只要检测到的错误的条件是CRC错误,错误标志的发送开始于ACK界定符之后的位(其他的错误条件除外)。

2.CAN控制器SJA1000分析

2.1CAN节点结构与SJA1000操作模式

SJA1000独立的CAN控制器有2个不同的操作模式:

BasicCAN模式(和PCA82C200兼容);

PeliCAN模式

BasicCAN模式是上电后默认的操作模式。因此用PCA82C200开发的已有硬件和软件可以直接在SJA1000上使用,而不用作任何修改。

PeliCAN模式是新的操作模式,它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,例如,SJA1000支持一些错误分析功能,支持系统诊断、系统维护和系统优化,而且这个模式里也加入了对一般CPU的支持和系统自身测试的功能。使SJA1000能应用于更宽的领域。

本设计采用PeliCAN模式,因此只给出PeliCAN模式增强功能。如表2-1所示。

表2-1PeliCAN模式的增强功能

CAN2.0B(active)

CAN2.0Bactive支持带有29位标识符的网络扩展应用

发送缓冲器

有11位或29位标识符的报文的单报文发送缓冲器

增强的验收滤波器

两个验收滤波器模式支持11位和29位标识符的滤波

可读的错误计数器

支持错误分析在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化

可编程的出错警告界限

错误代码捕捉寄存器

出错中断

仲裁丢失捕捉中断

支持系统优化包括报文延迟时间的分析

单次发送

使软件命令最小化和允许快速重载发送缓冲器

仅听模式

SJA1000能够作为一个认可的CAN监控器操作,可以分析CAN总线通信或进行自动位速率检测

自测试模式

支持全部CAN节点的功能自测试或在一个系统内的自接收

通常,每个CAN模块能够被分成不同的功能块,如图2-1所示。

CAN控制器执行在CAN规范里规定的完整CAN协议。它通常用于报文缓冲和验收滤波。

通用CAN收发器实现从CAN控制器到CAN总线物理层的电气连接。

而所有这些CAN功能都由一个模块控制器控制,它负责执行应用层的功能。

元器件清单

表3-3CAN总线与RS-2232接口电路设计元气件清单

序号

元件名称

数量(个)

单价(元)

总价(元)

1

AT89C51

1

7.50

7.50

2

SJA1000

1

25.00

25.00

3

HM6116

1

1.00

1.00

4

MAX232

1

5.00

5.00

5

74HC373

1

1.00

1.00

6

PCA82C250

1

6.50

6.50

7

X25045

1

1.00

1.00

8

TLP113

2

3.00

6.00

合计

53.00

结论

本设计完成了CAN总线与RS-232转换接口设计。由于CAN总线与RS-232接口数据通信速率以及通信帧格式都不同,本设计最大优点是解决了这两点不同,实现了数据在CAN总线与RS-232接口之间的传输。且设计中由于使用了CAN总线进行数据传输这就使得通信方式多主性。网络上任意节点可以任意时刻主动地向网络上其他节点发送信息而不分主从。可以点对点,点对多点或全局广播方式发送和接收数据。

由于CAN总线标准没有定义应用层,数据链路层提供与信息内容相应的寻址能力,消息的内容完全由应用解释。且CAN总线的每个数据帧最多只能承载8个字节的数据,因而只适应提供短的变量服务。许多功能还需要扩展。

综上所述,通过此次设计,我们感受到CAN总线带来的各种便利。而且,由于CAN总线具有结构简单、实时性极高、可靠性强且本身具有强大的纠错能力。使得它在当今自动控制领域中的应用极为广泛。由于CAN协议参考OSI开放系统互联模型,可由用户定义应用层协议,通过相关的CAN转接设备,将CAN与计算机相连,利用CAN232B转换器组建一个CAN控制网络,能够很方便的实现RS-232多点组网、远程通讯,并且,不需要更改原有RS-232通讯软件,用户可直接嵌入原有的应用领域,使系统设计达到更先进的水平。

摘要............................................................................................................Ι

ABSTRACT..................................................................................................................................ΙΙ

引言1

1.CAN总线协议分析2

1.1CAN总线主要特点2

1.2CAN总线协议2

1.3CAN总线报文传输结构3

1.4CAN总线错误处理3

1.4.1错误检测3

1.4.2错误标定4

2.CAN控制器SJA1000分析5

2.1CAN节点结构与SJA1000操作模式5

2.2SJA1000内部结构及其功能分析6

3.CAN总线与RS-232转换接口电路设计11

3.1CAN总线与RS-232转换接口电路总体设计11

3.2主控制模块电路设计12

3.2.1AT89C51与6116电路设计13

3.2.2看门狗电路设计14

3.3AT89C51与RS-232转换接口电路设计16

3.3.1RS-232-C标准分析16

3.3.2RS-232与AT89C51接口电路设计18

3.4SJA1000与AT89C51接口电路设计19

3.4.1SJA1000与AT89C51接口电路设计19

3.4.2物理层接口电路设计21

3.5元器件清单22

篇9

存储器是容量数据处理电路的重要组成部分。随着数据处理技术的进一步发展,对于存储器的容量和性能提出了越来越高的要求。同步动态随机存储器SDRAM(SynchronousDynamicRandomAccessMemory)因其容量大、读写速度快、支持突发式读写及相对低廉的价格而得到了广泛的应用。SDRAM的控制比较复杂,其接口电路设计是关键。

本文首先介绍SDRAM的主要控制信号和基本命令;然后介绍接口电路对SDRAM的主要操作路径及操作过程,应用于解复用的SDRAM接口电路的设计方法;最后给出了实现结果。

1SDRAM的主要控制信号和基本命令

SDRAM的主要控制信号为:

·CS:片选使能信号,低电平有效;

·RAS:行地址选通信号,低电平有效;

·CAS:列地址选通信号,低电平有效;

·WE:写使能信号,低电平有效。

SDRAM的基本命令及主要控制信号见表1。

表1SDRAM基本操作及控制信号

命令名称CSRASCASWE

命令禁止(NOP:Commandinhibit)HXXX

空操作(NOP:Nooperation)LHHH

激活操作(ACT:Selectbankandactiverow)LLHH

读操作(READ:Selectbankandcolumn,andstartREADburst)LHLH

写操作(WRITE:Selectbankandcolumn,andstartWRITEburst)LHLL

突发操作停止(BTR:Burstterminate)LHHL

预充电(PRE:Deactiverowinbankorbanks)LLHL

自动刷新或自我刷新(REF:Autorefreshorselfrefresh)LLLH

配置模式寄存器(LMR:Loadmoderegister)LLLL

所有的操作控制信号、输入输出数据都与外部时钟同步。

2接口电路对SDRAM的主要操作路径及操作过程

一个完备的SDRAM接口很复杂。由于本文的SDRAM接口应用于解复用,处理的事件相对来说比较简单,因而可以简化设计而不影响性能。接口电路SDRAM的主要操作可以分为:初始化操作、读操作、写操作、自动刷新操作。

(1)初始化操作

SDRAM上电一段时间后,经过初始化操作才可以进入正常工作过程。初始化主要完成预充电、自动刷新模式寄存器的配置。操作过程如图1所示。

(2)读写操作

读写操作主要完成与SDRAM的数据交换。读操作过程如图2所示,写操作过程如图3所示。

(3)刷新操作

动态存储器(DynamicRAM)都存在刷新问题。这里主要采用自动刷新方式,每隔一段时间向SDRAM发一条刷新命令。刷新过程如图4所示。

3接口电路的设计

(1)解复用电路

本解复用电路主要完成将1路高速数据流解复用为4路数据流,其结构框图如图5所示。1路数据流进入解复用器后,经过SDRAM缓冲,解复用为4路数据流。

由于要解复用为4路数据流,为了充分利用时隙,满足高速的要求,采用4个bank的SDRAM,各路数据缓冲对应不同的bank。为简化设计,数据流1的缓冲区定为bank0,数据流2的缓冲区定为bank1,数据流3的缓冲区定为bank2数据流4的缓冲区定为bank3。对于每路数据实际上是以高速率集中写入,然后以低速率均匀读出。

由于进行的是解复用,因此写入的数据只有1路,但是有可能4路数据同时都要读出。所以对于4路数据流,其读写地址和读写使能信号是分开的。

(2)SDRAM接口电路的时序控制

高速数据流的速率为3M字节/秒,采用的系统时钟为20倍的字节时钟。送入SDRAM的时钟为60MHz系统时钟。在一个字节时钟内对SDRAM的操作最多有5次(1次读,4次写),而且为了满足刷新的要求,每个字节时钟进行一次刷新操作。根据SDRAM的时序要求,这样的操作是难以实现的。因而要通过多bank操作,尽量做到时分复用来实现。图6给出了在一个字节时钟周期的内数据流1进行读写操作,其它3路数据进行读操作的命令排序时序图。可以看出通过多bank操作,时分复用,在20个系统时钟节拍内所需的读写操作命令刚好很紧凑地排开。

一个字节时钟内对SDRAM读写操作是随机的,这与数据流的复用比例有在。为了满足时序,根据上面的说明,需要把一个字节时钟周期内对SDRAM的命令合理排序,然后按照排好的顺序执行命令。这样就需要把一个字节时钟周期内对SDRAM的操作进行缓存,然后在下一个字节时钟周期内进行排序、与SDRAM命令相对应、将命令译码产生相应的控制信号线,完成操作。缓存排序过程如图7所示。

(3)SDRAM接口电路

SDRAM接口电路中需要专门操作缓冲区存储一个字节时钟周期内的操作,以备下一字节时钟的排序。为了方便处理,对每路数据的缓冲操作内容(或读或写)放在一个缓冲区。由于数据流的连续性,排序的同时仍然会有操作要求,因此每路的操作内容缓冲区分为两块。对一块缓冲区写入时,读出另一块缓冲区中的操作内容,进行排序、译码、执行。根据字节时钟切换对缓冲区的读写,从而避免冲突。对于从SDRAM读出的数据,每路数据写入相应的读出数据缓冲区。同样每路的读出数据缓冲区也分为两块,根据字节时钟切换读写。

由于一个字节时钟周期内,每路所需的操作最多有2次,每路的操作内容缓冲区只需两个单元(每个单元存储了此次的读写使能信号、写入数据、地址)即可。对于读出数据缓冲区,由于一个字节时钟每路数据最多执行一次读操作,所以读出数据缓冲区只需要一个字节。这两类缓冲区容量都小,因此人部用寄存器来实现,控制简单。

篇10

1USB协议和芯片选择

理解好USB协议是USB系统开发的第一步。USB协议版本包括1.0、1.1和2.0,USBOTG是对2.0版本协议的补充。虽然USB协议内容繁多且复杂,然而,对USB开发影响较大的却只是少数部分,以下对协议版本1.1[1]中这些部分进行介绍。

1.1USB协议

一般,每个USB设备由一个或多个配置(Configuration)控制其行为。使用多配置原因是对操作系统的支持;一个配置由接口(Interface)组成;接口则是由管道(Pipe)组成;管道与USB设备的端点(Endpoint)对应,一个端点可以配置为输入输出两个管道。在固件编程中,USB设备、配置、接口和管道都用描述符报告其属性。

图1为USB多层次通信模型。端点0默认配置为控制管道,用来完成所规定的设备请求(USB协议第九章)。其它端点可配置为数据管道。对开发而言,主要的大数据传输都是通过数据管道完成的[2]。

USB传输类型包括批量传输、等时传输、中断传输和控制传输,每种传输类型的传输速度、可靠性以及应用范围都不同[3]。控制传输可靠性是最高的,但速度最慢;等时传输速度快,满足实时性,但可靠性低。在具体应用中,端点传输类型可根据传输速度和可靠性选择。

在USB通信协议中,主机取得绝对主动权利,设备只能是“听命令行事”,通过一定的命令格式(设备请求)完成通信。USB设备请求包括标准请求、厂商请求和设备类请求。设备的枚举是标准请求命令完成的;厂商请求是用户定义的请求;设备类请求是特定的USB设备类发出的请求,例如海量储存类、打印机类和HID(人机接口)类。固件编程中设备请求必须遵循一定的格式,包括请求类型、设备请求、值、索引和长度。

1.2USB接口芯片选择

USB接口芯片的类型有:

(1)按传输速度的高低:低速(1.5Mbps)和全速(12Mbps)可选USB1.1接口芯片,例如Philips公司的PDIUSBD12和Cypress公司的EZ-USB2100系列;高速(480Mbps)可选USB2.0接口芯片,例如Philips公司的ISP1581和Cypress公司的CY7C68013。

(2)是否带MCU(微控制器):一般Philips公司的都不带MCU,Cypress公司大多都带,例如AN2131。

(3)是否带主控器功能:不需要主机参与,主从设备间可进行数据传输,芯片有Philips公司的ISP1301和Cypress公司的SL811HS等。

还有专门用途USB芯片,例如闪存专用芯片IC1114。工程中用户可根据自己的需求选择一款性价比高的芯片。另外可用开发资源也是要考虑的重要方面,例如开发板和芯片厂商提供的网上资源,可大大降低开发的难度。

2基于USB接口的数据采集系统的设计

2.1系统简介

该系统能够实现16路温度数据自动采集,系统的组成框图如图2所示。主要包括8个组成部分:中央处理器选用AT89C52芯片,完成各部分控制功能和USB传输协议;实时时钟记录当前测量温度的时间;温度传感器和接口电路主要完成温度采集,并读入MCU处理;复位电路完成对MCU的上电复位和电源电压监视;看门狗电路用来监视MCU是否工作;存储电路主要存储采集到的温度数据以及采集的实时时间;电源电路主要为各部分提供要求的电源;外设与主机间的通信电路采用USB接口。

2.2接口芯片选择

接口电路采用Philips公司的PDIUSBD12[4](以下简称为D12)芯片。主要因为D12芯片信息、开发资源丰富,具有较高的性价比。

D12芯片的主要特点包括:

·符合USB1.1版本规范;

·可与任何外部微控制器/微处理器实现高速并行接口(2MB/s);

·采用GoodLink技术的连接指示器,在通信时使LED闪烁;

·主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输;

·在批量和等时模式下均可实现1MB/s的数据传输率;

·完全自治的直接内存存取DMA操作。

2.3接口硬件设计

由D12接口组成的通信电路原理如图3所示。关于D12的各引脚说明见参考文献[4]。多路地址/数据总线ALE接单片机的ALE脚,这样使用MOVX指令可以与D12接口,对D12操作就象对RAM操作一样,此时忽略A0(命令口和数据口地址线)的输入。因为没有使用DMA传输方式,所以没有用到DMACK_N、EOT_N和DMREQ_NDMA引脚。INT_N是USB中断请求脚,发出USB中断请求;GL_N是GoodLink指示灯,在调试过程中非常有用,在通信时会不停闪烁。如果一直亮或者一直暗,表示USB接口有问题,如果D12挂起,则LED关闭。CLKOUT是D12的时钟输出,可以通过固件编程改变其频率,在调试固件时,可作为参考。

2.4接口程序设计

USB接口程序设计是USB开发的核心。USB接口程序设计包括三部分:单片机程序开发、USB设备驱动程序开发、主机应用程序开发。三者互相配合,才能完成可靠、快速的数据传输。

2.4.1单片机程序设计

单片机程序(又称固件)采用模块化程序设计,主要模块包括:数据采集模块、数据处理、监控模块和数据通信模块。模块化设计的优点是可靠性高、可读性好、升级简单。

通信模块固件结构如图4所示。主循环和中断服务程序之间的数据交换可通过事件标志和数据缓冲实现。图3中USB中断引脚INT_N发出中断请求,中断服务程序根据中断请求类型操作,设置事件和填充数据缓冲区再传输给主循环;标准设备请求程序是对标准请求进行处理;用户可以根据实际需要编写厂商请求,例如发出启动或停止数据采集命令。

图3USB接口连接示意图

2.4.2驱动程序设计

驱动开发工具有DDK和第三方开发工具。其中DDK开发难度最大,第三方开发工具有DriverStudio和Windriver等。DriverStudio难度适中,而Windriver则属于应用层驱动开发,难度小,但效率低,并存在问题。

DDK驱动程序开发工作包括:开发环境设置(VC编译环境)[5]、驱动程序设计[6]、安装文件(INF文件)设计。

驱动程序设计采用WDM(WindowsDriveMode)。WDM设备驱动程序提供了一个参考框架,大大降低了由DDK书写驱动程序带来的难度。

D12驱动使用的例程包括:DriverEntry、AddDevice、DispatchPnp、DispatchRead、DispatchWrite和DispatchDeviceControl例程,以下是D12的WDM驱动程序函数:

DriverObject->MajorFunction[IRP_MJ_CREATE]=D12_Create;

DriverObject->MajorFunction[IRP_MJ_CLOSE]=D12_Close;

DriverObject->DriverUnload=D12_Unload;

DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL;

=D12_ProcessIOCTL;

DriverObject->MajorFunction[IRP_MJ_WRITE]=D12_Write;

DriverObject->MajorFunction[IRP_MJ_READ]=D12_Read;

DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL;

DriverObject->MajorFunction[IRP_MJ_PNP]=D12_Dispatch;

DriverObject->MajorFunction[IRP_MJ_POWER]=D12_Process-PowerIrp;

DriverObject->DriverExtension->AddDevice=D12_PnPAddDevice;

驱动程序与应用程序和硬件之间通信都是IRP(I/O请求包)完成的。IRP_MJ_PNP主要是实现USB即插即用,例如设备的添加、删除和资源的分配;IRP_MJ_POWER实现电源管理,例如设备的挂起和唤醒;IRP_MJ_CREATE(创建)、IRP_MJ_CLOSE(关闭)、IRP_MJ_

DEVICE_CONTROL(设备控制)、IRP_MJ_WRITE(读)和IRP_MJ_READ?穴写?雪是主要完成数据通信的函数,实现管道的创建、关闭和数据读写。其中设备控制具有输入输出缓冲区,可实现读和写功能;AddDevice和DriverUnload实现设备管理,在设备添加和卸载时,创建和删除设备,以及管理资源分配。

驱动程序通过安装文件(.inf文件)中PID(产品识别号)和VID(厂商识别号)识别USB设备。

2.4.3应用程序设计

主机应用程序的编写使用VC编译环境中的API函数实现。

应用程序的编程方法与串口编程类似。首先必须查找设备,打开设备的句柄;然后进行读写和控制操作;最后是关闭设备句柄。为了提高效率,可使用多线程技术实现读写。

应用程序通过GUID(注册表驱动唯一识别号)查找驱动程序。

2.5调试

首先是固件调试,可用仿真机完成,驱动开发工具Windriver也是很好的固件调试工具,例如测试标准请求、厂商请求和管道读写。其次是驱动调试,这是USB接口开发最困难的部分,调试工具可用DriverStudio中Softice工具和文献[6]中DebugPrint跟踪工具,监视工具BusHound可监视USB的实际数据传输情况。需要注意的是,驱动调试必须在应用程序正确调用的前提下。

篇11

①焊接坡口应在胎架上进行,工件应放平,防止因焊接内应力产生扭曲变形。②先焊接隔板与腹板的立焊缝(隔板与内侧腹板之间的熔透焊缝先少量焊接,待顶板安装焊接及横梁接头安装焊接完成后再全部焊完),再焊接隔板与底板的平焊缝,最后焊接箱内腹板与底板之间的角焊缝。焊接顺序应从中间往两边,由下往上依次对称焊接。③顶板安装完成后,采用富氩气体保护焊对插入部位坡口焊缝进行焊接。焊接时,两侧应对称同时焊接。④焊接杆件棱角焊缝和T形坡口角焊缝时,采用富氩混合气体保护焊打底,埋弧自动焊填充盖面。⑤24小时后对插入部位的焊缝全长范围进行超声波探伤检查。

2杆件的划线

①工件找正:将工件平卧放置在支撑平台上,插入顶板的腹板面朝下,另侧腹板面朝上。腹板面应平行于划线平台。以划线平台为基准,用水准仪对工件进行抄平,误差应小于1mm。②划出杆件两端系统中心线。③划出腹板上各向系统中心线。④对照施工图及划线图,划出钻孔胎模十字对位线,并检查。⑤划出另一侧腹板各向系统中心线。

3杆件的钻孔

①采用覆盖式钻孔胎模钻出节点板上及腹板一端的部分孔群。剩余孔群可采用补孔样板钻出。②采用覆盖式钻孔胎模,通过腹板上一端已钻孔群定位,钻出另一端部分孔群。其余孔群采用补孔样板钻出。③对无法在杆件外面用台式钻床钻制的腹板孔群,可采用磁力钻在杆件箱内通过补孔样板补钻出剩余孔群。④采用覆盖式钻孔胎模钻出杆件顶板箱体部位两端孔群。伸出桥面板部位两端孔群,待横梁接头、桥面板纵肋等附连件安装焊接完成后,再钻出。⑤采用局部钻孔胎模钻出底板两端孔群及一处横梁底板连接孔群。⑥采用小覆盖胎模,通过已钻的一处横梁底板连接孔群定位,依次钻出其余底板连接孔群。

4附属件的组焊

①采用组装胎膜,通过底板已钻孔群定位出腹板位置并焊接;②安装桥面板纵肋,并从中间往两边焊接。如焊接后对极边孔距不能保证,可将纵肋两端1000mm处断开,先安装和焊接中间部位,焊后安装和焊接纵梁两端1000mm段。③采用组装胎膜,通过节点板上已钻孔群,定位腹板接头板,并进行焊接。

篇12

 

1引言

数字电视图文信息服务系统建立的目的主要是为了更好的给用户提供所需的关于医疗卫生、教育教学、农产品价格和供求等相关信息,对信息资源做到集中管理、共享访问,最终形成一个有一定规模的图文信息服务系统。论文参考,图文信息。为了使各部分模块之间能够顺畅的衔接,本文介绍了数字电视图文信息服务系统接口的设计方案。

2图文信息服务系统外部接口的设计

2.1与门户的接口

图文资源中心作为一个独立的平台,与门户登陆系统之间通过接口传送机顶盒登陆数据信息,如图1所示。

图1 门户系统接口结构图

门户系统接口:功能是获得当前机顶盒的MAC地址。论文参考,图文信息。

接口协议:通信采集用HTTP协议,通信的数据格式采用XML1.0标准。

2.2与合作方网站的接口

对于开放站点数据库的合作方,由于不同的合作方其数据库结构也不尽相同,因此在图文采集子系统的数据迁移模块中,分析合作方数据库结构的协议需要与开放站点做接口。

传输数据:合作方向资源中心提供的信息数据。

接口协议:合作方数据源的数据格式协议。论文参考,图文信息。与开发站点数据库的通信采集JDBC2.0标准;与XML格式数据源通信,数据格式采用XML1.0标准。

2.3短信平台接口

此接口留待扩展,当用户选择接收手机短信时,有新的留言信息会有手机短信提示,可和现有的短信平台对接,实现图文的短信增值。

传输数据:留言发件人、留言标题、留言正文。

接口协议:与留言系统数据库的通信采集JDBC2.0标准;与短信平台接口数据格式符合短信平台的协议。

2.4与中小学教育信息系统(PSTIM)接口

2.4.1数据同步

数据同步部分主要功能是基于TCP协议建立socket连接的方式,将中小学教育信息系统中的年级、年级所学科目、年级所学科目版本、知识点、教学周等信息传递过来,并将此信息转化为图文栏目层次的数据关系,通过此关系可以对学习资料图文信息进行组织。在图文中PSTIM传递而来的数据将组成为图文中一个子系统进行管理。

1.接口结构图

图2PSTIM门户系统接口结构图

2.协议和规范:

TCP协议:从PSTIM中获取数据采用的协议。

JDBC:数据转入图文数据库中遵守的规范。

HTTP:接口程序与图文数据库通信采用的协议。

3.接口实现:

接口实现分为五个模块(类):中间表、socket通信模块、传输数据分析模块、数据结构转化模块、图文库操作模块。论文参考,图文信息。

1) 中间表:

图3 接口图文与中小学教育数据结构图

2) Socket通信模块:

采用成熟的基于TCP协议的socket通信的代码搭建。根据双方沟通和《教学管理系统与EPG等系统的接口协议.》文档,接口同步程序作为socket通信的客户端。论文参考,图文信息。根据配置的IP和PORT向服务端发送数据请求。论文参考,图文信息。服务端数据发生变化由系统外通知,数据通信请求由手动方式触发。

3) 传输数据分析模块:

传输数据分析类根据文档《教学管理系统与EPG等系统的接口协议》制定数据传输协议编写。

4) 数据结构转化模块:

数据结构转化完毕后在栏目表中层次结构为:中小学教育信息系统->年级->年级所学科目->年级所学科目版本->知识点->图文学习资料。转化完毕在图文中中小教学系统传递而来的数据作为一个图文中一个子系统进行管理。

数据同步完毕后在接口图文与中小学教育表中层次结构为年级->年级所学科目->年级所学科目版本->知识点。

5) 图文库操作模块:

该模块主要由操作栏目和操作接口图文与中小学教育两个表。功能分为:

a) 对这两个表进行插入、修改、更新操作。

b) 获得同步数据在图文中所属的rootid。

c) 删除栏目(删除其下所有子栏目和信息)。

3总结

数字电视图文信息服务系统为数字电视增值业务的发展提供了更为广阔的平台,设计适合信息服务平台各类信息模块联接的接口,是图文信息服务系统中的重中之重。本文所设计的方案,满足了各模块之间的信息交互,为数字电视增值业务的发展奠定了坚实的技术基础。

参考文献:

友情链接