一种点灯系统及单bit点灯码流实现点双色灯的方法

文档序号:1908883 发布日期:2021-11-30 浏览:17次 >En<

阅读说明:本技术 一种点灯系统及单bit点灯码流实现点双色灯的方法 (Lighting system and method for lighting code stream by single bit to realize lighting double-color lamp ) 是由 江锦洲 于 2021-08-31 设计创作,主要内容包括:本发明提供一种点灯系统及单bit点灯码流实现点双色灯的方法,可用于包括但不限于交换机、路由器、安全设备等具有高密度端口且需要端口指示的设备,并可拓展应用于需要使用大量输出型IO的设备中。网络设备的点灯单元整合MAC、CPU、CPLD、LED点亮端口等电路,通过各电路间的数据互传,从而实现端口的点灯。本发明突破已有成熟应用的单端口双bit点灯码流实现双色指示的点灯的方案,克服了网络设备端口点灯码流长度过长导致的逻辑资源消耗增加、实时性较差等问题,有效降低逻辑资源消耗,提高指示灯实时性。(The invention provides a lighting system and a method for realizing point double-color lamps by single-bit lighting code stream, which can be used for equipment which has high-density ports and needs port indication, such as a switch, a router, safety equipment and the like, and can be expanded and applied to equipment which needs to use a large amount of output IO. The lighting unit of the network equipment integrates circuits such as MAC, CPU, CPLD and LED lighting ports, and the lighting of the ports is realized through data mutual transmission among the circuits. The invention breaks through the existing lighting scheme of double-color indication by using single-port double-bit lighting code stream, overcomes the problems of increased logic resource consumption, poor real-time performance and the like caused by overlong lighting code stream length of the network equipment port, effectively reduces the logic resource consumption and improves the real-time performance of the indicator lamp.)

一种点灯系统及单bit点灯码流实现点双色灯的方法

技术领域

本发明属于LED点灯技术领域,尤其是涉及一种点灯系统及单bit点灯码流实现点双色灯的方法。

背景技术

目前主流网络芯片厂商对于网络设备端口点灯均为网络芯片输出串行码流,由逻辑芯片对串行码流解析后进行点灯,每个端口指示灯由单个双色(绿黄)灯构成,用于指示端口的链接速率(SPEED)、链接状态(LINK)及活跃状态(ACT),以千兆端口为例,其中绿色常亮为1000M建立连接,绿色闪烁为1000M正在收发数据,绿灯常灭1000M没有建立连接;黄色常亮为100/10M建立连接,黄色闪烁为100/10M正在收发数据,黄灯常灭100/10M没有建立连接。

串行码流长度可通过网络芯片进行设置。但随着网络设备接口密度越来越大,传统的使用8bit或4bit或2bit串行数据指示一个端口的状态造成串行码流过长,消耗较多逻辑资源进行数据接收与解析。同时对于MARVELL芯片,因其芯片内部对于点灯码流编辑的限制导致出现大量无用数据bit,进一步加剧逻辑资源的浪费。

现有技术中,对于MARVELL千兆网口设备,采用单端口两bit分别指示1000M(绿色指示灯)和100/10M(绿色指示灯),对于万兆网口设备,采用单端口两bit分别指示10000M(绿色指示灯)和1000/100M(绿色指示灯)。

现有技术是采用单端口两bit方案,依据芯片对串行点灯码流的设置规则(MAC芯片点灯支持按组和端口两种点灯码流排列,两种点灯方式的长度都是256bit,根据MAC手册的说明,可以通过芯片内部寄存器设置码流起始地址,可以缩短码流长度,按PORT方式配置码流,码流长度至少要24Ports*8(bitperlane)=192bit,其中每个Port包含8个bit,只有2个bit有意义,其它是垃圾数据。按CLASS方式配置码流,结合设置码流起始地址功能,需使用32+24bit,其中8bit为垃圾数据,虽然码流长度减小,但仍然会引入垃圾数据,这些垃圾数据会随着端口数量增加会持续增加)会引入大量无用bit位。导致码流过长,对点灯的实时性产生影响。

发明内容

本发明旨在解决网络设备端口点灯码流长度过长导致的逻辑资源消耗增加、实时性较差等问题,提供一种点灯系统及单bit点灯码流实现点双色灯的方法。

为了达到上述目的,本发明采用如下技术方案:

一种点灯系统,包括中央处理器、介质访问控制芯片、可编程逻辑器件和LED点亮端口;所述中央处理器用于用于系统控制,通过系统总线与介质访问控制芯片、可编程逻辑器件连接,所述中央处理器接收介质访问控制芯片的端口链接状态link及活跃状态active,并将该状态发送给可编程逻辑器件;所述介质访问控制芯片用于产生串行数据码流,并向所述中央处理器报送端口状态信息;所述可编程逻辑器件用于接收介质访问控制芯片和中央处理器送出的点灯信息,并进行整合,并将最终的点灯信息送至LED点亮端口;所述LED点亮端口用于接收可编程逻辑器件送出的串行点灯信息,并通过串并转化,将LED灯点亮。

作为一种优选的技术方案,所述可编程逻辑器件包括第一寄存器和第二寄存器,所述第一寄存器用于写入中央处理器发送的初始化完成标志位,所述第二寄存器用于写入中央处理器发送的端口链接状态link及活跃状态active,所述可编程逻辑器件接收介质访问控制芯片发出的串行数据码流进行解析,同时根据第一寄存器和第二寄存器的状态将解析出来的数据重新进行编码为端口实际点灯数据序列。

作为一种优选的技术方案,所述点灯系统还包括若干串并转换芯片,所述可编程逻辑器件包括时钟线和数据线以实现信息输出,所述可编程逻辑器件的时钟线与所述若干串并转换芯片并联,所述数据线、所述若干串并转换芯片依次串联。

本发明还提供一种单bit点灯码流实现点双色灯的方法,包括以下步骤:

步骤1,介质访问控制芯片获取当前每个端口的链接状态link及活跃状态active,并将当前每个端口的链接状态link及活跃状态active信息通过系统总线上报给中央处理器,同时配置介质访问控制芯片的寄存器,使其按单端口单bit的数据格式输出数据,即常亮为link,闪烁为active ,link和active采用同一数据位;

步骤2,中央处理器通过系统总线将当前每个端口的链接状态link及活跃状态active信息写入可编程逻辑器件的寄存器内;

步骤3,可编程逻辑器件判断其寄存器,根据该寄存器内容进行点灯。

作为一种优选的技术方案,步骤1中,介质访问控制芯片初始化完成后,中央处理器将初始化完成标志位写入可编程逻辑器件的第一寄存器中,而后中央处理器将链接状态link及活跃状态active信息写入可编程逻辑器件的第二寄存器中。

作为一种优选的技术方案,步骤3中,可编程逻辑器件接收介质访问控制芯片发出的串行数据码流进行解析,同时根据第一寄存器和第二寄存器的状态将解析出来的数据重新进行编码为端口实际点灯数据序列,串并转换电路将串行数据码流转换为点灯信号,指示灯即可点亮熄灭。

作为一种优选的技术方案,步骤1中,介质访问控制芯片获取当前每个端口的连接速率speed,并将当前每个端口的连接速率speed通过系统总线上报给中央处理器;步骤2中,中央处理器通过系统总线将当前每个端口的连接速率speed信息写入可编程逻辑器件的寄存器内;步骤3中,可编程逻辑器件判断其寄存器,若连接速率speed为1000M则点亮黄色LED灯,若连接速率speed不为1000M则点亮绿色LED灯。

采用上述技术方案后,本发明具有如下优点:

本发明可用于包括但不限于交换机、路由器、安全设备等具有高密度端口且需要端口指示的设备,并可拓展应用于需要使用大量输出型IO的设备中。网络设备的点灯单元整合MAC、CPU、CPLD、LED点亮端口等电路,通过各电路间的数据互传,从而实现端口的点灯。

本发明突破已有成熟应用的单端口双bit点灯码流实现双色指示的点灯的方案,克服了网络设备端口点灯码流长度过长导致的逻辑资源消耗增加、实时性较差等问题,有效降低逻辑资源消耗,提高指示灯实时性。

附图说明

图1为一种点灯系统的结构示意图;

图2为串并转化电路的电路图;

图3为一种单bit点灯码流实现点双色灯的方法的流程图;

图4为介质访问控制芯片发出的数据码流时序图;

图5为可编程逻辑器件发出的数据码流时序图。

具体实施方式

以下结合附图及具体实施例,对本发明作进一步的详细说明。

如图1-2所示,一种点灯系统,包括中央处理器、介质访问控制芯片、可编程逻辑器件、若干串并转换芯片和LED点亮端口。

所述中央处理器即CPU,用于用于系统控制,通过系统SPI或LPC总线与介质访问控制芯片、可编程逻辑器件连接,所述中央处理器接收介质访问控制芯片的端口链接状态link及活跃状态active,并将该状态发送给可编程逻辑器件。

所述介质访问控制芯片即MAC芯片,用于产生串行数据码流,并通过系统PCIE总线向所述中央处理器报送端口状态信息。

所述可编程逻辑器件即CPLD,用于接收介质访问控制芯片和中央处理器送出的点灯信息,并进行整合,并将最终的点灯信息送至LED点亮端口。所述可编程逻辑器件包括时钟线和数据线以实现信息输出,所述可编程逻辑器件的时钟线与所述若干串并转换芯片并联。所述数据线、所述若干串并转换芯片依次串联,即第一片串并转换芯片的第8路输出信号接到第二片串并转换芯片的输入中,从而实现8bit以上的串行数据转为并行输出。

所述LED点亮端口用于接收可编程逻辑器件送出的串行点灯信息,并通过串并转化,将LED灯点亮。

所述可编程逻辑器件包括第一寄存器和第二寄存器,所述第一寄存器用于写入中央处理器发送的初始化完成标志位,所述第二寄存器用于写入中央处理器发送的端口链接状态link及活跃状态active,所述可编程逻辑器件接收介质访问控制芯片发出的串行数据码流进行解析,同时根据第一寄存器和第二寄存器的状态将解析出来的数据重新进行编码为端口实际点灯数据序列。

如图3所示,一种单bit点灯码流实现点双色灯的方法,包括以下步骤:

步骤1,介质访问控制芯片获取当前每个端口的连接速率speed、链接状态link及活跃状态active,并将当前每个端口的连接速率speed、链接状态link及活跃状态active信息通过系统总线上报给中央处理器,同时配置介质访问控制芯片的寄存器,使其按单端口单bit的数据格式输出数据,即常亮为link,闪烁为active ,link和active采用同一数据位;

介质访问控制芯片初始化完成后,中央处理器将初始化完成标志位写入可编程逻辑器件的第一寄存器中,而后中央处理器将链接状态link及活跃状态active信息写入可编程逻辑器件的第二寄存器中;

步骤2,中央处理器通过系统总线将当前每个端口的连接速率speed、链接状态link及活跃状态active信息写入可编程逻辑器件的寄存器内;

步骤3,可编程逻辑器件判断其寄存器,若连接速率speed为1000M则点亮黄色LED灯,若连接速率speed不为1000M则点亮绿色LED灯,根据寄存器内容进行点灯;

可编程逻辑器件接收介质访问控制芯片发出的串行数据码流进行解析,同时根据第一寄存器和第二寄存器的状态将解析出来的数据重新进行编码为端口实际点灯数据序列,串并转换电路将串行数据码流转换为点灯信号,指示灯即可点亮熄灭。

以下是关于可编程逻辑器件串行接收数据逻辑代码实现的说明:

介质访问控制芯片发出的数据码流时序如图4所示,在可编程逻辑器件测采用CLK的上升沿采样,在CLK上升沿到来时,以移位的方式接收串行数据。其实现核心代码如下:

always @(negedge Reset or posedge LED_CLK)

begin

if(!Reset)

begin

LED_BUF_reg0 <= {SIGCNT-1{1'b0}};

end

else

begin

LED_BUF_reg0 <= {LED_DATA,LED_BUF_reg0[SIGCNT-1:1]};

end

end

主要参数解释如下:

SIGCNT:所要接收串行数据的数据位数;

LED_CLK:介质访问控制芯片发出的串行数据时钟信号;

LED_DATA:介质访问控制芯片发出的串行数据数据信号。

以下是关于可编程逻辑器件串行输出点灯码流的逻辑代码实现的说明:

可编程逻辑器件发出的数据码流时序如图5所示,可编程逻辑器件将RST_OUT拉高后,在SYS_CLK的上升沿时将DATA_OUT数据发出,同时将SYS_CLK去翻。其实现核心代码如下:

assign CP = ~ CLK_RRPP_s;

always @(negedge LED_TX_en_reg or posedge CLK_RRPP_s)

begin

if(!LED_TX_en_reg)

begin

DSA_reg <= 1'b0;

TX_cnt_s <= SIGCNT-1;

LED_TX_done <= 1'b0;

end

else

begin

if (TX_cnt_s == 7'b0000000)

begin

LED_TX_done <= 1'b1;

end

else

begin

DSA_reg <= LED_BUF_reg[TX_cnt_s];

TX_cnt_s <= TX_cnt_s - 1'b1;

end

end

end

主要参数解释如下:

SIGCNT:所要发送串行数据的数据位数;

CLK_RRPP_s:系统时钟;

CP:可编程逻辑器件发出的串行时钟数据信号;

DSA_reg:可编程逻辑器件发出的串行数据数据信号。

本发明的一种单bit点灯码流实现点双色灯的方法可用于包括但不限于交换机、路由器、安全设备等具有高密度端口且需要端口指示的设备,并可拓展应用于需要使用大量输出型IO的设备中。网络设备的点灯单元整合MAC、CPU、CPLD、LED点亮端口等电路,通过各电路间的数据互传,从而实现端口的点灯。

除上述优选实施例外,本发明还有其他的实施方式,本领域技术人员可以根据本发明作出各种改变和变形,只要不脱离本发明的精神,均应属于本发明所附权利要求所定义的范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:调光控制方法及调光电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!