当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]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[!--empirenews.page--]

  2.2 工作原理

  GT-48330作为CPU和G.Link接口的交换芯片间的桥梁,主要的工作就是将数据从交换芯片转给CPU,这对GT-48330来讲是一个接收过程;并将CPU发过来的数据转给交换芯片,这对GT-48330来讲是一个发送过程。

 

 

  2.2.1 GT-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.2 GT-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)消息给 交换芯片。[!--empirenews.page--]

  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,然后通过Out Messager Detecter来判别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口产生影响。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭