发明内容
本发明克服了现有技术的不足,提供一种扩展broadcom交换芯片用途的系统及方法,用于解决broadcom交换芯片外挂硬件设备不便灵活控制的技术问题。
考虑到现有技术的上述问题,根据本发明的一个方面,为解决上述的技术问题,本发明采用以下技术方案:
一种扩展broadcom交换芯片用途的系统,它包括:
交换芯片的LED处理器,用于间断性发送一段串行数据信号;
串并转换器件,用于接收所述串行数据信号并将其转换为二进制并行数据,以及在所述串并转换器件上扩展外接设备和/或串接另一个串并转换器件;所述交换芯片的LED处理器通过转换的二进制并行数据对所述外接设备进行控制。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,所述外接设备是一种选自蜂鸣器、指示灯、风扇、电源或照明灯。
根据本发明的另一个实施方案,所述外接设备在为蜂鸣器或指示灯的情况下,所述蜂鸣器或指示灯的置位信号写入所述交换芯片的LED处理器数据段寄存器,并通过所述交换芯片的LED处理器扫描此块数据段内容,通过所述交换芯片的LED处理器处理之后,以串行信号输出到所述串并转换器件,从而使所述蜂鸣器或指示灯产生相应的动作信号。
根据本发明的另一个实施方案,所述交换芯片的LED处理器内设置判断模块,用于检测置位信号、并根据检测到的情况以确定是否输出拉低信号给所述蜂鸣器或指示灯。
根据本发明的另一个实施方案,所述外接设备为风扇的情况下,broadcom交换芯片的温度状态以置位形式写入交换芯片的LED处理器的数据段寄存器内,并通过交换芯片的LED处理器扫描此数据段内容,通过所述交换芯片的LED处理器处理之后,以串行信号输出到所述转换器件,以控制所述风扇的开或关闭。
根据本发明的另一个实施方案,所述串并转换器件为74HC164。
根据本发明的另一个实施方案,所述broadcom交换芯片内包括一个LED数据块和LED编程块寄存器。
本发明还可以是:
一种扩展broadcom交换芯片用途的方法,它包括:
通过所述交换芯片的LED处理器间断性发送一段串行数据信号;
通过串并转换器件接收所述串行数据信号并将其转换为二进制并行数据,所述LED处理器通过转换的二进制并行数据对所述转换器件上的外接设备进行控制。
根据本发明的另一个实施方案,所述broadcom交换芯片交换运行arp防攻击或dhcp防攻击时,通过自动下发ACL表项来阻止攻击报文,如果当acl资源耗尽,则提示错误,系统自动修改LED数据块寄存器存放错误提示的数据内容,LED处理器在扫描此数据位置的内容时,发现置位,则发出的串行信号中对应的蜂鸣器和错误指示灯控制位为高电平;通过串并转换,蜂鸣器电路收到高电平触发,从而产品告警,同样错误指示灯电路由于高电平触发而点亮;在没有人为的去消除告警的情况下,则会持续下去,同时连续检测到一定次数错误指示的置位信号,则强制输出一次低电平,从而呈现间断性的报警声和闪烁的指示灯。
与现有技术相比,本发明的有益效果之一是:
本发明的一种扩展broadcom交换芯片用途的系统及方法,通过充分合理的利用芯片自带的LED处理器功能,自动灵活地控制下挂硬件设备(比如蜂鸣器、风扇、电源、照明灯、指示灯等),以及可以增加下挂硬件设备的数量。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
一种扩展broadcom交换芯片用途的系统,它包括交换芯片的LED处理器和串并转换器件,交换芯片的LED处理器用于间断性发送一段串行数据信号;串并转换器件用于接收所述串行数据信号并将其转换为二进制并行数据,以及所述串并转换器件上扩展外接设备和/或串接另一个串并转换器件;所述交换芯片的LED处理器通过转换的二进制并行数据对所述外接设备进行控制。
参见图1所示,图1为根据本发明一个实施例的扩展broadcom交换芯片用途的流程框图,具体地,对于现有的资源得到充分利用,由于broadcom交换芯片自带的LED处理器特性,其通过运行一个微型单片机程序间断性的发送一段串行数据信号。通过采用多个串转并的cmos器件(比如74HC164),将这一段串行数据信号分解成一段二进制并行数据,这样可以控制对应端口上的LED状态显示。如果当LED灯数量非8(一般串并转换器为8位)的整数倍时,就存在一些多余的端口,这时可以采用本发明来充分利用这些多余的端口来接一些有用的外接设备器件。如需要扩展更多的外接设备,还可以再次串接74HC164等转换器件。从而解决了交换机的gpio口不够用等问题。
利用以上实施例的方法/系统实现了控制端口的丰富性,从而可以丰富交换机功能。
本发明具体所要体现的功能有如下几点:
增加蜂鸣器和指示灯:
其中指示灯又分警告指示灯和错误指示灯两种。目前大多交换设备当运行时出现警告或错误时,大多都是通过日志信息来显示出来。这就需要人为的实时去监控交换机串口或web页面等其它工具的日志输出。因此加大了管理难度和实时性。而用本发明的技术方案可以将警告指示或错误指示已置位形式(0|1)写入LED处理器的对应数据段,并通过LED处理器扫描此块数据段内容,然后以串行信号输出到串并转换器,从而使得蜂鸣器报警,并对应的指示灯点亮。为了不产生噪音污染,且指示灯采用闪烁引发注意,同时可以在LED处理器单片机程序中加入判断,如果连续3次检测到置位信号,则强制输出一次拉低信号给蜂鸣器和指示灯。通过本实施例的设计方案可实时得知设备运行情况。
增加对交换设备风扇控制:
目前大多中高端交换设备都带有3个以上的风扇用来散热,特别是broadcom的交换芯片温度比较高,还会在芯片上加一个散热的风扇。而为了成本考虑或IO口数的局限性,未对风扇加以控制。通过使用本发明的方案,可以做到不增加成本(比如不需增加ADT7473、AMD1034等控制芯片),也不用改变交换芯片或CPU方案,就能实现对风扇合理的操控,达到高效、节能、安全效果。由于broadcom交换芯片自带温度侦查,可以根据温度程度,以置位形式写入LED处理器的对应数据段,并通过LED处理器扫描此数据段内容,然后以串行信号输出到串并转换器,来控制那些风扇开或者关闭。同样还可以设定两个不同电流值的电路,然后通过LED处理器输出信号来控制风扇的转速。
增加对交换设备电源切换和照明:
目前大多中高端交换设备都有两个电源,一个主电源和一个备用电源。如果要切换,只有在电压不稳或其它电源故障问题或手动切换情况下才会切换到备用的电源。不然会一直沿用一个电源,这样可能会加大电源的老化。由于交换设备都有设备运行时间和时钟。因此采用本发明,可以根据设备运行时间,采用两天切换一次电源,这样可以减缓电源老化,减小电源长期使用带来的故障等问题。同时也可以根据时钟值在设定的时间段开启或关闭照明灯。这些操作,只需要通过系统程序自动写入相应的置位数据到LED处理器的数据段,然后LED处理器通过其扫描程序来扫描对应数据段值,再已串行信号输出,同样经过串并转换就可以控制对应的电源切换开关和照明灯。
综合以上所述,用同样方法还可以使用LED处理器扩展足够的外控设备。由于目前broadcom的LED处理器的数据段(CMIC_LEDUP0_DATA_RAM寄存器)和代码段空间(CMIC_LEDUP0_PROGRAM_RAM寄存器)是有限的,所以在编写LED处理器程序时应尽量简洁,简单。在处理LED数据段时,应该合理分配各个模块功能空间(一般LED数据空间前面部分内存已给端口LED使用,端口数*2Bytes)。有些芯片LED处理器一个字节对应交换芯片上寄存器4个字节。因此在写寄存器时,需做一下转换。
另一实施例,1)交换机如果在出现错误(比如内存不足、下发硬件配置错误、端口攻击等)时蜂鸣器产生报警且错误指示灯开始闪烁。如果出现警告(环路、风暴、限速等)则只需警告指示灯闪烁,不用报警。2)当交换芯片温度低于60摄氏度只需开启两个排风扇,高于60摄氏度开启所有风扇。3)设备运行时间每一周切换一次电源。
另一实施例的扩展broadcom交换芯片用途的系统的实现方案可包括:
1.设计电路板,在串并转换器io口设定对应蜂鸣器、指示灯、风扇、电源切换控制开关。然后交换芯片LED数据引脚和LED时针引脚接到串并转换器。
2.系统程序中设置警告、错误、风扇、电源切换开关使能位在LED数据内存块位置。当程序运行出现警告或错误提示时,写入对应LED数据内存块的警告或错误位置。当程序扫描任务检测到温度低于60摄氏度时,写入对应LED数据块的风扇位置。当程序扫描任务检测到运行时间是7天的倍数时,写入对应LED数据块的电源切换位置。
3.编写LED单片机程序,根据串并转换器外接设备顺序来扫描对应的LED数据段在位值。并以二进制形式作为串行数据输出。单片机程序需编译生成ASCII码,在交换设备启动时将其导入LED代码段空间位置(CMIC_LEDUP0_PROGRAM_RAM)。
broadcom交换芯片有一个LED数据块和LED编程块寄存器,专门供LED处理器使用。从而使得可以在数据块空间(端口下LED数据空间以外)自定义外接模块的空间位置。另可以自由发挥的书写单片机程序将生产的ASCII码写入编程块寄存器即可。当交换运行arp防攻击或dhcp防攻击时,通过自动下ACL表项发来阻止攻击报文,如果当acl资源耗尽,则提示错误,这时系统自动修改LED数据块寄存器存放错误提示的数据内容(即蜂鸣器和错误指示灯指示位)。这时LED处理器在扫描此数据位置的内容时,发现置位,则发出的串行信号中对应的蜂鸣器和错误指示灯控制位为高电平。这样通过串并转换,蜂鸣器电路收到高电平触发,从而产品告警,同样错误指示灯电路由于高电平触发而点亮。如果没有人为的去消除告警,则会持续下去。同时单片机程序在如果连续检测到3次(当然也可以设定其它次数)错误指示的数据位是置位,则强制输出一次底电平。这样就会已间断性的报警声和闪烁的指示灯呈现。
本发明通过又一实施例再详细阐述,主要针对采用broadcom交换芯片的中高端交换设备,下面的设计方案主要借助于交换芯片自带可以编程的LED处理模块功能,所以需要交换芯片有broadcom的LED接口模块功能。详细设计步骤如下:
①交换芯片外接设备添加。增加蜂鸣器电路,高电平触发报警。增加指示灯电路,指示灯为双色指示灯芯,黄色表示错误信号,绿色表示警告信号,需要两个在位信号(01:黄,10:绿,00和11灭灯)控制。增加风扇电路,同样需要两个在位信号(01:常速,10:高速,00和11停止)控制。增加电源切换电路,底电平工作在主电源模式,高电平工作在备用电源模式。然后把这些模块的触发管脚接入串并转换器件上,一般排放于端口下LED灯扫描完后的管脚位置。
②根据交换芯片LED数据内存块大小,在端口所占内存(端口数*2Bytes)以后的内存块定义自定义模块偏移地址值。比如定义蜂鸣器和指示灯数据偏移地址为0xc0,风扇为0xc4,电源为0xd4。
系统程序中定义好需要报警或指示的错误或警告返回值,然后判断是否要设置LED数据内存块寄存器对应的偏移地址值内容。即如果返回报警错误,则设置数据段偏移地址0xc0的存储值为2,如果返回警告指示,则设置数据段偏移地址0xc0的存储值为1.否则就设置为0。
风扇的控制是根据芯片温度值来设置的,所以需要在一个循环任务中不断去读交换芯片温度寄存器的值,可以30秒~1分钟读一次温度寄存器值。假如需要来控制的交换设备风扇有4(Fan0、Fan1、Fan2、Fan3)个,如果温度小于60℃,风扇fan0和fan2为常开状态,这两个风扇常速无需io控制,这时只需设置0xc8和0xd0地址数据内容为0.如果温度在60~80℃之间,则所有风扇都启用,这时需设置0xc8、0xd0地址值数据内容都为1.如果大于80℃,则风扇采用高速运转状态,这时需设置0xc4、0xc8、0xcc、0xd0地址值数据内容都为2。
电源切换控制是根据设备运行时间来控制的,所有同样需要在一个循环任务不断去读系统运行时间,这个只需每24小时读一次就可以。如果检测到运行时间是7*24小时的整数倍,则切换一次电源,即在LED数据段偏移地址0xd4的值切换(如果原来值是0则设置为1,如果为1则设置为0)。
③编写LED处理器运行程序,即一个微型单片机程序代码,为了减小生成的可执行文件大小,所以采用汇编语言来编写。程序扫描完交换机端口下需要点的LED状态后,接着依次扫描上面步骤2所定义的数据段偏移地址值内容,并给出相应的信号值。然后根据所使用的串并转换器件数(一般1器件个扩展8个并口),输出器件数的8倍串行数据信号。LED处理器扫描频率一般为30HZ。
④然后编译书写的汇编程序,将生成的hex文件内容,在交换设备启动时,写入到交换芯片的LED编程块内存空间,这样LED处理器就可以按3程序设计运行了。
图1所示流程图设计主要参数可以是:基于broadcom交换芯片的交换设备一台,设备与本发明相关的主要硬件器件参数有:交换芯片物理端口数(py_num)、交换机逻辑端口数(pl_num)、双色指示灯一个、蜂鸣器一个、风扇4个(fan0、fan1、fan2、fan3)、电源两个(pow0、pow1)、74hc164串并转换器件chn_num(每个逻辑端口占2个io输出,一个为link状态和收发报文指示。蜂鸣器和双色指示灯共占2个io输出。风扇占6个io输出,其中4个位风扇大小转速控制,2个为fan1和fan3开关控制。电源切换占1个io输出。一片74hc164可以转换8位串行数据。所有共需chn_num=((pl_num*2)+2+6+1)/8,如果不够8的整数倍则补1片)。交换芯片温度tmp,单位℃。系统运行时间run_time,单位天。
综上可知,利用现有的LED处理器资源,通过其可编程性、硬件快速扫描、高实时性等优势,从而具有实用、灵活、稳定等优点。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。