基于LonWorks的在系统编程技术-中文翻译_第1页
基于LonWorks的在系统编程技术-中文翻译_第2页
基于LonWorks的在系统编程技术-中文翻译_第3页
基于LonWorks的在系统编程技术-中文翻译_第4页
基于LonWorks的在系统编程技术-中文翻译_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于lonworks的在系统编程技术作者:ackerman show 来自:engineering and application of automation 题目:based on lonworks technology in the system programminglonworks平台 mcu单元和isp编程技术引言 isp(in system programming)在系统编程就是为重新配置逻辑,或实现新的功能而对器件进行编程或反复编程,而这一切是在用户设计的目标系统或印刷电路板上进行的 现在isp器件的日益成熟和伴随着eda工具的普及,isp技术也得到了越来越普遍的应用。isp技术

2、的应用使硬件设计软件化,这显著优势在于:生产流程简化;多种系统功能用同一硬件结构实现,使之成多功能硬件;电路板级测试可在不特殊电路板资源的情况下进行;扫描边界测试;对系统的远程维护和升级可通过modem和isp编程接口实现。 isp器件的编程可通过个人计算机机进行,利用1条编程线(或称下载电缆)提供给该器件准确的定时编程信号。但是它不能使各种器件脱离eda工具独立进行的数据下载,在系统可编程难以真正的实现。通过微处理器的控制程序也可以实现对于isp器件的编程,这也是neuron芯片的lon网络节点提供应用空间的基础。 美国echelon公司1991年推出的局部操作网络lon(local ope

3、rating networks)总线,目前已普遍的应用于测控网络中。这个技术将网络的概念(lonworks现场总线技术)引入控制系统中。在该技术的基础上,分布式的网络控制系统可以方便地实现,并使得控制系统更加高效、灵活和易于维护和扩展。利用分布的智能控制节点进行在系统编程无需编程电缆,而且系统资源能够充分地得到利用,编程操作得到简化,在系统编程技术的应用范围大大拓展了。 1 基于neuron芯片的控制节点 1.1 neuron芯片的简单介绍 lonworks节点的核心部分是 neuron芯片,它既能管理通道和具有输入/输出以及控制等能力。其主要包括neuron 3120和3150两大类。二者的

4、区别是3150芯片中无rom,但拥有访问外部存储器的接口,寻址空间可达64kb,可用于开发更为复杂的应用系统,完整的lontalk通信协议已经固化在neuron芯片内部了,确保节点间的可靠通信和互操作。芯片内部有3个8位cpu协调工作,实现lon节点的通信和控制功能;11个编程i/o口; 3种工作方式被5个网络通信端口所提供:单工方式、差分方式和专用方式。 1.2 控制节点的硬件结构 lon网络节点有2类:基于neuron芯片的节点(其唯一的处理器是neuron芯片)和基于主机的节点(其主处理器可以是微控制器、pc机等)。一个典型的现场总线控制节点的基本结构如图1所示,主要包含以下几个部分功能

5、块;应用 cpu、 i/o处理单元、通信处理器、收发器和电源。无论哪种类型的节点都有1片neuron芯片用于通信和/或控制、1个i/o接口用于连接1个或多个i/o设备,另外还有1个收发器负责节点的网络连接。 控制节点的基本结构如图2所。该节点主要包括neuron芯片、128kb的flash存储器、10mhz晶振、ftt-10a收发器以及示i/o接口、驱动、 cpld。neuron芯片外部扩展了flash存储器,用于存储固件和用户应用程序。其中固件通过编程器下载,而应用程序的下载可以使用编程器,还可以使用网络管理工具经lon网络下载,这样,cpld的重新配置就能够通过lon网络方便快捷地进行。5

6、根在系统编程控制的ispen、mode、sdi、sclk,以太sdo占用neuron芯片的5个i/o口。neuron芯片i/o口本身的驱动能力是不够的,需要使用74hc367或74hc244增强信号驱动能力,信号线被适当的阻容网络滤波,其抗干扰能力得到增强。2 在系统编程的软件实现 2.1isplsi下面以lattic公司的isplsi(一种cpld器件)为例, e2coms单元阵列(器件内编程的需要的)如图2所示。 e2coms元件是按行和列排成阵列。当前的编程行数被地址移位寄存器所指明,而数据移位寄存器装载将要写入该行的数据。数据移位寄存器分为低段数据寄存器高段数据寄存器,低段与高段的数据

7、分别装入。编程时先将欲写放某行的数据串行移入数据移位寄存器,并将地址移位寄存器中与该行对应的位置置1(其余位置置0),让该行被选中,在编程脉冲的作用下将水平移位寄存器中数据写入该行。然后将地址移位寄存器移动1位,使阵列的下行被选中并将水平寄存器中装入下一行的编程数据,依此类推。 jedec(熔丝图)这种计算机文件是文件器件编程信息的标准格式,它是电子器件工程联合会所制定的,编程信息用ascii码表示。lattice公司定义了一种专用用于isp操作的数据格式,即isp数据流文件(ispstream),原来的一个ascii码只用1bit表示,大大减小了数据文件的存储空间。因此,执行在系统编程之前,

8、首先使用ispcode软件来实现这一数据转换,形成ispstream文件,其是易于与neuron c语言源代码相融合的。 2.2 neuron c编程语言 neuron c编程语言是专门为neuron芯片设计的,它派生于ansi c,并进一步扩展了各种运行特性,而这些特性是由neuron芯片中的固件所提供和支持的。neuron c语言编程效率高,可读性强。该语言加入通信、事件调度、分布数据对象和i/o功能,是开发lonworks应用的有力工具。 为实现neruon芯片与i/o设备之间的通信,neuron芯片的11个i/o引脚可定义为34种i/o对象,用户可根据实际应用的需要合理选择在应用程序中

9、定义不同的i/o对象,然后用io_in()或io_out()等函数实现对i/o对象的数据读写操作,即实现neuron芯片与i/o设备之间的通信。在本设计中,用作编程信号的i/o口定义为“直接i/o对象”中的“比特i/o对象”。 ttl电平兼容的逻辑信号是以比特输入方式的,cmos电平是输出,外接的与cmos以及ttl兼容的逻辑电路则被其驱动。 2.3 软件的实现 按照cpld器件的编程原理和内部结构,从存储器中读出熔丝图数据是控制程序的任务,接着将其转换为串行数据流,写入cpld中。编程的过程由5个编程信号控制,它们由事先定义好的i/o口产生,然后编制读写这些i/o口的程序。isp编程过程就是

10、软件对这些口读写的过程。编程的关键在于提供准确定时的isp编程信号,必须保证各isp编程信号之间的时序关系。 neuron c程序总体结构如图4所示。neuron c源程序首先定义变量、函数以及i/o口的使用情况,然后编写when()语句调度程序。当需要执行isp操作时,调用相关程序。图4中, cpld器件类型、cpld器件块擦除和行编程的脉冲宽度等参数都是ispstream文件头所包含的内容。 部分应用代码是被neuron c关键字所允许直接将加到指定的存储段。本设计中用far关键字将ispstream文件存储在ramfar区域。此外,在编程软件执行期间,由于指令的执行时间相对较长,大多数硬件定时要求(通常较短)都有自动地得到满足。但编程脉冲和总体擦除脉冲却分别长达40ms和200ms,而板上没有硬件定时器,只要靠软件延时来实现。 nodebuilder开发环境中,build命令被执行后,devicename.nei文件(其处于工作目录下)被输出,装载到编程器中,应用程序和固件被编程器下载到flash存储器中。结束语 在实际运行中证明, neuron芯片对cpld进行isp操作之后,cpld可以实现了预定的功能。现在,在航空/航天、楼宇控制、运输设备等多种领域lon网络控制技术的应用日益成熟,而且由于该技术具有高性能、低成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论