CN105117236B - 一种自动校验的编程烧写方法 - Google Patents
一种自动校验的编程烧写方法 Download PDFInfo
- Publication number
- CN105117236B CN105117236B CN201510370483.9A CN201510370483A CN105117236B CN 105117236 B CN105117236 B CN 105117236B CN 201510370483 A CN201510370483 A CN 201510370483A CN 105117236 B CN105117236 B CN 105117236B
- Authority
- CN
- China
- Prior art keywords
- data
- programming
- address
- programmable
- clock
- 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
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明涉及可编程电路的烧写方法,具体是一种自动校验的编程烧写方法,包括步骤:编程控制器接收烧写器发出的时钟和数据;地址信息在第三时钟的控制下通过地址输入输出总线串行移入地址寄存器,编程数据在第二时钟的控制下通过数据输入输出总线串行移入数据存储器;编程控制器发出编程指令和第一时钟,数据寄存器的内容写入到地址寄存器指定的存储空间,实现数据的烧录;累加校验单元对编程后的可编程存储器读取的数据进行累加校验,得到一个累加值;比较烧写器送出的校验值和累加值,得到正确或错误标记信号,来判断写入的数据是否正确。本发明节省了校验时间,提高了生产效率。
Description
技术领域
本发明涉及一种可编程电路的烧写校验方法,具体涉及一种自动校验的编程烧写方法。
背景技术
现有的otp(一次性可编程)、flash等可编程的MCU电路,在程序开发时,一般会有配套的烧写器,用于flash或otp的编程烧写。程序烧录进flash或otp后,为了确保程序烧录正确,一般还会通过烧写器将烧录的程序回读校验。如附图1所示,为了节省编程烧写引脚,烧写器采用四线制烧录(电源、地、时钟、双向数据口),烧写器进行数据烧写及数据回读时,都是通过一根数据线来实现的,其数据烧写和数据回读过程是分时的,如果烧写的数据需要全部回读出来,回读过程就需要花费比较长的时间。如附图2所示,是现有烧写器和MCU之间的烧写和校验回读时序图,校验回读过程中,数据是采用串行移位方式,从MCU的可编程存储器里面读出的数据给烧写器校验,一般烧写了多少个数据,就需要串行读出多少个数据来校验,已确保写入的数据都得到正确的编程,因此在编程数据回读校验时,编程容量越大,串行回读校验所花费的时间也就越多。
采用上述的方式进行烧写校验,MCU电路内部可编程存储器和MCU电路接口设计如附图3所示,MCU电路包括编程控制器、可编程存储器、数据寄存器和地址寄存器。该方式的校验原理是:(1)编程控制器接收烧写器发出的时钟和数据,可以使电路进入编程模式或读出校验模式;(2)在编程模式下,编程控制器接收烧写器发出的时钟和数据(包括地址信息和编程数据),地址信息在第三时钟(clk3)的控制下通过地址输入输出端口(aio)串行移入地址寄存器,决定编程的地址;编程数据在第二时钟(clk2)的控制下通过串行数据输入输出端口(dio)串行移入数据寄存器;(3)完成数据串并转换后,烧写器打入烧写命令,编程控制器发出编程指令(prog)和第一时钟(clk1),数据寄存器的内容写入到地址寄存器指定的存储空间,实现数据的烧录;(4)完成数据烧录后,为了校验烧录的正确性,烧写器再打入校验命令,编程控制器使电路进入校验模式;(5)在校验模式下,编程控制器接收烧写器发出的地址信息,先指定要校验存储空间的地址,接着发出读取信号(read)和第一时钟(clk1),将指定地址空间的内容读出到数据寄存器,再通过第二时钟(clk2),将数据寄存器的内容串行移出,通过数据端口送给烧写器校验。
现有的烧写校验方法存在的缺点是:写入的数据越多,串行读出的时间越长,这个缺点最终会导致产品的批量编程的生产效率低下。
发明内容
本发明的目的是克服现有技术的缺陷,提供一种自动校验的编程烧写方法,该方法在数据烧写的过程中就能够实现对烧写成功的数据进行自动校验,节省校验回读时间。
为了解决上述技术问题,本发明所采用的技术方案是:一种自动校验的编程烧写方法,基于可编程的MCU电路,该电路包括编程控制器、可编程存储器、数据寄存器和地址寄存器,其特征在于,所述的烧写方法的实现还基于MCU电路中增加了累加校验单元,所述的累加校验单元分别与可编程存储器、数据寄存器和编程控制器连接,该烧写方法具体包括如下步骤:(1)所述编程控制器接收配套的烧写器发出的时钟信号和数据信号,数据信号中包括地址信息和编程数据;(2)所述编程控制器中的地址信息在第三时钟的控制下通过地址输入输出总线串行移入地址寄存器,存储编程的地址,编程数据在第二时钟的控制下通过数据输入输出总线串行移入数据存储器;(3)在完成数据串并转换后,烧写器打入烧写命令,编程控制器发出编程指令和第一时钟,数据寄存器的内容写入到地址寄存器指定的存储空间,实现数据的烧录,在完成所有数据烧录后,烧写器发出一个校验值,数据寄存器将烧写器送出的校验值完成串并转换后送入累加校验单元;(4)所述可编程存储器进行对数据的编程存储,并将存储的数据发送到累加校验单元,所述累加校验单元对编程后的可编程存储器读取的数据进行累加校验,得到一个累加值;(5)通过所述累加校验单元比较累加值和烧写器送出的校验值,若校验值和累加值一致,则得到一个正确标志信号,并将正确标志信号通过编程控制器发送给烧写器;若校验值和累加值不一致,则得到一个错误标记信号,并将错误标志信号通过编程控制器发送给烧写器,烧写器根据返回的标志信号来判断写入的数据是否正确,如果接收到正确标志信号,则判断数据烧录正确,如果接收到错误标志信号,则判断数据烧录失效。
优选的:上述步骤(4)中的累加校验单元对可编程存储器中的数据进行读取累加校验的方式有两种。
第一种方式是进行当前地址编程后即读出给累加校验单元进行累加计算累加值;当字节或字编程时间加上读取时间小于等于数据串行移位时间时,采用的是此种方式,数据的移位、编程、读取、地址递增采用流水线方式进行,在进行当前数据移位时,编程控制器进行对上一次移位数据进行编程和读取动作,累加校验单元执行对当前读取数据进行累加计算,累加计算后当前地址加1,执行下一个数据的串行移位,并将上次移位数据写入到数据缓存中。
第二种方式是在所有地址编程结束后,顺序读取所有地址内容给累加校验单元进行累加计算累加值;当字节或字编程时间加上读取时间大于数据串行移位时间时,采用的是这种方式,编程控制器先对电路按地址顺序进行编程,编程结束后再按地址顺序将可编程存储器的内容读取进行累加,最后得到一个累加值。
本发明的有益效果是:在现有的MCU电路中增加了累加校验单元,能够实现自动校验功能,校验结束后送出少量的校验数据(即正确标志信号或错误标志信号)给烧写器做校验确认即可,可以节省回读校验时间,能够提高产品批量编程生产效率。
附图说明
图1,现有技术四线制烧写器与MCU电路的连接示意图;
图2,现有技术烧写器和MCU之间的烧写和校验回读时序图;
图3,现有技术MCU电路内部可编程存储器和MCU电路接口连接图;
图4,本发明MCU电路内部可编程存储器和MCU电路接口连接图;
图5,本发明实现实施例一的时序图;
图6,本发明实现实施例二的时序图。
具体实施方式
下面结合附图4-6来说明本发明的工作原理以及实现方式。
如图4所示,是本发明MCU电路内部可编程存储器和MCU电路接口连接图,该电路图中,包括可编程存储器、数据寄存器、地址寄存器(包括地址递增)、累加校验单元、编程控制器。所述的编程控制器通过时钟和数据端口连接配套的烧写器;所述的编程控制器通过第二时钟(clk2)、串行数据输入输出端口(dio)、数据传输方向(dir)端口分别与数据寄存器的时钟输入端口、串行数据输入输出端口、数据传输方向输入端口连接,数据寄存器的并行总线输入/输出端连接可编程存储器的数据总线(Data_bus);所述的编程控制器通过第三时钟(clk3)、地址输入输出端口(aio)分别连接地址寄存器的时钟输入端、地址输入端口,地址寄存器的地址总线输出端与可编程存储器的地址总线输入端连接;所述累加校验单元的输入端连接可编程存储器,其输出端连接编程控制器,所述数据寄存器也与累加校验单元连接。该电路的工作原理是:所述编程控制器接收配套的烧写器发出时钟信号、地址信息和编程数据;所述编程控制器中的地址信息在第三时钟(clk3)的控制下通过地址输入输出接口(aio)串行移入地址寄存器,存储编程的地址,编程数据在第二时钟(clk2)的控制下通过串行数据输入输出接口(dio)串行移入数据寄存器;(3)在完成数据串并转换后,烧写器打入烧写命令,编程控制器发出编程指令(prog)和第一时钟(clk1),数据寄存器的内容写入到地址寄存器指定的存储空间,实现数据的烧录,在完成所有数据烧录后,烧写器发出一个校验值,数据寄存器将烧写器送出的校验值完成串并转换后送入累加校验单元;(4)所述可编程存储器进行对数据的编程存储,并将存储的数据发送到累加校验单元,所述的累加校验单元对编程后的可编程存储器读取的数据进行累加校验,得到一个累加值;(5)通过所述累加校验单元比较累加值和烧写器送出的校验值,若校验值和累加值一致,则得到一个正确标志信号(ack),并将正确标志信号通过编程控制器发送给烧写器;若校验值和累加值不一致,则得到一个错误标记信号(nack),并将错误标志信号通过编程控制器发送给烧写器,烧写器根据返回的标志信号来判断写入的数据是否正确,如果接收到正确标志信号,则判断数据烧录正确,如果接收到错误标志信号,则判断数据烧录失效。
实施例一:若某款flash ip要求的byte编程时间是6~7.5us,读取时间是32ns,如果设计byte编程时间取7us,读取时间32ns,那么加起来的编程时间和读取时间为7.032us;而烧写器端口通信时钟设为1MHz,串行移位传输1个byte需要8个时钟,也就是8us时间,编程时间和读取时间共7.032 us小于串行移位8us的时间,则本实施例中累加校验单元对于可编程存储器中的编程数据的读取累加校验采用第一种实现方式。即数据的移位、编程、读取、地址递增采用流水线方式进行,在进行当前数据移位时,编程控制器进行对上一次移位数据进行编程和读取动作,累加校验单元执行对当前读取数据进行累加计算,累加计算后当前地址加1,执行下一个数据的串行移位,并将上次移位数据写入到数据缓存(DATA_REG)中。
流水线过程如下表格所示:
此种实现方式的时序图如附图5所示。
实施例二::若某款flash ip要求的byte编程时间是6~7.5us,读取时间是32ns,如果设计byte编程时间取7us,读取时间32ns,那么加起来的编程时间和读取时间为7.032us;假设烧写器端口通信时钟假设为10MHz,串行移位传输1个byte需要8个时钟,也就是0.8us时间,则本实施例中累加校验单元对于可编程存储器中的编程数据的读取累加校验采用第二种实现方式。编程控制器先对电路按地址顺序进行编程,编程结束后再按地址顺序将可编程存储器的内容读取进行累加,最后得到一个累加值。从附图6的时序图中可以看出,和原先校验时序图(附图2)相比,不再进行并串转换后将数据从编程口串行输出,每个地址只需要1个读时钟的时间即可,大大节省了烧写器校验回读的时间。
本发明累加校验单元将累加得到的一个累加值累加,和烧写器发送的校验值进行比较,产生正确标志信号或者错误标志信号,烧写器根据标志信号判断此次烧录是否成功,本发明在累加校验单元校验结束后只送出少量的校验数据给烧写器做校验确认即可,大大提高了产品批量编程生产效率。
Claims (4)
1.一种自动校验的编程烧写方法,基于可编程的 MCU 电路,该电路包括编程控制器、可 编程存储器、数据寄存器和地址寄存器,其特征在于,所述烧写方法的实现还基于MCU电路中增加了累加校验单元,所述累加校验单元分别与可编程存储器、数据寄存器和编程控制器连接,该烧写方法具体包括如下步骤 :
(1)所述编程控制器接收配套的烧写器发出的时钟信号和数据信号,数据信号中包括地址信息和编程数据 ;
(2)所述编程控制器中的地址信息在第三时钟的控制下通过地址输入输出总线串行移入地址寄存器,存储编程的地址,编程数据在第二时钟的控制下通过串行数据输入输出总线串行移入数据寄存器 ;
(3)在完成数据串并转换后,烧写器打入烧写命令,所述编程控制器发出编程指令和第一时钟,所述数据寄存器的内容写入到地址寄存器指定的存储空间,实现数据的烧录,在完成所有数据烧录后,烧写器发出一个校验值,数据寄存器将烧写器送出的校验值完成串并转换后送入累加校验单元 ;
(4)所述可编程存储器进行对数据的编程存储,并将存储的数据发送到累加校验单元,所述累加校验单元对编程后的可编程存储器读取的数据进行累加校验,得到一个累加值 ;
(5)通过所述累加校验单元比较累加值和烧写器送出的校验值,若校验值和累加值一致,则得到一个正确标志信号,并将正确标志信号通过编程控制器发送给烧写器 ;若校验值和累加值不一致,则得到一个错误标志信号,并将错误标志信号通过编程控制器发送给烧写器,烧写器根据返回的标志信号来判断写入的数据是否正确,如果接收到正确标志信号,则判断数据烧录正确,如果接收到错误标志信号,则判断数据烧录失效。
2.根据权利要求 1 所述的自动校验的编程烧写方法,其特征在于,所述的步骤(4)中的累加校验单元对可编程存储器中的数据进行读取累加校验的方式有两种,第一种方式是进行当前地址编程后即读出给累加校验单元进行累加计算得出累加值 ;第二种方式是在所有 地址编程结束后,顺序读取所有地址内容给累加校验单元进行累加计算得出累加值。
3.根据权利要求 2 所述的自动校验的编程烧写方法,其特征在于,当字节或字编程时间加上读取时间小于等于数据串行移位时间时,采用的是所述的第一种方式,数据的移位、编程、读取、地址递增采用流水线方式进行,在进行当前数据移位时,编程控制器进行对上一次移位数据进行编程和读取动作,累加校验单元执行对当前读取数据进行累加计算,累加计算后当前地址加 1,执行下一个数据的串行移位,并将上次移位数据写入到数据缓存中。
4.根据权利要求 2 所述的自动校验的编程烧写方法,其特征在于,当字节或字编程时间加上读取时间大于数据串行移位时间时,采用的是所述的第二种方式,编程控制器先对电路按地址顺序进行编程,编程结束后再按地址顺序将可编程存储器的内容读取进行累加,最后得到一个累加值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510370483.9A CN105117236B (zh) | 2015-06-30 | 2015-06-30 | 一种自动校验的编程烧写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510370483.9A CN105117236B (zh) | 2015-06-30 | 2015-06-30 | 一种自动校验的编程烧写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117236A CN105117236A (zh) | 2015-12-02 |
CN105117236B true CN105117236B (zh) | 2018-06-01 |
Family
ID=54665238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510370483.9A Active CN105117236B (zh) | 2015-06-30 | 2015-06-30 | 一种自动校验的编程烧写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117236B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933603B (zh) * | 2015-12-29 | 2024-03-05 | 深圳市博巨兴微电子科技有限公司 | 一种芯片烧录的方法、装置和微控制器 |
CN109189405B (zh) * | 2018-07-19 | 2022-03-01 | 山东省科学院自动化研究所 | 一种验证程序Flash数据一致性的方法及系统 |
CN110007931A (zh) * | 2019-01-21 | 2019-07-12 | 合肥市航嘉电子技术有限公司 | 烧写模块及其烧写方法 |
CN110956913B (zh) * | 2019-11-21 | 2022-07-26 | Tcl华星光电技术有限公司 | 时序控制器验证系统及时序控制器验证方法 |
CN111338658B (zh) * | 2020-02-27 | 2023-10-10 | 上海电力大学 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
CN112685344B (zh) * | 2020-12-30 | 2024-05-14 | 合肥市芯海电子科技有限公司 | Dma编程电路及基于dma编程电路的编程方法 |
CN113805903B (zh) * | 2021-09-27 | 2024-02-13 | 深圳市爱协生科技股份有限公司 | 烧录控制方法、烧录控制设备和烧录系统 |
CN113836059B (zh) * | 2021-11-26 | 2022-03-29 | 广州智慧城市发展研究院 | 一种应用于eeprom存储器的控制系统 |
CN116541032B (zh) * | 2023-07-04 | 2023-09-29 | 英诺达(成都)电子科技有限公司 | 数据烧录方法、装置、设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736938A (zh) * | 2012-06-18 | 2012-10-17 | 中国电子科技集团公司第十研究所 | Fpga配置程序的烧写方法 |
CN103646585A (zh) * | 2013-12-17 | 2014-03-19 | 张玉馥 | 嵌入式单片机应用技术项目实训系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212442B2 (en) * | 2004-07-28 | 2007-05-01 | Inventec Corporation | Structure for directly burning program into motherboard |
-
2015
- 2015-06-30 CN CN201510370483.9A patent/CN105117236B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736938A (zh) * | 2012-06-18 | 2012-10-17 | 中国电子科技集团公司第十研究所 | Fpga配置程序的烧写方法 |
CN103646585A (zh) * | 2013-12-17 | 2014-03-19 | 张玉馥 | 嵌入式单片机应用技术项目实训系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105117236A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117236B (zh) | 一种自动校验的编程烧写方法 | |
CN103839584B (zh) | 半导体存储器件、包括其的存储系统及其制造方法 | |
CN109119125A (zh) | 存储装置及其操作方法 | |
CN103632710B (zh) | 半导体存储器件 | |
CN106843983A (zh) | 远程升级现场可编程门阵列的系统及方法 | |
TW201128647A (en) | Non-volatile memory device and the data processing method thereof | |
CN110299176A (zh) | 存储器控制器及具有该存储器控制器的存储器系统 | |
CN110347529B (zh) | 用于执行错误侦测协议的存储器装置及方法 | |
CN102736938A (zh) | Fpga配置程序的烧写方法 | |
CN109256162A (zh) | 半导体存储器件及其编程方法 | |
CN106653083A (zh) | 半导体存储器件及其操作方法 | |
US20140229687A1 (en) | Method and apparatus for calibrating a memory interface with a number of data patterns | |
CN110473582A (zh) | 存储器系统及其操作方法 | |
CN102592679B (zh) | 一种闪存芯片的测试方法和闪存芯片 | |
CN106933603A (zh) | 一种芯片烧录的方法、装置和微控制器 | |
CN109979513A (zh) | 半导体存储器装置及其操作方法 | |
CN110321292A (zh) | 芯片测试方法、装置、电子设备及计算机可读存储介质 | |
CN109754840A (zh) | 半导体存储器装置及其操作方法 | |
CN105575437A (zh) | 智能卡eeprom的测试方法 | |
CN104969198B (zh) | 存储器装置及验证数据路径完整性的方法 | |
CN110297786A (zh) | 存储器控制器、具有该控制器的存储器系统及其操作方法 | |
CN102866900A (zh) | 更新fpga控制单元的配置数据的方法及系统 | |
CN109493910A (zh) | 微控制器及其操作方法以及具有该微控制器的存储系统 | |
CN103838638B (zh) | Fpga外挂存储器校验方法及装置 | |
CN107704351B (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 | ||
CP03 | Change of name, title or address |
Address after: 214135 -6, Linghu Avenue, Wuxi Taihu international science and Technology Park, Wuxi, Jiangsu, China, 180 Patentee after: China Resources micro integrated circuit (Wuxi) Co., Ltd Address before: No.180-22, Linghu Avenue, Taihu International Science and Technology Park, Wuxi, Jiangsu, 214135 Patentee before: WUXI CHINA RESOURCES SEMICO Co.,Ltd. |
|
CP03 | Change of name, title or address |