SCI (串行通讯接口)模块对其进行控制。(注:“SCI”首先由Motorola微串口微控制器而得名,SCI另一种说法是“UART控制器”)常用的许多芯片中都包含了SCI ,例如ARM的S3C2410X芯片内嵌了3个串行接口控制器,而Nios等软核芯片则可以用选用UART(RS232) 的IP对UART进行控制。PC机则常用 16650 UART,16750 UART等控制串口。--这样说来SCI只不过属于UART里面比较特殊的一种串行通讯方式了。确实也只是在飞思卡尔芯片上遇见过。
第一个区别当然是名字:
SCI(Serial Communicate Interface:串行通信接口)
SPI(Serial Peripheral Interface:串行外设接口)另外曾在一官方datasheet里面看见这种说法:Serial Parallel Interface:串并行接口
UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)
第二,区别在电气信号线上:
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。
如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。
第三,显然都是全双工的。
关键字:SCI SPI UART 串行总线协议
引用地址:
SCI,SPI,UART三种串行总线协议的区别
推荐阅读最新更新时间:2024-05-02 23:57
spi flash偶尔出现写入错误的情况
spi flash W25Q128会偶尔出现写入错误的情况,会发现读出的值和写入的值不一致,需加入2次读出比较判断。 W25QXX_Read(&temp_date_count,0x000000,1); //W25QXX_Write((u8*)&temp_date,0x400000,135); //W25QXX_Read((u8*)&temp_data_test,0x400000,135); W25QXX_Write((u8*)&temp_date,(temp_date_count*135+1),135); W25QXX_Read((u8*)&temp_data_test,(temp_date_count*1
[单片机]
ARM裸机串口UART
串口UART原理 异步通信:传输单位是一个字符,两个字符之间时间间隔不固定,时间固定为同步。 通信协议:通信双方共同制定的规则,有数据格式:奇偶校验位、停止位.....,通信流程上的规格. UART(universal asynchronous receivertransmitter):通用异步收发器,用来串行传输数据,发送时,CPU将数据并行写入UART,UART按照一定格式在一位的数据线上串行发送,接受时,从一位数据线接受串行的数据。 S3c2440有三个独立的uart接口,并且每个uart包括64字节的接受和发送fifo。 串口基本工作原理:分为发送和接收部分,发送部分:1接口用来接收数据,数据由CPU通过
[单片机]
STM32F103 UART中断接收 DMA发送
以USART3为例, (1)首先在【stm32f1xx_hal_conf.h】中使能DMA模块,工程增加stm32f1xx_hal_dma.c。 (2)main.c中头部增加以下声明 UART_HandleTypeDef huart3; DMA_HandleTypeDef hdma1_uart3; (3)main.c中增加USART的初始化 /* USART3 init function */ static void MX_USART3_UART_Init(void) { huart3.Instance = USART3; huart3.Init.BaudRate = 115200; huart3.Init.
[单片机]
基于NXP的S32DS for PA IDE下开发汽车级芯片MPC5744的SPI通信
摘要 本篇笔记主要介绍,在NXP的S32DS for PA IDE下开发汽车级芯片MPC5744的SPI通信。 准备工作 开发环境IDE安装,安装S32DS for PA 版本,因为我们使用的是基于PA架构的NXP MPC5744P。 安装SDK最新版本V3.0.3 NXP DEVKIT-MPC5744P开发板 SPI 通信 SPI通信是一种全双工同步通信,在嵌入式开发中是一种广泛使用的通信接口,模块框图如下,支持查询,中断和DMA方式操作。FIFO支持5级,多路PCS片选,可支持多路从机 信号描述: DSPI通信是SPI的一种升级和修改,在时序上稍微有一点不同,采样靠后一些 更多详细细节可以参考数据手册描述,这
[单片机]
PIC单片机的一个简单的SPI小程序
这里介绍一个简单的PIC单片机SPI测试小程序,希望大家能够喜欢。 // DAC module connections sbit Chip_Select at RC0_bit; sbit Chip_Select_Direction at TRISC0_bit; // End DAC module connections unsigned int value; void InitMain() { TRISA0_bit = 1; // Set RA0 pin as input TRISA1_bit = 1; // Set RA1 pin as input
[单片机]
武林教你学PIC32(十七)SPI操作M25P16 FLASH存储器
首先介绍下TI 的 M25P16,它是 16Mbit(2Mbyte)的FLASH存储器,与常用的华邦公司的W25X16,ATMEL公司的AT51DB161比较接近。最高支持50M的SPI时钟,存储器可以以1到256字节byte,使用页编程操作将2M的容量分为32个块(Block),每个块含有256页,每页里有256字节宽带,因此整个存储器包含8192页或者2,097,152字节。操作命令为: 我们根据这些命令,做好下面封装函数: //需要外接函数 extern unsigned char SPI_FLASH_SendByte(unsigned char ch); extern unsigned char SPI_FLASH
[单片机]
SPI 调试-74HC595 数码管控制实验
注意:要让S3C2440的一路SPI去控制外设,就必须把给nSSn外接一个上拉电阻!才能保证数据的正常传输。可以再找一个I/0口来控制74HC595的片选。 74HC595是8位串行输入转并行输出移位寄存器。74HC595引脚图! 控制原理图: RCK也就是STCP ,在采集数据前要给RCK低电平,采集完信号要给高电平。 RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。 控制图程序: void SPI_TEST(void) { int i; U
[单片机]
基于ARM板s3c2440---SPI协议
SPI简介 SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。 简单的说,就是SPI是一种告诉的协议,相当于IIC,只是IIC是两根线(时钟线SCL,数据地址线SDA)而SPI是四根线(SCK时钟信号,DO输出线,DI输入线,CSn片选信号),同样可以挂在多个SPI高速设备。 数据传输 数据传输由CPOL,CPHA两个控制器决定,CPOL决定电平启示状态是低电平还
[单片机]