当前位置:网站首页>ISP、IAP、ICP、JTAG、SWD的编程特点
ISP、IAP、ICP、JTAG、SWD的编程特点
2022-07-07 07:29:00 【m0_59949484】
电子工程师都知道,半导体技术发展迅猛,带动了各种芯片技术的不断升级。在数据存储方面,从最初的掩膜ROM,发展到现在的Flash技术,存储技术的不断改进,相对应的编程技术也在不断发展。
记得老一辈工程师在烧写51单片机的时候还是用一台硕大的编程器进行程序下载,而且还是一次性的(OTP),每次都小心谨慎的把代码调试了又调试后才下载看效果。现在简单到只需一个串口下载器即可实现程序下载,基本不需要考虑编程次数的问题,一有想法随时编译下载更新。
- 在这个发展过程中,也诞生了很多编程技术,比如ISP、IAP、ICP,另外还有JTAG编程、SWD编程、UART编程等等。玩单片机的对这些词应该都不陌生,但他们之间有什么区别呢?首先看下他们的定义:
- ISP:In System Programing,在系统编程
- ICP:In Circuit Programing,在电路编程
- IAP:In Application Programing,在应用编程
- JTAG编程:通过JTAG协议进行编程
- SWD编程:通过SWD协议进行编程
- UART编程:通过UART进行编程
看似很乱,其实捋清楚他们之间的层次关系就不会乱了。用个图来形象表示一下:

从图上看,ISP和ICP是处于最顶层的技术。描述的是一种编程结构,所用使用到的协议、通信端口等,不同芯片有不同的定义。
IAP在第二层,是一种编程方式。实现方式是将一段目标芯片可执行的代码通过某种通信协议下载到芯片RAM中并由芯片执行,由该代码实现具体操作以达到编程的目的。这种方式需要芯片支持通过某种通信协议对芯片的RAM进行读写并能控制其CPU。这是在编程结构下的一种编程方式,像AK100Pro、SmartPRO 5000U-Plus等烧录器,都用到了这种编程方式。
最下面的是硬件通信协议,UART是最早应用在单片机里面的串行通信技术。JTAG和SWD是Arm内核芯片兴起之后,逐渐流行起来的,这三种技术描述的是编程过程中硬件层使用的通信协议,是最底层的一些技术规范。
用一个表格来对比这几种通信协议的特性:

综合上面的内容,只要UART、JTAG、SWD这些硬件通信协议能保证电气连接的规范性和稳定性,那么ISP、IAP就能对芯片正确地编程。
致远电子即将推出多通道在线编程器,敬请期待。
推荐产品:
AK100系列 Arm专业版仿真器,支持Arm7、Arm9、Arm11、Cortex-M0/M0+/M1/M3/M4/A5/A8/A9/R4、XSCALE等内核的全系列仿真,包括Thumb模式。持Arm全系列内核,支持所有主流IDE环境,优异的性能和后续不断升级等特点,使得其成为Arm开发调试与量产烧写工具的不二之选!

在设计当中,总会遇到特殊的编程口线
现在的芯片集成度越来越高,体积越来越小,甚至连集成的板子,也默默地把硬币给比下去了:

图一核心板与硬币对比图
可是,要在如此少的管脚上集成更多功能,只有裁剪通信口线。在这时候,单线的串行接口就有了用武之地。
新的需求来了,现有调试下载的工具,是否支持新的通讯接口呢?下面就以最近的一个案例做一个剖析:外商客户需要添加一厂商芯片的烧录支持,通过了解该芯片的编程资料,发现用于烧录的通讯引脚只有一根,但采用的是标准异步串行接口的协议。
单线串口的接口原理
所谓单线串口(全称为“单线异步串行通讯接口”,本文中简称为“单线串口”),采用的是跟标准串口(全称为“标准异步串行通讯接口”,本文中简称为“标准串口”)一样的通讯协议。唯一的区别,不同于标准串口的两根数据线(Txd和Rxd),单线串口只有一根数据线来同时兼备发送和接收功能。因此,单线串口采用半双工的通讯方式,具体的单线串口接线图可参考图二所示。

图二单线串口芯片接线图
只需要接入四根线(MOD,/RESET,VCC,GND)就可以完美进行烧录了。外商设计的这个通讯口(MOD/IO)还可以被用来做工作模式选择,即在上电复位的同时,检测MOD管脚的输入时序波形,从而进入到不同的工作模式,如单线串口编程模式等。进入单线串口编程模式后,MOD管脚的功能转换为数据通讯。掌握这个规则,AK100Pro接好这四根线后,在KFlashPro上点击“烧写”,就可以轻松实现烧录了。
剖析单线串口的编程效果
担心烧录的速度?我们用数据来说明,是快还是慢。该芯片支持最高的通讯速率为500000bps,我们就采用这个波特率进行通讯。图三是逻辑分析仪(LA2532)抓取烧录通信时的时序数据:

图三 逻辑分析仪(LA2532)捕捉到的数据
先说说数据代表的意思,该段波形截取于“烧写+校验”的过程。对于两串比较长的数据,较短的是烧录的数据,发送完这段数据后,接着发送查询状态指令等待芯片烧录完毕并响应,然后下发读取指令,较长的是读取上来进行校验的数据。
从图中看到,从读取数据到下一包下发的烧录数据间隔只有3.5ms,扣除预留官方2ms响应时间,AK100Pro对数据包解析、校验和功能转换等操作,花费时间2ms不到。
总结
烧录时间短、通信口线少、占板空间小,单线串行的产品,在小型化可穿戴市场必将大行其道。
边栏推荐
- arcgis操作:dwg数据转为shp数据
- Introduction to energy Router: Architecture and functions for energy Internet
- 【学习笔记-李宏毅】GAN(生成对抗网络)全系列(一)
- Use 3 in data modeling σ Eliminate outliers for data cleaning
- Enterprise practice | construction of banking operation and maintenance index system under complex business relations
- Application of C # XML
- Advanced function learning in ES6
- 能源路由器入门必读:面向能源互联网的架构和功能
- Performance optimization record of the company's product "yunzhujia"
- sql 里面使用中文字符判断有问题,哪位遇到过?比如value<>`无`
猜你喜欢

Performance optimization record of the company's product "yunzhujia"

高数_第1章空间解析几何与向量代数_向量的数量积

Official media attention! The list of top 100 domestic digital collection platforms was released, and the industry accelerated the healthy development of compliance

基于智慧城市与储住分离数字家居模式垃圾处理方法

Enterprise practice | construction of banking operation and maintenance index system under complex business relations

Future development blueprint of agriculture and animal husbandry -- vertical agriculture + artificial meat

EXT2 file system

Basic chapter: take you through notes

Agile course training

XML配置文件解析与建模
随机推荐
Some test points about coupon test
Application of C # XML
Qualifying 3
Delete a record in the table in pl/sql by mistake, and the recovery method
第十四次试验
Thinkphp3.2 information disclosure
The applet realizes multi-level page switching back and forth, and supports sliding and clicking operations
根据热门面试题分析Android事件分发机制(二)---事件冲突分析处理
C# 初始化程序时查看初始化到哪里了示例
flink. CDC sqlserver. 可以再次写入sqlserver中么 有连接器的 dem
web3.0系列之分布式存储IPFS
视频化全链路智能上云?一文详解什么是阿里云视频云「智能媒体生产」
根据热门面试题分析Android事件分发机制(一)
中国首款电音音频类“山野电音”数藏发售来了!
ES6中的函数进阶学习
The industrial chain of consumer Internet is actually very short. It only undertakes the role of docking and matchmaking between upstream and downstream platforms
Can't connect to MySQL server on '(10060) solution summary
Deep understanding of UDP, TCP
The combination of over clause and aggregate function in SQL Server
request对象对请求体,请求头参数的解析