CPU接口芯片GT-48330在网管交换机中应用

cpu接口芯片gt-48330在网管交换机中应用
 1引言
交换机是局域网最重要的网络连通设备,局域网的管理大多会涉及交换机的管理。交换机分为可网管交换机和不可网管交换机,这两种交换机的区别主要在是否能被管理。这里的管理是指通过管理端口执行监控交换机端口状态、划分vlan、设置trunk等操作,可以被管理的交换机就是网管交换机。网管交换机可以通过串口、web(网络浏览器)和网管软件来管理。
网管交换机的内部大致结构如图1所示。
其工作原理:端口进来的数据包先到交换芯片,交换芯片判定是否是管理包,若不是则通过其他端口转发出去;若是,则传送给接口芯片,由接口芯片传给cpu进行处理。同时,一些由cpu产生的管理包要通过接口芯片传给交换芯片,用来控制交换芯片,或者通过端口发送出去。总地来说,接口芯片主要起到了 cpu和交换机芯片间的桥梁作用。
接口芯片和cpu之间通常是通过pci总线或一般的数据/地址总线相连的,和交换芯片间的接口形式主要看交换芯片的接口,不同厂家的交换芯片具有不同的接口。本文主要讨论如何使用低功耗的接口芯片gt-48330来实现对具有g.link接口的交换芯片的控制和管理。
2芯片介绍
gt-48330是美国marvell公司的低功耗g.link 和cpu的接口芯片。他在8/16 b cpu总线和marvell公司的具有g.link接口的交换芯片的g.link总线之间提供了一个硬件接口。他支持多种嵌入式cpu和微处理器,如 80c186,8051,motorola coldfire,inteli960等,cpu可以直接通过他实现对交换芯片的管理。gt-48330作为低价的g.link到cpu的接口芯片,代替了在高端管理系统的pci接口芯片。
他可以与多种不同的cpu和微控制器相连接,其cpu的接口数据宽度为8/16 b,具有片内包缓冲器,能够在片内缓存整个完整长度的包,cpu能够通过简单的读写操作进入包缓存器。具有中断控制器,能够接收来自交换芯片产生的中断并可以对本地的cpu或微控制器产生中断。提供屏蔽和触发寄存器。采用3.3 v的核心电压,功耗较低。g.link口的时钟可达
2.1接口说明
(1)和交换芯片间的接口gt-48330提供了16根发送数据线gtxd[15∶0],16根的接收数据线grxd[15∶0],用来和交换芯片进行数据传输;一根发送命令线gtxcmd,他只在第一个时钟周期为高,表示传输线上为命令类型,其他的周期将为低电平,表示传输线上为数据;一根接收命令线grxcmd;一根g.link时钟输入线gtxclk;一根发送数据的参考时钟线gtxoclk;一根接收数据的参考时钟线grxclk,需由外部的时钟来提供。一根用于说明其g.link口是否连接的guncc线。
(2)和cpu间的接口gt-48330的cpu接口提供了 16 b的数据线ad[15∶0],用于与cpu的数据线相接;12 b数据线add[11∶0],用于与cpu的地址线相接;一根片选线cs;读、写信号线rd与wr各一根;一根工作模式选择线endian,用以设置其输出的数据高低字节是否交换;一根地址锁存信号线ale;一根数据返回有效线dtack;一根中断线int,用来和cpu的中断管脚相接;一根dtack模式选择线dtackmode,用以确定何时dtack有效;一根配置线mb,用来决定数据、地址线是否复用;一根模式选择线asm,用以选择异步或同步模式;一根时钟线clk,为gt-48330提供cpu接口的参考时钟;一根复位线rst,用以复位gt-48330
2.2工作原理
gt-48330作为cpu和g.link接口的交换芯片间的桥梁,主要的工作就是将数据从交换芯片转给cpu,这对gt-48330来讲是一个接收过程;并将cpu发过来的数据转给交换芯片,这对gt-48330来讲是一个发送过程。
2.2.1gt-48330的接收
gt-48330接收的数据分为4种:由交换芯片送过来的数据包、由交换芯片送过来的新地址消息(一个数据包只要通过交换芯片,包中的源地址信息就会被交换芯片记录并传送)、由交换芯片送过来的中断消息和cpu要从交换芯片中读取的消息。
(1)接收数据包过程在gt-48330中存在2 kb的缓冲区(buffer)用于接收来自交换芯片的包。由交换芯片产生的包发送结束消息(eop)存在0x9e4 0x9ef中,当gt-48330接收到包,并监测到eop后,他将发送相应的中断给cpu,cpu从interrput-cause寄存器中可以获得中断的原因,这样cpu就可以从buffer中读取包。
当buffer满时,如果gt-48330还没有完成对先前包的处理,又有新的包到来,此时将会产生g.link口的拥塞。gt-48330可以设置disable packetblocking(dpb)bit来防止拥塞,当设为0时,gt- 48330将通过发流控消息来防止g.link口的拥塞;当设为1时,gt-48330将通过拒绝这些包来防止拥塞,此时所有的包将被忽略。
(2)接收新地址消息的过程gt-48330中存在一个专用的新地址队列(na_q),共可以存储16个条目,对应的存储地址为 0x800~0x80f。当有新的地址到来时,gt-48330将发送一个中断给cpu,这样cpu就可以到0x800~0x80f中提取新的地址消息,同时将interrput-cause0寄存器清零;如果gt-48330还有新的地址,将会把新的地址消息放入到0x800~0x80f中,并再次发出中断。
对于新地址队列溢出的情况,gt-48330可以通过忽略或发流控消息来处理。这可以通过设置gt48330的enable_registerbit来实现,而cpu可以通过监测naqof中断来获得。如果bit设置为1时,当na_q满时,gt-48330将忽略到来的新地址消息;如果为0时,当na_q满时则发流控信息,通知交换芯片,暂缓发送。
(4)cpu要从交换芯片中读取消息的过程cpu发送消息给交换芯片,表示要获取数据(例如一些端口状态信息)。此时,交换芯片会发送 block_write消息给cpu,在gt-48330中有一个专用的32b的buffer用于存储此消息,对应的存储地址为:0x980~0x99f。当有block_write到来时,gt-48330将发送中断消息给cpu,cpu通过相关的中断位获取中断,然后来读取 block_write消息。
2.2.2gt-48330的发送
对于gt-48330来说他具有2种发送方式:自动dma方式和cpu传输方式。对于自动dma的方式,不需要cpu进行干涉,gt-48330可以自动完成发送。对于cpu传输方式,则需要cpu对发送的过程进行干涉。
(1)自动dma方式cpu首先写传输数据(td)寄存器,同时设置位,gt-48330根据td来向交换芯片发送buffer请求消息,在 td消息中包含了目的交换芯片号、端口号、cpu号及包的数量等消息。cpu写数据到gt-48330的32 b的包存储空间8lww buffer中,如果gt-48330接收到交换芯片可以开始传送包的消息(sop),他将把包发送给相应的交换芯片;如果收到交换芯片的拒绝消息 (buffer_rejecet),他将发送相应的中断给cpu,告诉发数据被拒绝。
(2)cpu传输方式cpu先直接通过gnt- a/b buffer来发送buffer请求消息,cpu等待接收到sop消息,此消息将被gt-48330存储在ogrbuffer中,然后再传给cpu。一旦 cpu收到sop消息,就通过gt-48330的gnt-a/b通道来发送数据包,同时cpu还通过gnt-a/b来发送数据包传送结束(eop)消息给交换芯片。
3电路设计
gt-48330的g.link口的电路设计说明:数据发送和接收线 gtxd[15∶0]/grxd[15∶0]与交换芯片的g.link口的接收和发送线相连;gtxcmd/grxcmd发送和接收与交换芯片的接收和发送命令线相连;gtxoclk发送数据的参考时钟,通过22ω的匹配电阻接到交换芯片的g.link口的接收时钟;grxclk接收数据的参考时钟,由时钟模块来提供;gtxclk接收数据的参考时钟,由时钟模块来提供;gtxclk作为gt-48330的g.link口的系统时钟,同样由时钟模块来提供。gtxclk和grxclk的时钟频率为83.33 mhz。电路逻辑图如图2所示。
gt-48330的cpu接口的电路设计说明:此设计使用的cpu是motorola公司的coldfire 5206e。由于在16 b接口时,mcf5205e的数据线数据是交换的,即d[31∶24]表示byte0;d[23∶16]表示byte1。同时在设计中将gt-48330 的endian管脚下拉,这样gt-48330将工作在little endian模式下,其数据是不进行交换的,因此在外部需要将数据线进行交换,即将gt-48330的ad[15:18]与cpu的d[23:16]相接,将gt-48330的 ad[7:0]与cpu的d[31:24]相连接;gt-48330的地址线add[11:0]与cpu的地址线a[11∶0]直接相接;片选信号cs与 mcf5206e的cs1管脚相接;gt-48330的读/写信号rd和wr相连接后,再与mcf5206e的r/w信号相接。当r/w为高电平时,gt-48330的读信号rd有效;当r/w为低电平时,gt-48330的写信号wr有效;地址锁存信号ale与mcf5206e的ts信号相接,低电平有效;中断管脚int与mcf5206e的中断管脚irq4相接,提供中断信号,低电平有效;gt-48330的dtack与mcf5206e的 ta相接,低电平有效,表示数据传输结束;rst信号直接与复位模块的dsp1832(或max811)的输出信号相连接,用于对gt-48330gt- 48330的复位,低电平有效;clk时钟则由时钟模块提供,其频率为54mhz。复位时gt-48330将对某些管脚进行抽样,以决定系统的工作状态。在配置中拉高通过4.7 kω的电阻接3.3 v来实现,拉低通过4.7kω的电阻接地来实现。
4软件实现
软件分引导层(boot)和ctrl层。mcf5206e上电复位后从boot开始执行,boot层程序功能包括上电初始化,引导或下装ctrl层程序及上装整片flash的内容。软件总体框架如图3所示。
首先对硬件进行配置:包括片选、dram参数、初始化定时器、i/o等,然后进行dram/cpu isram自检,若自检失败则从超级终端上输出相应的错误信息,然后停机。若自检通过则检测ctrl层程序的完整性,若ctrl层程序完整则将其拷贝到 dram的相应位置并将控制权交给ctrl层程序;若ctrl层程序不完整则通过超级终端输出相应信息并允许下装ctrl层程序或上装整片flash的内容。
ctrl层程序提供一个超级终端界面,进行各项功能模块的设置及测试。界面设置的内容如下:初始化设置及配置的读取,gt48330寄存器的操作,交换芯片寄存器的操作,switch各功能模块操作:帧收发、vlan设置、trunk操作、端口配置、mib采集等。
在系统上电后,由电源模块为整个系统提供电源支持,然后复位模块将向整个系统提供复位信号,时钟模块向系统提供参考时钟。在mcf5206e和 gt48330模块复位之后,mcf5205e将从存储模块flash中读取程序进行运行,根据程序运行的结果,mcf5205e模块将通过gt- 48330模块对系统中的所有的交换芯片进行初始化,完成对系统的配置。在以后的过程中mcf5206e将通过gt-48330模块来进行对系统的管理及包的接收和发送。而存储模块中的edodram则用于存放在运行过程中所需的程序及数据和包的临时存放。
5对于拥塞控制的分析
由于gt-48330的构架对于接收的g.link口采用共同的fifo,然后通过outmessagerdetecter来判别fifo 中的数据应该送到哪个通道中,这样就有可能产生拥塞。如果某个通道满了,他将不再接受outmessager detecter判定要发送给他的数据或消息,这样将使得数据聚集在fifo中,从而使得fifo满而产生拥塞。
对于新地址、包接收、中断接收3个通道,可以通过一个可选的模式来防止拥塞,也就是他们在不能接收时,将通过丢弃新到的消息来防止其聚集在fifo中导致拥塞。
如果有许多的数据同时发给包buffer的话,会使buffer是满的,同时如果此时设为0(没有丢弃包),这时g.link口将产生流控消息,造成g.link口的堵塞。如果这时cpu对某个设备发送了lw_write消息时,他将一直等待buffer请求确认(bfr)的到来,在没有收到此消息时,将不会进行其他的数据处理。而由于g.link口的拥塞将导致bfr无法送出,因此包buffer中的数据也将一直得不到cpu的处理,这样将导致cpu的死锁。死锁的解决方法:
(1)可以将交换芯片设置成单包模式(signalpacket mode),使其只有在一个包被处理完后,才送下一个包。
(2)使用包拥塞失效位(disable packetblocking),采用对新地址、包接收、中断消息的丢弃来防止。同时cpu也可以通过某些方法来判断潜在的拥塞,从而使得该寄存器置位。例如,可以限制发往cpu的包的类型和数量来控制。
由上可知,采用相关通道的丢弃功能可以防止cpu的死锁问题,同时,他只对本身的通道有影响;如果仅采用流控功能则有可能导致死锁问题的产生,对整个g.link口产生影响。

选购智能家居时要注意什么
电路板孔的可焊性对焊接质量有什么影响
中国已经开始为跨行转账测试了自己的数字货币
嵌入式新闻周刊:英国芯片初创公司、自然语言量子
【虹科智能网桥】如何加速软件定义存储(SDS)的实现?
CPU接口芯片GT-48330在网管交换机中应用
全球MEMS技术制造市场将在2021达创纪录的159亿美元
乐视网ceo贾跃亭败走麦城续集上演:三大教训值得深思 乐视体育风雨飘摇
QuestDB时序数据库性能居然领先ClickHouse和InfluxDB这么多
运营商需要摆脱价格战回归理性这才是正道
一种适合于工业-4.0应用的解决方案
SMCJ58CA现货 上东沃电子 浙江二极管品牌厂家
一个硬件工程师到底需要做什么?
DS1307与兼容8051的微控制器接口
面向商业市场,华为式“抢滩登陆”拓展行业+商业市场
微软Surface Duo软件会有大改进 支持3D深度相机
低压耐压测试仪测试步骤
基于结温保护的LED驱动电路设计
半导体设备厂商DE&T和ELP取得FPCB更换系统专利
汽车充电桩运营管理平台的设计与应用