学嵌入式需要打好基础

下面我们来学习下计算机原理里的3种常见总线协议及原理

协议:对等实体之间交换数据或通信所必须遵守规则或标准的集合

1、UART(Universal Asynchronous Receiver/Transmitter):

通用异步接收发送器,也就是通常所说的串口,基本都用于调试

三根线:RX、TX、GND

如果甲是PC机,B是单片机,两者还要接一块电平转换芯片,用于将TTL / CMOS(单片机电平)转换为RS232(PC机电平)。因为TTL / CMOS电平范围是0〜1.8 / 2.5 / 3.3 / 5V(不同单片机范围不同),高电压表示1,低电压表示0而RS232逻辑电平范围-12V〜12V,-5〜-12表示高电平,+ 5〜+ 12V表示低电平(对你没有听错!)为什么这么设置这就要追溯到调制解调器出生时代了,有兴趣自己去查资料

开发板想发数据时,RXD0由1变为0,保持T时间

PC感觉到RXD0由0变1.知道2440即将发数据

有起始位和停止位,就说明这是个异步通信

2、I^2C协议(Inter Integrated Circuit)

两条线 SCL(时钟)、SDA(数据)只有一条数据线,所以是半双工同步通信,

在传送数据过程中共有3种类型信号:开始信号、结束信号和相应信号。

(1)开始信号(S):SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据

(2)结束信号(P):SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据

(3)响应信号(ACK):接收器在接收到8位数据后,在第9个时钟周期,拉低SDA电平

可以接有多个设备,启动一个设备,主机先发出S信号,然后发出8位数据。前7位为从机的地址(所以能接2^7=128个设备),第8位表示传输的方向(0表示写操作,1表示读操作),有这个设备,发出ACK响应信号,开始读/学操作

3、SPI(Serial Peripheral Interface,同步外设接口),全双工同步串行总线,

该总线大量用于与EEPROM,ADC,FRAM和显示驱动器之类的慢速外设器件通信。

3条线

SCK:时钟信号

SDI:输入信号

SDO:输出信号

CS:片选信号,决定了唯一的与主设备通信的从设备,片选信号低电平有效,不同于I^2C用的地址选择从机

对比:

UART是全双工,异步传输,对时序要求比较严格,速度较慢

SPI相比UART多了一条同步时钟线,通信速度快

I2C一根数据线,速度不高,结构简单

UART、I2C、SPI三种协议对比的更多相关文章

  1. Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较

    在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...

  2. QT的三种协议说明

    关于Qt的三种协议以及是否收费,有以下引文: 引文一: 最近一直在学习 Qt.Qt 有两个许可证:LGPL 和商业协议.这两个协议在现在的 Qt 版本中的代码是完全一致的(潜在含义是,Qt 的早期版本 ...

  3. Android自动化测试中AccessibilityService获取控件信息(2)-三种方式对比

    Android自动化测试中AccessibilityService获取控件信息(2)-三种方式对比   上一篇文章: Android自动化测试中AccessibilityService获取控件信息(1 ...

  4. servlet实现的三种方式对比(servlet 和GenericServlet和HttpServlet)

    第一种: 实现Servlet 接口 第二种: 继承GenericServlet 第三种 继承HttpServlet (开发中使用) 通过查看api文档发现他们三个(servlet 和GenericSe ...

  5. ArrayBlcokingQueue,LinkedBlockingQueue与Disruptor三种队列对比与分析

    一.基本介绍 ArrayBlcokingQueue,LinkedBlockingQueue是jdk中内置的阻塞队列,网上对它们的分析已经很多,主要有以下几点: 1.底层实现机制不同,ArrayBlco ...

  6. APP开发的三种技术对比

    目前来说主流的App开发方式有三种:Native App .Web App.Hybird App.下面我们来分析一下这三种App开发方式的优劣对比: 一 :Native App 即 原生App开发 优 ...

  7. Apache2 三种MPM对比分析

    就最新版本的Web服务器Apache(版本是Apache 2.4.10,发布于2014年7月21日)来说,一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式. ...

  8. php 链接mysql的三种方式对比

    PHP连接Mysql的三种方式: 1.原生的连接方式  原生的连接方式是面向过程的写法 <?php $host = 'localhost'; $database = 'test'; $usern ...

  9. redis三种模式对比

    模式类型 主从模式(redis2.8版本之前的模式).哨兵sentinel模式(redis2.8及之后的模式).redis cluster模式(redis3.0版本之后) 主从模式原理 同Mysql主 ...

随机推荐

  1. 51nod 马拉松30 C(构二分图+状压dp)

    题意 分析 考虑一个图能被若干简单环覆盖,那么一定是每个点恰好一个出度,恰好一个出度 于是类似最小路径覆盖的处理,我们可以把每个点拆成2个点i和i',如果有一条边(i,j),那么将i和j'连起来 那么 ...

  2. 开源项目SwipeBackLayout的问题处理

    在安卓系统4.4会出现滑动时底层没有之前的activity界面?解决:在主界面设置如下: <item name="android:windowIsTranslucent"&g ...

  3. 2018 11.2 PION模拟赛

    期望:100 + 50 + 30 = 180 实际:0 + 50 + 30 =80 期望:100   实际:0 数值有负数,边界应该设为-0x7f       此处 gg /* 期望的分:50+ */ ...

  4. 【.Net Core 学习系列】-- EF Core实践(DB First)

    一.开发环境: VS2015, .Net Core 1.0.0-preview2-003156 二.准备数据: CREATE DATABASE [Blogging]; GO USE [Blogging ...

  5. 有多个git项目要用多个秘钥

    在~/.ssh文件夹下新建文件config,格式例如以下 Host "authmanage" HostName "code.csdn.net" User &qu ...

  6. android动画具体解释六 XML中定义动画

    动画View 属性动画系统同意动画View对象并提供非常多比view动画系统更高级的功能.view动画系统通过改变绘制方式来变换View对象,view动画是被view的容器所处理的,由于View本身没 ...

  7. hibernate4中HHH000273的错误

    今天配置hibernate4.发现报 17:55:06,815 INFO AbstractPoolBackedDataSource:522 - Initializing c3p0 pool... co ...

  8. CASE函数 sql server——分组查询(方法和思想) ref和out 一般处理程序结合反射技术统一执行客户端请求 遍历查询结果集,update数据 HBuilder设置APP状态栏

    CASE函数   作用: 可以将查询结果集的某一列的字段值进行替换 它可以生成一个新列 相当于switch...case和 if..else 使用语法: case 表达式/字段 when 值 then ...

  9. 故障案例:磁盘空间不足可能引起的mysql问题

    此前在工作中.由于客户的磁盘空间报警没怎么注意.空间不足引起了下面可能发生的mysql问题 1    mysql进程起不来 2    mysql无法正常关闭,必须kill -9 3    mysql能 ...

  10. Poi 操作 Excel

    http://blog.csdn.net/chenglc1612/article/details/53413445   一. POI简介              Apache POI是Apache软 ...