串口:
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
COM接口是指cluster communication port接口,即串行通讯端口。通常 COM 1 使用的是9 针D 形连接器,也称之为RS-232接口,而COM 2 有的使用的是老式的DB25 针连接器,也称之为RS-422接口,这种接口目前已经很少使用。
总之,串口是统称,而COM口可以归纳为一个小统称,也是串口的物理接口形式(名称)。而TTL(Transistor Transistor Logic)即晶体bai管-晶体管逻辑、RS-232、RS-485这些是指的电平标准(电信号: 高低电平逻辑规则);
》》RS-232是一个串行通信接口标准,它规定了逻辑“1”为-3 ~ -15V,逻辑“0”为+3 ~ +15V,符合该标准的串口也叫RS-232串口,比如电脑的COM口。不符合RS-232标准的串口?如单片机(如stm32)的UART/USART,它不遵循RS-232标准,使用的是TTL电平(Transistor-Transistor Logic),该电平的逻辑“1”为+5V,逻辑“0”为0V,称为TTL串口。
IIC:
IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。
IIC的主要构成只有两个双向的信号线,一个是数据线SDA,一个是时钟线SCL。
SPI:
SPI--Serial Peripheral Interface,串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。 SPI通常有SCK时钟,STB片选,DATA数据信号三个信号。 I2C通常有 SDA数据和SCL时钟两个信号,Serial Peripheral interface 串行外围设备接口
全双工同步数据传输,数据传输速率很高可达到50Mhz(转化一下约,相当于1s传输50M个位,速度为5.9MB/s)
有4根线进行通信:MISO MOSI SCLK CS
MISO:主设备数据输入,从设备数据输出
MOSI:主设备数据输出,从设备数据输入
SCLK:主设备产生的时钟信号
CS:片选信号
>>简单提示:
ISP是In-System Programming(在系统可编程)的缩写,是一类技术的统称,即我们给单片机烧写(上传)程序的时候是通过串口/下载器/仿真器等比较简单的方式进行的。
在通过ISP上传程序的时候,单片机进入ISP子程序,使得我们可以方便地对ROM进行写入和擦除。
与ISP相对的烧写方式则是将单片机放在烧写座上,直接对它的ROM擦除,烧录程序的方法。
ISP其实这是我们通常给单片机(尤其是开发板)烧写程序的方式,只不过这种方式太习以为常了,所以我们也不总是提到它的名字罢了。其实,不论是用Arduino IDE通过USB串口对Arduino板子上传程序,还是用J-Link等仿真器对STM单片机上传程序,这些操作我们都可以称之为是“ISP”。
SWD和JTAG调试接口:
ARM芯片有两种调试模式,一种是JTAG,一种是SWD,二者在管脚上有复用。
JTAG调试接口引脚
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 JTAG调试接口必须使用VCC、GND电源信号,以及TMS、TCK、TDI、TDO四根调试信号,可选TRST、RESET复位信号和RTCK(同步时钟)信号。
相关JTAG引脚的定义为:
TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;
TCK:测试时钟输入;
TDI:测试数据输入,数据通过TDI引脚输入JTAG接口;
TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;
VRef:目标板参考电压信号。用于检查目标板是否供电,直接与目标板VDD联,并不向外输出电压;
GND:公共地信号;
TRST:JTAG复位,连接到目标CPU的nTRST引脚,用于复位CPU调试接口的TAP控制器;目标板上应将此脚上拉到高电位,避免意外复位;
TDI:仿真器连接至目标CPU的数据输入信号,建议在目标板上将此脚上拉到Vdd;TMS:仿真器输出给目标CPU的JTAG模式设置信号。必须在目标板上将此脚上拉;TCK:仿真器输出给目标CPU的JTAG时钟信号,建议在目标板上将此脚上拉;TDO:目标CPU返回给仿真器的数据信号;
RTCK:目标CPU提供给仿真器的时钟信号。有些目标要求JTAG的输入与其内部时钟同步。仿真器利用此引脚的输入可动态地控制自己的TCK速率。若不使z用此功能,在目标板上将此脚接地,有些芯片可能要求上拉;
RESET:仿真器输出至目标CPU的系统复位信号。’
虽然TRST、RESET是可选的信号;但一般都建议接上,使得仿真器能够在连接器件前对器件进行复位,以获得较理想的初始状态,便于后续仿真。
SWD(Serial Wire Debug)接口引脚
SWD是ARM公司提出的另一种调试接口,相对于JTAG接口,使用更少的信号。四根信号如下:
VRef:目标板参考电压信号。用于检查目标板是否供电,直接与目标板VDD联,并不向外输出电压;
GND:公共地信号;
SWDIO:串行数据输入输出,作为仿真信号的双向数据信号线,建议上拉;
SWCLK:串行时钟输入,作为仿真信号的时钟信号线,建议下拉;
SWO:串行数据输出引脚,CPU调试接口可通过SWO引脚输出一些调试信息。该引脚是可选的;
RESET:仿真器输出至目标CPU的系统复位信号。
同样的,虽然RESET是可选的信号;但一般都建议接上,使得仿真器能够在连接器件前对器件进行复位,以获得较理想的初始状态,便于后续连接仿真。
>>简单了解:
JLink仿真器
J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。
JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的。
ULink仿真器
ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。
但是要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。
ST-Link仿真器
T-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:
编程功能:可烧写FLASH ROM、EEPROM、AFR等;
仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;
仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;
编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;