CN105630520B - 单片机程序数据烧录方法、系统和单片机 - Google Patents

单片机程序数据烧录方法、系统和单片机 Download PDF

Info

Publication number
CN105630520B
CN105630520B CN201410592596.9A CN201410592596A CN105630520B CN 105630520 B CN105630520 B CN 105630520B CN 201410592596 A CN201410592596 A CN 201410592596A CN 105630520 B CN105630520 B CN 105630520B
Authority
CN
China
Prior art keywords
burning
clock
chip microcontroller
program data
burning program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410592596.9A
Other languages
English (en)
Other versions
CN105630520A (zh
Inventor
周博
郭平日
李奇峰
杨云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BYD Semiconductor Co Ltd
Original Assignee
BYD Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BYD Co Ltd filed Critical BYD Co Ltd
Priority to CN201410592596.9A priority Critical patent/CN105630520B/zh
Publication of CN105630520A publication Critical patent/CN105630520A/zh
Application granted granted Critical
Publication of CN105630520B publication Critical patent/CN105630520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Microcomputers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明公开了一种单片机程序数据烧录方法,包括:上位机依次向单片机发送程序烧录时钟和待烧录程序数据序列;单片机检测程序烧录时钟中是否产生预设变化沿;当程序烧录时钟中产生预设变化沿时,单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号;单片机根据数据采集信号采集当前待烧录程序数据,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据。本发明通过改变采集待烧录程序数据的时间点至稳定采集点以避免干扰对待烧录程序数据烧录正确性的影响,从而大大提高单片机程序烧录过程的生产良率、正确率和统一性。本发明还公开了一种单片机和一种包括该单片机的单片机程序数据烧录系统。

Description

单片机程序数据烧录方法、系统和单片机
技术领域
本发明涉及软件技术领域,特别涉及一种单片机程序数据烧录方法、一种单片机程序数据烧录系统和一种单片机。
背景技术
单片机系统正常工作需要内部程序正确运行,从而程序烧录的正确性和正确率影响单片机系统的生产效率,一旦程序烧录不正确,将影响整个单片机产品的生产良率和烧录过程的可靠性。因此,如何提高单片机程序烧录的正确率,成为单片机系统生产过程中的重要问题。
相关技术中,在单片机程序烧录过程中,对于数据的正确性通常通过一定的校验算法来保证,而对于提高单片机程序烧录过程的生产良率和正确率,一般通过对单片机的外部数据信号进行数字滤波处理(例如外部数据信号经过D触发器进行滤波等)、模拟滤波处理(例如外部数据信号经过施密特触发器进行滤波等)或防环境干扰处理(例如有效排布外部数据信号走线和接线程度等),使得外部数据信号能够稳定有效的进行数据传输。
上述相关技术存在的缺点是:在一定程度或者说在一定条件下并不能更好的解决烧录数据信号的干扰问题。例如当单片机系统设计的程序烧录速率较高时,单片机内部数字器件的时序要求速率会更高,从而在进行数字滤波处理时,由于时序速率的提高,一些干扰毛刺将被单片机认为是符合该高速烧录时序的信号,致使某些干扰无法被消除。另外,例如当程序烧录速率设计指标变高时,信号无法通过较大电容滤波的方式进行干扰处理,且大电容滤波可能造成真正的数据信号被消除,而且施密特触发器滤波的能力有限,在实际使用中并没有较好的效果。此外,在防环境干扰处理中,即使将外部环境、线上干扰与线间串扰尽量的解决,但在实际使用中仍不能完全避免干扰的产生,例如,在实际外部烧录用的烧录时钟信号线和烧录数据信号线之间,由于时钟的电平转换和数据的电平转换相互产生影响,进而产生胡扰串扰,不能完全避免干扰的产生,导致无法提高单片机程序烧录过程的生产良率和正确率。
发明内容
本发明的目的旨在至少从一定程度上解决上述的技术问题之一。
为此,本发明的一个目的在于提出一种单片机程序数据烧录方法,该单片机程序数据烧录方法可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率和正确率。
本发明的另一个目的在于提出一种单片机。
本发明的再一个目的在于提出一种单片机程序数据烧录系统。
为达到上述目的,本发明一方面实施例提出了一种单片机程序数据烧录方法,该单片机程序数据烧录方法包括以下步骤:上位机依次向单片机发送程序烧录时钟和待烧录程序数据序列,其中,所述待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数;所述单片机检测所述程序烧录时钟中是否产生预设变化沿;当所述程序烧录时钟中产生所述预设变化沿时,所述单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号;以及所述单片机根据所述数据采集信号采集当前待烧录程序数据,并在所述当前待烧录程序数据采集完毕之后,烧录所述当前待烧录程序数据。
本发明实施例提出的单片机程序数据烧录方法,在上位机依次向单片机发送程序烧录时钟和待烧录程序数据序列时,单片机检测程序烧录时钟中是否产生预设变化沿,进而当程序烧录时钟中产生预设变化沿时,单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号,最后单片机根据数据采集信号采集当前待烧录程序数据,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据。该单片机程序数据烧录方法可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,改变采集待烧录程序数据的时间点以避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率、正确率和统一性,且不占用单片机外部资源,可操作性强,实现成本低。
为达到上述目的,本发明另一方面实施例还提出了一种单片机,该单片机包括:计数控制逻辑,用于检测上位机依次向单片机发送的程序烧录时钟中是否产生预设变化沿,且当所述程序烧录时钟中产生所述预设变化沿时,从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号;以及程序数据采集和烧录逻辑,用于根据所述数据采集信号采集所述上位机依次向所述单片机发送的待烧录程序数据序列中的当前待烧录程序数据,并在所述当前待烧录程序数据采集完毕之后,烧录所述当前待烧录程序数据至单片机,其中,所述待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数。
本发明实施例提出的单片机,通过计数控制逻辑检测上位机依次向单片机发送的程序烧录时钟中是否产生预设变化沿,且当程序烧录时钟中产生预设变化沿时,从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号,进而程序数据采集和烧录逻辑根据数据采集信号采集上位机依次向单片机发送的待烧录程序数据序列中的当前待烧录程序数据,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据至单片机。该单片机可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,改变采集待烧录程序数据的时间点以避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率、正确率和统一性,且不占用单片机外部资源,可操作性强,实现成本低。
为达到上述目的,本发明再一方面实施例还提出了一种单片机程序数据烧录系统,该单片机程序数据烧录系统包括:所述的单片机;以及上位机,用于依次向所述单片机发送程序烧录时钟和待烧录程序数据序列,其中,所述待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数。
本发明实施例提出的单片机程序数据烧录系统可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,通过上述的单片机改变采集待烧录程序数据的时间点以避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率、正确率和统一性,且不占用单片机外部资源,可操作性强,实现成本低。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的单片机程序数据烧录方法的流程图;
图2为根据本发明实施例的单片机的方框示意图;
图3为根据本发明一个具体实施例的单片机的烧录程序数据的时序图;
图4为根据本发明一个具体实施例的单片机的结构示意图;以及
图5为根据本发明实施例的单片机程序数据烧录系统的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的可应用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之“上”的结构可以包括第一和第二特征形成为直接接触的实施例,也可以包括另外的特征形成在第一和第二特征之间的实施例,这样第一和第二特征可能不是直接接触。
在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
下面参照附图来描述根据本发明实施例提出的单片机程序数据烧录方法、单片机和单片机程序数据烧录系统。
如图1所示,本发明实施例的单片机程序数据烧录方法包括以下步骤:
S1,上位机依次向单片机发送程序烧录时钟和待烧录程序数据序列,其中,待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数。
其中,程序烧录时钟可以为固定频率的方波脉冲,程序烧录时钟的频率随不同的单片机而不同,待烧录程序数据可以为0或1。
S2,单片机检测程序烧录时钟中是否产生预设变化沿。
在本发明的一个实施例中,预设变化沿可以为上升沿或下降沿。需要说明的是,当程序烧录时钟和/或待烧录程序数据序列产生变化沿时,程序烧录时钟信号线和待烧录程序数据序列信号线上将由于程序烧录时钟的电平转换和/或待烧录程序数据序列的电平转换相互产生影响而产生胡扰串扰及毛刺等,该类干扰信号和真正需要的程序烧录时钟信号和待烧录程序数据序列信号一并送入单片机。
S3,当程序烧录时钟中产生预设变化沿时,单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号。
在本发明的一个实施例中,第一计数值为当程序烧录时钟中产生预设变化沿时的计数值,单片机工作时钟为单片机内部稳定时钟。进一步地,在本发明的一个实施例中,单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号可以包括以下步骤:
S31,当单片机从第一计数值以单片机工作时钟的频率计数至预设计数值时,单片机生成稳定采集点信号。
S32,对稳定采集点信号、单片机工作时钟和程序烧录时钟进行与操作,以生成数据采集信号。
S4,单片机根据数据采集信号采集当前待烧录程序数据,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据。
需要说明的是,由于程序烧录时钟的频率远小于单片机工作时钟的频率,并且由于单片机内部数字逻辑环境具有相对稳定的特点,因此,可以从程序烧录时钟中产生预设变化沿时的计数值以单片机工作时钟的频率稳定计数至预设计数值,进而单片机可以通过生成稳定采集点信号和数据采集信号,来将采集当前待烧录程序数据的时间点移动至程序烧录时钟和当前待烧录程序数据相对最稳定的时间点或电平阶段上,从而可以尽可能的消除干扰对待烧录程序数据烧录正确性的影响,进而完成相对稳定可靠的待烧录程序数据存储。进一步地,分析程序烧录时钟信号线和待烧录程序数据序列信号线间的串扰规律得知,在程序烧录时钟中一个时钟周期内两个变化沿之间最中心的时间点可认为是最远离发生串扰的时间点即程序烧录时钟和当前待烧录程序数据相对最稳定的时间点,该时间点发生串扰和毛刺等的概率相对最小,信号也相对最稳定。
具体地,在本发明的一个实施例中,当单片机工作时钟的频率与程序烧录时钟的频率之比为1:M时,预设计数值可以为B,且
其中,b为第一计数值,M大于或等于10。在本发明的另一个实施例中,预设计数值还可以为
具体地,当单片机工作时钟的频率与程序烧录时钟的频率之比为1:28时,在一个程序烧录时钟的时钟周期内,计数值增加28。
进一步地,在本发明的一个实施例中,当在当前待烧录程序数据采集完毕之后且当前计数值与第一计数值之差小于M-1例如27之前时检测到程序烧录时钟产生预设变化沿,预设变化沿视为无效,在该过程中不采集待烧录程序数据。也就是说,当在当前待烧录程序数据采集完毕之后,一个程序烧录时钟周期内,计数值未增加M-1例如27个时,在该计数过程中程序烧录时钟产生的预设变化沿无效,即不会导致误判断而开启程序烧录时钟中是否产生预设变化沿的检测机制。只有当一个程序烧录时钟周期内,计数值增加M-1例如27个时,才会开启程序烧录时钟中是否产生预设变化沿的检测机制,以准备进行下一个程序烧录时钟周期的处理。因此,本发明实施例的单片机程序数据烧录方法可以规避程序烧录时钟变化沿和/或待烧录程序数据序列变化沿导致的干扰毛刺信号,实现避免错误数据的采集,大大提高单片机程序烧录过程的生产良率、正确率和统一性。
进一步地,在本发明的一个实施例中,在单片机从第一计数值以单片机工作时钟的频率计数至预设计数值之后,单片机程序数据烧录方法还可以包括以下步骤:
S5,以单片机工作时钟的频率继续计数。
具体地,在本发明的一个实施例中,可以将以单片机工作时钟的频率计数完一个完整的程序烧录时钟周期作为一个计数循环,并在完成一个计数循环后进入下一个程序烧录时钟周期的计数和待烧录程序数据采集。
本发明实施例提出的单片机程序数据烧录方法,在上位机依次向单片机发送程序烧录时钟和待烧录程序数据序列时,单片机检测程序烧录时钟中是否产生预设变化沿,进而当程序烧录时钟中产生预设变化沿时,单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号,最后单片机根据数据采集信号采集当前待烧录程序数据,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据。该单片机程序数据烧录方法可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,通过改变采集待烧录程序数据的时间点至稳定采集点以避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率、正确率和统一性,且不占用单片机外部资源,可操作性强,实现成本低。
本发明另一方面实施例还提出了一种单片机1,如图2所示,该单片机1包括:计数控制逻辑10以及程序数据采集和烧录逻辑20。其中,计数控制逻辑10用于检测上位机2依次向单片机1发送的程序烧录时钟pg_clock中是否产生预设变化沿,且当程序烧录时钟pg_clock中产生预设变化沿时,从第一计数值以单片机工作时钟sys_clock的频率计数至预设计数值,并生成数据采集信号d_collect,其中,程序烧录时钟pg_clock可以为固定频率的方波脉冲,程序烧录时钟pg_clock的频率随不同的单片机1而不同。程序数据采集和烧录逻辑20用于根据数据采集信号d_collect采集上位机2依次向单片机1发送的待烧录程序数据序列pg_data中的当前待烧录程序数据例如0或1,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据至单片机1,其中,待烧录程序数据序列pg_data包括N个待烧录程序数据,N为大于或等于1的整数。
进一步地,在本发明的一个实施例中,预设变化沿可以为上升沿或下降沿。需要说明的是,当程序烧录时钟pg_clock和/或待烧录程序数据序列pg_data产生变化沿时,程序烧录时钟信号线和待烧录程序数据序列信号线上将由于程序烧录时钟pg_clock的电平转换和/或待烧录程序数据序列pg_data的电平转换相互产生影响而产生胡扰串扰及毛刺等,该类干扰信号和真正需要的程序烧录时钟信号和待烧录程序数据序列信号一并送入单片机1。
进一步地,在本发明的一个实施例中,第一计数值可以为当程序烧录时钟pg_clock中产生预设变化沿时的计数值,单片机工作时钟sys_clock为单片机1内部稳定时钟。进一步地,在本发明的一个实施例中,计数控制逻辑10可以包括:稳定采集点信号生成模块11以及与门12。其中,稳定采集点信号生成模块11用于当从第一计数值以单片机工作时钟sys_clock的频率计数至预设计数值时,生成稳定采集点信号cut_point。与门12用于对稳定采集点信号cut_point、单片机工作时钟sys_clock和程序烧录时钟pg_clock进行与操作,以生成数据采集信号d_collect。
需要说明的是,由于程序烧录时钟pg_clock的频率远小于单片机工作时钟sys_clock的频率,并且由于单片机1内部数字逻辑环境具有相对稳定的特点,因此,计数控制逻辑10可以从程序烧录时钟pg_clock中产生预设变化沿时的计数值以单片机工作时钟sys_clock的频率稳定计数至预设计数值,进而稳定采集点信号生成模块11生成稳定采集点信号cut_point和与门12生成数据采集信号d_collect,来将程序数据采集和烧录逻辑20采集当前待烧录程序数据的时间点移动至程序烧录时钟pg_clock和当前待烧录程序数据相对最稳定的时间点或电平阶段上,从而可以尽可能的消除干扰对待烧录程序数据烧录正确性的影响,进而程序数据采集和烧录逻辑20完成相对稳定可靠的待烧录程序数据存储。进一步地,分析程序烧录时钟信号线和待烧录程序数据序列信号线间的串扰规律得知,在程序烧录时钟pg_clock中一个时钟周期内两个变化沿之间最中心的时间点可认为是最远离发生串扰的时间点即程序烧录时钟pg_clock和当前待烧录程序数据相对最稳定的时间点,该时间点发生串扰和毛刺等的概率相对最小,信号也相对最稳定。
进一步地,在本发明的一个实施例中,计数控制逻辑10还可以用于在从第一计数值以单片机工作时钟sys_clock的频率计数至预设计数值之后,以单片机工作时钟sys_clock的频率继续计数。具体地,在本发明的一个实施例中,可以将以单片机工作时钟sys_clock的频率计数完一个完整的程序烧录时钟周期作为计数控制逻辑10的一个计数循环,且在计数控制逻辑10完成一个计数循环后,计数控制逻辑10进入下一个程序烧录时钟周期的计数,和程序数据采集和烧录逻辑20进入下一个程序烧录时钟周期的待烧录程序数据采集。
进一步地,在本发明的一个实施例中,当单片机工作时钟sys_clock的频率与程序烧录时钟pg_clock的频率之比为1:M时,预设计数值可以为B,且
其中,b为第一计数值,M大于或等于10。在本发明的另一个实施例中,预设计数值还可以为
具体地,当单片机工作时钟sys_clock的频率与程序烧录时钟pg_clock的频率之比为1:28时,在一个程序烧录时钟pg_clock的时钟周期内,计数控制逻辑10的计数值增加28。
图3为根据本发明一个具体实施例的单片机的烧录程序数据的时序图。图3显示了3个待烧录程序数据(1、0和1)的烧录,其中,data为单片机1采集的待烧录程序数据序列(包括data1、data2和data3),预设变化沿为上升沿即程序烧录时钟pg_clock=1,单片机工作时钟sys_clock的频率与程序烧录时钟pg_clock的频率之比约为1:28(由于实际情况下时钟精度不可能达到100%,故不存在严格的整数比例关系),由于程序烧录时钟信号线和待烧录程序数据序列信号线之间的串扰,程序烧录时钟pg_clock和待烧录程序数据序列pg_data中间夹杂众多干扰毛刺信号。
图4为根据本发明一个具体实施例的单片机的结构示意图。如图3和图4所示,为达到稳定采集待烧录程序数据的目的,计数控制逻辑10会始终以单片机工作时钟源SYS_CLOCK提供的单片机工作时钟sys_clock的频率计数,并在每一个计数脉冲下检测程序烧录时钟pg_clock中是否产生上升沿,一旦检测到程序烧录时钟pg_clock=1,计数控制逻辑10将产生上升沿时的计数值标记为b1。根据单片机工作时钟sys_clock的频率与程序烧录时钟pg_clock的频率之比约为1:28的关系,计数控制逻辑10将计数值b1之后的第8个计数脉冲作为当前待烧录程序数据的稳定采集点,该稳定采集点接近程序烧录时钟pg_clock中一个时钟周期内两个变化沿的中心点。当计数控制逻辑10的计数值为b1+8时,稳定采集点信号生成模块11生成稳定采集点信号cut_point,稳定采集点信号cut_point可以标记当前待烧录程序数据的稳定采集点。将该稳定采集点信号cut_point送入与门12,与门12根据稳定采集点信号cut_point、单片机工作时钟sys_clock和程序烧录时钟pg_clock生成数据采集信号d_collect,数据采集信号d_collect表示允许采集当前待烧录程序数据。程序数据采集和烧录逻辑20接收到数据采集信号d_collect后,采集当前待烧录程序数据,当前待烧录程序数据采集完毕后的程序数据即为data1,data1的值为1,存储data1。
同样的,当上位机2向单片机1发送下一个烧录时钟周期,计数控制逻辑10检测到程序烧录时钟pg_clock开始又一次为1时,计数控制逻辑10将此时的计数值标记为b2,同样的,在b2+8时刻,程序数据采集和烧录逻辑20进行稳定的当前待烧录程序数据采集,当前待烧录程序数据采集完毕后的程序数据即为data2,data2的值为0。同样的,计数控制逻辑10检测到程序烧录时钟pg_clock开始再一次为1时,计数控制逻辑10将此时的计数值标记为b3,同样的,在b3+8时刻程序数据采集和烧录逻辑20进行稳定的当前待烧录程序数据采集,当前待烧录程序数据采集完毕后的程序数据即为data3,data3的值为1。
进一步地,在本发明的一个实施例中,当在当前待烧录程序数据采集完毕之后且当前计数值与第一计数值之差小于M-1例如27之前时计数控制逻辑10检测到程序烧录时钟pg_clock产生预设变化沿,该预设变化沿无效,在该过程中程序数据采集和烧录逻辑20不采集待烧录程序数据。也就是说,当在当前待烧录程序数据采集完毕之后,一个程序烧录时钟pg_clock周期内,计数控制逻辑10的计数值未增加M-1例如27个时,在该计数过程中程序烧录时钟pg_clock产生的预设变化沿无效,即不会导致计数控制逻辑10进行误判断而开启程序烧录时钟pg_clock中是否产生预设变化沿的检测机制。只有当一个程序烧录时钟pg_clock周期内,计数控制逻辑10的计数值增加M-1例如27个时,计数控制逻辑10才会开启程序烧录时钟pg_clock中是否产生预设变化沿的检测机制,以准备进行下一个程序烧录时钟pg_clock周期的处理。例如在如图3所示的ERR_clock区域(该ERR_clock区域内的错误时钟脉宽较大,无法通过滤波方式消除),计数控制逻辑10将错误时钟产生的变化沿视为无效,继续进行计数,并正确进入下一个烧录时钟周期。因此,本发明实施例的单片机可以规避程序烧录时钟pg_clock变化沿和/或待烧录程序数据序列pg_data变化沿导致的干扰毛刺信号,实现避免错误数据的采集,大大提高单片机程序烧录过程的生产良率、正确率和统一性。
本发明实施例提出的单片机,通过计数控制逻辑检测上位机依次向单片机发送的程序烧录时钟中是否产生预设变化沿,且当程序烧录时钟中产生预设变化沿时,从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号,进而程序数据采集和烧录逻辑根据数据采集信号采集上位机依次向单片机发送的待烧录程序数据序列中的当前待烧录程序数据,并在当前待烧录程序数据采集完毕之后,烧录当前待烧录程序数据至单片机。该单片机可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,通过改变采集待烧录程序数据的时间点至稳定采集点以避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率、正确率和统一性,且不占用单片机外部资源,可操作性强,实现成本低。
此外,本发明再一方面实施例还提出了一种单片机程序数据烧录系统,如图5所示,该单片机程序数据烧录系统包括:上述的单片机1以及上位机2。其中,上位机2用于依次向单片机发送程序烧录时钟和待烧录程序数据序列,其中,待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数。
本发明实施例提出的单片机程序数据烧录系统可以在程序烧录时钟的电平转换和待烧录程序数据序列的电平转换产生胡扰串扰的情况下,通过上述的单片机改变采集待烧录程序数据的时间点至稳定采集点以避免干扰对待烧录程序数据烧录正确性的影响,从而可以大大提高单片机程序烧录过程的生产良率、正确率和统一性,且不占用单片机外部资源,可操作性强,实现成本低。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (15)

1.一种单片机程序数据烧录方法,其特征在于,包括以下步骤:
上位机依次向单片机发送程序烧录时钟和待烧录程序数据序列,其中,所述待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数;
所述单片机检测所述程序烧录时钟中是否产生预设变化沿;
当所述程序烧录时钟中产生所述预设变化沿时,所述单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号;以及
所述单片机根据所述数据采集信号采集当前待烧录程序数据,并在所述当前待烧录程序数据采集完毕之后,烧录所述当前待烧录程序数据。
2.如权利要求1所述的方法,其特征在于,所述单片机从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号包括以下步骤:
当所述单片机从所述第一计数值以所述单片机工作时钟的频率计数至所述预设计数值时,所述单片机生成稳定采集点信号;以及
对所述稳定采集点信号、所述单片机工作时钟和所述程序烧录时钟进行与操作,以生成所述数据采集信号。
3.如权利要求2所述的方法,其特征在于,当所述单片机工作时钟的频率与所述程序烧录时钟的频率之比为1:M时,所述预设计数值为B,且
其中,b为所述第一计数值,M大于或等于10。
4.如权利要求3所述的方法,其特征在于,在所述单片机从第一计数值以单片机工作时钟的频率计数至预设计数值之后,还包括以下步骤:
以所述单片机工作时钟的频率继续计数。
5.如权利要求4所述的方法,其特征在于,当在所述当前待烧录程序数据采集完毕之后且当前计数值与所述第一计数值之差小于M-1之前时检测到所述程序烧录时钟产生所述预设变化沿,所述预设变化沿无效。
6.如权利要求5所述的方法,其特征在于,所述第一计数值为当所述程序烧录时钟中产生所述预设变化沿时的计数值。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述预设变化沿为上升沿或下降沿。
8.一种单片机,其特征在于,包括:
计数控制逻辑,用于检测上位机依次向单片机发送的程序烧录时钟中是否产生预设变化沿,且当所述程序烧录时钟中产生所述预设变化沿时,从第一计数值以单片机工作时钟的频率计数至预设计数值,并生成数据采集信号;以及
程序数据采集和烧录逻辑,用于根据所述数据采集信号采集所述上位机依次向所述单片机发送的待烧录程序数据序列中的当前待烧录程序数据,并在所述当前待烧录程序数据采集完毕之后,烧录所述当前待烧录程序数据至单片机,其中,所述待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数。
9.如权利要求8所述的单片机,其特征在于,所述计数控制逻辑包括:
稳定采集点信号生成模块,用于当从所述第一计数值以所述单片机工作时钟的频率计数至所述预设计数值时,生成稳定采集点信号;以及
与门,用于对所述稳定采集点信号、所述单片机工作时钟和所述程序烧录时钟进行与操作,以生成所述数据采集信号。
10.如权利要求9所述的单片机,其特征在于,当所述单片机工作时钟的频率与所述程序烧录时钟的频率之比为1:M时,所述预设计数值为B,且
其中,b为所述第一计数值,M大于或等于10。
11.如权利要求10所述的单片机,其特征在于,所述计数控制逻辑还用于:
在从所述第一计数值以所述单片机工作时钟的频率计数至所述预设计数值之后,以所述单片机工作时钟的频率继续计数。
12.如权利要求11所述的单片机,其特征在于,当在所述当前待烧录程序数据采集完毕之后且当前计数值与所述第一计数值之差小于M-1之前时所述计数控制逻辑检测到所述程序烧录时钟产生所述预设变化沿,所述预设变化沿无效。
13.如权利要求12所述的单片机,其特征在于,所述第一计数值为当所述程序烧录时钟中产生所述预设变化沿时的计数值。
14.如权利要求8-13中任一项所述的单片机,其特征在于,所述预设变化沿为上升沿或下降沿。
15.一种单片机程序数据烧录系统,其特征在于,包括:
如权利要求8-14中任一项所述的单片机;以及
上位机,用于依次向所述单片机发送程序烧录时钟和待烧录程序数据序列,其中,所述待烧录程序数据序列包括N个待烧录程序数据,N为大于或等于1的整数。
CN201410592596.9A 2014-10-28 2014-10-28 单片机程序数据烧录方法、系统和单片机 Active CN105630520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410592596.9A CN105630520B (zh) 2014-10-28 2014-10-28 单片机程序数据烧录方法、系统和单片机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410592596.9A CN105630520B (zh) 2014-10-28 2014-10-28 单片机程序数据烧录方法、系统和单片机

Publications (2)

Publication Number Publication Date
CN105630520A CN105630520A (zh) 2016-06-01
CN105630520B true CN105630520B (zh) 2019-01-29

Family

ID=56045510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410592596.9A Active CN105630520B (zh) 2014-10-28 2014-10-28 单片机程序数据烧录方法、系统和单片机

Country Status (1)

Country Link
CN (1) CN105630520B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540912A (zh) * 2003-04-23 2004-10-27 华为技术有限公司 调节采样时钟保障同步数据可靠接收的方法及其装置
CN1848685A (zh) * 2005-04-04 2006-10-18 华为技术有限公司 一种毛刺消除装置和方法
CN1963756A (zh) * 2006-11-30 2007-05-16 南京Lg同创彩色显示系统有限责任公司 可选择模式进行程序升级的液晶显示器及其程序升级方法
CN203311856U (zh) * 2013-07-04 2013-11-27 青岛海信宽带多媒体技术有限公司 并行烧录器电路及烧录器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540912A (zh) * 2003-04-23 2004-10-27 华为技术有限公司 调节采样时钟保障同步数据可靠接收的方法及其装置
CN1848685A (zh) * 2005-04-04 2006-10-18 华为技术有限公司 一种毛刺消除装置和方法
CN1963756A (zh) * 2006-11-30 2007-05-16 南京Lg同创彩色显示系统有限责任公司 可选择模式进行程序升级的液晶显示器及其程序升级方法
CN203311856U (zh) * 2013-07-04 2013-11-27 青岛海信宽带多媒体技术有限公司 并行烧录器电路及烧录器

Also Published As

Publication number Publication date
CN105630520A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105261329B (zh) 多led显示模组管理方法
CN109709475A (zh) 输入/输出总线中的毛刺检测
CN103197999B (zh) 一种内存故障自动定位方法及装置
DE102010030935A1 (de) Empfindlichkeitssteuerung in Abhängkeit von einer Berührungsform
DE102012215531A1 (de) Kapazitiver Berührungssensor mit geringem Stromverbrauch
CN103986454B (zh) 一种数字数据信号的采样方法及装置
CN103713170A (zh) 测试与测量仪器中罕见异常的触发
CN107167833B (zh) 一种γ谱假峰甄别方法、存储介质和系统
CN103133169A (zh) 发动机位置管理系统及控制方法
CN101915727B (zh) 一种基于fpga的微粒检测统计系统及方法
CN104606784A (zh) 一种心脏起搏器系统及其控制方法
CN101615156A (zh) 可实时显示移动储存设备擦写寿命的系统
CN105630520B (zh) 单片机程序数据烧录方法、系统和单片机
CN106371979A (zh) 一种监控扩展控制器的方法、装置及系统
CN106802597B (zh) 一种增量式光电轴角编码器数据处理装置及处理方法
CN102467221A (zh) 用于检测电源信号中的噪声干扰的装置及方法
CN111124278A (zh) 一种固态硬盘提高读性能的方法、设备及介质
US20170329553A1 (en) Storage control device, storage system, and computer-readable recording medium
CN102915207A (zh) 固态储存装置及其数据储存方法
CN102880718A (zh) 一种灵活日志的存贮和获取方法
CN105357799B (zh) Led显示模组管理装置
CN105242603A (zh) 一种具有usb otg接口的电力采集终端及其调试升级方法
CN103888158B (zh) 带滤波的低频载波接收装置及方法
CN107632785A (zh) 一种存储设备的配置方法、装置及可读存储介质
CN109256998A (zh) 控制电机电流高精度采样的方法及系统和伺服电机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191231

Address after: 518119 1 Yanan Road, Kwai Chung street, Dapeng New District, Shenzhen, Guangdong

Patentee after: Shenzhen BYD Microelectronics Co., Ltd.

Address before: BYD 518118 Shenzhen Road, Guangdong province Pingshan New District No. 3009

Patentee before: Biyadi Co., Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 518119 No.1 Yan'an Road, Kuiyong street, Dapeng New District, Shenzhen City, Guangdong Province

Patentee after: BYD Semiconductor Co.,Ltd.

Address before: 518119 No.1 Yan'an Road, Kuiyong street, Dapeng New District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN BYD MICROELECTRONICS Co.,Ltd.

CP01 Change in the name or title of a patent holder