首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
一种多协议的嵌入式总线集成器的设计与研究
来源:本站整理  作者:佚名  2009-10-28 09:41:35



由于工业现场总线在工业控制、智能仪器仪表、数据采集等方面得到了广泛的应用,因此对于总线集成的需求也应运而生。不同种类的现场总线协议侧重于各自的应用领域,导致基于各种现场总线的产品由于协议的不同而无法相互通信。而一些传统的总线集成方法采用总线桥级连的方式来完成协议之间的通信,存在通信延时大、稳定性差、节点通信困难等缺点。针对以上问题,本文提出一套总线集成器的设计方案。该系统同时支持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外接114×64的液晶显示屏,可以提供监测数据显示的实例。
  CAN总线模块由SJA1000、82C250、6N137等芯片组成。SJA1000是并行接口的CAN控制器。82C250是CAN控制器接口芯片。当C8051F120要向某节点发送数据时,它向SJA1000的一些缓冲器写数据和命令。数据通过SJA1000处理后,合成CAN帧格式,通过6N137至82C250,由82C250的差分端CANH和CANL传送到物理总线。外部节点发送过来的数据通过82C250经光电隔离器6N137后被SJA1000接收,存放在SJA1000相应的寄存器中。C8051F120就可以读取这些CAN帧格式数据。
  LON模块由MC143150、FTT-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]

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:192,859.40000 毫秒