新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种多协议的嵌入式总线集成器的设计与研究

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

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

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

本文引用地址:http://www.eepw.com.cn/article/152308.htm

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]
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭