一种基于I2C接口通过CPLD来实现NVMe SSD点灯的方法技术

技术编号:16175615 阅读:29 留言:0更新日期:2017-09-09 02:50
本发明专利技术属于服务器设计领域,尤其是一种基于I2C接口通过CPLD来实现NVMe SSD 点灯的方法;本方案提供的基于I2C接口通过CPLD来实现NVMe SSD 点灯的方法采用CPU的I2C然后连接到CPLD来解码CPU发出的信息进行对NVMe SSD工作状态的指示灯功能。可以有效地将NVMe SSD的工作状态像普通的SATA或者SAS硬盘一样直观地显现出来,用户界面通过肉眼外观状态只能灯就能直观地判断出来NVMe SSD的工作状态,非常直观便捷。另外本发明专利技术采用CPLD的方案在后续维护更容易,如果要增加附加功能只需要更改CPLD FW就可以轻松实现了。具体成本低,实用性强,维护便捷,调试灵活的优越性。

【技术实现步骤摘要】
一种基于I2C接口通过CPLD来实现NVMeSSD点灯的方法
本专利技术属于服务器设计领域,尤其是一种基于I2C接口通过CPLD来实现NVMeSSD点灯的方法。
技术介绍
随着技术的发展,存储硬盘的种类也在不断地更新换代,目前技术最前沿的NVMeSSD也已经步入了大家的视野,而随着NVMeSSD的技术趋近成熟,NVMeSSD也在市场上面流行起来,可在服务器存储领域如何将NVMeSSD的工作状态有效地直观地显现出来是步入NVMe领域的一大难点。我们所熟知的SATA硬盘或者SAS硬盘都是通过SGPIO解码到硬盘的工作状态,然后通过CPLD或者PIC去进行解码SPIO去获得SATA或者SAS硬盘的工作状态,而NVMeSSD走的是PCIEbus总线,其工作状态是CPU本身比较清楚的,因此NVMeSSD的工作状态只有通过CPU的I2C来显现。而CPU的这组I2C主要是用来做PCIEhot-plug的。现有的NVMeSSD工作状态是由I2C连接到PIC,由PIC解码I2C通信数据来实现NVMe的热插拔功能。PIC上面连接的是SFF-8639接口的IFDET#和HDD_PRESENT#这两个信号来判定是否插入了NVMeSSD硬盘。NVMeSSD硬盘的工作状态指示灯是否能够像SATA或者SAS硬盘那样直观地体现出来,目前暂没有好的方案,应用最多的就是将CPU的I2C信号来实现NVMeSSD的热插拔功能,而NVMe的活动指示灯都是通过NVMeSSD本身自带的信号输出点灯,可是如何实现NVMeSSD的报错指示灯和Locate(在位)指示灯结合是现有技术的一大缺点。为此,有必要设计一种新型的点灯系统,能够在不改变硬件的情况下实现NVMeSSD位置和工作状态点灯。
技术实现思路
本专利技术的主要目的是提供一种基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,用来克服现有现有电动助力车无法实现健身的问题。本专利技术是这样实现的,一种基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,包括以下步骤:步骤A:初始化步骤,所述初始化步骤系将CPLD配制成I2CSlave设备;步骤B:状态读取步骤,所述状态读取步骤系CPU通过配置后的CPLD读取NVMeSSD的状态;步骤C:点灯步骤,所述点灯步骤系CPU命令配置后的CPLD点亮对应的错误指示灯。通过CPLD实现解码点灯,免去了通过PIC进行解码的步骤。I2C(Inter-IntegratedCircuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C总线支持任何IC生产工艺(CMOS、双极型)。通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。LCD驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。本专利技术的进一步技术方案是:所述步骤A中通过状态机机制实现CPLD配制成I2CSlave。本专利技术的进一步技术方案是:所述状态机机制通过VHDL语言来实现。VHDL全名Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE-1076(简称87版)之后,各EDA公司相继推出自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,简称93版。VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。本专利技术的进一步技术方案是:所述步骤B包括以下分步骤:步骤B1:CPU通过I2C接口从CPLD读取到NVMeSSD的在位状态;步骤B2:CPU识别NVMeSSD硬盘的工作状态。本专利技术的进一步技术方案是:所述步骤B1包括以下分步骤:步骤B11:CPLD获取SFF-8639接口信号电平;步骤B12:CPLD通过电平信号判断该SFF-8639接口上接的硬盘类型。本专利技术的进一步技术方案是:所述步骤B12中通过IFDET#和PRSENT#信号电平判断插接硬盘类型。本专利技术的进一步技术方案是:所述步骤B12中遵循的规则为,当IFDET#和PRSENT#信号都为高电平时候,表示此SFF-8639没有接入任何硬盘;当IFDET#为低而PRSENT#为高时,表示此时接入的是NVMeSSD硬盘;当IFDET#和PRSENT#都为低时,表示此时接入的是SATA或SAS硬盘。本专利技术的进一步技术方案是:所述步骤C包括以下分步骤:步骤C1:BIOS将NVMeSSD硬盘报错信息通过I2C接口传给CPLD;步骤C2:CPLD点亮对应NVMeSSD的错误指示灯。本专利技术的进一步技术方案是:所述步骤A包括以下分步骤:步骤A1:将I2C分解成若干状态;步骤A2:主板BMC确定CPLD设备地址。本专利技术的进一步技术方案是:所述步骤A2包括以下分步骤:步骤A21:主板BMC发送寻址信号;步骤A22:CPLD读取所述寻址信号,若寻址信号地址与自身相同则发送相应信号,若寻址信号地址与自身不同则不做处理。本专利技术的有益效果是:本方案提供的基于I2C接口通过CPLD来实现NVMeSSD点灯的方法采用CPU的I2C然后连接到CPLD来解码CPU发出的信息进行对NVMeSSD工作状态的指示灯功能。可以有效地将NVMeSSD的工作状态像普通的SATA或者SAS硬盘一样直观地显现出来,用户界面通过肉眼外观状态只能灯就能直观地判断出来NVMeSSD的工作状态,非常直观便捷。另外本专利技术采用CPLD的方案在后续维护更容易,如果要增加附加功能只需要更改CPLDFW就可以轻松实现了。具体成本低,实用性强,维护便捷,调试灵活的优越性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201710267533.html" title="一种基于I2C接口通过CPLD来实现NVMe SSD点灯的方法原文来自X技术">基于I2C接口通过CPLD来实现NVMe SSD点灯的方法</a>

【技术保护点】
一种基于I2C接口通过CPLD来实现NVMe SSD 点灯的方法,其特征在于,包括以下步骤:步骤A:初始化步骤,所述初始化步骤系将CPLD配制成I2C Slave设备;步骤B:状态读取步骤,所述状态读取步骤系CPU通过配置后的CPLD读取NVMe SSD的状态;步骤C:点灯步骤,所述点灯步骤系CPU命令配置后的CPLD点亮对应的错误指示灯。

【技术特征摘要】
1.一种基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,其特征在于,包括以下步骤:步骤A:初始化步骤,所述初始化步骤系将CPLD配制成I2CSlave设备;步骤B:状态读取步骤,所述状态读取步骤系CPU通过配置后的CPLD读取NVMeSSD的状态;步骤C:点灯步骤,所述点灯步骤系CPU命令配置后的CPLD点亮对应的错误指示灯。2.根据权利要求1所述的基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,其特征在于:所述步骤A中通过状态机机制实现CPLD配制成I2CSlave。3.根据权利要求2所述的基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,其特征在于:所述状态机机制通过VHDL语言来实现。4.根据权利要求1所述的基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,其特征在于,所述步骤B包括以下分步骤:步骤B1:CPU通过I2C接口从CPLD读取到NVMeSSD的在位状态;步骤B2:CPU识别NVMeSSD硬盘的工作状态。5.根据权利要求4所述的基于I2C接口通过CPLD来实现NVMeSSD点灯的方法,其特征在于:所述步骤B1包括以下分步骤:步骤B11:CPLD获取SFF-8639接口信号电平;步骤B12:CPLD通过电平信号判断该SFF-8639接口上接的硬盘类型。6.根据权利要求5所述的基于I2C接口通过CPLD来实现NVMeSS...

【专利技术属性】
技术研发人员:冯葆
申请(专利权)人:深圳市同泰怡信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1