现场可编程逻辑器件固件升级装置的制作方法

文档序号:6342504阅读:300来源:国知局
专利名称:现场可编程逻辑器件固件升级装置的制作方法
技术领域
本发明属于计算机技术领域,具体涉及一种现场简易现场可编程逻辑器件(CPLD) 固件升级装置及其升级的方法。
背景技术
当今社会是一个数字化及数字集成电路广泛应用的社会。数字集成电路本身在不 断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成 电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术 的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更 愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实 验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程 逻辑器件(FPLD),其中应用最广泛的当属复杂可编程逻辑器件(CPLD)。但是由于产品的功能不但要满足用户的需求,还要加快产品的研发速度,尽快抢 占市场,这就需要在硬件不大改的情况下,通过CPLD固件升级来实现更多的逻辑功能。目 前现有技术进行CPLD固件升级的方法主要有下面2种1. ISP在线升级,其优点在于能够 通过JTAGlO来升级CPLD,简单方便。但其缺点也很明显,由于电路板必须要有JTAG 口,不 但增加了成本,而且现场升级必须要带下载线以及下载工具。2.使用烧写器。向芯片中烧 写程序的时候,必须把芯片放在烧写器的插座里。其优点在于成本低,操作简单。缺点是频 繁插拔或者重新焊接芯片CPLD,容易引起硬件的损坏,人为的增大不可靠性。为了提供一种操作既简单、不但消除人为焊接或者插拔芯片CPLD引起的硬件问 题,而且又能避免使用ISP带来的不便,现有技术并没有很好的解决,给工作人员带来不 便。本发明由此而来。
发明内容本发明目的在于提供一种现场可编程逻辑器件固件升级装置,解决了现有技术中 进行CPLD固件升级操作复杂、需要人为焊接或者插拔芯片CPLD,常产生硬件问题以及ISP 升级具有诸多不便等问题。为了解决现有技术中的这些问题,本发明提供的技术方案是—种现场可编程逻辑器件固件升级装置,包括微控制器和与微控制器连接的主 机,其特征在于所述微控制器通过被动串行方式与现场可编程逻辑器件连接,所述主机发 出固件升级指令后,所述微控制器读入固件升级数据,并将固件升级数据通过被动串行方 式配置现场可编程逻辑器件。优选的,所述装置还包括内部存储器,所述内部存储器与微控制器连接,储存现场 可编程逻辑器件的固件升级数据。优选的,所述内部存储器选用可擦写只读存储器,主机发出固件数据传输指令后, 微处理器接受指令后将固件升级数据读入后存入内部存储器。[0010]优选的,所述现场可编程逻辑器件的DCONFIG、DCLK, DATA、INT_D0NE、nSTATUS、 C0NF_D0NE连接到微处理器的I/O接口,其中DCONFIG、DCLK、DATA引脚设置成输出态,由微 处理器对现场可编程逻辑器件进行操作;nSTATUS、C0NF_D0NE、INT_D0NE引脚设置成输入 态,由微处理器对现场可编程逻辑器件的配置状态进行检测。优选的,所述微处理器的I/O接口包括CF、CON、INT、DL、CLK、DAT引脚,所述现场 可编程逻辑器件的 DCONFIG、nSTATUS、INT_D0NE、C0NF_D0NE、DCLK, DATA 引脚与 CF、CON、 INT、DL、CLK、DAT引脚一一匹配连接,所述微处理器通过内部寄存器将CF、DCLK、DATA引脚 设置成输出口,将CON、INT、DL引脚设置成输入口。在具体使用时,所述装置上电后,微控器将新的CPLD 二进制配读入内部存储器, 通过被动串行配置,把代码传送到CPLD、并运行;断电,重新启动电路板后如果CPLD所预期 的逻辑功能正确实现,则完成调试过程,如果程序错误,则查找程序中的错误,重新编译后, 重复上述步骤,直到CPLD所预期的逻辑功能正确实现为止。当现场简易升级现场可编程逻辑器件固件时,可以按照以下步骤进行(1)在现场可编程逻辑器件固件升级装置上通过被动串行方式连接现场可编程逻 辑器件;(2)主机生成现场可编程逻辑器件固件的二进制配置数据;(3)主机发出指令,微控器将二进制配置数据读入内部存储器后,通过被动串行方 式将二进制配置数据发送到现场可编程逻辑器件。优选的,所述方法步骤(3)包括微处理器在现场可编程逻辑器件的DCONFIG上产 生一个由低到高的跳变,使现场可编程逻辑器件进入配置状态,等待现场可编程逻辑器件 释放nSTATUS,nSTATuS变高之后,通过DCLK上升沿将配置数据逐位送到DATA上;现场可编 程逻辑器件接收完所有配置数据后,释放C0NF_D0NE,变成高电平,DCLK上输出脉冲来初始 化现场可编程逻辑器件,直到INT_D0NE被释放变成高电平,表示现场可编程逻辑器件初始 化完毕,进入用户状态,配置过程结束的步骤。优选的,所述方法中还包括配置结束后进行调试的步骤,所述调试的步骤包括重 新启动现场可编程逻辑器件固件升级装置后如果现场可编程逻辑器件所预期的逻辑功能 未能正确实现,则进行重新修改固件代码、编译成二进制配置数据后重新被动串行配置。优选的,所述方法中还包括成功配置后进行现场可编程逻辑器件上现场可编程逻 辑器件固件升级装置拆除的步骤。该方法遵循JTAG协议;微处理器首先在DCONFIG信号线上产生一个宽度大于 Sus的负脉冲,然后开始检测nSTATUS信号的状态。CPLD检测到DCONFIG信号的下降沿后 会迫使nSTATUS和C0NF_D0NE信号拉低,并且在DCONFIG信号重新抬高之间保持为低电平。 DCONFIG信号抬高后,nSTATUS将在1μ s之内随之抬高,微处理器检测到此变化后就认为 CPLD已经做好准备可以开始配置。配置第一个上升沿与nSTATUS的上升沿之间要求至少有 Ius的时间间隔。由于配置数据是与配置上升沿同步的,在配置时钟的上升沿来之间应当 将Ibit的配置数据在数据线上准备好,配置数据按低位在先高位在后的顺序从数据线上 送出。当全部配置数据送出以后,C0NF_D0NE信号将被抬高,表明配置结束。微处理器检测 到C0NF_D0NE信号抬高,就结束配置过程。如果配置过程中出错,CPLD将迫使nSTATUS信 号拉低,微处理器检测到此变化将重新开始配置。[0021]本发明的原理在于借助微控器和被动串行配置将CPLD升级所需的二进制代码发 送到CPLD,进而实现所需的逻辑功能,优选的具体升级步骤可以是A、在电路板上增设被动串行配置;B、在MAX+PLUSII环境下生成新的CPLD 二进制配置数据;C、电路板上电,微控器将配置数据读入内部存储器,然后,在DC0NFIG上产生一个 由低到高的跳变,使CPLD进入配置状态,等待CPLD释放nSTATUS,nSTATUS变高之后,通 过DCLK上升沿将配置数据逐位送到DATA上;CPLD接收完所有配置数据后,会释放C0NF_ DONE,变成高电平,之后DCLK上输出脉冲来初始化CPLD器件,直到INT_D0NE被释放变成高 电平,表示CPLD器件初始化完毕,进入用户状态,配置过程结束;D、重新启动电路板后如果CPLD所预期的逻辑功能正确实现,则进行步骤E ;否则 重新修改代码、编译,再重复进行步骤B、C ;E、完成调试。这些步骤中,步骤E当完成调试后,可将被动串行配置拆除。步骤A中,被动串行 配置是根据芯片手册管脚自己定义设置。所述的步骤B中,CPLD 二进制配置数据是实现逻 辑功能的代码。通过上述的升级过程,本发明得到一种操作既简单、不但消除人为焊接或者插拔 芯片CPLD引起的硬件问题,而且又能避免使用ISP带来的不便的调试方法,设计了一种现 场简易CPLD固件升级的方法,使用被动串行配置,将升级所需的二进制代码发送到CPLD, 操作简单,不但解决了由于频繁插拔或者重新焊接CPLD,容易引起硬件损坏的技术问题,而 且避免了使用ISP带来的不便。相对于现有技术中的方案,本发明的优点是本发明技术方案中借助微控器和被动串行配置将CPLD升级所需的二进制代码发 送到CPLD,进而实现所需的逻辑功能;不但解决了由于频繁插拔或者重新焊接CPLD,容易 引起硬件损坏的技术问题,而且避免了使用ISP带来的不便。综上所述,本发明提供了一种现场简易CPLD固件升级的方法,该方法操作既简 单、不但消除人为焊接或者插拔芯片CPLD引起的硬件问题,而且又能避免使用ISP带来的 不便,采用的技术方案是借助微控器和被动串行配置将CPLD升级所需的二进制代码发送 到CPLD,进而实现所需的逻辑功能。本方法具体步骤是在电路板上增设被动串行配置,电 路板上电后,微控器将新的CPLD 二进制配读入内部存储器,通过被动串行配置,把代码传 送到CPLD、并运行;断电,重新启动电路板后如果CPLD所预期的逻辑功能正确实现,则完成 调试过程,如果程序错误,则查找程序中的错误,重新编译后,重复上述步骤,直到CPLD所 预期的逻辑功能正确实现为止。
以下结合附图及实施例对本发明作进一步描述

图1为本发明实施例装置的结构示意图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做 进一步调整,未注明的实施条件通常为常规实验中的条件。实施例如图1所示,该现场可编程逻辑器件固件升级装置,包括BCM5836芯片的 微控制器、A3S56D30ETP芯片的内部存储器和与微控制器连接的PC机,其特征在于所述微 控制器通过被动串行方式与现场可编程逻辑器件连接,所述主机发出固件升级指令后,所 述微控制器读入固件升级数据,并将固件升级数据通过被动串行方式配置现场可编程逻辑 器件。所述内部存储器与微控制器连接,储存现场可编程逻辑器件的固件升级数据。所述内 部存储器选用可擦写只读存储器,主机发出固件数据传输指令后,微处理器接受指令后将 固件升级数据读入后存入内部存储器。所述现场可编程逻辑器为Lattice公司的LCM640C。现场可编程逻辑器件的DCONFIG、DCLK、DATA、INT_DONE、nSTATUS、C0NF_D0NE 连接 到微处理器的I/O接口,其中DCONFIG、DCLK、DATA引脚设置成输出态,由微处理器对现场 可编程逻辑器件进行操作;nSTATUS、C0NF_D0NE、INT_D0NE引脚设置成输入态,由微处理器 对现场可编程逻辑器件的配置状态进行检测。所述微处理器的I/O接口包括CF、C0N、INT、 DL、CLK、DAT 引脚,所述现场可编程逻辑器件的 DCONFIG、nSTATUS、INT_D0NE、C0NF_D0NE、 DCLK,DATA引脚与CF、CON、INT、DL、CLK、DAT引脚一一匹配连接,所述微处理器通过内部寄 存器将CF、DCLK, DATA引脚设置成输出口,将CON、INT、DL引脚设置成输入口。当对CPLD进行固件升级时,可以按照如下步骤进行A、在电路板上增设被动串行配置;B、在MAX+PLUSII环境下生成新的CPLD 二进制配置数据;C、电路板上电,微控器将配置数据读入内部存储器。然后,在DCONFIG上产生一 个由低到高的跳变,使CPLD进入配置状态,等待CPLD释放nSTATUS,nSTATuS变高之后,通 过DCLK上升沿将配置数据逐位送到DATA上;CPLD接收完所有配置数据后,会释放C0NF_ DONE,变成高电平,之后DCLK上输出脉冲来初始化CPLD器件,直到INT_D0NE被释放变成高 电平,表示CPLD器件初始化完毕,进入用户状态,配置过程结束;D、重新启动电路板后如果CPLD所预期的逻辑功能正确实现,则进行步骤E ;否则 重新修改代码、编译,再重复进行步骤B、C ;E、完成调试。完成调试后,可将被动串行配置去除。在进行升级配置前,微处理器响应串口中断并且接收到一个数据,微处理器首先 判断该数据所表示的命令类型,若是配置命令,微处理器就进入配置状态。在配置状态下, 微处理器一边接收配置数据,一边将这些数据写到CPLD器件中;若是写内部储存器命令, 微处理器就进入写内部储存器状态,此时微处理器会一边接收配置数据,一边将这些数据 写到配置用内部储存器中(注意此时这些数据并没有被配置到CPLD器件中);若是读内部 储存器命令,微处理器就进入读内部储存器并配置CPLD器件状态,此时微处理器会一边读 内部储存器中的配置数据,一边将读出的配置数据写到CPLD器件中。上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是 能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精 神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求一种现场可编程逻辑器件固件升级装置,包括微控制器和与微控制器连接的主机,其特征在于所述微控制器通过被动串行方式与现场可编程逻辑器件连接,所述主机发出固件升级指令后,所述微控制器读入固件升级数据,并将固件升级数据通过被动串行方式配置现场可编程逻辑器件。
2.根据权利要求1所述的现场可编程逻辑器件固件升级装置,其特征在于所述装置还 包括内部存储器,所述内部存储器与微控制器连接,储存现场可编程逻辑器件的固件升级 数据。
3.根据权利要求2所述的现场可编程逻辑器件固件升级装置,其特征在于所述内部存 储器选用可擦写只读存储器,主机发出固件数据传输指令后,微处理器接受指令后将固件 升级数据读入后存入内部存储器。
4.根据权利要求1所述的现场可编程逻辑器件固件升级装置,其特征在于所述现场可 编程逻辑器件的 DC0NFIG、DCLK、DATA、INT_D0NE、nSTATUS、C0NF_D0NE 连接到微处理器的 I/ 0接口,其中DCONFIG、DCLK、DATA引脚设置成输出态,由微处理器对现场可编程逻辑器件进 行操作;nSTATUS、C0NF_D0NE、INT_D0NE引脚设置成输入态,由微处理器对现场可编程逻辑 器件的配置状态进行检测。
5.根据权利要求4所述的现场可编程逻辑器件固件升级装置,其特征在于所述微处理 器的I/O接口包括CF、CON、INT、DL、CLK, DAT引脚,所述现场可编程逻辑器件的DC0NFIG、 nSTATUS、INT_D0NE、C0NF_D0NE、DCLK, DATA 引脚与 CF、CON、INT、DL、CLK, DAT 引脚——匹 配连接,所述微处理器通过内部寄存器将CF、DCLK、DATA引脚设置成输出口,将C0N、INT、DL 引脚设置成输入口。
专利摘要本实用新型公开了一种现场可编程逻辑器件固件升级装置,包括微控制器和与微控制器连接的主机,其特征在于所述微控制器通过被动串行方式与现场可编程逻辑器件连接,所述主机发出固件升级指令后,所述微控制器读入固件升级数据,并将固件升级数据通过被动串行方式配置现场可编程逻辑器件。该装置升级CPLD固件时操作既简单、消除人为焊接或者插拔芯片CPLD引起的硬件问题,又能避免使用ISP带来的不便。
文档编号G06F9/445GK201622563SQ201020141380
公开日2010年11月3日 申请日期2010年3月22日 优先权日2010年3月22日
发明者李新志, 田臻 申请人:太仓市同维电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1