当前位置:首页 > EDA > 电子设计自动化
[导读]芯片烧录(也称为编程或烧写)的本质是将编译后的机器码程序和配置信息通过特定协议写入芯片内部的非易失性存储器(通常是Flash或OTP存储器)的过程。

芯片烧录(也称为编程或烧写)的本质是将编译后的机器码程序和配置信息通过特定协议写入芯片内部的非易失性存储器(通常是Flash或OTP存储器)的过程。其核心原理涉及硬件接口、通信协议、存储单元结构和高压电子学。嵌入式系统已被广泛应用于国防电子、数字家庭、工业自动化、汽车电子等多种领域[1]。在嵌入式开发过程中,许多系统通常使用串口驱动来满足通信要求,但在实际应用中,使用SPI通信方式会更加高效和快捷[2]。SPI接口是一种高速、高效的串行接口技术,因而SPI设备在数据通信应用中十分方便[3]。本文基于ARM9芯片的S3C2440和Linux操作系统,设计了一种SPI驱动程序,该驱动程序功能可靠灵活、易于移植,可应用于多种嵌入式平台,实现ARM与设备之间的通信。以下是详细解析:

一、 物理基础:非易失性存储器(NVM)

芯片程序存储在Flash存储器(可重复擦写)或OTP存储器(一次性可编程)中:

Flash存储单元结构

基于浮栅晶体管(Floating Gate Transistor)。

写入(编程):在控制极施加高压(通常12V),使电子穿越绝缘层(隧穿效应)注入浮栅,改变晶体管的阈值电压(表示0或1)。

擦除:施加反向高压,将电子从浮栅拉出(恢复为1)。

读取:施加低压检测晶体管通断状态。

OTP存储器

通常使用熔丝(Fuse)或反熔丝(Antifuse):

熔丝型:高压烧断熔丝(开路代表0)。

反熔丝型:高压击穿绝缘层形成通路(短路代表1)。

不可擦除,适合存储密钥或配置字。

二、 烧录过程的核心步骤

连接与供电

烧录器通过编程接口(如ICSP、SWD、JTAG)连接到目标芯片的专用引脚(VDD、GND、CLK、DATA、RESET)。

烧录器提供稳定的编程电压(VPP)(高于芯片工作电压,用于Flash写入/擦除)。

通信协议

烧录器与芯片通过同步串行协议通信(如SPI、I²C或厂商私有协议)。

典型指令:

Chip Erase(全片擦除)

Program Memory(写入程序)

Read Memory(校验)

Write Configuration Bits(写配置字)

数据写入流程

配置字(Configuration Bits)

独立于程序存储区的特殊寄存器,控制芯片底层行为(如时钟源、看门狗、代码保护)。

错误配置会导致芯片无法工作(如选错时钟源)。

芯片烧录,又称固件烧录或编程,是将程序代码写入芯片的过程。这一过程通常涉及到两个环节:一方面是对芯片内部存储单元的编程,另一方面是对芯片功能的验证。烧录不仅仅是将代码写入芯片,更重要的是保证烧录后的程序能够可靠运行,这需要借助专门的烧录工具和技术。

芯片内部通常集成有闪存(Flash Memory)或可重编程的只读存储器(EEPROM)。这些存储器可以通过特定的通信协议,比如SPI、I2C、UART等,将代码传输至芯片内。烧录完成后,可以通过读取、比对的方式验证烧录结果是否正确。这保证了芯片在不同环境下的兼容性和稳定性。

三、 烧录器的关键作用

协议转换器

将PC端的USB/UART信号转换为芯片能识别的编程协议信号(如ICSP的PGD/PGC时序)。

高压生成器

集成DC-DC升压电路,生成Flash编程所需的高压(5V芯片可能需要12V编程电压)。

时序控制器

精确控制编程脉冲的宽度和时序(纳秒级精度),防止过写损坏存储单元。

数据校验器

烧录后自动读取芯片内容,与原始文件比对(校验和或逐字节比对)。

四、 不同烧录方式的区别

方式原理典型接口适用场景

离线烧录烧录器自带存储,脱机操作专用夹具量产批量烧录

在线烧录(ICSP)通过PCB预留接口烧录已焊芯片ICSP/SWD/JTAG研发调试、小批量生产

Bootloader芯片通过UART/USB自更新程序UART/USB固件远程升级

五、 为什么需要专用烧录器?

高压需求:普通IO口无法提供Flash编程所需高压。

协议私有化:不同芯片厂商(如硕飞、Microchip、ST)使用私有编程算法(如PIC的LVPP协议)。

时序严苛:编程脉冲宽度、时钟频率需严格符合芯片手册要求。

安全机制:绕过代码保护区需特殊指令序列。

无论对嵌入式产品添加新功能还是修改原有的软件BUG,涉及的都只是用户应用程序的改动,初始化代码Startup.s是无需改动的,所以扇区O的内容在ISP过程中可否保持不变,关键是能否使首次编译生成的Vector.0始终与以后多次编译的App.o相匹配。

需要特别指出的是,当用户应用程序发生改变时,实际的中断服务函数(一般是C语言函数)很可能发生了改变,或者是实际的中断服务函数的入口地址发生了改变,怎么通过固定不变的中断向量Vector.o找到变化的中断服务函数的入口呢?只要这个问题解决了,就可以使首次编译生成的Vector.o始终和以后多次编译的App.o相匹配,这是该方案可行性的关键所在。为解决这个问题,笔者在Flash的固定位置(0x80002000~0x800020ff)做了一个中断映射表,实际上里面存放的是一条条跳转指令。由于中断映射表INTMap.s和用户应用程序App.c是一同编译、链接的,里面的跳转指令当然可以准确找到实际的中断服务程序入口;而位于扇区O的中断向量Vector.s虽然不和用户应用程序一起编译,但中断向量里的跳转指令是绝对跳转到固定的中断映射表区域。这样通过2次跳转就可以准确找到中断服务程序的入口。

选择合适的芯片烧录座至关重要,它不仅影响到烧录效率,还会影响到整个生产或开发过程的稳定性和灵活性。

1. 根据芯片封装类型选择:

当前市场上的芯片封装形式多种多样,包括DIP、QFN、BGA等。根据谷易电子芯片烧录座工程师介绍:选择烧录座时,需首先确认与芯片封装的兼容性,确保连接的可靠性与稳定性。(提供芯片规格书或者芯片封装形式、芯片引脚数、芯片引脚中心间距、芯片尺寸(本体尺寸和含引脚尺寸))。

2. 可重复使用性:

烧录座作为一种消耗品,其耐用性决定了其使用寿命和经济性。在选用烧录座时,应考虑其是否具备长时间、高频次使用的性能。

3. 兼容不同型号:

对于研发设计阶段而言,可能需要对不同型号产品反复测试。选择兼容性好的烧录座,能有效降低更换烧录座带来的时间成本和经济成本。

4. 数据传输速度:

烧录座所支持的最大数据传输速度也是考量因素之一。快速数据传输能显著降低大批量烧录所需时间,提高生产线效率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭