远程编程

更新时间:2022-08-25 13:33

远程编程技术意指在远离设备的情况下,通过某种手段对特定的PLC进行编程监控,然后根据监控数据对程序进行修改控制。

简介

远程编程技术意指在远离设备的情况下,通过某种手段对特定的PLC进行编程监控,然后根据监控数据对程序进行修改控制。

现代设备结构日趋复杂,自动化程度也越来越高,许多设备综合了机械、电子、自动控制、计算机等先进技术,从而使设备发生故障时诊断难度增大。一般简单问题可由设备使用、维护人员解决,但当系统出现较严重、复杂故障时,则需要技术人员才能解决问题。如果每次都请专业技术人员到现场服务,无疑将增加企业成本。此时,远程编程技术即可解决这个问题。

FPGA远程编程方法

介绍

由摩尔定律可知,微电子学的快速发展使得复杂计算系统可以集中在单芯片上。需要该结构的任务可以被映射到更小的硬件资源形成片上系统。这些平台要保持高可适应性以处理不断变化的限制,例如交流标准、实时限制、多媒体应用的代码以及其他方面。上述的限制通常没有使用的平台更持久。

使用微处理器可以通过更新硬件的固件来考虑到一个片的功能的适应性,从而让系统保持到一定程度以处理这些一直不断变化的要求。同时,片上面积是以系统表现为代价而最小化。在满足实时限制,微处理器有时也不高效。然而专一和高特殊性硬件模块通常是必须的,尤其是在加速单任务上面以及同时提供较多平行的可能性。一种硬件的劣势在于自制造后不能被改变。

对于该问题的解决方案在于可重构硬件上面,例如逻辑可编程门序列。这些有助于硬件实现上述的变化且不需要重新构造完成的设备即SoC,同时提供硬件完成所有的优点。FPGA在不同时间随着完全实施不同任务的时候进行重构。

现行微处理器系统

许多不同种类的多处理器系统可提高和在使用。甚至两个主要的通用处理器的半导体公司已经公开的建议大规模多处理器芯片的益处。将多处理器系统的主要资源集中到性能上面,而不是伴随的能量消耗。

现行的图形处理单元包含了多处理器设计。例如,英伟达一款新型GPU包含了128个渲染处理单元。这些单元都是特别设计来处理渲染算法以及在相同图形内的并行计算。许多同时发生的图形计算都是可能的,然后速度就会提升起来。

同时一款新的微单元处理器(Cell processor) 由IBMSonyTOshiba共同研究研发出来。该微型处理器由8个Synergistic Processing Elements(SPE)和一个Power PC Processing Element(PCE)组成。每个SPE支持一个独立处理单元(ALu)。PPE用来作为中央控制处理器(PPE)而且己IBM 的64位PowerPC结构。通过耦合每个处理器的总线接口,它们可以进行交流和交互。微处理器的设计很明确的一种高度平行化。

CPLD 器件远程编程

近年来, 在电子设计领域, 可编程逻辑器件(PLD , Programmable Logic Device)得到了快速发展, 已成为继单片机DSP(Digital Signal Processor)之后又一个最有发展前途的器件。CPLD(Complex PLD)或现场可编程门阵列(FPGA )器件具有编程方式简便、开发周期短、运行速度快、工作可靠等特点, 现已越来越多地应用于数字电路中, 甚至代替了MCU , DSP ,ASIC 等器件构成功能完整的编程芯片系统。如何实现CPLD/FPGA 器件的远程编程已成为国内外电子工程师们的热门话题。针对这一问题, 人们从嵌入式CPU 技术、嵌入式操作系统、嵌入式Java 技术以及Internet 网络技术等方面进行了一系列研究,取得了不同程度的研究成果。

系统组成

如图1所示,CPLD 器件的远程编程系统由服务系统、网络和客户系统三个部分组成。服务系统是整个远程编程的中心, 分为VHDL编辑编译模块, Java 编辑编译及远程控制等模块。其中VHDL语言的编辑、编译模块用于CPLD 器件功能设计, 并编译成POF 文件, 以便下载给CPLD 器件, 使该器件实现相应的功能。Java 语言的编辑编译模块用于编写及编译Java 程序, 编译后的代码传送到Java 虚拟机JVM (Java Virtual Machine), 实现JTAG端口的操作。远程控制模块用于实现用户信息管理、数据生成、通信控制等功能。网络系统是目前已被人们广泛应用的Internet网, 以低成本、高效率的通信方式为系统提供数据传输功能。客户系统由Java 处理器、目标电路两大模块组成,其中Java 处理模块由JVM 、通令及JTAG 端口扫描、密码管理等子功能模块组成;目标电路模块由CPLD 器件及相应外围电路组成, 实现客户系统的最终功能。

CPLD 器件远程编程实现

根据要实现的目标功能编写VHDL 程序, 进行逻辑综合并编译成POF 文件。同时, 根据客户系统的硬件情况编写Java 应用程序, 编译成Java 字节码, 然后对POF 文件及Java 字节码文件打包。根据服务系统用户信息数据库提供的地址、密码、硬件参数等信息生成通信方案及配置方案, 服务系统通过Internet 与客户进行通信, 把相应的硬件配置、Java 字节码文件及POF 文件包发送到客户系统的RAM 中。Java 处理器上的嵌入式Java 应用程序在JVM 平台上运行, 完成与服务器的通信, 同时对下载到RAM 中的Java 应用程序POF 文件进行解密, 对服务系统发过来的信息进行识别, 如果都正确, 则执行解密后的Java 应用程序。Java应用程序作为服务系统对CPLD 操作的代理, 首先对预配置的CPLD 进行测试, 检测硬件参数是否正确, 并把相关信息送回服务系统, 如果硬件参数满足配置要求, 则通过JTAG 端口发送POF 文件, 对CPLD 进行配置。配置结束后, 对配置过的CPLD 进行再次测试, 并把结果送回服务系统。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}