关于I2C、UART、SPI、RS232、JTAG_ISP、概念和理解

关于I2C、UART、SPI、RS232、JTAG_ISP、概念和理解


2024年2月17日发(作者:)

一、UART总线和硬件结构--Universal Asynchronous Receiver/Transmitter

UART是一种通用异步串行数据总线,该总线双向通信,可以实现全双工传输和接收。因为计算机内部采 用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输。串行的两条线 TXD --- UART数据发送,RXD --- UART数据接收

UART通用异步接收/发送装置,是一个并行输入成为串行输出的芯片,它是用于控制计算机与串行设备的 芯片,通常集成在主板上,多数是16550AFN芯片。, 有一点要注意的是,它提供了RS-232C数据终端设备接口 ,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信 ,所以说UART是一种异步串行全双工总线,硬件映射为一个芯片,可以与使用RS-232接口的设备直接通信

二、I2C总线和硬件结构------Inter-Integrated Circuit

I2C是一种一种同步两线式串行数据总线,由PHILIPS公司1992 年开发的,I2C串行总线一般有两根信号线 ,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上 ,各设备的时钟线SCL接到总线的SCL上,用于连接微控制器及其外围设备,一般在对芯片进行扩展中是使用 ,通用I/O端口也可以作为I2C总线接口 。

所以说I2C是一种同步串行半双工总线,硬件映射为一个两个接口电路,对于没有I2C总线接口的,可以 使用通用I/O端口来实现

I2C的功能与其他设备进行通信 (根据协议编写程序)

三、SPI总线和硬件结构------Serial Peripheral Interface

高速同步串行口,是一种标准的四线同步双向串行总线,一种四线同步总线系统,一种同步串行外设接口 ,为全双工通信,是Motorola公司推出的一种同步串行通讯方式,它可以使MCU与各种外围设备以串行方式进行通信以交换信息 在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,该接口一般使用4条线:

(1 )MOSI – 主器件数据输出,从器件数据输入 (2)MISO – 主器件数据输入,从器件数据输出 (3)SCLK – 时钟信号,由主器件产生

(4)/SS – 从器件使能信号,由主器件控制 (有的SPI接口芯片带有中断信号线INT、有的

SPI接口芯片没有主机输出/从机输入数据线MOSI) 所以说,SPI是同步串行全双工总线,硬件映射为四个接口

四、RS-232接口(DB9)

是现在主流的串行通信接口之一,传输速率较低,在异步传输时,波特率为20Kbps.接口硬件为9针功能如下: 1 DCD 载波检测 2 RXD 接收数据 3 TXD 发送数据 4 DTR 数据终端准备好 5 SG 信号地

6 DSR 数据准备好 7 RTS 请求发送 8 CTS 允许发送 9 RI 振铃提示

还有两个接地线10、11(不是针) 串口通信一般用2、3、7、8通信,5、(10、11)接地,其他不用,特别的作为debug口7、8也

不用

五、COM接口

即串行通讯端口。微机上的com口多为9针,最大速率115200bps。通常用于RS232(串及通讯设备(如连接外置式MODEM进行数据通讯)等。 所以COM口多数就是RS232接口

六、JTAG接口------Joint Test Action Group

JTAG常用作在线仿真、在线调试、在系统编程、以及使用边界扫苗(BSL)测试系统等等,标准的JTAG接 口是4线(5线),是一种国际标准测试协议,主要用于芯片内部测试。基本原理是在器件内部定义一个TAP( Test AccessPort;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。具有JTAG口的芯片都有如下 JTAG引脚定义:

TMS: 测试模式选择。此引脚用来实现TAP 控制器各个状态之间的切换。 TCK: 测试时钟。JTAG 操作是与TCK 同步的。

TDI:测试数据输入--需要移位到指令寄存器或数据寄存器(扫描链)的串行输入数据。 TDO:测试数据输出-- 自指令寄存器或数据寄存器串行移出的数据。 TRST:(可选引脚)——测试复位,输入引脚,低电平有效。 JTAG具体接口有十针的,十四针的,也有二十针的

七、ISP------In-System Programming

在线系统可编程,ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过 串口来进行改写。对于单片

机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写 ,而无须再取下芯片。

目前51系列单片机中使用的ISP一般是使用单片机自带的UART(串口)对芯片编程,

八:DEBUG口

DBGU,GEBUG Unit,调试单元,仅支持调试用的,不像JTAG还可以支持系统编程,一般用RS232接口实现,仅用2、3针。

总结而言 :

UART、I2C、SPI是都是串行数据总线,UART是并转串,I2C和SPI用于串行,I2C是半双工,SPI是全双工 RS232、JTAG都是串行接口,RS232用于通信,JTAG用于调试 至于JTAG和ISP的区别更多的是一种习惯和描述的不同,补充五详细介绍。

下面做点一些补充吧,更详细的百度百科或者自己搜索下:

一、UART和外设的通信:

UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。UART通信发送时并转串,接收时串 转并,串行的数据包括起始位,数据为,校验位,停止位,空闲位等 其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传

送到串行设备提供了RS-232C数据终端设备接口,这样计算机就可以 和调制解调器或其它使用RS-232C接口的串行设备通信了

二、I2C总线的数据传输

将两种特定的情况定义为开始和停止条件:当SCL保持“高”时,SDA由“高”变为“低”为开始条件;当SCL 保持“高”且SDA由“低”变为“高”时为停止条件。开始和停止条件均由主控制器产生。使用硬件接口可以 很容易地检测到开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样,以检测这种变 化。

三、SPI和I2C的比较:

I2C是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点 。 SPI数据传输速度总体来说比I2C总线要快,速度可达到几Mbps,SPI接口的一个缺点:没有指定的流控制, 没有应答机制确认是否接收到数据。

四、JTAG不同针接口定义引脚名称描述 10针:

4、6 VCC 接电源, 2 、10 GND 接地,1 TCK 测试时钟,3 TDO 测试数据串行输出,5 TMS 测试模式选 择 9 TDI 测试数,7、8 未连接 14针:

1、13 VCC 接电源, 2 、4 、6 、8 、10 、14 GND 接地,3 nTRST 测试系统复位信号,5 TDI 测试数 据串行输入,7 TMS 测试模式选择,9 TCK 测试时钟,11 TDO 测试数据串行输出,12 NC 未连接 20针:

1 VTref 目标板参考电压,接电源,2 VCC 接电源,3 nTRST 测试

系统复位信号,4、6、8、10、12、14 、16、18、20 GND 接地,5 TDI 测试数据串行输入,7 TMS 测试模式选择,9 TCK 测试时钟,11 RTCK 测试 时钟返回信号,13 TDO 测试数据串行输出,15 nRESET 目标系统复位信号,17 、 19 NC 未连接

五、JTAG和ISP的区别:

ISP是(In-System Programming) 是在系统编程 这里的系统指的是电路系统 也就是说给芯片编程的时候

不必将芯片移出其运行的电路系统,ISP只负责烧写

JTAG是(Joint Test Action Group)是联合测试行为组 提出了一种边界扫描链的结构,在集成开发环境中可

以提供单步,断点等调试程序功能 也本身与ISP并没有什么联系 JTAG主要同于边界扫描测试芯片内部信号

但通过某种方式也可以实现编程 采用JTAG编程的方式其实芯片也不需要离开电路系统 因此也是一种ISP

所以从字面上看 ISP是从编程方式来表述 而 JTAG是从编程实现的结构上来描述的 而对于单片机的ISP和JTAG接口

这里的ISP则一般指的是通过SPI接口进行在系统编程(ISP) 而JTAG则是通过JTAG接口进行在系统编程

JTAG:可以进行程序的下载和在线仿真调试,程序下载速度快。只有部分器件支持。在JTAG使能的前提下程

序的下载和仿真无需进行其他设定即可。

ISP:只能进行程序的下载,程序下载速度慢。所有AVR单片机均

支持ISP程序下载。


发布者:admin,转转请注明出处:http://www.yc00.com/news/1708168318a1543494.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信