当前位置:首页 > 工业控制 > 电子设计自动化
[导读]摘要:LonWorks技术的应用使得在系统编程的内涵得以更充分的体现。本文在概要介绍ISP以及LonWorks技术的基础上,详细说明采用基于Neuron芯片的控制节点实现对CPLD进行在系统编程的具体方法。 引言 在系统编程ISP(In

摘要:LonWorks技术的应用使得在系统编程的内涵得以更充分的体现。本文在概要介绍ISP以及LonWorks技术的基础上,详细说明采用基于Neuron芯片的控制节点实现对CPLD进行在系统编程的具体方法。

引言

在系统编程ISP(In System Programming)是指在用户设计的目标系统或印刷电路板上为重新配置逻辑,或实现新的功能而对器件进行编程或反复编程。随着EDA工具的普及和ISP器件的日益成熟,ISP技术也得到了越来越广泛的应用。ISP技术的应用使得硬件设计软件化,其显著优势体现在:简化生产流程;利用同一硬件结构实现多种系统功能,使之成多功能硬件;在不特殊电路板资源的情况下进行电路板级测试;边界扫描测试;通过Modem和ISP编程接口实现对系统的远程维护和升级。

对ISP器件的编程可通过PC机进行,利用1条编程电路(或称下载电缆)将准确定时的编程信号提供给该器件。但是,这种方法不能使各种器件的数据下载脱离EDA工具独立进行,真正意义上的在系统可编程难以实现。对于ISP器件的编程也可以通过微处理器的控制程序实现,这就为基于Neuron芯片的LON网络节点提供了应用空间。

Lon(Local Operating Networks)总线是美国Echelon公司1991年推出的局部操作网络,目前已广泛应用于测控网络中。LonWorks现场总线技术在控制系统引入了网络的概念。在该技术的基础上,可以方便地实现分布式的网络控制系统,并使得控制系统更高效、更灵活、更易于维护和扩展。利用分布的智能控制节点进行在系统编程无需编程电缆,而且能够充分地利用系统资源,简化编程操作,大大拓展了在系统编程技术的应用范围。

1 基于Neuron芯片的控制节点

1.1 Neuron芯片简介

Neuron芯片的LonWorks节点的核心部分,它既能管理通道,同时具有输入/输出以及控制等能力。该芯片主要包括Neuron 3120和3150两大系列。二者的区别是3150芯片中无部ROM,但拥有访问外部存储器的接口,寻址空间可达64KB,可用于开发更为复杂的应用系统,Noeuron芯片内部固化了完整的LonTalk通信协议,确保节点间的可靠通信和互操作。芯片内部有3个8位CPU协调工作,实现Lon节点的通信和控制功能;11个编程I/O口;5个网络通信端口提供3种工作方式;单端方式、差分方式和专用方式。

1.2 控制节点的硬件结构

Lon网络节点有2种类型:基于Neuron芯片的节点(Neuron芯片是唯一的处理器)和基于主机的节点(主处理器可以是微控制器、PC机等)。一个典型的现场总线控制节点的基本结构如图1所示,主要包含以下几个部分功能块;应用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根在系统编程控制的ispEN、MODE、SDI、SCLK以太SDO占用Neuron芯片的5个I/O口。Neuron芯片I/O口本身的驱动能力是不够的,需要使用74HC367或74HC244增强信号驱动能力,并使用适当的阻容网络给信号线滤波,增强抗干扰能力。


2 在系统编程的软件实现

2.1 以Lattic公司的ispLSI这种CPLD器件为例,器件内需要编程的E2COMS单元阵列如图2所示。

E2COMS元件按行和列排成阵列。地址移位寄存器指明当前的编程行数,而数据移位寄存器装载将要写入该行的数据。数据移位寄存器分为低段数据寄存器高段数据寄存器,低段与高段的数据分别装入。编程时先将欲写放某行的数据串行移入数据移位寄存器,并将地址移位寄存器中与该行对应的位置置1(其余位置置0),让该行被选中,在编程脉冲的作用下将水平移位寄存器中数据写入该行。然后将地址移位寄存器移动1位,使阵列的下行被选中并将水平寄存器中装入下一行的编程数据,依此类推。

JEDEC(熔丝图)文件是电子器件工程联合会所制定的文件器件编程信息的标准格式计算机文件,编程信息用ASCII码表示。Lattice公司定义了一种专用用于ISP操作的数据格式,即ISP数据流文件(ispSTREAM),原来的一个ASCII码只用1bit表示,大大减小了数据文件的存储空间。因此,执行在系统编程之前,首先使用ispCODE软件来实现这一数据转换,形成易于与Neuron C语言源代码相融合的ispSTREAM文件。

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对象,用户可根据实际应用的需要合理选择在应用程序中定义不同的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编程过程就是软件对这些口读写的过程。编程的关键在于提供准确定时的ISP编程信号,必须保证各ISP编程信号之间的时序关系。

Neuron C程序总体结构如图4所示。Neuron C源程序首先定义变量、函数以及I/O口的使用情况,然后编写when()语句调度程序。当需要执行ISP操作时,调用相关程序。图4中,ispSTREAM文件头包括CPLD器件类型、CPLD器件块擦除和行编程的脉冲宽度等参数。


Neuron C关键字允许直接将部分应用代码加到指定的存储段。本设计中用far关键字将ispSTREAM文件存储在RAMFAR区域。此外,在编程软件执行期间,由于指令的执行时间相对较长,大多数硬件定时要求(通常较短)都有自动地得到满足。但编程脉冲总体擦除脉冲却分别长达40ms和200ms,而板上没有硬件定时器,只要靠软件延时来实现。

在NodeBuilder开发环境下,执行build命令后,将工作目录下的devicename.NEI文件输出,装载到编程器中,编程器将应用程序和固件下载到Flash存储器中。

结束语

实际运行证明,通过Neuron芯片对CPLD进行ISP操作之后,CPLD实现了预定的功能。

目前,Lon网络控制技术在航空/航天、楼宇控制、运输设备等多种领域的应用日益成熟,而且由于该技术具有高性能、低成本的网络接口产品,并且易于开发低成本的网关,实现Lon网与以太网有机的结合。因此,在本实验的基础上,可以尝试由主机通过远程服务将ISP器件的编程数据文件下载到Lon网的节点中,并由底层的现场设备执行在系统编程操作。这样,在系统编程技术的内涵及其优越性得以充分的体现,同时该技术的应用空间向系统的底层和远程扩展,真正的在系统可编程时代已经到来。



参考文献:

[1].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
[2].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[3].74HC367datasheethttp://www.dzsc.com/datasheet/74HC367_1811666.html.
[4].74HC244datasheethttp://www.dzsc.com/datasheet/74HC244_961022.html.
[5].1bitdatasheethttp://www.dzsc.com/datasheet/1bit_2178090.html.
[6].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[7].fardatasheethttp://www.dzsc.com/datasheet/far_1888220.html.


来源:风中的叶子0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

hmi是Human Machine Interface 的缩写,"人机接口",也叫人机界面。人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换...

关键字: HMI 人机界面 系统

在复位电路中,电容的作用是给系统提供恒定的电源电压,从而保证开机时系统能够正确地执行初始化和自检过程。因此,选择合适大小的电容对于系统的稳定性和性能至关重要。

关键字: 复位电路 电容 系统

工业自动化系统设计是一项涉及多个领域和技术的综合性任务。它旨在通过自动化设备和系统的集成,提高生产效率、降低能耗、确保产品质量和增强企业竞争力。本文将详细探讨工业自动化系统设计的原则、方法和实践,以期为相关从业人员提供有...

关键字: 工业自动化 设备 系统

MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到...

关键字: 单片机 存储器 系统

DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力...

关键字: DSP 芯片 系统

三家全球领先公司紧密协作,以满足基于台积公司先进技术的设计在芯片、封装和系统等方面的挑战

关键字: 芯片 封装 系统

因为各种新式微处理器的呈现和运用的不断深化,嵌入式体系在后PC年代得到了空前的开展。跟着时刻的推移和技能的前进,在工业操控和新式的手持式运用等范畴,用户体会成为产品成功的关键要素之一,越来越多的产品需求杰出的用户界面、互...

关键字: 嵌入式 系统 处理器

QVM人工智能引擎是Qihoo Support Vector Machine(奇虎支持向量机)的缩写。是360完全自主研发的第三代引擎(具有中国的自主知识产权的引擎)。

关键字: 微软 Windows 系统

四大导航系统除了欧盟伽利略系统还未完成全部卫星发射,其它三个系统都已经完成卫星布局。四个系统可相互兼容、互为补充,这样用户可以享受不间断的定位服务。目前如智能手机内的导航定位技术,已有诸多品牌都支持这四大导航系统,可为用...

关键字: 导航 系统 定位服务

有高低压模块的系统,高低压模块之间的通信,通常都要用到隔离技术。隔离最主要的需求来自安规需求,即防范人体以及低压设备承受高压或者浪涌的冲击;其次是性能的需求,隔离能够消除地环路,同时能够隔离噪声,提高整个系统的容错性。

关键字: 隔离 电源 系统
关闭
关闭