发明内容
本发明提供一种基于IIC总线的制造信息的获取方法和设备,以提高数据通信设备的启动速度。
为了达到上述目的,本发明提供一种基于双线串行总线IIC总线的制造信息的获取方法,IIC总线的一侧连接有数量不确定的电可擦除只读存储器EEPROM,另一侧连接有IIC控制设备,所述EEPROM中存储有所在模块的厂商制造信息,该方法包括以下步骤:当所述IIC控制设备使用IIC总线检测到IIC总线连接的EEPROM在位时,所述IIC控制设备获取所述EEPROM的IIC设备地址和厂商制造信息的长度;所述IIC控制设备通过所述EEPROM的IIC设备地址、读操作起始地址和厂商制造信息的长度获取所述EEPROM中存储的厂商制造信息;所述IIC控制设备获取所述EEPROM中存储的厂商制造信息的过程独立于***启动软件,且与***启动软件并行执行。
所述IIC控制设备使用IIC总线检测IIC总线连接的EEPROM在位的过程,具体为:所述IIC控制设备向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作,如果指定IIC设备地址有ACK应答,则检测到指定IIC设备地址的IIC总线连接的EEPROM在位;如果指定IIC设备地址没有ACK应答,则检测到指定IIC设备地址的IIC总线连接的EEPROM不在位。
所述指定IIC设备地址包括:0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF;所述IIC控制设备向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作,具体包括:所述IIC控制设备按照0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF之间的预定顺序向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作。
所述IIC控制设备获取所述EEPROM的IIC设备地址的过程,具体为:当检测到指定IIC设备地址的IIC总线连接的EEPROM在位时,所述IIC控制设备获取所述EEPROM的IIC设备地址为所述指定IIC设备地址。
所述IIC控制设备获取所述EEPROM的厂商制造信息的长度的过程,当检测到指定IIC设备地址的IIC总线连接的EEPROM在位时,所述IIC控制设备通过读预设字节的操作获取所述EEPROM的厂商制造信息的长度。
所述预设字节包括2个字节,该2个字节为字节0和字节1,如果从字节0读取到指定标识,则通过字节1获取所述EEPROM的厂商制造信息的长度;否则,通过字节0获取所述EEPROM的厂商制造信息的长度。
所述IIC控制设备通过所述EEPROM的IIC设备地址、读操作起始地址和厂商制造信息的长度获取所述EEPROM中存储的厂商制造信息,之后还包括:所述IIC控制设备将所述厂商制造信息存储到内部随机存取存储器RAM或***内存中;以用于当CPU需要获知所述厂商制造信息时,到所述内部RAM或***内存中读取所述厂商制造信息。
所述IIC控制设备集成在复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA中,所述IIC控制设备独立于运行***启动软件的CPU;或者,所述IIC控制设备集成在多核CPU中非运行***启动软件的一个核中,该核独立于多核CPU中运行***启动软件的核。
本发明提供一种双线串行总线IIC控制设备,IIC总线的一侧连接有数量不确定的电可擦除只读存储器EEPROM,另一侧连接有所述IIC控制设备,所述EEPROM中存储有所在模块的厂商制造信息,该设备包括:EEPROM在位检测子模块,用于使用IIC总线检测IIC总线连接的EEPROM的在位情况;核心控制子模块,用于当检测到IIC总线连接的EEPROM在位时,获取所述EEPROM的IIC设备地址和厂商制造信息的长度,并通过所述EEPROM的IIC设备地址、读操作起始地址和厂商制造信息的长度获取所述EEPROM中存储的厂商制造信息;获取所述EEPROM中存储的厂商制造信息的过程独立于***启动软件,且与***启动软件并行执行。
所述EEPROM在位检测子模块,具体用于向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作,如果指定IIC设备地址有ACK应答,检测到指定IIC设备地址的IIC总线连接的EEPROM在位;如果指定IIC设备地址没有ACK应答,检测到指定IIC设备地址的IIC总线连接的EEPROM不在位。
所述指定IIC设备地址包括:0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF;所述EEPROM在位检测子模块,进一步用于按照0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF之间的预定顺序向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作。
所述核心控制子模块,具体用于当检测到指定IIC设备地址的IIC总线连接的EEPROM在位时,获取所述EEPROM的IIC设备地址为所述指定IIC设备地址。
所述核心控制子模块,具体用于当检测到指定IIC设备地址的IIC总线连接的EEPROM在位时,通过读预设字节的操作获取所述EEPROM的厂商制造信息的长度。
所述预设字节包括2个字节,该2个字节为字节0和字节1,如果从字节0读取到指定标识,则通过字节1获取所述EEPROM的厂商制造信息的长度;否则,通过字节0获取所述EEPROM的厂商制造信息的长度。
该IIC控制设备还包括:内部RAM和***内存访问子模块;所述核心控制子模块,还用于将所述厂商制造信息存储到内部RAM或通过***内存访问子模块将所述厂商制造信息存储到***内存中;所述内部RAM,用于保存厂商制造信息,以用于当CPU需要获知所述厂商制造信息时,到所述内部RAM中读取所述厂商制造信息;所述***内存访问子模块,用于将所述厂商制造信息存储到***内存,以用于当CPU需要获知所述厂商制造信息时,到所述***内存中读取所述厂商制造信息。
所述IIC控制设备集成在复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA中,所述IIC控制设备独立于运行***启动软件的CPU;或者,所述IIC控制设备集成在多核CPU中非运行***启动软件的一个核中,该核独立于多核CPU中运行***启动软件的核。
与现有技术相比,本发明至少具有以下优点:可独立于***启动软件来自动学习IIC总线上各EEPROM是否在位,以及EEPROM的IIC设备地址和厂商制造信息的长度,从而可自动读取厂商制造信息;CPU运行***启动软件不再直接从慢速EEPROM中读取制造信息,而是从高速的内部RAM或***内存中读取厂商制造信息,缩短数据通信设备启动时间。
具体实施方式
本发明提供一种基于IIC总线的制造信息的获取方法,针对读取EEPROM的厂商制造信息导致数据通信设备启动速度慢的问题,通过自动加载厂商制造信息,使得厂商制造信息的获取独立于CPU***软件,提高数据通信设备的启动速度。
本发明中,针对数据通信设备,IIC总线的一侧连接有数量不确定的EEPROM(该EEPROM为IIC设备,且IIC总线最多连接8个EEPROM,但每个EEPROM是否在位不确定,因此EEPROM数量不确定),另一侧连接有IIC控制设备。该IIC控制设备可集成在CPLD(Complex Programmable LogicDevice,复杂可编程逻辑器件)或FPGA(Field-Programmable Gate Array,现场可编程门阵列)中,且独立于运行***启动软件的CPU;也可集成在多核CPU中非运行***启动软件的一个核中,且该核独立于多核CPU中运行***启动软件的核。如图3所示的IIC控制设备集成在CPLD或FPGA的示意图、以及图4所示的IIC控制设备集成在多核CPU中非运行***启动软件的一个核中的示意图。
需要注意的是,本发明中需要改变现有的IIC总线连接方式,当IIC控制设备集成在CPLD或FPGA时,将IIC总线一侧连接在IIC设备的EEPROM上,另一侧连接在集成有IIC控制设备的CPLD或FPGA上。当IIC控制设备集成在多核CPU中非运行***启动软件的一个核时,将IIC总线一侧连接在IIC设备的EEPROM上,另一侧连接在集成有IIC控制设备的非运行***启动软件的核上。
本发明中,该EEPROM中存储有所在模块的厂商制造信息,该厂商制造信息包括但不限于:厂商名称、序列号、出厂日期、编码信息、校验码信息等。以图3和图4所示的场景为例,模块的EEPROM包括但不限于:内存条EEPROM、主控板EEPROM、光模块EEPROM和接口卡EEPROM,即内存条EEPROM中存储了内存条的厂商制造信息,主控板EEPROM中存储了主控板的厂商制造信息,光模块EEPROM存储了光模块的厂商制造信息,接口卡EEPROM中存储了接口卡的厂商制造信息。
如图5所示,该基于IIC总线的制造信息的获取方法包括以下步骤:
步骤501,IIC控制设备使用IIC总线(即不需要通过其他信号)检测IIC总线连接的EEPROM是否在位,如果是,执行步骤502,否则,继续执行步骤501,一直到IIC总线连接的所有EEPROM检测完成。实际应用中,一根IIC总线可连接8个EEPROM,当需要连接更多的EEPROM时,可通过多根IIC总线来实现,每根IIC总线的处理过程相同,以一根IIC总线最多连接8个EEPROM为例进行说明。
具体的,考虑到IIC接口EEPROM的IIC设备地址位于固定的位置,通过结合IIC传输ACK的基本约束条件,IIC控制设备可向指定IIC设备地址执行从读操作起始地址(该读操作起始地址为约定地址,如约定读操作起始地址为0地址)开始读预设字节(如2Bytes)的操作,如果指定IIC设备地址有ACK应答,则检测到指定IIC设备地址的IIC总线连接的EEPROM在位;如果指定IIC设备地址没有ACK应答,则检测到指定IIC设备地址的IIC总线连接的EEPROM不在位。
需要注意的是,该指定IIC设备地址包括:0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF,即IIC控制设备可按照0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF之间的预定顺序向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作;实际应用中只要向上述8个IIC设备地址执行从读操作起始地址开始读预设字节的操作即可,执行顺序可根据实际需要选择。以预定顺序为依次向0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF的IIC设备地址执行从读操作起始地址开始读预设字节的操作为例,则本步骤包括:
IIC控制设备向0xA1的IIC设备地址执行从读操作起始地址开始读预设字节的操作,如果没有ACK应答,指定IIC设备地址0xA1的IIC总线连接的EEPROM不在位,向0xA3的IIC设备地址执行从读操作起始地址开始读预设字节的操作;如果有ACK应答,指定IIC设备地址0xA1的IIC总线连接的EEPROM在位,执行后续步骤502-505,在后续步骤502-505执行完成后,向0xA3的IIC设备地址执行从读操作起始地址开始读预设字节的操作;以此类推,一直到0xAF的IIC设备地址的操作执行完成,本发明中不再赘述。
步骤502,在检测到IIC总线连接的EEPROM在位的同时,IIC控制设备获取EEPROM的IIC设备地址和厂商制造信息的长度。
需要注意的是,为了读取EEPROM中存储的厂商制造信息,需要获得EEPROM的IIC设备地址、厂商制造信息的长度、读操作起始地址。读操作起始地址为约定地址(如约定读操作起始地址为0地址);EEPROM的IIC设备地址取决于数据通信设备的硬件设计,无法统一约定;厂商制造信息的长度也取决于具体IIC设备的应用(各IIC设备的厂商制造信息可不相同),无法统一约定;因此IIC控制设备需要获取EEPROM的IIC设备地址和厂商制造信息的长度。
如图6所示的EEPROM的IIC设备地址的组成示意图,高4bit的0b1010是IIC接口EEPROM的统一标识;中间3bit是硬件设计时规定的片选信号(取值是0-7,即一条IIC总线上最多只能有8个EEPROM,连接更多的EEPROM时需要多条IIC总线),硬件连线设计时,需要为不同的IIC接口的EEPROM分配不同的片选信号,最后1bit是读写标识(当为1时为读操作,为0时为写操作)。当片选信号设置为000时,则EEPROM的IIC设备地址为0xA1,当片选信号设置为001时,则EEPROM的IIC设备地址为0xA3,以此类推。
为了获得EEPROM的IIC设备地址,当检测到指定IIC设备地址的IIC总线连接的EEPROM在位的同时,则IIC控制设备获取IIC设备地址为指定IIC设备地址。例如,当指定IIC设备地址0xA1的IIC总线连接的EEPROM在位时,则IIC设备地址为0xA1。
为了获得厂商制造信息的长度,当检测到指定IIC设备地址的IIC总线连接的EEPROM在位的同时,则IIC控制设备通过读预设字节的操作获取EEPROM的厂商制造信息的长度;预设字节包括2个字节,该2个字节为字节0和字节1,如果从字节0读取到指定标识(如标识0),则通过字节1获取EEPROM的厂商制造信息的长度;否则,通过字节0获取EEPROM的厂商制造信息的长度。
具体的,本发明中可扩展现有SPD(Serial Presence Detect,存在的串行检测)规范的方法来获得厂商制造信息的长度。现有DDR(Double Data Rate,双倍速率)SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)的SPD是一种IIC接口的EEPROM,用于存放DDRSDRAM的厂商建议配置信息,如表1所示。对于字节0,用于保存EEPROM的厂商制造信息的长度,如图7所示的保存EEPROM的厂商制造信息的长度的示意图;对于字节1,用于保存EEPROM总容量,如图8所示的保存EEPROM总容量的示意图。
表1
Byte 0 |
EEPROM的厂商制造信息的长度 |
Byte 1 |
EEPROM总容量 |
从图7和图8可以看出,现有厂商制造信息的长度最多为256Bytes,对于DDR SDRAM来说,厂商制造信息长度256Bytes已经足够了,但对于其它应用的IIC接口EEPROM来说,厂商制造信息长度256Bytes还远远不够,因此本发明中扩展了SPD规范的定义,对于非DDR SDRAM SPD的EEPROM,Byte 0存放0,用于标识EEPROM的厂商制造信息的长度由Byte 1决定;Byte1用于保存EEPROM的厂商制造信息的长度,如表2所示。
表2
Byte 0 |
0(标识EEPROM的厂商制造信息的长度由Byte 1决定) |
Byte 1 |
EEPROM的厂商制造信息的长度 |
综上所述,本发明中,IIC控制设备通过检测IIC接口的EEPROM在位时所读取的数据(即通过读2字节的数据),可获得EEPROM的厂商制造信息的长度。该扩展定义兼容了DDR SDRAM和非DDR SDRAM,DDR SDRAM的字节0声明EEPROM的厂商制造信息的长度,非DDR SDRAM的字节1声明EEPROM的厂商制造信息的长度,因此读2个字节的数据时可获得基于DDR SDRAM和非DDR SDRAM的厂商制造信息的长度。
步骤503,IIC控制设备通过EEPROM的IIC设备地址、读操作起始地址和厂商制造信息的长度获取EEPROM中存储的厂商制造信息。本发明中,IIC控制设备获取EEPROM中存储的厂商制造信息的过程(即上述的步骤501-步骤503)独立于***启动软件,且与***启动软件并行执行。
例如,当检测到0xA1的IIC总线连接的EEPROM在位时,以读操作起始地址开始,通过厂商制造信息的长度获取EEPROM中存储的厂商制造信息,从而获得0xA对应的厂商制造信息。
步骤504,IIC控制设备将厂商制造信息存储到内部RAM(Random AccessMemory,随机存取存储器)或者***内存中。
步骤505,在数据通信设备启动过程中,如果需要获取厂商制造信息,则直接从内部RAM或者***内存中获取。
本发明中,IIC控制设备可以将厂商制造信息保存到内部RAM(CPLD、FPGA、或多核CPU一般集成在内部RAM)中,供CPU***软件有需要时从内部RAM中直接获取厂商制造信息。对于内部RAM,由于BIOS(BasicInput Output System,基本输入输出***)需要先获取SPD信息才能初始化***内存,则内部RAM可适用于提前获取DDR SDRAM的SPD信息。
另外,不同IIC设备的厂商制造信息可保存在内部RAM中不同的地址(这些地址是预先约定好的),在保存厂商制造信息时,可保存厂商制造信息的首地址,且存放获取完成标志,默认内部RAM中所有获取完成标志均是未完成,当将厂商制造信息写入内部RAM后,修改获取完成标志为完成。
本发明中,考虑到内部RAM空间有限,针对较大的厂商制造信息,IIC控制设备可以将厂商制造信息保存到***内存中。不同IIC设备的厂商制造信息可保存在***内存中不同的地址(这些地址是预先约定好的),在保存厂商制造信息时,可保存厂商制造信息的首地址,且存放获取完成标志,默认***内存中所有获取完成标志均是未完成,当将厂商制造信息写入***内存后,修改获取完成标志为完成。
综上所述,本发明中,在数据通信设备***软件启动后,在CPU运行***启动软件,初始化其它各种硬件和软件资源时,可独立于***启动软件来自动学习IIC总线上各EEPROM是否在位,以及EEPROM的IIC设备地址和厂商制造信息的长度,从而可自动读取厂商制造信息,保存到内部RAM或***内存中,且上述获取过程独立于CPU***软件,与运行***启动软件的CPU并行启动;在CPU***软件需要厂商制造信息时,CPU运行***启动软件不再直接从慢速EEPROM中读取制造信息,而是从高速的内部RAM或***内存中读取厂商制造信息,这样采用串行工作并行化的操作,缩短数据通信设备启动时间。
进一步的,CPU运行***启动软件从高速的内部RAM或***内存中读取厂商制造信息,与从慢速EEPROM中读取制造信息相比,大幅提高CPU***软件的访问速度(由100kbps提高到1Gbps以上);缩短数据通信设备启动时间(缩短了5%至40%之间);增强数据通信设备转发性能的稳定性;适用范围广,使用IIC总线的电子设备均可使用本发明提供的技术方案;无需CPU参与,可实现性强,逻辑设计简单;用户感受好,无需用户了解数据通信设备设计实现,无需特殊注意事项。
基于与上述方法同样的发明构思,本发明还提供一种IIC控制设备,IIC总线的一侧连接有数量不确定的EEPROM,另一侧连接有IIC控制设备,EEPROM中存储有所在模块的厂商制造信息,IIC控制设备集成在CPLD或FPGA中,且独立于运行***启动软件的CPU;或,IIC控制设备集成在多核CPU中非运行***启动软件的一个核中,且独立于多核CPU中运行***启动软件的核,如图9所示,该设备包括EEPROM在位检测子模块11、核心控制子模块12、内部RAM 13、***内存访问子模块14和IIC访问接口子模块15。
该IIC访问接口子模块15用于实现对EEPROM的访问,EEPROM在位检测子模块11和核心控制子模块12可调用IIC访问接口子模块15对IIC接口的EEPROM进行读操作;对EEPROM的访问过程中,IIC设备地址和厂商制造信息的长度由EEPROM在位检测子模块11和核心控制子模块12下发,被访问EEPROM的读操作起始地址固定为由IIC设备地址开始的第0字节。
EEPROM在位检测子模块11,用于使用IIC总线检测IIC总线连接的EEPROM的在位情况;EEPROM在位检测子模块11,具体用于向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作,如果指定IIC设备地址有ACK应答,检测到指定IIC设备地址的IIC总线连接的EEPROM在位;如果指定IIC设备地址没有ACK应答,检测到指定IIC设备地址的IIC总线连接的EEPROM不在位。
指定IIC设备地址包括:0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF;EEPROM在位检测子模块11,进一步用于按照0xA1、0xA3、0xA5、0xA7、0xA9、0xAB、0xAD、0xAF之间的预定顺序向指定IIC设备地址执行从读操作起始地址开始读预设字节的操作。
核心控制子模块12,用于当检测到IIC总线连接的EEPROM在位时,获取EEPROM的IIC设备地址和厂商制造信息的长度,并通过EEPROM的IIC设备地址、读操作起始地址和厂商制造信息的长度获取EEPROM中存储的厂商制造信息;获取EEPROM中存储的厂商制造信息的过程独立于***启动软件,且与***启动软件并行执行。
核心控制子模块12,具体用于当检测到指定IIC设备地址的IIC总线连接的EEPROM在位时,获取EEPROM的IIC设备地址为指定IIC设备地址;当检测到指定IIC设备地址的IIC总线连接的EEPROM在位时,通过读预设字节的操作获取EEPROM的厂商制造信息的长度;预设字节包括2个字节,该2个字节为字节0和字节1,如果从字节0读取到指定标识,则通过字节1获取EEPROM的厂商制造信息的长度;否则,通过字节0获取EEPROM的厂商制造信息的长度。
具体的,IIC控制设备上电后,EEPROM在位检测子模块11下发对IIC设备地址0xA1(硬件连线设计上可将DDR SDRAM SPD片选信号设置为000,IIC设备地址为0xA1,以最先读取SPD的信息给BIOS初始化DDR内存)的EEPROM读两个字节的动作给IIC访问接口子模块15;并在检测到0xA1对应的EEPROM返回ACK后,获知EEPROM在位,将获取到的两个字节(字节0和字节1)上报给核心控制子模块12,由核心控制子模块12解析出厂商制造信息的长度后,针对IIC设备地址的EEPROM下发读厂商制造信息的长度的操作给IIC访问接口子模块15,IIC访问接口子模块15完成IIC读操作后,将获取的数据(即厂商制造信息)上报给核心控制子模块12。在完成此次EEPROM的厂商制造信息获取后,核心控制子模块12触发EEPROM在位检测子模块11检测下一个IIC设备地址0xA3,依次类推,直到检测完成0xAF。
进一步的,如果有多条IIC总线,EEPROM在位检测子模块11还需按照每条IIC总线依次搜索。另外,EEPROM在位检测子模块11检测到0xA1没有回复ACK,则说明0xA1地址对应的IIC接口的EEPROM不存在,该EEPROM在位检测子模块11自动检测0xA3,依次类推。
本发明中,核心控制子模块12,还用于将厂商制造信息存储到内部RAM13或通过***内存访问子模块14将厂商制造信息存储到***内存中,此时:
内部RAM 13,用于保存厂商制造信息,以用于当CPU(CPU***软件)需要获知厂商制造信息时,到内部RAM 13中读取厂商制造信息;不同IIC设备的厂商制造信息可保存在内部RAM 13中不同的地址,在保存厂商制造信息时,可保存厂商制造信息的首地址,且存放获取完成标志,默认内部RAM13中所有获取完成标志均是未完成,当将厂商制造信息写入内部RAM 13后,修改获取完成标志为完成。
***内存访问子模块14,用于将厂商制造信息存储到***内存,以用于当CPU需要获知厂商制造信息时,到***内存中读取厂商制造信息。由于内部RAM 13空间有限,如果有较大的厂商制造信息,则需要保存到***内存中;核心控制子模块12是通过***内存访问子模块14实现将获取的厂商制造信息保存到***内存中的。不同IIC设备的厂商制造信息可保存在***内存中不同的地址,在保存厂商制造信息时,可保存厂商制造信息的首地址,且存放获取完成标志,默认***内存中所有获取完成标志均是未完成,当将厂商制造信息写入***内存后,修改获取完成标志为完成。
本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。