一种多协议的嵌入式总线集成器的设计与研究
发布时间:2008/6/3 0:00:00 访问次数:450
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].
2.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].
2.2 软件实现的框架
<
上一篇:ISDN综述(三)