扩展启动芯片的系统和方法

文档序号:6576177阅读:232来源:国知局
专利名称:扩展启动芯片的系统和方法
技术领域
本发明涉及数据通信领域,尤其涉及一种在网络通信设备中扩展 启动芯片的系统和方法。
背景技术
在网络通信设备中,通常需要使用一套启动加载程序即
Bootloader来完成系统的启动加载任务。BootLoader是在操作系统内 核运行之前运行的一段小程序。通过这段小程序,我们可以初始化单 板上的硬件设备,比如内存、硬盘、网络交换芯片以及各种硬件接口, 从而将系统的软硬件环境带到一个合适的状态,同时向开发人员和用 户提供一个简单的交互环境,以便最终加载操作系统内核。
Bootloader需要烧录在Bootrom芯片中。当设备上电后,CPU会 从Bootrom芯片中读取Bootloader到缓存和内存中,再运行Bootloader 完成启动加载动作。
随着网络通信技术的不断发展,设备支持的硬件越来越多,要实 现的功能也不断丰富。这就造成了 Bootloader的大小不断增加,有可 能超过单一 Bootrom芯片的容量。
目前,通过芯片级联的方式来解决此问题。多片芯片的级联实际 上等同于为一块容量大的芯片,实现了容量上的扩充。
然而,此种方式却无法实现对单一芯片的控制。
按照此种方式,级联的芯片接收集成电路(Complex Programmable Logic Device , CPLD)发送来的命令序列时,命令序列 会被分散发送到每个芯片。单一芯片收到的只是命令序列的碎片,从 而无法识别。
请参阅图1,其是现有技术CPLD向级联芯片发送命令序列示意图。由于BootromO和Bootroml通常采用8位的读写方式,CPLD通 常采用16位的读写方式,CPLD会将16位完整命令序列拆分后再发 送!合级4关的BootromO和Bootroml 。
CPLD将16位完整命令序列拆分为8位CMD0和8位CMD1, 再将拆分后的命令序列分别发送到级联的BootromO和Bootroml 。 BootromO接收到8位CMD0, Bootrom 18位CMD1 。按照此种方式, 单一 BootromO或Bootroml无法收到完整的命令序列,从而无法实现 对单一 BootromO或Bootroml进行控制的目的。

发明内容
为解决采用芯片级联方式后无法实现对单一芯片的控制的问题, 有必要提供一种采用芯片级联方式后能够对单一芯片进行控制的扩 展启动芯片的系统。
此外,还有必要提供一种上述的扩展启动芯片的方法。
本发明扩展启动芯片的系统包括处理器、集成电路和级联的芯 片,所述处理器与所述集成电路相连接,所述集成电路与所述级联的 芯片相连接,所述级联的芯片由单一芯片级联而成,所述处理器用于 向所述集成电路发送命令序列和数据序列,所述集成电路用于接收所 述命令序列和数据序列,并将所述命令序列和数据序列拆分为适合所 述单一芯片接收的位数的数据,再将拆分后的数据发送到所述级联的 芯片,所述处理器还用于对完整的原始命令按照适合单一芯片接收的 位数进行复制,得到所述的命令序列。
在上述系统中,所述处理器还用于对所述完整的原始命令的偏移 地址的偏移量,完成从所述处理器端读写位数到所述集成电路端读写 位数的转换,得到对应的所述集成电路端的偏移地址的偏移量。
在上述系统中,所述处理器还用于对所述完整的原始命令的偏移 地址的偏移量完成所述处理器端32位读写方式到所述集成电路端16 读写方式的转换,在所述集成电路端偏移量对应所述处理器端偏移量 的一半并取整的值。
5在上述系统中,所述处理器还用于对完整的原始数据按照奇数位 和偶数位进行划分,分成适合所述集成电路接收位数一半的奇数位数 据和偶数位数据,再将所述奇数位数据和偶数位数据组成,得到所述 数据序列。
本发明扩展启动芯片的方法包括以下步骤 完成单一芯片的级联;
处理器对完整的原始命令按照适合所述单一芯片接收的位数进 行复制,得到所述的命令序列,并将所述命令序列发送到集成电路, 再发送l史据序列到所述集成电路;
所述集成电路依次接收所述命令序列和数据序列,并依次对将所 述命令序列和数据序列进行拆分,拆分为适合所述单一芯片接收的位 数的数据,再将拆分后的数据依次发送到所述级联的芯片。
在上述方法中,在将所述命令序列发送到集成电路之前,所述处 理器还对所述完整的原始命令的偏移地址的偏移量,完成^v所述处理 器端读写位数到所述集成电路端读写位数的转换,得到对应的所述集 成电路端的偏移地址的偏移量。
在上述方法中,在发送数据序列到所述集成电路之前,所述处理 器对完整的原始数据按照奇数位和偶数位进行划分,分成适合所述集 成电路接收位数一半的奇数位数据和偶数位数据,再将所述奇数位数 据和偶数位数据组成,得到所述数据序列。
与现有技术相比较,本发明扩展启动芯片的系统和方法通过处理 器对完整的原始命令按照适合单一芯片接收的位数进行复制,得到命 令序列,集成电路接收所述命令序列,并将所述命令序列拆分为适合 所述单一芯片接收的位数的数据,再将拆分后的数据发送到所述级联 的芯片,使得级联中的单一芯片分别接收到完整的原始命令,从而实 现了采用芯片级联方式后能够对单一芯片进行控制的目的。
在结合附图阅读本发明实施方式的详细描述后,本发明的特点和 优点将变得更加清楚。


图1是现有技术CPLD向级联芯片发送命令序列示意图; 图2是本发明扩展启动芯片的系统模块示意图; 图3是本发明扩展启动芯片的方法流程图; 图4是CPU端的偏移量与CPLD端的偏移量对应关系示意图; 图5是CPU对完整的原始命令加倍示意图; 图6是CPU对完整的原始数据按照奇数位和偶数位进行划分示 意图。
具体实施例方式
下面结合附图对本发明扩展启动芯片的系统和方法进行说明。 请参阅图2,其是本发明扩展启动芯片的系统模块示意图。 本发明扩展启动芯片的系统包括处理器(Central Process Unit , CPU)、 CPLD、芯片Bootrom0和芯片Bootroml。其中,CPU采用32 位读写方式,CPLD采用16位的读写方式,Bootrom0和Bootroml 采用8位的读写方式。并且,CPU与CPLD相连接,CPLD分别与 Bootrom0和Bootroml相连才妻,Bootrom0和Bootroml相级联。
CPU用于向CPLD发送命令序列和数据序列。并且,在发送命 令序列时,完成对命令序列偏移地址加倍和对命令序列加倍的操作; 在发送数据序列时,完成对数据序列偏移地址加倍和将数据序列按照 奇数位和偶数位分成8位奇数位和8位偶数位的两个字节,再发送到 CPLD的才喿作。
CPLD用于接收CPU发送的命令序列和数据序列。并且,CPLD 接收命令序列和数据序列时,将命令序列和数据序列拆分为适合 Bootrom0和Bootroml接收的位数的数据,再传送到级联的BootromO 和Bootroml 。
BootromO和Bootroml用于接收CPLD发送的命令序列和数据序列。
请参阅图3,其是本发明扩展启动芯片的方法流程图。 本发明扩展启动芯片的方法包括如下步骤 步骤S11 、完成BootromO和Bootrom 1的级联;步骤S12 、 CPU向CPLD发送命令序列;
首先,CPU对完整的原始命令偏移地址加倍。由于CPU采用32 位读写方式,CPLD采用16位的读写方式,CPU向CPLD发送命令 序列,需要通过总线复用和转换,完成CPU端32位读写方式到CPLD 端16位读写方式的转变。在CPU端原32位的偏移地址需要加倍才 能与CPLD匹配。
请参阅图4,其是CPU端的偏移量与CPLD端的偏移量对应关 系示意图。
左边数字是CPLD端16位读写方式时的偏移量,右边数字是CPU 端32位读写方式时的偏移量。由于一个32位数据相当于两个16位 数据合并在一起,所以,CPU端32位偏移量是16位偏移量的一半 再取整。在CPLD端偏移量N对应CPU端偏移量IW21。 IW^表示N
的一半再取整。
其次,CPU对完整的原始命令加倍。对完整的原始命令进行每8 位复制,组成一个16位的数据,即为命令序列,并将该命令序列发 送给CPLD。该命令序列包含的信息包括识别芯片的类型、使芯片进 入读/写模式。
请参阅图5,其是CPU对完整的原始命令加倍示意图。
完整的原始命令由8位CMD0和8位CMD1组成。对完整的原 始命令进行复制后,得到两个8位CMD0和两个8位CMD1 。两个8 位CMD0组成一个16位的命令序列,两个8位CMD1组成一个16 位的命令序列。CPU再将得到的命令序列发送到CPLD。
步骤S13、 CPLD接收所述命令序列,并将所述命令序列拆分为 适合Bootrom才妄收的4立凄史的凄史4居,再传送到Bootrom0和Bootroml;
CPLD 4妄收两个8位CMD0组成的16位的命令序列和两个8位 CMD1组成的16位的命令序列,根据Bootrom采用8位的读写方式, 将两个8位CMD0组成的16位的命令序列和两个8位CMD1组成的 16位的命令序列拆分为两个8位CMD0和两个8位CMD1,并且先 分别向Bootrom0和Bootroml传送8位CMDO,再分别向Bootrom0 和Bootroml传送8位CMD1。 Bootrom0 4妄收到8位CMD0和8位
8CMDl , Bootroml也接收到8位CMDO和8位CMDl , 乂人而,BootromO 和Bootroml分别接收到完整的原始命令。 步骤S14、 CPU向CPLD发送数据序列;
首先,CPU对完整的原始数据偏移地址加倍。由于CPU采用32 位读写方式,CPLD采用16位的读写方式,CPU向CPLD发送数据 序列,需要通过总线复用和转换,完成CPU32位读写方式到CPLD16 位读写方式的转变。在CPU端原32位的偏移地址需要加倍才能与 CPLD匹配。对完整的原始数据偏移地址加倍类似于前述对完整的原 始命令偏移地址加倍。
其次,CPU对完整的原始数据按照奇数位和偶数位进行划分。
请参阅图6,其是CPU对完整的原始数据按照奇数位和偶数位 进行划分示意图。
CPU将完整的原始数据按照奇数位和偶数位,分成8位奇数位 和8位偶数位的两个字节,并将两字节组成一个16位的数据序列发 送给CPLD。
步骤S15、 CPLD接收所述数据序列,并将所述数据序列拆分为 适合BootromO和Bootroml才妄收的位H的凄t据,再传送到BootromO 和Bootroml 。
CPLD接收16位的数据序列,根据Bootrom采用8位的读写方 式,将16位的数据序列拆分为两个8位数据序列,分别为8位奇凄史 位和8位偶数位的两个字节,并将拆分后的数据序列传送到BootromO 和Bootroml。 BootromO接收到8位奇数位的字节,Bootroml 4妄收到 8位偶数位的字节,从而,BootromO和Bootroml级联成一整片 Bootrom接收到完整的数据序列。
与现有技术相比较,本发明扩展启动芯片的系统和方法通过CPU 对完整的原始命令进行每8位复制,组成一个16位的命令序列发送 给CPLD, CPLD接收复制后的命令序列,并将所述命令序列拆分为 适合Bootrom 4妻收的位凄t的数据,再传送到BootromO和Bootroml, 使得级联中的单一芯片BootromO和Bootroml分别接收到完整的原始 命令,从而实现了采用芯片级联方式后能够对单一芯片进行控制的目的。
以上仅为本发明的优选实施案例而已,并不用于限制本发明,对 于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发 明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包 含在本发明的保护范围之内。
权利要求
1、一种扩展启动芯片的系统,其包括处理器、集成电路和级联的芯片,所述处理器与所述集成电路相连接,所述集成电路与所述级联的芯片相连接,所述级联的芯片由单一芯片级联而成,所述处理器用于向所述集成电路发送命令序列和数据序列,所述集成电路用于接收所述命令序列和数据序列,并将所述命令序列和数据序列拆分为适合所述单一芯片接收的位数的数据,再将拆分后的数据发送到所述级联的芯片,其特征在于,所述处理器还用于对完整的原始命令按照适合所述单一芯片接收的位数进行复制,得到所述的命令序列。
2、 根据权利要求1所述的扩展启动芯片的系统,其特征在于,所述处理器还用于对所述完整的原始命令的偏移地址的偏移量,完成 从所述处理器端读写位数到所述集成电路端读写位数的转换,得到对 应的所述集成电5^端的偏移地址的偏移量。
3、 根据权利要求2所述的扩展启动芯片的系统,其特征在于, 所述处理器还用于对所述完整的原始命令的偏移地址的偏移量完成 所述处理器端32位读写方式到所述集成电5^端16读写方式的转换, 在所述集成电路端偏移量对应所述处理器端偏移量的一半并取整的 值。
4、 根据权利要求1所述的扩展启动芯片的系统,其特征在于, 所述处理器还用于对完整的原始数据按照奇数位和偶数位进行划分, 分成适合所述集成电路接收位数一半的奇数位数据和偶数位数据,再 将所述奇数位数据和偶数位数据组成,得到所述数据序列。
5、 一种扩展启动芯片的方法,其特征在于,包括以下步骤 完成单一芯片的级联;处理器对完整的原始命令按照适合所述单一芯片接收的位数进 行复制,得到所述的命令序列,并将所述命令序列发送到集成电路,再发送数据序列到所述集成电路;所述集成电路依次接收所述命令序列和数据序列,并依次对将所 述命令序列和数据序列进行拆分,拆分为适合所述单一芯片接收的位 数的数据,再将拆分后的数据依次发送到所述级联的芯片。
6、 根据权利要求5所述的扩展启动芯片的方法,其特征在于, 在将所述命令序列发送到集成电路之前,所述处理器还对所述完整的 原始命令的偏移地址的偏移量,完成从所述处理器端读写位数到所述 集成电路端读写位数的转换,得到对应的所述集成电路端的偏移地址 的偏移量。
7、 根据权利要求5所述的扩展启动芯片的方法,其特征在于, 在发送数据序列到所述集成电路之前,所述处理器对完整的原始数据 按照奇数位和偶数位进行划分,分成适合所述集成电^各接收位数一半 的奇数位数据和偶数位数据,再将所述奇数位数据和偶数位数据组 成,得到所述数据序列。
全文摘要
本发明公开了一种扩展启动芯片的系统和方法。本发明扩展启动芯片的系统包括处理器、集成电路和级联的芯片,所述处理器与所述集成电路相连接,所述集成电路与所述级联的芯片相连接,所述级联的芯片由单一芯片级联而成,所述处理器用于向所述集成电路发送命令序列和数据序列,所述集成电路用于接收所述命令序列和数据序列,并将所述命令序列和数据序列拆分为适合所述单一芯片接收的位数的数据,再将拆分后的数据发送到所述级联的芯片,所述处理器还用于对完整的原始命令按照适合单一芯片接收的位数进行复制,得到所述的命令序列,从而实现了采用芯片级联方式后能够对单一芯片进行控制的目的。
文档编号G06F9/445GK101493777SQ200910105829
公开日2009年7月29日 申请日期2009年2月26日 优先权日2009年2月26日
发明者李弘博, 洋 欧 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1