前言:中文期刊网精心挑选了接口设计论文范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
接口设计论文范文1
船舶导航信息系统处理和储存多种信息,首先,系统需要处理硬件接口递交的监测信息,并根据上层用户的需求给予硬件设备相应的反馈;其次,系统需要将处理和合成之后的信息显示给用户,同时从用户的输入设备中收集用户的需求并进行处理;最后,系统还需要与GIS、卫星通信系统等模块进行交互,实现信息的分析和更新。因此,导航信息在系统的流动过程中形成3个闭环,如图2所示。在硬件信息闭环中,硬件接口产生的信息主要为经纬度、航向、航速等初始信息,并通过硬件设备本身接口输出该信息。然而,由于不同设备采用不同的标准并由不同的厂商制造,因而其产生的数据格式差异较大,无法被信息接口直接使用,因而需要信息收集与格式化模块进行数据的格式化。该模块从硬件接口中收集数据,并根据预先定义的数据结构将数据重新组织,并以一定的格式提交给信息接收接口,在信息接收接口中,则对数据的合法性进行检验,同时识别数据的类型,交付给相应的中央处理功能。在用户信息闭环中,中央处理模块将处理完毕的信息,按照一定的消息格式,通过信息交付接口输出给用户界面,并显示给终端用户。因此可以看出,用户界面的设计需要相应的信息交付接口的支持,同时用户根据自己的需求,通过用户界面对导航信息系统进行相应的操作,该请求也通过信息交付接口递交给中央处理模块,进行进一步的处理。在外部信息闭环中,中央处理模块需要借助一些外部系统获取需要的信息,如通过GIS可以结合数字地图等平台,直观地显示导航信息,而通过卫星通信网络,可以将通信功能集成入导航信息平台中,实现多节点的位置和导航信息交换。在整个过程中,中央处理模块根据实际的需要向外部系统提交信息请求,并从外部系统中下载相应的信息。需要注意的是,外部系统中采用的消息格式往往有较为明确的标准,因而信息扩展接口必须具备相应的适配机制,支持相应的标准,识别对应格式的数据和消息,并将其转换为中央处理模块能够处理的数据结构。
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所示,进行信息设置的测试,通过设计控制面板,设置相应的参数,观察能否对系统进行有效控制。通过以上实践证明,在理论上本文所设计的接口能够发挥相应的功能,实现导航信息的收集、处理和交付等功能,说明了本文提出的方案具有一定的可行性。
4结语
接口设计论文范文2
结合数据处理接口模块的需求,系统的复位源设计有3个,分别是软件复位、手动复位和上下电复位。其中软件复位由使用数据处理接口模块的主机发出,手动复位由维护人员通过地面测试设备发出,上下电复位通过5V电源监控芯片MAX791实现。软件复位和手动复位通过二极管线与的方式接入MAX791的MR端。系统在以下4种情况时会产生复位:1)上电复位:上电过程中,当VCC>4.65V时,复位信号保持200ms有效后变高;2)下电复位:下电过程中,当VCC<4.65V时,复位信号一直有效;3)软件复位:由主机中的CPU发出,当底板总线信号XRE-SET#有效时间>25μs时,产生复位,XRESET#无效后复位信号保持200ms有效;4)手动复位:由地面测试设备发出,当底板总线信号TS_RE-SET#有效时间>25μs时,产生复位,TS_RESET#无效后复位信号保持200ms有效。利用MAX791的看门狗功能,还可以对板上DSP的工作状态进行监控,一旦出现软件跑飞等情况,看门狗狗叫会导致DSP的NMI中断发生,并且上报给主机GO/NOGO#信号有效。
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,由于该模块中逻辑占用资源并不多,因此后期可考虑用更小功耗的中小规模可编程逻辑器件替换。目前现有设计中未考虑模块的睡眠唤醒功能,今后可结合主机实际的需求,添加相应功能的电路,以降低待机功耗。
4结束语
接口设计论文范文3
现场总线是安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置/系统之间的一种串行数字式多点双向通信的数据总线,多用于工空等领域,应用现场总线技术不仅可以降低系统的布线成本,还具有设计简单、调试方便等优点,同时,由于现场总线本身还提供了灵活而又功能强大的协议,这就使得用户对系统配置,设备选型具有强大的自,可以任意组合多种功能模块扩充系统的功能。在众多的现场工业总线中,CAN总线是一种具有国际标准而且性能价格比又较高的现场总线,它在当今自动控制领域中的应用极为广泛,并发挥着重要的作用。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
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
结论22
接口设计论文范文4
1下弦杆件的焊接
①焊接坡口应在胎架上进行,工件应放平,防止因焊接内应力产生扭曲变形。②先焊接隔板与腹板的立焊缝(隔板与内侧腹板之间的熔透焊缝先少量焊接,待顶板安装焊接及横梁接头安装焊接完成后再全部焊完),再焊接隔板与底板的平焊缝,最后焊接箱内腹板与底板之间的角焊缝。焊接顺序应从中间往两边,由下往上依次对称焊接。③顶板安装完成后,采用富氩气体保护焊对插入部位坡口焊缝进行焊接。焊接时,两侧应对称同时焊接。④焊接杆件棱角焊缝和T形坡口角焊缝时,采用富氩混合气体保护焊打底,埋弧自动焊填充盖面。⑤24小时后对插入部位的焊缝全长范围进行超声波探伤检查。
2杆件的划线
①工件找正:将工件平卧放置在支撑平台上,插入顶板的腹板面朝下,另侧腹板面朝上。腹板面应平行于划线平台。以划线平台为基准,用水准仪对工件进行抄平,误差应小于1mm。②划出杆件两端系统中心线。③划出腹板上各向系统中心线。④对照施工图及划线图,划出钻孔胎模十字对位线,并检查。⑤划出另一侧腹板各向系统中心线。
3杆件的钻孔
①采用覆盖式钻孔胎模钻出节点板上及腹板一端的部分孔群。剩余孔群可采用补孔样板钻出。②采用覆盖式钻孔胎模,通过腹板上一端已钻孔群定位,钻出另一端部分孔群。其余孔群采用补孔样板钻出。③对无法在杆件外面用台式钻床钻制的腹板孔群,可采用磁力钻在杆件箱内通过补孔样板补钻出剩余孔群。④采用覆盖式钻孔胎模钻出杆件顶板箱体部位两端孔群。伸出桥面板部位两端孔群,待横梁接头、桥面板纵肋等附连件安装焊接完成后,再钻出。⑤采用局部钻孔胎模钻出底板两端孔群及一处横梁底板连接孔群。⑥采用小覆盖胎模,通过已钻的一处横梁底板连接孔群定位,依次钻出其余底板连接孔群。
4附属件的组焊
①采用组装胎膜,通过底板已钻孔群定位出腹板位置并焊接;②安装桥面板纵肋,并从中间往两边焊接。如焊接后对极边孔距不能保证,可将纵肋两端1000mm处断开,先安装和焊接中间部位,焊后安装和焊接纵梁两端1000mm段。③采用组装胎膜,通过节点板上已钻孔群,定位腹板接头板,并进行焊接。
5结论
接口设计论文范文5
关键词:插件,软件复用,游戏引擎,CrystalSpace
1.Crystal Space及其核心SCF
1.1 Crystal Space
在介绍Crystal Space之前,首先介绍一下游戏引擎和3D游戏引擎,游戏引擎是用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等,它是一个处理事务的系统,同时它也是一个控制模块,向所有的子系统发出命令[1]。而3D游戏引擎,除了包含游戏引擎的所有功能外,它还负责处理3D世界的数据结构(包括所有的光源、行动)以及从玩家或相机所在的视点渲染3D世界[1]。
Crystal Space(以下简称CS)是一个开源的3D游戏引擎。除了具备3D游戏引擎应有的功能外,其自身还包含许多独有的特点。首先,CS的框架是一个高度模块化的框架,该框架能更好的为用户提供服务,并且使用户使用CS更方便。其次,CS是一个由构件和库组成的包,虽然它很多的功能都偏向于3D游戏的处理,但是它同样也适用于其他方面的应用,这主要是得益于CS中的大部分插件和库的相互独立性,这使得用户在CS中,可以只使用自己需要的插件以及自定义插件,而不会与其他插件相关联或受到其他插件的影响。科技论文,游戏引擎。最后,CS广泛的支持各种不同类型的硬件和软件平台,具有很好的跨平台性[2]。科技论文,游戏引擎。
1.2 SCF
由于CS高度模块化的框架,而作为其框架核心的SCF(Share Class Facility,共享类工具)为用户设计与开发基于CS的自定义插件提供了便利。科技论文,游戏引擎。SCF与COM(Component Object Model,组件对象模型)[4]类似,但只是一个轻量级的COM。SCF与COM相比,其使用更加简单、方便,并且SCF屏蔽了COM中很多繁琐的部分,却同时具备COM的大部分优势[3]。
在Crystal Space中SCF用来管理引用计数、系统插件、自定义插件和抽象接口。在插件的开发中,SCF技术实现了类接口与类实现的分离,这一方面,使插件使用者只用关心类接口的功能及接口的使用方法,而不用关心它的具体实现;另一方面,它对类实现进行了很好的封装,不会将类实现的任何细节暴露给用户,并且插件开发者对类实现的修改不会对插件的使用造成影响[2]。另外,SCF还提供了插件对象注册器和插件管理器使CS能自动的完成对插件的管理,用户只需要书写少量的代码就能实现对插件的加载、使用及卸载。
2.设计和使用自定义插件
自定义插件的设计、实现及使用流程如图1所示,用户自定义插件设计时,必须在SCF中的对象注册器中注册,并由插件管理器统一管理,而应用程序对插件的调用及加载也必须通过对象注册器和插件管理器来完成。
图1 自定义插件的设计、实现及使用流程
2.1 设计自定义插件
用户自定义插件的实现包括定义插件的API,自定义插件的具体实现,自定义插件的编译及自定义插件的注册四个部分。
1)定义用户自定义插件的API
在Crystal Space中,使用SCF定义插件的API,其优势在于,将接口的定义和实现进行明确的分离。操作步骤包括:
Ⅰ. 定义插件API所在文件“Myapi.h”
Ⅱ. 定义API的版本号;
Ⅲ. 定义抽象类“iMyApi”,类名以“i”开头,用于标识该类是一个SCF接口。
Ⅳ. 定义两个纯虚函数DoSomthing( )和GetSomething()用于设置/获得一个3D坐标。下面是API定义的具体代码:
struct iMyApi : publicvirtual iBase
{ SCF_INTERFACE(iMyApi, 1, 0, 0);
virtual void DoSomething (intparam, const csVector3&) = 0;
virtual int GetSomething ()const = 0; };
2)创建自定义插件的实现(头文件)
下面是用户自定义插件具体实现的头文件“myplug.h”的定义。其操作步骤包括:
Ⅰ. 实现类必须同时继承iMyApi和iComponent接口,以保证能使用插件管理器来管理插件。
Ⅱ. 定义初始化函数,用于完成插件的初始化工作。具体代码如下:
class MyPlugin : publicscfImplementation2 <MyPlugin, iMyApi,iComponent>
{ …………
virtual boolInitialize (iObjectRegistry*);
virtual voidDoSomething (int param, const csVector3&);
virtual intGetSomething () const; };
3)创建自定义插件的实现(源文件)
下面为用户自定义插件具体实现的源文件“myplugin.cpp”,操作步骤包括:
Ⅰ. 使用CS_IMPLEMENT_PLUGIN通知CS本模块是一个插件
Ⅱ. 申明在CS中,允许使用SCF初始化MyPlugin类的对象,部分代码如下:
…………
CS_IMPLEMENT_PLUGIN
SCF_IMPLEMENT_FACTORY(MyPlugin)
…………
bool MyPlugin::Initialize(iObjectRegistry* r)
{ object_reg= r; returntrue; }
…………
4)在SCF中注册自定义插件
SCF能够自动且动态的查找已定义的插件,并通过查询每个插件的meta-Information来判定插件实现的细节。科技论文,游戏引擎。Meta-information是结构化的XML文档,其中包含插件在SCF中的注册信息,及本插件与其他插件的关联等。科技论文,游戏引擎。插件的meta-Information文档在插件被编译时,将被嵌入插件模块中,方便对插件的查询。科技论文,游戏引擎。下面是自定义插件的meta-Information的设置,内容包括:
Ⅰ. 设置插件的名称
Ⅱ. 指明实现该自定义插件的类的名称
Ⅲ. 对插件的一般描述及设置与该插件相关联的其他插件的名称。具体代码如下:
<plugin> <scf><classes> <class>
<name>crystalspace.mygame.myplugin</name>
<implementation>MyPlugin</implementation>
<description>My Special Game Plugin</description>
<requires> <class>crystalspace.graphics3d.</class></requires>
</class></classes></scf></plugin>
5)编译自定义插件
插件模块的编译取决开发时所使用的开发工具,这里使用Microsoft visual studio 2005进行编译。
2.2 自定义插件在应用程序中的使用
完成自定义插件的设计与实现后,就可以使用了,自定义插件的使用包括加载及调用。
1)在应用程序中加载自定义插件
在应用程序中加载自定义插件的操作步骤包括:
Ⅰ. 导入自定义插件API的头文件,插件使用者通过调用插件API实现对插件的使用。
Ⅱ. 调用对象注册器。对象注册器查询已注册的插件中是否包含应用程序指定的插件。
Ⅲ. 使用csQueryRegistry调用插件管理器,利用插件管理器实现自定义插件的加载(或从应用程序中卸载)。具体代码如下所示:
#include <myapi.h>
csRef<iPluginManager>plugin_mgr = csQueryRegistry <iPluginManager> (object_reg);
csRef<iMyApi> myapi =csLoadPlugin<iMyApi> (plugin_mgr,'crystalspace.mygame.myplugin');
if (myapi.IsValid()){ ... }
2)在应用程序中使用自定义插件
最后一个步骤就是使用用户自定义插件,在应用程序中,通过调用自定义插件的API来实现对插件提供的功能的使用,具体代码如下:
myapi->DoSomething (1,csVector3 (2, 3, 4));
printf ('%d ',myapi->GetSomething ());
3.小结
本文设计和实现了一个基于Crystal Space的自定义插件的实例,从中发现,基于Crystal Space技术设计和实现的自定义插件与使用其他方法实现的插件相比具有很多优势,首先,基于CS的插件具有很好的跨平台性;其次,插件的开发实现了类接口与类实现的分离,从而使插件的开发和插件的使用相分离;再次,用户自定义插件的功能不会受到任何限制,能最大限度发挥插件开发者的能动性;最后,SCF提供了插件对象注册器和插件管理器,使CS能自动完成对插件的管理,减轻了插件开发者和插件使用者的开发负担。因此,在实际开发过程中,开发者可以设计及使用符合自己需要的自定义插件,从而使基于CS的游戏开发或软件开发更加便利、快捷。
[参考文献]
[1][美]Andre Lamothe著. 李祥瑞,陈武译.3D编程大师技巧[M].人民邮电出版社,2005.
[2][美]Box.D 著. 潘爱民译.COM本质论[M]. 中国电力出版社,2001.
接口设计论文范文6
论文关键词:智能家电,洗衣机,仿真,AT89S51,PDIP
1引言
随着Internet的日益普及,人们通过Internet不仅可以获得现实世界各种状态的实时变化情况,还可以通过Internet实现远程控制和处理工作,可以从全球的任何一个角落实现对设备的监控,可以使用通用的网络浏览软件访问设备,将消费电子、计算机和通信融为一体,而家用电器的网络化、智能化管理越来越突显需求。
智能家居远程控制系统的核心部分是一个嵌入式Web服务器,系统集有线和无线Web服务器于一体计算机论文,用户可以利用办公室的PC或者手机登录家中的Web服务器,在通过用户名和密码验证后,便可以查看并控制家用电器;系统带有LCD和键盘,具有良好的人机界面;用户还可以通过键盘来设定系统的任务;系统留有丰富的功能扩展接口,通过这些扩展接口将来还可以实现防火防盗和智能抄表等应用。系统结构框图如图1所示。
图1 智能家居系统的总体结构
本文旨在研究智能家电管理系统中基于AT 89S51芯片的洗衣机控制系统的模拟实现。
2 AT89S51芯片概述
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机, AT89S51具有4k在线系统编程(ISP)Flash闪速存储器,采用全静态工作模式,具有三级程序加密琐,32个可编程I/O口线,2个16位定时/计数器,能够采用全双工串行UART通道,具有灵活的在系统编程功能,可灵活应用于各种控制领域。
AT89S51根据封装方式不同,大致分为3种型状,本系统的设计中AT89S51采用PDIP封装模式,如图1所示。
图2 AT89S51封装模式
3 洗衣机控制系统模拟实现
3.1洗衣机控制系统的总体设计
在本系统中,硬件主芯片采用意法半导体的STR710,是整个系统的核心。它作为一个嵌入式网关,将外部网络与内部洗衣机控制器连接在一起,是整个系统运行的平台论文格式。在远程操纵洗衣机方面,STR710负责从GPRS接收到短消息和网络芯片上接收到的以太网数据中提取出用户指令,然后根据该指令操纵相应的网络家电或者查询其运行情况,最后将执行结果反馈到用户终端。系统的软件设计采用分层设计,包括硬件设备驱动层、操作系统层、应用程序接口层和应用软件层。
3.2洗衣机控制器系统设计
根据需求设计的洗衣机控制器的系统逻辑结构设计图如图3所示:
图3 系统总体框图
3.3洗衣机控制器电路设计
采用AT89S51作为控制核心。其中计算机论文,P1.0和P1.1分别用于控制洗衣机的进水阀和排水阀;P1.2和P1.3用于控制洗涤电机的正反转;P1.4~P1.7、P3. 0、P3.1用于驱动7个LED,分别作为工作程序、浸泡和强弱洗指示灯。P3.2接暂停/ 启动键;P3.3分别用于开盖/不平衡中断输入;P3.4被用作输入线,用于监测水位开关状态,为CPU提供洗衣机的水位信息;P3 .5 接程序选择键;P3.7采用分时复用技术,具有两个功能,一方面接强弱选择/浸泡选择键,在洗衣机未进入工作状态时,按触该键可选择强弱洗或开启关闭浸泡功能,另一方面在进水和脱水时,又作为告警声的输出口。
3.4洗衣机控制器软件设计
系统上电复位后,首先进行初始化,洗衣机进入工作程序后,系统首先根据RAM中27H单元的特征字判断洗衣机的洗衣工作程序,洗衣机进入洗涤子程序wash。洗涤是通过驱动电机的正反转实现的。洗涤结束后,退出wash子程序,调用water_out子程序进入排水进程。排水阀排水时间采用动态时间法确定计算机论文,其原理是:根据常用的空气压力水位开关的特性排水结束后,系统调用y子程序进行脱水操作,维持置位状态,保持排水阀开启,离合器在排水阀的带动下使电机主轴与脱水桶联动,实现衣物脱水。然后判断整个洗衣工作是否结束。其原理是:洗衣机在每次洗涤或漂洗工作环节结束后,将存放洗衣工作程序标志的寄存器减1,在脱水工作环节结束后,系统即对该单元进行检测,当检测到为0时,说明整个洗衣工作结束。软件设计主流程图如图4 。
图4 软件主流程图
4 洗衣机控制器仿真工作原理
首先,在通电时蜂鸣器长鸣一声,VD1 被点亮,这表示系统已经准备好接收指令可以开始准备工作了。单片机一直在读取由嵌入式WEB模块通过IIC通道发送过来的状态,当收到嵌入式WEB模块发送的指令后,将得到的数据作为第一项的设置内容计算机论文,即洗涤强度。蜂鸣器短鸣一声进入等待洗涤时间的设置,这个数据同样来自嵌入式WEB模块发送的指令。蜂鸣器短鸣两声进入等待洗涤方式的设置,过程都是相同的长鸣一声后洗衣机按事先的设置开始洗衣, VD1 快速闪烁表示洗衣状态,洗衣机控制器会完成初洗、浸泡、洗涤的工作,之后长鸣表示洗衣结束。洗涤期间单片机的 P2.1 和 P2.3 两个引脚会不断输出高、低电平来操作两个继电器让电机正、反转,同时还要接收嵌入式WEB模块发送的中断信号,以暂停或结束洗涤论文格式。当洗涤过程结束,蜂鸣器长鸣,系统又回到了开机时等待嵌入式WEB模块发送指令的状态。
其次,控制洗衣机可模拟的具体功能有:1、多种程序选择,用户可根据洗涤衣物的材质选择不同的程序,如浸洗、标准、羊毛和快速等。每种洗涤方式有不同的洗涤模式、时间和顺序。2、过程选择,用户可以选择单独洗涤以保留带有洗涤剂的水进行重复使用,可选择单独脱水,犹如脱水机一样计算机论文,等等。3、预约洗涤,用户可根据需要选择几小时后进行洗涤,时间选择范围为1-24小时。4、剩余时间显示,用户可以直接掌握洗涤时间。5、温度控制,可以显示模拟的水温控制。
5 结论
本文设计的洗衣机仿真控制系统连入嵌入式web服务的支持,就能够通过普通PC或GPRS手机访问Internet实现,通过远程控制命令完成对洗衣机参数的设定,对洗衣机进行操作,大大地简化了操作程序。利用单片机AT89S51作为洗衣机的控制器,能充分发挥AT89S51的数据处理和实时控制功能,使系统工作于最佳状态,提高系统的灵敏度。
参考文献
【1】郭维芹.模拟电子技术[M]. 北京: 科学出版社, 1993。
【2】童诗白,华成英,《模拟电子技术基础》,北京高等教育出版社,2001。
【3】吴小许,,黄敏.数字量调节阀的控制算法研究与应用[J]. 化工自动化及仪2004。
【4】宋建国.AVR单片机原理及应用.北京:北京航空航天大学出版社,1998。
【5】胡汉才,《单片机原理及其接口技术,清华大学出版社,1996。
【6】李庆利陈曙薛永祺,洗衣机仿真系统的设计与实现计算机工程2006。