光碟系统控制晶片及其固件程序更新方法

文档序号:6437772阅读:297来源:国知局
专利名称:光碟系统控制晶片及其固件程序更新方法
技术领域
本发明涉及光碟系统控制晶片及其固件程序更新方法,特别涉及利用宏单元与直接存储器存取(DMA)单元进行固件更新动作的光碟系统控制晶片及其固件程序更新方法。
背景技术
请参阅图1,图1是一般光碟机系统(optical driver,如CD-ROM)的控制架构图。如该图所示,该光碟机系统10利用光学读取头(optical pickup)(配置在载具马达及光学头组件102中)撷取光碟片(disk)所储存的资料,并输出射频讯号(Radio frequency signal)。该射频讯号经由射频放大控制器(RF amplifierand controller)110处理后,将讯号输出到解码器(decoder)114。解码器114将解码后的信号储存在缓冲存储器(buffer memory)116。微处理器(micro-processor)112用来控制该光碟机系统10的操作与功能,例如控制射频放大控制器110、解码器114、驱动主轴马达101、以及控制载具马达及光学头组件102的位置等。微处理器112还连接到一只读存储器118,用以从该只读存储器118读取固件(frimware)资讯,例如程序与指令,来进行光碟机系统10的控制与操作。使用者即可利用主机122经由一主机界面(host interface)120读取缓冲存储器116的资料。
由于电脑工业发展迅速,硬件周边也随之快速发展,光碟机系统也不例外。为了使光碟机系统的功能与操作能持续更新,一般是更新储存在只读存储器的固件程序。一般光碟机系统在进行固件程序更新时,是将所执行的更新程序以及所要更新的资料一同储存在只读存储器中。此方式将降低只读存储器可使用的空间以及增加固件程序更新的时间。
另外,台湾发明第087118506号专利“光碟系统控制晶片与其程式更新方法”提出另一种更新方法。图2所示为该专利的控制晶片架构图。该控制晶片200包含一额外存储器202、一微处理器204、一解码器206、以及一控制器208。该专利提出的方法是在更新固件程序时,将要执行更新的程序暂存于额外存储器202,而将快闪式ROM(只读存储器)210视为一资料储存空间。该方法不会占用只读存储器210可使用的空间,且可增加固件程序更新的速度。但是,此方法有一个缺点,亦即不管是读取程序或是将资料写入只读存储器,均由微处理器以软件方式处理,而造成在写入资料时,微处理器无法进行其他工作,例如与主机进行资料存取。而且,由微处理器执行软件来计算额外存储器的位址需要较长的时间。

发明内容
有鉴于上述问题,本发明的目的是提供一种具有宏单元的光碟系统控制晶片及其固件程序更新方法,用来利用该宏单元以硬件控制方式来执行固件程序的更新控制。
为达成上述目的,本发明光碟系统控制晶片包含一微处理器,用来控制该光碟系统的动作;一解码器,由上述微处理器控制,且连接至一外部缓冲存储器以及一主机界面;一控制器,由上述微处理器控制,且与上述解码器连接,用以接收该光碟系统的控制信号与资料;一额外存储器,储存上述微处理器的执行程序或一般资料,并与上述微处理器连接;一直接存储器存取(DMA)单元,由上述微处理器控制,用以读取上述外部缓冲存储器的资料;以及一宏单元,由上述微处理器控制,并接收上述直接存储器存取单元输出的资料,并将该资料写入只读存储器;
其中,该光碟系统控制晶片在更新只读存储器资料时,是以上述额外存储器做为上述微处理器的程序执行空间,且该微处理器将控制信号输出至上述直接存储器存取单元与宏单元,利用该宏单元与直接存储器存取单元以硬件方式将上述缓冲存储器的资料写入上述只读存储器。
该只读存储器为快闪式只读存储器。
该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出缓冲存储器的起始位置以及资料长度到上述直接存储器存取单元。
该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出开始烧录信号以及结束烧录信号给上述宏单元。
该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器接收上述宏单元的内部状态信号,用以监控宏单元的动作。
一种光碟系统固件程序更新方法,经由一宏单元与直接存储器存取单元以硬件控制方式将欲更新的固件程序由一缓冲存储器写入一只读存储器中,该方法包含下列步骤载入更新程序,将更新程序载入一额外存储器,用以在进行更新动作时,由一微处理器执行该额外存储器的更新程序;载入程序代码,将欲更新的固件程序载入上述缓冲存储器;设定直接存储器存取单元与宏单元,由上述微处理器计算固件程序储存在上述缓冲存储器的起始位置,以及该固件程序的长度,并将起始位置与长度输入直接存储器存取单元,且将上述只读存储器的起始位址设定在上述宏单元;程序代码写入,由上述微处理器产生开始信号给上述宏单元与直接存储器存取单元,用以驱动上述直接存储器存取单元从上述缓冲存储器读出资料并传给上述宏单元,该宏单元即将资料写入上述只读存储器中;结束更新动作,当程序代码已写入完毕时,由上述徽处理器产生结束信号给宏单元与直接存储器存取单元,用以停止宏单元与直接存储器存取单元的动作,并切换至一般操作模式。
光碟系统固件程序更新方法还包含监控宏单元状态,由上述微处理器监控该宏单元的内部状态。
由于程序代码写入动作是由宏单元与DMA单元以硬件控制方式将程序代码写入只读存储器中,因此速度比利用软件计算位址的方式要快。而且,由于程序代码写入动作是由宏单元与DMA单元以硬件控制方式,微处理器在监控宏单元状态之余,还可以处理其他工作,例如经由主机界面与主机传递资料,或报告写入进度与状态。


图1是一般光碟机系统的控制架构图;图2是习知光碟系统的控制晶片架构图;图3是本发明光碟系统控制晶片架构图;图4是本发明光碟系统控制晶片在一般操作时的资料流向;图5是本发明光碟系统控制晶片在进行资料更新时的资料流向;图6是本发明光碟系统控制晶片在固件更新模式时的流程图。
实施方式以下参考图式详细说明本发明光碟系统控制晶片及其固件程序更新方法。
图3是本发明光碟系统控制晶片的架构图。如该图所示,该控制晶片300包含一额外存储器302、一微处理器304、一解码器306、一控制器308、一宏单元310、以及一DMA单元312。该控制晶片300具有更新光碟系统的固件程序的功能,该固件程序储存在只读存储器210。该只读存储器210可为快闪式存储器(flash ROM)或电性可抹除可编码只读存储器(EEPROM)。如图3所示,宏单元310与DMA单元312是习知光碟系统控制晶片所没有具备的,其余的额外存储器302、微处理器304、解码器306、以及控制器308与图2的光碟系统控制晶片的架构图相同。
宏单元310是由微处理器304控制,在更新固件程序时用来经由DMA单元312读取缓存储器212的资料,并将所读取的资料以特定的命令序列,如抹除指令(Erase Command)、读取指令(Read Command)、写入指令(Write Command)、比较指令(Compare Command)等,写入只读存储器210。DMA单元312也由微处理器304控制,在更新固件程序时用来将缓冲存储器212的资料传给宏单元310。
在光碟系统更新固件程序时,光碟系统会先将微处理器304要执行的程序暂存在额外存储器302,而将要更新的固件程序储存在缓冲存储器212。因此,当光碟系统在更新固件程序时,微处理器304是执行额外存储器302的程序,并输出控制信号到宏单元310以及DMA单元312,即可由宏单元310以及DMA单元312执行固件程序的更新动作。而当宏单元310在执行更新动作时,微处理器304只需监控宏单元310的内部状态,其余时间可以与主机216进行其他动作。由于宏单元310以及DMA单元312执行固件程序的更新动作时,宏单元310以及DMA单元312是以硬件方式进行资料的读取与写入,因此执行速度比利用软件计算位址的方式快。
当光碟系统没有更新固件资料时,光碟系统是切换到一般操作模式。而当光碟系统要更新固件程序时,光碟系统是切换到固件更新模式。一般而言,在电脑开机重置后,光碟系统的微处理器204会将光碟机,如CD-ROM,加以初始始化,并且等待主机电脑216的命令要求从碟片100中读取资料。当主电脑216要求读取碟片100资料的命令发出后,微处理器304便送出正确的参数来控制控制器308与解码器306,用以驱动光碟系统中的马达与光学读取头来读取碟片100所储存的资料。碟片100的资料便经由解码器306加以解码与误差修正(errorcorrection)后,放入缓冲存储器(DRAM)312中。因此,电脑216便可以透过主机界面214,经由解码器306来读取放在缓冲存储器212中的资料。此时,额外存储器302是用来作为一般资料的记忆空间,而只读存储器210是做为系统程序的记忆空间。
图4显示本发明光碟系统控制晶片在一般操作模式时的资料流向。如该图所示,由于在一般操作模式,光碟系统是以只读存储器210作为程序储存空间,而由微处理器304送出固件控制信号给只读存储器210,读取只读存储器210的程序资料来控制光碟系统的动作。因此,在一般操作模式时,宏单元310以及DMA单元3 12是处于闲置状态(Idle)。在一般操作模式时,该光碟系统控制晶片的动作与先前技术相同,不再重复叙述。
当光碟系统需要更新只读存储器210中的固件程序时,具有如内容表(TableOf Content,TOC)的特殊格式资料的更新程序,可以以碟片方式放置在光碟系统中或者是由主电脑216端执行某一特定的更新程序软件。程序内容包含一程序代码(program code)与一更新程序(update program routine)。此时,额外存储器302将用来放置从碟片100或由电脑216端载入的更新程序,程序代码部分则先储放在缓冲存储器212中。
图5显示本发明光碟系统控制晶片在固件更新模式时的资料流向。如该图所示,当光碟系统切换到固件更新模式时,光碟系统是以额外存储器302作为程序储存位置,并由微处理器304从该额外存储器302读取程序指令来控制DMA单元312与宏单元310的动作。亦即,在固件更新之初,微处理器304从额外存储器302读取程序指令,并计算欲更新的程序代码储存在缓冲存储器212的起始位置以及程序代码的长度,并将该资讯输出至DMA单元312。之后,微处理器304送出启动信号至宏单元310,由宏单元310开始经由DMA单元312读取缓冲存储器212的程序代码,并写入只读存储器210。由于DMA单元312可根据微处理器304的起始位置以及程序代码的长度依序从缓冲存储器212读取程序代码,并输出给宏单元3 10。因此,光碟系统在更新固件程序代码时,不需由微处理器304计算缓冲存储器212的位址。而且,当宏单元310在写入资料至只读存储器210期间,微处理器304可随时监控宏单元310的内部状态,并于固件程序更新完毕时,输出停止信号给宏单元310与DMA单元312。
宏单元310的动作包含从DMA单元312读取资料、输出位址、输出资料、以及输出写入控制信号至只读存储器210。
图6显示本发明光碟系统控制晶片在固件更新模式时的流程图。如该图所示,光碟系统控制晶片在固件更新模式时的步骤包含步骤S602载入更新程序。由微处理器304或主机216控制将更新程序载入额外存储器302,用以在进行更新动作时,由微处理器304执行该额外存储器302的程序。
步骤S604载入程序代码。由微处理器304或主机216控制将欲更新的程序代码(固件程序)载入缓冲存储器212。
步骤S606设定DMA单元312与宏单元310。由微处理器304计算程序代码储存于缓冲存储器212的起始位置,以及该程序代码的总长度,并将起始位置与长度传给DMA单元312。另外,将只读存储器210之目的起始位址设定于宏单元310。
步骤S608进行程序代码写入动作。由微处理器304产生开始信号给宏单元310与DMA单元312。当宏单元310与DMA单元312收到开始信号后,DMA单元312即从缓冲存储器212读出程序代码并传给宏单元310,宏单元310即将程序代码写入只读存储器210中。
步骤S610监控宏单元状态。由微处理器304监控宏单元3 10的内部状态,用以在适当时机控制宏单元310的动作。例如,当宏单元310有错误时或是当程序代码已写入完毕时。
步骤S612切换至一般操作模式。当程序代码已写入完毕时,由微处理器304产生结束信号给宏单元310与DMA单元312,用以停止宏单元310与DMA单元312的动作,并切换至一般操作模式。
在上述的步骤S608中,由于程序代码写入动作是由宏单元310与DMA单元312以硬件控制方式将程序代码写入只读存储器210中,因此速度比利用软件计算位址的方式要快。而且,由于程序代码写入动作是由宏单元310与DMA单元312以硬件控制方式,微处理器304在监控宏单元310状态之余,还可以处理其他工作,例如经由主机界面214与主机216传递资料,或报告写入进度与状态。
以上虽以实施例说明本发明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,该行业者可进行各种变形或变更。
权利要求
1.一种光碟系统控制晶片,具有更新一光碟系统的只读存储器资料的功能,该光碟系统控制晶片包含一微处理器,用来控制该光碟系统的动作;一解码器,由上述微处理器控制,且连接至一外部缓冲存储器以及一主机界面;一控制器,由上述微处理器控制,且与上述解码器连接,用以接收该光碟系统的控制信号与资料;一额外存储器,储存上述微处理器的执行程序或一般资料,并与上述微处理器连接;其特征在于还包括一直接存储器存取(DMA)单元,由上述微处理器控制,用以读取上述外部缓冲存储器的资料;以及一宏单元,由上述微处理器控制,并接收上述直接存储器存取单元输出的资料,并将该资料写入只读存储器;其中,该光碟系统控制晶片在更新只读存储器资料时,是以上述额外存储器做为上述微处理器的程序执行空间,且该微处理器将控制信号输出至上述直接存储器存取单元与宏单元,利用该宏单元与直接存储器存取单元以硬件方式将上述缓冲存储器的资料写入上述只读存储器。
2.根据权利要求1所述的光碟系统控制晶片,其特征在于该只读存储器为快闪式只读存储器。
3.根据权利要求1所述的光碟系统控制晶片,其特征在于该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出缓冲存储器的起始位置以及资料长度到上述直接存储器存取单元。
4.根据权利要求3所述的光碟系统控制晶片,其特征在于该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出开始烧录信号以及结束烧录信号给上述宏单元。
5.根据权利要求4所述的光碟系统控制晶片,其特征在于该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器接收上述宏单元的内部状态信号,用以监控宏单元的动作。
6.一种光碟系统固件程序更新方法,是经由一宏单元与直接存储器存取单元以硬件控制方式将欲更新的固件程序由一缓冲存储器写入一只读存储器中,其特征在于该方法包含下列步骤载入更新程序,将更新程序载入一额外存储器,用以在进行更新动作时,由一微处理器执行该额外存储器的更新程序;载入程序代码,将欲更新的固件程序载入上述缓冲存储器;设定直接存储器存取单元与宏单元,由上述微处理器计算固件程序储存在上述缓冲存储器的起始位置,以及该固件程序的长度,并将起始位置与长度输入直接存储器存取单元,且将上述只读存储器的起始位址设定在上述宏单元;程序代码写入,由上述微处理器产生开始信号给上述宏单元与直接存储器存取单元,用以驱动上述直接存储器存取单元从上述缓冲存储器读出资料并传给上述宏单元,该宏单元即将资料写入上述只读存储器中;结束更新动作,当程序代码已写入完毕时,由上述徽处理器产生结束信号给宏单元与直接存储器存取单元,用以停止宏单元与直接存储器存取单元的动作,并切换至一般操作模式。
7.根据权利要求6所述的光碟系统固件程序更新方法,其特征在于还包含监控宏单元状态,由上述微处理器监控该宏单元的内部状态。
全文摘要
本发明涉及一种光碟系统控制晶片及其固件程序更新方法,具有以硬件控制更新只读存储器的程序代码的功能。该光碟系统控制晶片包含一微处理器;一解码器;一控制器,该控制器与解码器连接,用以接收该光碟系统的控制信号与资料;一额外存储器,用以储存微处理器的执行程序,并与微处理器连接;一直接存储器(DMA)存取单元,用以读取外部缓冲存储器的资料;以及一宏单元,用以接收DMA单元输出的资料,并将该资料写入只读存储器。在更新只读存储器的程序时,是以额外存储器作为微处理器的程序执行空间,且微处理器将控制信号输出至DMA单元与宏单元,利用该宏单元与DMA单元以硬件方式将缓冲存储器的资料写入只读存储器。
文档编号G06F12/00GK1517857SQ03100388
公开日2004年8月4日 申请日期2003年1月16日 优先权日2003年1月16日
发明者陈炳盛, 郭弘政 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1