CN105575426B - 一种嵌入式闪存的在线编程电路及其控制方法 - Google Patents
一种嵌入式闪存的在线编程电路及其控制方法 Download PDFInfo
- Publication number
- CN105575426B CN105575426B CN201410524019.6A CN201410524019A CN105575426B CN 105575426 B CN105575426 B CN 105575426B CN 201410524019 A CN201410524019 A CN 201410524019A CN 105575426 B CN105575426 B CN 105575426B
- Authority
- CN
- China
- Prior art keywords
- equipment
- flash memory
- online programming
- mcu
- embedded
- 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
- Read Only Memory (AREA)
Abstract
本发明涉及嵌入式系统领域,具体是一种嵌入式闪存的在线编程电路,该电路包括时钟产生器、复位产生器、I2C从设备、闪存控制器、嵌入式闪存、MCU以及其他模块;时钟产生器的输入端与在线编程使能信号端连接,其输出端与I2C从设备、闪存控制器、MCU、其他模块连接;复位产生器的输入端与在线编程使能信号端连接,其输出端I2C从设备、闪存控制器、MCU;I2C从设备的输入端分别连接在线编程使能信号端和I2C主设备,其输出端与闪存控制器的输入端连接;闪存控制器的输出端与MCU、嵌入式闪存连接。本发明的电路结构简单,管脚少,成本小,其控制方法清晰明了。
Description
技术领域
本发明涉及嵌入式系统中的无线充电发送电路领域,具体是一种嵌入式闪存的在线编程电路及其控制方法。
背景技术
随着大规模集成电路和半导体技术飞速发展,嵌入式系统的出现和发展引发了微电子领域的巨大变革,并成为IC设计的主流和趋势。在嵌入式系统应用中,往往需要一块或者多块存储器来存放一些必要的程序。为了实现和完成这一功能,基于容量和实际应用等需求的考虑,现在多采用闪存来实现。
目前,对于闪存的编程大多采用专用的编程器进行,但这种离线编程方法的缺点非常明显:即编程麻烦,它不能对闪存内容进行任意的在线修改。针对这种缺陷,市场上也开发出了一些适用于闪存的在线编程方法。常用的闪存的在线编程方法包括:通过CPU协助进行系统编程(ISP);利用诸如在板测试ICT仿真器等其他设备进行闪存协助编程;通过诸如JTAG或者串口等一些标准接口访问闪存进行在线编程。对于现有的这些在线编程方法都存在一些缺陷:例如,采用仿真器的方法,则需要额外购买仿真器,增加了开发成本;采用JTAG或者串口等一些标准接口访问闪存进行在线编程,则需要很多的管脚,增加了在线编程的复杂度。
发明内容
本发明的目的是针对背景技术中存在的缺陷,提出了一种解决方案,即一种嵌入式闪存的在线编程电路及其控制方法,能够解决现有技术成本大,结构复杂,编程速度慢的问题。
为了解决上述技术问题,本发明所采用的技术方案是:一种嵌入式闪存的在线编程电路,用于无线充电发送电路中,该电路包括MCU,其特征是:还包括时钟产生器、复位产生器、I2C从设备、闪存控制器和嵌入式闪存;所述的时钟产生器的输入端与在线编程使能信号端连接,时钟产生器的输出端分别与I2C从设备、闪存控制器、MCU连接;所述的复位产生器的输入端与在线编程使能信号端连接,复位产生器的输出端与I2C从设备、闪存控制器、MCU连接;所述的I2C从设备的输入端连接在线编程使能信号端和I2C主设备,I2C从设备的输出端与闪存控制器的输入端连接;所述的闪存控制器的输出端与MCU、嵌入式闪存连接。
基于上述的嵌入式闪存的在线编程电路,本发明还提供了一种嵌入式闪存的控制方法,该方法包括以下5个步骤:(1)控制无线充电发送电路处于在线编程模式,将在线编程使能信号端拉高,时钟产生器产生I2C从设备和闪存控制器工作所需要的时钟信号,并使MCU的时钟不输出,复位产生器释放I2C从设备和闪存控制器的复位信号,使得I2C从设备和闪存控制器正常工作,使得MCU处于复位状态;(2)在在线编程模式下,将I2C从设备与I2C主设备相连,I2C从设备接收由通过I2C端口输入的I2C总线信号,并转换成I2C寄存器读写总线信号;(3)闪存控制器进行寄存器的读写操作,闪存控制器接收I2C从设备输入的I2C寄存器读写总线信号,经寄存器译码部件解译出闪存的操作命令,根据操作命令由工作状态机产生闪存的工作状态信号,并由时序信号产生部件产生符合嵌入式内存操作时序的信号;(4)通过控制时钟产生器和复位产生器使得无线充电发送电路处于复位,闪存控制器进入空闲状态,寄存器译码部件根据收到的操作命令控制工作状态机的工作状态,如果寄存器译码部件接收到烧写命令,工作状态机的状态进入烧写状态并等待烧写结束后返回到空闲状态;如果寄存器译码部件接收到的是读取命令,工作状态机的状态进入读取状态并等待读取结束后返回到空闲状态;如果寄存器译码部件接收到的是擦除命令,工作状态机的状态进入擦除状态并等待擦除结束后返回到空闲状态;(5)无线充电发送电路复位释放,MCU处于正常工作状态,MCU通过闪存控制器读取存放在嵌入式闪存中的程序,从而控制无线充电发送电路的工作,从而实现嵌入式闪存的在线编程的控制。
优选的:所述的时钟产生器是由时钟门控部件和OSC信号产生部件组成的。
优选的:所述的OSC信号产生部件采用内置的RC振荡器。
优选的:所述的复位产生器是由复位门控部件和同步复位产生部件组成。
优选的:所述的闪存控制器是由寄存器译码部件、工作状态机和时序信号产生部件组成的。
优选的:所述的MCU采用的是嵌入式8051内核的MCU。
本发明的有益效果是:本发明提供了一种新颖的在线编程电路,通过该电路能够实现在无线充电发送电路中的闪存的在线编程。与现有技术相比,本发明采用I2C端口作为编程端口,由于I2C端口只需要两个管脚,比其他现有的在线编程方式所需要的管脚大大的减少,适合封装管脚较少的芯片电路。
本发明的电路结构其实现成本也很低,由于I2C是通用的总线协议,市面上能找到的符合协议规范的I2C主设备较多,相比其他在线编程方式所需要的专用编程器、仿真器,成本大大降低。
附图说明
图1,本发明的在线编程电路的结构框图;
图2,图1中时钟产生器的组成结构框图;
图3,图1中复位产生器的组成结构框图;
图4,图1中闪存控制器的组成结构框图;
图5,图4中闪存控制器状态控制流程。
具体实施方式
下面结合附图以及优选的方案对本发明的具体实施方式作进一步的说明。
如图1所示,是本发明的在线编程电路的结构框图,具体是一种嵌入式闪存的在线编程电路,该电路由时钟产生器1、复位产生器2、I2C从设备3、闪存控制器4、嵌入式闪存5、MCU6。所述的时钟产生器1的输入端与在线编程使能信号端8连接,时钟产生器1的输出端分别与I2C从设备3、闪存控制器4、MCU6连接;所述的复位产生器2的输入端也与在线编程使能信号端8连接,复位产生器2的输出端I2C从设备3、闪存控制器4、MCU 6连接;所述的I2C从设备3的输入端连接在线编程使能信号端8和I2C主设备9,其输出端与闪存控制器4的输入端连接,I2C从设备3具体是一种符合通用I2C协议的设备;所述的闪存控制器4的输出端与MCU6、嵌入式闪存5连接。
如图2所示,是所述的时钟产生器1的组成框图,所述的时钟产生器1是由时钟门控部件11和OSC信号产生部件12组成的。所述的OSC信号产生部件12可以采用内置的RC振荡器。
如图3所示,是所述的复位产生器2的组成框图,所述的复位产生器2是由复位门控部件13和同步复位产生部件14组成。
如图4所示,是所述的闪存控制器4的组成框图,所述的闪存控制器4是由寄存器译码部件15、工作状态机16和时序信号产生部17组成的。
如图5所示,是所述的闪存控制器4的状态控制流程图,其具体流程描述为:当无线充电发送电路复位时,闪存控制器4进入空闲状态。此时根据寄存器译码部件15收到的操作命令,闪存控制器4工作状态机16会进入相应的工作状态。如果接收到烧写命令,工作状态机16进入烧写状态并等待烧写结束后返回到空闲状态;如果接收到的是读取命令,工作状态机16进入读取状态并等待读取结束后返回到空闲状态;如果接收到的是擦除命令,工作状态机16进入擦除状态并等待擦除结束后返回到空闲状态。
实施例:本实施例中控制流程的实现是基于所述的在线编程电路的,并将本发明的在线编程电路应用于无线充电发送电路中,其中用于无线充发送功能时可以通过在线编程电路中的MCU 6与外部电路模块连接。首先控制无线充电发送电路处于在线编程模式,将在线编程使能信号端8拉高,时钟产生器1产生I2C从设备3和闪存控制器4工作所需要的时钟信号,并使MCU 6的时钟不输出,复位产生器2释放I2C从设备3和闪存控制器4的复位信号,使得I2C从设备3和闪存控制器4正常工作,使得MCU6处于复位状态;在在线编程模式下,将I2C从设备3与I2C主设备9相连,I2C从设备3接收由通过I2C端口输入的I2C总线信号,并转换成I2C寄存器读写总线信号;在I2C从设备3接收到I2C总线信号后,对闪存控制器4进行寄存器的读写操作,闪存控制器4接收I2C从设备3输入的I2C寄存器读写总线信号,经寄存器译码部件15解译出闪存的操作命令,根据操作命令由工作状态机16产生闪存的工作状态信号,并由时序信号产生部件17产生符合嵌入式内存操作时序的信号;通过控制时钟产生器1和复位产生器2使得无线充电发送电路处于复位,闪存控制器4进入空闲状态,此时根据闪存控制器4寄存器译码部件15收到的操作命令,由所述的工作状态机16进入相应的工作状态,如果寄存器译码部件15接收到烧写命令,工作状态机16的状态进入烧写状态并等待烧写结束后返回到空闲状态;如果寄存器译码部件15接收到的是读取命令,工作状态机16的状态进入读取状态并等待读取结束后返回到空闲状态;如果寄存器译码部15接收到的是擦除命令,工作状态机16的状态进入擦除状态并等待擦除结束后返回到空闲状态;在无线充电发送电路处于复位时,MCU6处于正常工作状态,MCU6通过闪存控制器4读取存放在嵌入式闪存5中的程序,从而控制无线充电发送电路的工作,从而实现嵌入式闪存的在线编程的控制。
本发明的在线编程电路由于采用I2C端口作为编程端口,与现有技术方案相比具有以下优点:管脚少,由于I2C端口只需两个管脚,比其他在线编程方式所需的管脚大大的减少,适合封装管脚较少的芯片电路;成本低,由于I2C是通用的总线协议,市面上能找到符合协议规范的I2C主设备较多,相比其他在线编程方式所需要的专用编程器,成本大大降低。
Claims (7)
1.一种嵌入式闪存的在线编程电路,用于无线充电发送电路中,该电路包括MCU(6),其特征是:还包括时钟产生器(1)、复位产生器(2)、I2C从设备(3)、闪存控制器(4)和嵌入式闪存(5);所述的时钟产生器(1)的输入端与在线编程使能信号端(8)连接,时钟产生器的输出端分别与I2C从设备、闪存控制器、MCU连接;所述的复位产生器(2)的输入端与在线编程使能信号端(8)连接,复位产生器(2)的输出端与I2C从设备、闪存控制器、MCU连接;所述的I2C从设备(3)的输入端连接在线编程使能信号端(8)和I2C主设备(9),I2C从设备(3)的输出端与闪存控制器的输入端连接;所述的闪存控制器的输出端与MCU、嵌入式闪存连接。
2.根据权利要求1所述的嵌入式闪存的在线编程电路,其特征是:所述的时钟产生器(1)是由时钟门控部件(11)和OSC信号产生部件(12)组成的。
3.根据权利要求2所述的嵌入式闪存的在线编程电路,其特征是:所述的OSC信号产生部件(12)采用内置的RC振荡器。
4.根据权利要求1所述的嵌入式闪存的在线编程电路,其特征是:所述的复位产生器(2)是由复位门控部件(13)和同步复位产生部件(14)组成。
5.根据权利要求1所述的嵌入式闪存的在线编程电路,其特征是:所述的闪存控制器是由寄存器译码部件(15)、工作状态机(16)和时序信号产生部件(17)组成的。
6.根据权利要求1所述的嵌入式闪存的在线编程电路,其特征是:所述的MCU采用的是嵌入式8051内核的MCU。
7.一种嵌入式闪存的控制方法,基于所述的嵌入式闪存的在线编程电路,其特征在于,该控制方法具体包括如下步骤:
(1)控制无线充电发送电路处于在线编程模式,将在线编程使能信号端拉高,时钟产生器产生I2C从设备和闪存控制器工作所需要的时钟信号,并使MCU的时钟不输出,复位产生器释放I2C从设备和闪存控制器的复位信号,使得I2C从设备和闪存控制器正常工作,使得MCU处于复位状态;
(2)在在线编程模式下,将I2C从设备与I2C主设备相连,I2C从设备接收由通过I2C端口输入的I2C总线信号,并转换成I2C寄存器读写总线信号;
(3)闪存控制器进行寄存器的读写操作,闪存控制器接收I2C从设备输入的I2C寄存器读写总线信号,经寄存器译码部件解译出闪存的操作命令,根据操作命令由工作状态机产生闪存的工作状态信号,并由时序信号产生部件产生符合嵌入式内存操作时序的信号;
(4)通过控制时钟产生器和复位产生器使得无线充电发送电路处于复位,闪存控制器进入空闲状态,寄存器译码部件根据收到的操作命令控制工作状态机的工作状态,如果寄存器译码部件接收到烧写命令,工作状态机的状态进入烧写状态并等待烧写结束后返回到空闲状态;如果寄存器译码部件接收到的是读取命令,工作状态机的状态进入读取状态并等待读取结束后返回到空闲状态;如果寄存器译码部件接收到的是擦除命令,工作状态机的状态进入擦除状态并等待擦除结束后返回到空闲状态;
(5)无线充电发送电路复位释放,MCU处于正常工作状态,MCU通过闪存控制器读取存放在嵌入式闪存中的程序,从而控制无线充电发送电路的工作,从而实现嵌入式闪存的在线编程的控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410524019.6A CN105575426B (zh) | 2014-10-08 | 2014-10-08 | 一种嵌入式闪存的在线编程电路及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410524019.6A CN105575426B (zh) | 2014-10-08 | 2014-10-08 | 一种嵌入式闪存的在线编程电路及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105575426A CN105575426A (zh) | 2016-05-11 |
CN105575426B true CN105575426B (zh) | 2019-07-12 |
Family
ID=55885472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410524019.6A Active CN105575426B (zh) | 2014-10-08 | 2014-10-08 | 一种嵌入式闪存的在线编程电路及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105575426B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315812A (zh) * | 2008-03-20 | 2008-12-03 | 上海交通大学 | 基于并口的flash存储器在线编程方法 |
CN103729213A (zh) * | 2013-12-18 | 2014-04-16 | 杭州华为数字技术有限公司 | 一种Flash在线升级的方法及装置 |
CN203761526U (zh) * | 2014-03-10 | 2014-08-06 | 南京创维平面显示科技有限公司 | 一种电视在线烧写电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8391068B2 (en) * | 2010-12-20 | 2013-03-05 | Texas Instruments Incorporated | Adaptive programming for flash memories |
-
2014
- 2014-10-08 CN CN201410524019.6A patent/CN105575426B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315812A (zh) * | 2008-03-20 | 2008-12-03 | 上海交通大学 | 基于并口的flash存储器在线编程方法 |
CN103729213A (zh) * | 2013-12-18 | 2014-04-16 | 杭州华为数字技术有限公司 | 一种Flash在线升级的方法及装置 |
CN203761526U (zh) * | 2014-03-10 | 2014-08-06 | 南京创维平面显示科技有限公司 | 一种电视在线烧写电路 |
Non-Patent Citations (2)
Title |
---|
可在线编程的多功能单片机实验板;朱松盛等;《南京师范大学学报(工程技术版)》;20060630;第6卷(第2期);第42-45页 |
基于MAX16031系统管理器的在线编程设计;易燕等;《电子设计工程》;20091130;第17卷(第11期);第120-121页 |
Also Published As
Publication number | Publication date |
---|---|
CN105575426A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20110124617A (ko) | 시스템-온-칩 및 그것의 디버깅 방법 | |
CN102592683B (zh) | 一种芯片测试模式的进入方法及相关装置 | |
WO2018018978A1 (zh) | 一种通用串行总线控制器验证方法、系统及设备 | |
CN102662835A (zh) | 一种针对嵌入式系统的程序调试方法及嵌入式系统 | |
CN103324583B (zh) | 一种光纤陀螺离线高速数据采集方法 | |
CN105335548B (zh) | 一种用于ice的mcu仿真方法 | |
CN111897749A (zh) | 基于Quad-SPI控制器与外扩FLASH通信控制系统及方法 | |
CN109408445A (zh) | 一种图形处理器板卡 | |
CN111914501A (zh) | 一种基于UVM验证方法学的FeRAM接口验证平台的实现方法 | |
CN106773954A (zh) | 一种微控制器芯片中的工作模式控制方法 | |
CN102855150A (zh) | 一种向待编程设备烧录信息的方法及系统 | |
CN109765482A (zh) | 一种多芯片间高速互连测试方法 | |
CN108920197A (zh) | 一种提高fpga串行被动加载速率的加载电路及加载方法 | |
CN105094886A (zh) | 一种从pc机烧录序列号至含rs485总线的下位机的装置和方法 | |
CN203250308U (zh) | 内嵌于芯片的usb转jtag调试装置 | |
RU189940U1 (ru) | Мезонинный модуль твердотельной памяти | |
CN107506321A (zh) | 一种基于龙芯2H芯片的COMe_nano核心板 | |
CN104077080B (zh) | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 | |
CN105575426B (zh) | 一种嵌入式闪存的在线编程电路及其控制方法 | |
CN107943644A (zh) | 一种用于基于local bus总线的设计的功能验证平台的搭建方法 | |
CN203849370U (zh) | 一种边界扫描测试装置 | |
CN107491605A (zh) | 一种用于芯片设计的功能验证方法及平台 | |
CN116486892A (zh) | 存储器功能验证与数据采集系统、测试方法及电子设备 | |
CN102034543B (zh) | 在单任务中实现同时烧写多片nandflash的方法 | |
CN103309828A (zh) | 一种sd卡从控制器及控制方法 |
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 |