#### 今日推荐:常用的器件/外设接口 --- {{ :peripheralinterface.jpg |}} #### GPIO ##### 输入 - 用于状态监测 - 开关 - switch - 按键 - push button - 消抖动 - 传感器状态 - 比如光敏 - 逻辑电平0、1、未确定的区间 ##### 输出 - 每个器件的输出阻抗不同、输出电流不同,需要查询数据手册 - 很多[[FPGA]]器件的输出阻抗是可编程 - 应用: - 驱动[[LED]] - LED有前向电压,供电要高于前向电压 - LED的亮度取决于流过的电流,通过限流电阻调节零度 - 驱动大的直流负载 - 阻性负载 - 采用三极管、MOSFET - 感性负载 - 需要续流二极管进行保护 - PWM - 控制LED亮度 - 用作[[DAC]]产生直流电压 - 电机调速、控制伺服电机 #### 并行接口 ##### 构成 - 数据总线 - 8、16、32位 - 地址总线 - 取决于寻址空间的大小 - 控制线 - 读、写、使能 ##### 优点 - 处理器/控制器端内部逻辑功能简单 - 在低速/短距离的场景下数据传输带宽高 ##### 缺点 - 太多的连线,占用太多的管脚, 收发端都要有 - 传输距离长的情况下速率受限 #### 串行接口 ##### 连线较少、成了MCU的标配 ##### 电路的核心是移位寄存器 ##### 同步串行接口 - [[SPI]] - Serial Peripheral Interface - 串行外设接口 - 高速(50Mbps)、同步、全双工(SCLK、MISO、MOSI、nCS) - 主、从结构,1主n从,靠nSS(或nCS)来寻址不同的外设 - 根据时钟的极性和相位有4种工作模式,收发端要一致 - 广泛应用在 - 传感器 - 信号调理 - 高速串行接口的ADC或DAC - 优点: - 简单、方便、低成本 - 用MCU指令或FPGA的逻辑来实现比较容易 - 局限性: - 没有来自接收端的应答确认 - 没有寻址机制,多个从设备需要多个片选信号,占用太多管脚 - 没有纠错的机制 - [[I2C]] - Inter-Integrated Circuit,短距离的IC之间的连接 - 起源于Philips公司为其音、视频器件开发的一种总线 - 半双工、同步串行接口 - 只需要两根线(SCL、SDA),具有寻址和应答功能 - 两根线都需要上拉电阻才能正常工作 - 多个从设备连接时的电容效应会影响到传输速率 - 每个节点都可以做主/从,每个从设备都有一个地址 - 广泛应用在: - 低速传感器接口 - 低速串行接口外设的配置 - 优点: - 物理连接简单,只需要2根线,可以配置更复杂的网络,增减节点比较方便 - 可靠性相对较高 - 局限性 - 速度较慢 - 数据不够安全 - 很难应用在医疗、汽车和高可靠的应用中 - 用MCU代码或FPGA逻辑实现相对于SPI复杂度高 - 同步串行接口的优点 - 逻辑实现简单 - 时钟频率灵活 - 同步串行接口的缺点 - 每个数据传输需要一个多余的时钟信号线(SPI的SCLK或I2C的SCL) - 时钟的带宽至少是数据带宽的2倍,限制了数据的传输速度 - 长距离传输数据和时钟信号会失去同步 ##### 异步串行接口 - 特点: - 接收端提取时序信息 - 速率是确定的 - 每个节点需要准确且稳定的时钟源 - 每个Byte或Word都以Start和Stop位成帧 - [[UART]] - Universal Asynchronous Receiver/transmitter - 异步收发 - TXD/RXD,全双工 - 可达3Mbps - 设计中要注意的问题: - 在接收端需要根据发送端的波特率进行正确设置 - TXD/RXD不要接反 - [[USB]] - 最常用的总线 - PnP应用 - 分为Host、Slave、OTG(On The Go)模式,要正确选取 - 1.5Mbps(低速)、12Mbps(全速)、480Mbps(高速)、10Gbps(Type C) - D+/D-/Vcc/GND四线连接,D+/D-为差分信号,要等延时走线 - Ethernet - IEEE802.3标准,支持速率10Mbps、100Mbps、1Gbps、100Gbps - 差分收、发信号TX+/TX-、RX+/RX- - 以太网串行接数据包按帧进行封装传输,每一帧有收、发两端的MAC地址 - 以太网的数据采用曼切斯特编码以便时钟信号的提取 - CAN总线 - Controller Area Network - 异步、半双工、固定比特率 - 最高1Mbps - 所有节点都是平等的,配置为P2P - 有仲裁机制确定各个节点的通信优先级 - 节点数没有限制 - 总线节点没有地址,但有“信息过滤”的机制 - 数据成帧进行传输 - 高度的数据安全级别、错误检查 #### 模拟接口 ##### 内置了ADC、DAC ##### 内置了温度传感器 ##### Cypress的PSoC器件 \\ #### 苏老师的几篇关于串行接口的公众号文章: --- * [几种最常用的串行数据传输总线(1)- SPI](https://mp.weixin.qq.com/s/jWbvn-DGR9xrrMHKBqXleQ) * [几种最常用的串行数据传输总线(2)-I2C](https://mp.weixin.qq.com/s/UVlecH-zBVG5Ug4Bx6TVeQ) * [几种最常用的串行数据传输总线(3) - 无人不知的UART](https://mp.weixin.qq.com/s/zSrqHna3N9I9jnGB1ifUDA) * [几种最常用的串行数据传输总线(4)- 来一波生动活泼的动图](https://mp.weixin.qq.com/s/kFZEhtEKweag26p2XlCyqw) * [漫谈“独臂神通”PWM(1):用1根管脚、1个电阻和1个电容实现DAC](https://mp.weixin.qq.com/s/K5vfUTsczIkjUpAO3EsWjQ) * [漫谈“独臂神通”PWM(2):DAC的低通滤波器设计](https://mp.weixin.qq.com/s/aiS0zHgxrH72Q1a8IVqi6w) * [漫谈“独臂神通”PWM(3):用PWM点灯调光](https://mp.weixin.qq.com/s/bsC8y037_1hA-dt0F-IG_w) * [漫谈“独臂神通”PWM(4):驱动伺服电机](https://mp.weixin.qq.com/s/I23h75SCv0_TgsCPCAsqnQ) * [漫谈“独臂神通”PWM(5):开关稳压器的调压控制](https://mp.weixin.qq.com/s/8XDX3SqyWkhP6FxKwbenEg) ----- 欢迎更多的朋友来投稿,您投稿的内容将被加入到我们的树枝🌿上,有更多的用户会访问到您的网站!