一种多协议的嵌入式总线集成器的设计与研究

发布者:科技驿站最新更新时间:2012-05-09 来源: dzsc关键字:总线集成器  多协议  远程监控 手机看文章 扫描二维码
随时随地手机看文章

由于工业现场总线在工业控制、智能仪器仪表、数据采集等方面得到了广泛的应用,因此对于总线集成的需求也应运而生。不同种类的现场总线协议侧重于各自的应用领域,导致基于各种现场总线的产品由于协议的不同而无法相互通信。而一些传统的总线集成方法采用总线桥级连的方式来完成协议之间的通信,存在通信延时大、稳定性差、节点通信困难等缺点。针对以上问题,本文提出一套总线集成器的设计方案。该系统同时支持LonWorks、PPI、CANOpen和TCP/IP协议,C8051F120作为主控制芯片,采用模块化结构,提供实时监测数据功能,具有成本低、实时性高、可移植能力强等特点,有较高的组态性和灵活性[1~2]。

1 系统总体设计与工作流程

1.1 系统的总体设计

系统结构框图如图1所示。C8051F120是整个系统的主控制芯片,负责对数据的处理和交换,包括通过RTL8019与以态网的通信,通过UART口与PPI总线通信,通过RS232口与LonWorks总线通信以及和CAN总线控制器SJA1000通信等。CAN模块和LON模块分别完成对CAN和LON数据的收发处理。一方面,系统分别作为LonWorks、PPI、CANOpen总线的一个节点,完成相应通信协议的通信及数据解析;另一方面,系统又要能够完成各总线之间的数据转发与共享。同时,为了支持远程监控能力,系统必须提供以太网接口以支持Internet功能。为了在现场提供监测环境,系统设计了人机界面[3]。

1.2 各模块工作流程

主控制芯片C8051F120与RTL8019之间的接口是通过并行方式扩展的,为避免RTL8019A在C8051F120上的映射地址空间与C8051F120内部的8KB RAM地址空间(0X0000~0X3FFF)重迭,扩展的外部设备被放到最高端(0X8000~0XFFFF),并采用非复用方式连接。模块中还包括RS232与RS485之间的转换。SN75LBC176是RS485差分总线收发器芯片。RS232数据由TX0通过光隔传送到SN75LBC176的发送端,同时驱动发送控制端,数据就由SN75LBC176发送到RS485总线。当SN75LBC176接收数据时,数据传送到RS232的RX0端。这样就完成RS485到RS232的转换。在系统中,为了提供人机交互的功能,设计了T6963C点阵式液晶图形显示控制器,在设计时,需要用一根地址线来实现液晶的数据通道和指令通道的区分。T6963C外接114x64的液晶显示屏,可以提供监测数据显示的实例。

CAN总线模块由SJA1000、82C250、6N137等芯片组成。SJA1000是并行接口的CAN控制器。82C250是CAN控制器接口芯片。当C8051F120要向某节点发送数据时,它向SJA1000的一些缓冲器写数据和命令。数据通过SJA1000处理后,合成CAN帧格式,通过6N137至82C250,由82C250的差分端CANH和CANL传送到物理总线。外部节点发送过来的数据通过82C250经光电隔离器6N137后被SJA1000接收,存放在SJA1000相应的寄存器中。C8051F120就可以读取这些CAN帧格式数据。

LON模块由MCl43150、FTF-10A、MC145407以及外扩SRAM储存器IS61C256AH-15N和外扩Flash存储器AT29C512组成。MC143150是LonWorks控制芯片,含有Lontalk协议的固态软件,主要用于Lonworks数据的处理。FTT-10A是LonWorks收发器,它是一种变压器耦合收发器,支持网络的自由拓扑结构,作为LON网的网络介质的接口。MC145407是电平转换芯片,负责MC143150与RS232之间的电平转换。当C8051F120要向MC143150发送数据时,C8051F120把数据发送到串口缓冲区,通过MC145407将I/O引脚输入的TTL电平和输出的CMOS电平转换为EIA232C电平。MC143150收到数据信息后,将数据读入储存于MC143150的缓冲区中,然后由MC143150打包为LonWorks网络变量,通过不同节点、相同类型的网络变量的互联,即可实现LON节点之间的数据传送。另外,还外扩SRAM储存器IS61C256AH-15N和Flash存储器At29C512,让用户能编制使用较大的程序。

2 软件设计

2.1 系统的分层结构

整个系统采用分层方式完成各协议间的通信。系统分为硬件驱动层、协议层及其应用层,如图2所示。

由于下层模块只向上层提供一个软件接口,屏蔽了下层的具体实现细节。上层软件只有通过该接口才能与下层软件发生联系,这样就保证了各层之间的独立性。系统根据硬件接口、总线协议的不同,分为三个大的分层功能模块,它们分别是LonWorks模块、PPI模块、CANOPEN模块。这些模块又各自提供了硬件接收缓冲区、硬件发送缓冲区、协议接收缓冲区、协议发送缓冲区[4-5].[page]

2.2 软件实现的框架

系统的软件分为系统初始化模块、系统配置模块、协议通信总调度模块、三个协议实现模块及硬件驱动模块。它们分别对应系统软件的不同分层。其中,系统配置模块、协议间通信总调度模块为应用层程序。协议实现模块(LonWorks协议模块、PPI协议模块、CANOpen协议模块)为协议层程序。硬件驱动模块为硬件驱动层程序。其流程图如图3所示。

系统配置模块主要完成系统的配置。它包括总线各端口是配置为主模式还是从模式、各通信协议的波特率等。系统可以通过两种方式配置:一种为硬件方式配置,另一种是通过互连网进行软件配置。协议间通信总调度模块主要是驱动不同协议之间进行相互通信。各总线协议的格式解析分别由相应的协议模块完成。硬件驱动模块主要完成把各硬件缓冲区中的数据发送到总线,同时把从总线接收来的数据存放到协议缓冲区中。

2.3 缓冲区结构

本系统的缓冲区采用改进的循环队列结构,采用了三个指针Bp.In、Bp.Out、Bp.Try。其中,Bp.In是队头指针。当队列接收一数据时,如果队列缓冲区尚有空间,则数据入队,同时Bp.In加1。Bp.0ut是队尾指针。当数据要出队时,如果队列缓冲区非空,则Bp.Out加1。队列缓冲区空或满的判定方法可以用下面的伪C语言描述:

if(Bp.In++==Bp.Out)

{队列缓冲区已满};//如队头加1等于队尾指针,则//表示该队列已满

if(Bp.0ut==Bp.In)

{队列缓冲区已空};//如果队尾指针赶上队头则表示//该队列已空

Bp.Try是为通信时重发而准备的。当要发送数据时,Bp.Try向前移动(Bp.Try++),但Bp.Out不动(数据不出队)。当Bp.Try=Bp.In时,表示队列缓冲区已没有数据要发送。如果要求数据重发,仅仅把Bp.Try重新指回Bp.Out(Bp.Try=Bp.Out)再次发送。只有当发送成功时,才允许数据出队(Bp.Out=Bp.Try)。由于一次发送数据的多少由Bp.Try决定(一次不一定把队列缓冲区数据都发送完),这样给数据的发送提供了极大的方便。

2.4 硬件缓冲区

系统要发送数据时把发送协议缓冲区的数据拷贝到发送硬件缓冲区,并驱动一次发送后退出。硬件发送缓冲区中的数据是由发送中断自动完成的。硬件发送中断驱动完一次数据发送就退出。当硬件发送完数据后就会产生中断标志并重新进入中断,重复上面的过程直到数据发送完。同样,发送中断只负责发送完硬件发送缓冲区中的数据而不关心这些数据代表的意义。中断程序流程图如图4所示。

2.5 各总线协议间的通信方法

各总线协议间通信是采用周期轮询方式下的实地址共享。其基本思想就是系统定时地由配置为主模式的端口向其对应总线的每个从机发送请求读数命令包。从机接收到命令后就把它的数据传送给主机(总线集成器)。主机把接收到的数据存放在对应的协议地址中。当配置为从机的端口所对应的总线上的主机向总线集成器请求数据时,总线集成器只是简单地把前一个周期轮询的数据应答过去。由于轮询总线的周期比较短,因此应答的数据稍微滞后。但对总线采集的数据的真实性影响不大。

下面以图5中CANOpen总线的节点B向LonWorks节点A请求数据为例来说明这种方式的通信过程。首先,系统周期性地改变从机号、通信命令、通信状态,向LonWorks所有的从机请求数据,从机应答的数据存放在其协议地址中。然后CANOpen主节点B向总线集成器请求LonWorks总线A节点中的数据。最后,总线集成器收到该命令,把刚采集到的协议地址上的值传送给节点B。这一次通信至此结束。

该多协议总线集成器目前提供了对LonWorks、PPI、CANOpen的支持,并且还对上面三种协议提供了利用TCP/IP远程监控和配置的接口,人机界面使系统有较好的监测能力。由于该集成器采用了较高性能的处理器,使各个协议之间通讯实时性得到保证。为了有利于系统以后的扩展,整个总线集成器系统严格按照模块化来进行硬件设计和软件编程,使系统软件的移植性大大提高。

关键字:总线集成器  多协议  远程监控 引用地址:一种多协议的嵌入式总线集成器的设计与研究

上一篇:基于PC/104总线的旋转变压器/数字转换电路设计
下一篇:基于DSP的嵌入式以太网接口转换器

推荐阅读最新更新时间:2024-05-02 22:03

新款Wireless Gecko SoC帮助开发人员解决多协议IoT设计挑战
Silicon Labs(亦名“芯科科技”,NASDAQ:SLAB)宣布其Wireless Gecko片上系统(SoC)产品系列取得重大扩展,从而使得各层次开发人员能够更轻松地把多协议切换功能添加到日益复杂的IoT应用之中。新款EFR32xG12 SoC支持更广泛的家庭自动化、连接照明、可穿戴设备和工业物联网的多协议、多频段应用场景,这些SoC具有卓越的RF性能、增强型安全加密加速器、更大的存储容量、片上电容式触摸控制器,以及低功耗外设和传感器接口。 Acuity Brands照明公司(室内和室外照明、控制和能源管理解决方案的市场领导者)联网控制产品营销总监Bruce Bharat表示:“多协议连接带来更先进的功能,有助于我们简化
[物联网]
新款Wireless Gecko SoC帮助开发人员解决<font color='red'>多协议</font>IoT设计挑战
三星ARTIK™ 模块系列采用SILICON LABS的多协议无线GECKO技术
中国,北京- 2016年10月25日 - Silicon Labs(亦名 芯科科技 ,NASDAQ:SLAB)日前宣布与三星电子合作,为物联网(IoT)提供用于边缘节点电池供电设备的无线模块。新的SAMSUNG ARTIK 0模块系列基于 Silicon Labs 的低功耗、多协议无线 Gecko 片上系统(SoC),带有ARM Cortex -M4处理器。 SAMSUNG ARTIK 020模块包括Silicon Labs的Bluetooth 低功耗软件协议栈,SAMSUNG ARTIK 030模块使用Silicon Labs的ZigBee 和Thread 网状网络协议栈。这些小尺寸模块(13 mm x 15 mm)是空间受限应用
[物联网]
三星ARTIK™ 模块系列采用SILICON LABS的<font color='red'>多协议</font>无线GECKO技术
uClinux的网络化远程监控系统的设计理念
1 引 言 随着计算机技术和网络技术的迅速发展,应用多传感器的控制系统实现多参数的远程测量和多象的远程控制成为计算机控制领域的研究热点之一。它能大幅缩小生产周期,节约劳动力成本,提高企业效益,对于市场竞争日益激烈的今天来说具有重要意义。本文结合快速发展的嵌入式技术,给出了一种基于嵌入式网络化远程监控系统的实现方案。它采用uClinux操作系统,内嵌嵌入式Web服务器,通过CAN总线连接多个传感器控制单元实现了对多对象的远程测量和控制。 2 网络化监控系统系统概述 嵌入式系统是嵌入到对象体系中,以应用为中心,软硬件可裁减,对体积、功耗、成本都有严格要求的计算机系统。与传统的单片机相比,它重要的突破之一就是解决了设备和inter
[单片机]
uClinux的网络化<font color='red'>远程监控</font>系统的设计理念
智能建筑中空调系统远程监控的设计与实现
摘 要:空调系统的远程监控是智能建筑中建筑自动化系统的重要内容之一。基于Internet/ Intranet 平台的远程监控,是实现BMS 的发展方向,也是建立建筑智能化管理系统( IBMS) 的基础。本文着重阐述利用网际组态软件WebAccess 及可编程计算机控制器(PCC) ,实现基Internet/ Intranet 下的空调系统远程监控与管理的方法。 1 引言   楼宇自控系统(BAS) 是智能建筑的重要组成部分,而空调系统的控制又是它的主要内容之一,随着现代化的高楼大厦的兴建,对楼内空调系统的有效管理和控制显得越来越重要。楼宇自动控制系统主要是由传感器与执行器、DDC(直接数字控制器) 、通讯网络、中央管理
[安防电子]
智能建筑中空调系统<font color='red'>远程监控</font>的设计与实现
意法半导体与Hilscherto合作提供可扩展的多协议工业以太网平台
   意法半导体 的STM32™生态系统结合Hilscher的netX控制芯片的多协议灵活性,让研发高成本效益的尺寸紧凑的能够连接任何实时以太网的工业从设备变得更容易。下面就随嵌入式小编一起来了解一下相关内容吧。   双方的合作成果是I-NUCLEO-NETX扩展板和I-CUBE-NETX软件。扩展板可与所有的STM32 Nucleo-64或STM32 Nucleo-144开发板配合使用,I-CUBE-NETX是一个扩展版的STM32Cube软件,用于集成Hilscher的netX 52网络控制器与 意法半导体 的STM32微控制器。   I-NUCLEO-NETX板载一个集成实时以太网交换机的netX 52网络控制器芯片。此外
[嵌入式]
物联网的发展
引言 物联网(IoT)正在快速发展。我们需要知道在实现水平和垂直应用平衡方面存在的挑战,以及在2020年实现500亿设备联网目标所要求的一些基础。 Jim Chase在高技术行业工作了超过27年,他的全部工作就是与客户一起,帮助他们站在技术发展的前沿,并克服面临的诸多挑战。作为一名倍受客户信任的专家,他把自己的系统解决方案介绍给全世界的商业和消费类客户。这种方法让他在德州仪器(TI)创造出物联网解决方案,帮助广大客户实现产品联网。 从物联网到数据生活,为挑战和成熟物联网做好准备。 一般来讲,物联网就是把物接入互联网,利用这种网络来对这些物进行某种有效的远程监控或者控制。这种物联网定义并不全面,它只是物联网发展过程中
[嵌入式]
基于NC-Link的机器人远程监控系统研究
摘 要: 为了实现对不同品牌的实时监控以及集中管理,实现机器人的互通互联,设计了一套基于NC-Link的机器人远程监控系统,NC-Link适配器通过机器人的二次开发接口对机器人进行数据采集,然后将采集到的数据通过http协议传输给应用层系统,最终实现机器人和远程客户端的数据传输,并将不同品牌的机器人监控的数据贮存到云端数据库,最后使用VS2017软件设计了机器人的远程监控界面。在远程客户端和适配器端增加时间戳,通过计算两个时间戳之差测得时延为3 ms;通过JMer软件进行压力测试,最终测试结果显示,系统的实时性和可靠性满足要求。 0 引言 随着的进步,传统制造业逐渐开始向着制造过渡,其中智能制造的关
[机器人]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved