复杂可编程逻辑器件的软件加载方法与装置的制作方法

文档序号:6471804阅读:204来源:国知局
专利名称:复杂可编程逻辑器件的软件加载方法与装置的制作方法
技术领域
本发明涉及一种复杂可编程逻辑器件的软件加载方法与装置。
背景技术
随着通信技术的发展,特别是高带宽高速度的通信技术的出现,对通信产 品的电路设计要求越来越高,通信产品承载的功能越来越多,对应的,其集成
度也越来越高。复杂可编程逻辑器件(CPLD, Complex Programmable Logic Device)是一款集成度较高的控制器件,其支持的控制功能相对较多,再加上 技术成熟及成本低廉,目前,产品的单板电路设计中,CPLD的使用越来越多。 传统的CPLD的可执行代码是通过各个芯片厂家提供的专用加载电缆进行力口载 的,这样,在对CPLD进行维护时, 一般需将CPLD返厂,由厂家通过专用的 电缆及专用设备对其进行维护,这无疑增加了维护了成本,加大了维护CPLD 的难度,对于CPLD用户而言, 一旦CPLD的软件需要更新或维护,将会非常 不便。

发明内容
有鉴于此,本发明的主要目的在于提供一种复杂可编程逻辑器件的软件加 载方法与装置,能方便CPLD软件的更新及维护。
为达到上述目的,本发明的技术方案是这样实现的 一种复杂可编程逻辑器件的软件加载方法,包括 对待加载的软件进行解析、译码,得到二进制码;
将所述二进制码转换为模拟信号,并将所述模拟信号输出至所述复杂可编 程逻辑器件;以及
所述复杂可编程逻辑器件根据所述模拟信号在存储器中写入对应的二进制码,直至加载完毕。
优选地,所述复杂可编程逻辑器件通过测试时钟输入TCK、测试模式选择 输入TMS和测试数据输入TDI管脚接收所述模拟信号,其中,TCK管脚接收 时钟信号,TMS管脚接收状态切换信号,TDI管脚接收所述模拟信号。
优选地,所述方法还包括所述复杂可编程逻辑器件写入二进制码时,回 馈写入成功或失败的信息,写入失败时重新写入。
优选地,所述复杂可编程逻辑器件通过TDO管脚回馈写入成功或失败的信

优选地,所述^^莫拟信号通过锁存元件输出至所述复杂可编程逻辑器件。 优选地,所述模拟信号为高、低电平脉冲形成的信号。
一种复杂可编程逻辑器件的软件加载装置,包括
解析及译码单元,用于对待加载的软件进行解析、译码,得到二进制码;
数模转换单元,用于将所述二进制码转换为模拟信号;
输出单元,用于将所述模拟信号输出至所述复杂可编程逻辑器件;以及
写入单元,根据所述模拟信号在复杂可编程逻辑器件的存储器中写入对应 的二进制码,直至加载完毕。
优选地,所述装置还包括锁存元件,用于对输出至所述复杂可编程逻辑器 件的模拟信号进行锁存。
优选地,所述复杂可编程逻辑器件通过测试时钟输入TCK、测试一莫式选择 输入TMS和测试数据输入TDI管脚接收所述模拟信号,其中,TCK管脚接收 时钟信号,TMS管脚接收状态切换信号,TDI管脚接收所述模拟信号。
优选地,所述装置还包括回馈单元,用于在所述复杂可编程逻辑器件写入 二进制码时,回馈写入成功或失败的信息,写入失败时重新写入,其中,所述
本发明通过对待加载到CPLD的软件进行解析、译码,得到二进制的编码 指令,再将二进制的编码指令转换为高、低电平的脉冲信号,直接向CPLD输 出脉冲信号,CPLD根据脉冲信号在自身的存储器中写入对应的二进制码指令,从而完成软件的加载。具体地,通过CPLD的TCK、 TMS及TDI管脚接收待 加载软件的脉沖信号。本发明加载CPLD的软件时,无需专门的设备,支持CPLD 的在线加载。


图1为本发明实施例的复杂可编程逻辑器件的软件加载方法的流程示意
图2为本发明实施例的复杂可编程逻辑器件的软件加载装置的结构示意
图3为本发明实施例的复杂可编程逻辑器件的软件加载装置的另一结构示 意图。
具体实施例方式
本发明的基本思想是通过对待加载到CPLD的软件进行解析、译码,得 到二进制的编码指令,再将二进制的编码指令转换为高、低电平的脉冲信号, 直接向CPLD输出脉冲信号,CPLD根据脉冲信号在自身的存储器中写入对应 的二进制码指令,从而完成软件的加载,支持了 CPLD的在线加载。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照 附图,对本发明进一步详细说明。
图1为本发明实施例的复杂可编程逻辑器件的软件加载方法的流程示意图 如图1所示,本发明CPLD的软件加载方法包括
步骤S10:初始化系统。
本发明通过微处理器实现对CPLD的软件加载,因此,需事先将微处理器 与CPLD进行连接。在实现对CPLD的软件加载之前,初始化微处理器及CPLD, 以完成软件加载的准备工作。
步骤S20:判断目标软件的类型。
确定加载到CPLD软件即待加载的目标代码的类型,本发明主要针对ALTERA公司的CPLD,目标代码文件为.JAM、 .JBC、 .SVF格式中的一种,因 此,对于输入到微处理器的目标代码,根据文件属性确定其类型。
步骤S30至步骤S50:根据所确定的目标代码文件的类型,分别对其进行 解析、译码,得到二进制的编码指令。
确定目标代码文件的类型后,根据该目标代码的编码规则,对所述目标代 码进行解析、译码,以得到所述目标代码的二进制编码。本领域技术人员应当 理解,上述三种类型的目标代码文件的编码指令相对较少,根据目标代码文件 的编码规则进行解析及译码是容易实现的。
步骤S60:将所i奪码后的二进制编码映射到CPLD的TCK、 TMS及TDI 管脚。
对于译码后的二进制编码以高、低电平的脉沖信号进行输出,即将二进制 码进行数模转换,以模拟信号的形式输出至CPLD的TCK、 TMS及TDI管脚。 具体地,输出至TCK管脚的为时钟信号,从而向CPLD提供了一个独立的、基 本的时钟信号,联合测试行动小组(JTAG, Joint Test Action Group )模式下的 所有操作都是通过这个时钟信号来驱动的。输出至TMS管脚的为状态切换信 号,通过TMS信号,可以控制JTAG模式在不同的状态间相互转换。TMS信 号在TCK的上升沿有效。输出至TDI管脚接收为模拟信号,要输入到CPLD 存储器的数据都是在TCK的驱动下,通过TDI —位一位串行输入的。 步骤S70: CPLD通过TDO管脚向微处理器反馈TDI的接收状况。 CPLD通过TDI管脚完成脉冲信号的接收,当出现信号接收错误时,通过 TDO管脚完成接收成功或失败的回馈,并重新进行信号输入,直到正确接收到 信号。步骤S70并非本发明的必要步骤,即使没有该步骤,同样可实现发明目 的。
步骤S80: CPLD的软件加载完成。
输出至CPLD的脉冲信号发送完毕,CPLD完全正确接收到相应信号后, 所述的加载流程结束。
在步骤S60,为使CPLD能更好地接收脉沖信号,通过锁存器将脉沖信号输出至TCK、 TMS及TDI,这样,脉冲信号可保持一段时间,在确定CPLD正 确接收时,再输入下一个脉沖信号。本发明支持多个CPLD的软件加载。这样, 当任意一个CPLD未正确接收脉沖信号时,锁存器将脉冲信号可保持一段时间。
在步骤S70,为使CPLD能更好地反馈所接收信号的情况,通过緩冲器向 微处理器输出回馈信号,这样,方便微处理器完成对回馈信号的判断。即使有 多个CPLD同时进行软件加载,也不会造成微处理器的误判。
图2为本发明实施例的复杂可编程逻辑器件的软件加载装置的结构示意 图,如图2所示,本发明复杂可编程逻辑器件的软件加载装置包括解析及译 码单元200、数才莫转换单元201、输出单元202、写入单元203,其中,解析及 译码单元200用于对待加载的软件进行解析、译码,得到二进制码,由于待加 载的软件可能有多个类型,因此需确定加载到CPLD软件即待加载的目标代码 的类型,本发明主要针对的是ALTERA公司CPLD,其目标代码文件 为.JAM、 .JBC、 .SVF格式中的一种,因此,对于输入到解析及i奪码单元200 的目标代码,根据文件属性即可确定其类型。然后再根据该目标代码的编码规 则,对所述目标代码进行解析、译码,以得到所述目标代码的二进制编码。数 模转换单元201用于将所述二进制码转换为i^莫拟信号,即进行数^t转换,转换 为高、低电平的脉冲信号。输出单元202用于将所述模拟信号输出至CPLD, 具体地,将所述模拟信号输出至CPLD的TCK、 TMS及TDI管脚。写入单元 203根据所述模拟信号在CPLD的存储器中写入对应的二进制码,直至软件加 载完毕。
图3为本发明实施例的复杂可编程逻辑器件的软件加载装置的另一结构示 意图,如图3所示,为使本发明的装置输出的脉沖信号更好地被CPLD接收, 还包括锁存元件204,用于对输出至CPLD的模拟信号进行锁存。为使本发明 的装置回馈CPLD 4妄收信号的状态,还包括回馈单元205,用于在CPLD写入 二进制码时,回馈写入成功或失败的信息,写入失败时重新写入,其中,CPLD 通过TDO管脚回馈写入成功或失败的信息。通过锁存器将脉冲信号输出至 TCK、 TMS及TDI,这样,脉冲信号可保持一段时间,在确定CPLD正确接收时,再输入下一个脉冲信号。通过緩冲器向输出单元202输出回馈信号,方便 了本发明信号输出单元完成对回馈信号的判断。
本发明的装置支持多个CPLD的软件加载,即支持CPLD软件加载的批处理。
本领域技术人员应当理解,本发明装置的各处理单元可通过软件或相应的 硬件电路而实现,关于各单元的功能,可参照图1中的处理流程来理解。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种复杂可编程逻辑器件的软件加载方法,其特征在于,包括对待加载的软件进行解析、译码,得到二进制码;将所述二进制码转换为模拟信号,并将所述模拟信号输出至所述复杂可编程逻辑器件;以及所述复杂可编程逻辑器件根据所述模拟信号在存储器中写入对应的二进制码,直至加载完毕。
2、 根据权利要求1所述的方法,其特征在于,所述复杂可编程逻辑器件通 过测试时钟输入TCK、测试模式选择输入TMS和测试数据输入TDI管脚接收 所述模拟信号,其中,TCK管脚接收时钟信号,TMS管脚接收状态切换信号, TDI管脚接收所述模拟信号。
3、 根据权利要求1所述的方法,其特征在于,所述方法还包括所述复杂 可编程逻辑器件写入二进制码时,回馈写入成功或失败的信息,写入失败时重 新写入。
4、 根据权利要求3所述的方法,其特征在于,所述复杂可编程逻辑器件通 过TDO管脚回馈写入成功或失败的信息。
5、 根据权利要求1所述的方法,其特征在于,所述模拟信号通过锁存元件 输出至所述复杂可编程逻辑器件。
6、 根据权利要求1至5中任一项所述的方法,其特征在于,所述模拟信号 为高、低电平脉冲形成的信号。
7、 一种复杂可编程逻辑器件的软件加载装置,其特征在于,包括 解析及译码单元,用于对待加载的软件进行解析、译码,得到二进制码; 数模转换单元,用于将所述二进制码转换为模拟信号;输出单元,用于将所述模拟信号输出至所述复杂可编程逻辑器件;以及 写入单元,根据所述模拟信号在复杂可编程逻辑器件的存储器中写入对应 的二进制码,直至加载完毕。
8、 根据权利要求7所述的装置,其特征在于,所述装置还包括锁存元件, 用于对输出至所述复杂可编程逻辑器件的模拟信号进行锁存。
9、 根据权利要求7所述的装置,其特征在于,所述复杂可编程逻辑器件通 过测试时钟输入TCK、测试模式选择输入TMS和测试数据输入TDI管脚接收 所述模拟信号,其中,TCK管脚接收时钟信号,TMS管脚接收状态切换信号, TDI管脚接收所述模拟信号。
10、 根据权利要求7所述的装置,其特征在于,所述装置还包括回馈单元, 用于在所述复杂可编程逻辑器件写入二进制码时,回馈写入成功或失败的信息, 写入失败时重新写入,其中,所述复杂可编程逻辑器件通过TDO管脚回馈写入 成功或失败的信息。
全文摘要
本发明公开了一种复杂可编程逻辑器件的软件加载方法,为解决目前CPLD软件加载不便而提出,包括对待加载的软件进行解析、译码,得到二进制码;将所述二进制码转换为模拟信号,并将所述模拟信号输出至所述复杂可编程逻辑器件;所述复杂可编程逻辑器件根据所述模拟信号在存储器中写入对应的二进制码,直至加载完毕。本发明同时提供了一种复杂可编程逻辑器件的软件加载装置。本发明加载CPLD的软件时,无需专门的设备,支持CPLD的在线加载。
文档编号G06F9/445GK101425019SQ200810239959
公开日2009年5月6日 申请日期2008年12月16日 优先权日2008年12月16日
发明者洋 欧 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1