设计与开发

单片机isp电路 STC51单片机自动ISP下载电路设计

小编 2024-11-24 设计与开发 23 0

STC51单片机自动ISP下载电路设计

51单片机可以通过ISP下载方式烧写程序,常用的工具为USB/TTL,常用的芯片有MAX232、CH340G等。下面介绍以CH340G芯片设计的ISP下载电路。

1. 51单片机程序下载原理

51单片机程序烧写接口为RXD和TXD,即UART口,这两个接口是通信口,配合不同的芯片可以实现不同的通讯方式。如果连接MAX232即可实现232通信,如果连接MAX3082即可实现RS485通讯。下载程序正是通过这两个接口来实现的。下载方式如下图所示。单片机的RXD和TXD要与USB/TTL设备的TXD和RXD交叉连接才能实现下载。

2. CH340G芯片介绍

CH340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口。是一款比较成熟的国产芯片,价格在1.5元左右。

具有如下特点:

全速USB设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。

仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。

计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。

硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。

支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS。

通过外加电平转换器件,提供RS232、RS485、RS422等接口。

支持IrDA规范SIR红外线通讯,支持波特率2400bps到115200bps。

软件兼容CH341,可以直接使用CH341的驱动程序。

支持5V电源电压和3.3V电源电压。

提供SSOP-20和SOP-16无铅封装,兼容RoHS

3. 电路设计

CH340G的下载电路如下图所示。

P2为USB接口,CH340G的TXD与单片机的RXD连接,CH340G的RXD和单片机的TXD连接。图中的CH340G用的是5V供电,如果用3.3V供电的话第4脚要连接到3.3V。由于STC51单片机在下载程序的时候要断电再重新上电,所以单片机部分的电源设计如下图所示:

为了实现单片机电源的断电再上电(注意:这里是指单片机的电源而不是整个电路的电源),在单片机的电源脚上加了一个X1跳线。

4. 使用效果

使用STC的软件STC-ISP来下载。

下载步骤如下:

执行到第4步,点击下载之后要将电路板上的X1断开再接上即可实现单片机程的下载。

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8

单片机ISP、IAP、ICP、JTAG、SWD编程技术介绍

随着科学技术的不断发展,单片机的编程技术也是越来越丰富了。简单统计一下目前大家比较熟悉的编程方法有以下几种:ISP、IAP、ICP、JTAG、SWD、UART。那么这些编程技术都有什么特点,又都是什么原理呢?今天我们就来给大家普及一下。

IAP

IAP的英文全称是In Application Programming,从英文字面意思来翻译的话,就是“在应用编程”.

IAP的运行原理是:指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在实现IAP功能时,单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能。

IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。

IAP的实现非常灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。

ISP编程

ISP的英文全称是In System Programming,英文字面意思为:在系统编程,ISP技术可以对已经焊接到电路板上的单片机进行编程, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。

ISP技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。

ISP的实现一般需要很少的外部电路辅助实现。

ICP编程

ICP的英文全称是In Circuit Programing,意为:在电路编程。如果单片机已经焊接到电路上,但又需要再次烧写程序,如果拆卸单片机会非常不方便,这时就用到ICP编程,这一点与ISP比较像。

ICP编程的特点是:MCU只要处于上电状态即可,不必预烧任何code在MCU里面;(2)烧录范围涵盖整颗MCU,包括APROM, DataFlash, CONFIG, LDROM和 ROMMAP。

JTAG编程

JTAG的英文全称是Joint Test Action Group(联合测试行为组织);JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。

JTAG 也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现今多数的高级器件都支持JTAG协议,如DSP、FPGA、ARM、部分单片机器件等。标准的JTAG接口是4线:JTAGTMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。

JTAG口会因为单片机的不同,其接口数量也不等,一般有10,14,20引脚的JTAG接口。

SWD编程

SWD最大的好处就是节省PCB 的空间和布线难度,SWN采用J-LINK编程模式。

SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。

在单片机 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。

在板子的体积有限的时候推荐使用 SWD 模式, 它需要的引脚少, 当然需要的 PCB 空间就小啦! 比如你可以选择一个很小的 2.54 间距的 5 芯端子做仿真接口。

UART编程

顾名思义,UART编程是利用串口进行编程。

说了这么多,可能把大家搞糊涂了,下面我们通过一张图来说明一下这几重编程方式的层次关系

从图上看,ISP和ICP是处于最顶层的技术。描述的是一种编程结构,所用使用到的协议、通信端口等,不同芯片有不同的定义。

IAP在第二层,是一种编程方式。实现方式是将一段目标芯片可执行的代码通过某种通信协议下载到芯片RAM中并由芯片执行,由该代码实现具体操作以达到编程的目的。这种方式需要芯片支持通过某种通信协议对芯片的RAM进行读写并能控制其CPU。这是在编程结构下的一种编程方式,像AK100Pro、SmartPRO 5000U-Plus等烧录器,都用到了这种编程方式。

最下面的是硬件通信协议,UART是最早应用在单片机里面的串行通信技术。JTAG和SWD是ARM内核芯片兴起之后,逐渐流行起来的,这三种技术描述的是编程过程中硬件层使用的通信协议,是最底层的一些技术规范。

用一个表格来对比这几种通信协议的特性:

综合上面的内容,只要UART、JTAG、SWD这些硬件通信协议能保证电气连接的规范性和稳定性,那么ISP、IAP就能对芯片正确地编程。

相关问答

单片机 ISP 下载线是什么意思, ISP 是什么的缩写?-ZOL问答

一种无需将存储芯片(如EPROM)从嵌入式设备上取出就能对其进行编程的过程,缩略为ISP。在系统编程需要在目标板上有额外的电路完成编程任务。其优点是,即使器件...

细说 ISP 和IAP的区别?

ISP(In-SystemProgramming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或...

现在 单片机 有了 ISP 功能,还买烧写器是不是落伍了呢?-ZOL问答

我用ISP写过单片机,效果远不如烧写器ISP是烧录器的简化的开发方式。在工程开发中,一些廉价芯片(芯片不具备ISP功能,有些也没有FALSH,只有EProm)和大量芯片编程...

keil与stc isp 15设置频率的区别?

Keil和STCISP15是两种不同厂家生产的不同型号的单片机系列。它们之间设置频率的区别可以从以下几个方面来进行比较:1.硬件差异:Keil和STCISP15单片机系列的...

stm32 单片机 可以用stc- isp 烧录吗?

不可以,STC-ISP是STC单片机的专用烧录工具,工作模式是ISP工具软件驱动USB→UART,再通过单片机串口1下载程序。STM32的烧录端口是SWD或JTAG,使用的硬件工具是...

stc- isp 烧录软件如何给51 单片机 烧录?

1、首先准备好51单片机最小系统和烧录器。2、打开stc-isp烧录软件选择好单片机型号,这里的所选的单片机型号为STC89C/LE52RC。在此可以观察到“串口号”显示没...

isp 的串口助手给 单片机 发程序,文本模式和HEX模式有什么区别?

你好,HEX模式是将要发送的数据按照16进制格式进行发送;而你单片机的接收是用的16进制接收的,所以你发送也得按照16进制进行!你好,HEX模式是将要发送的数据按...

单片机 开发板通过串口线与pc连接,通过 isp 软件,为什么可以把程序烧进内部rom里去?

ROM是可读可写的储存器,程序是一个整体的数据,开发板通过串口线与pc连接,通过isp软件就直接把程序写进板内的rom里去了ROM是可读可写的储存器,程序是一个整...

请问 单片机 开发板上的串口接口、USB电源接口以及外部电源接口的各个功能是什么?

串口接口的功能:1、与其他串口通讯2、下载程序(如果单片机有ISP功能的话)USB电源接口的功能:1、提供开发板5V电源(内部电源)2、下载程序(如果单片机...2...

stc- isp 一直显示正在检测目标 单片机 ?

STC-ISP一直显示正在检测目标单片机可能是由于以下原因导致的:接线问题:检查连接线是否按照“VCC-5V;TXD-RXD;RXD-TXD;GND-GND”连接。有时候可能...

猜你喜欢