| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 单?机常?的?种通信协议 -> 正文阅读 |
|
[嵌入式]单?机常?的?种通信协议 |
通信协议通过查看电子信号在传说过程中的动态图,可以更好的帮助我们更直观,更形象的理解传输的机理:https://mp.weixin.qq.com/s/1cesD9cwwef7cfFamm9ang 通信分为串行通信和并行通信,串行通信比并行通信传输速度慢,但占用的引脚资源多,数据是按位顺序传输。因此并行通信适合近距离(数米内)的高效通信(成本),而远距离一般用串行。 按照数据传送方向,分为: 并行通信的通信方式:常见用在显示屏和显示芯片之间的通信,以及cpu和内存见的通信 串行通信的通信方式:分同步通信和异步通信 1、UART和USART分别名为通?异步收发器和通?同步异步收发器,速率不快,可全双?,结构上?般由波特率产?器、UART/USART发送器、UART/USART接收器组成,硬件上两线,?收?发。 学习超链接: (2)UART串口协议详解 - 知乎:https://zhuanlan.zhihu.com/p/150504364 (3)基于STM32之UART串口通信协议(一)详解 - LLLIN000 - 博客园:https://www.cnblogs.com/ChurF-Lin/p/10793111.html 2、I2C(IIC)双向、两线、串?、多主控接?标准。速率不快,半双?,同步接?,具有总线仲裁机制,?常适合器件间近距离经常性数据通信,可实现设备组?。总线仲裁:线与,谁发0就仲裁成功。 (1)概述I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。 (2) IIC的物理层a.只要求两条总线线路,一条是串行数据线SDA,一条是串行时钟线SCL。(IIC是半双工,而不是全双工)。 (3)I2C总线特征总结I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址(可以从I2C器件的数据手册得知),主从设备之间就通过这个地址来确定与哪个器件进行通信,在通常的应用中,我们把CPU带I2C总线接口的模块作为主设备,把挂接在总线上的其他设备都作为从设备。I2C总线上可挂接的设备数量受总线的最大电容400pF限制,如果所挂接的是相同型号的器件,则还受器件地位的限制。I2C总线数据传输速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达3.4Mbit/s。一般通过 I2C总线接口可编程时钟来实现传输速率的调整。I2C总线上的主设备与从设备之间以字节(8位)为单位进行双向的数据传。 学习超链接: (2)一文看懂I2C协议 - 知乎:https://zhuanlan.zhihu.com/p/362287272 3、SPI?速同步串??,?速,可全双?,收发独?,同步接?,可实现多个SPI设备互联,硬件3~4线;也是所有基于SPI的设备公共有的,他们是SDI(数据输?),SDO(数据输出),SCK(时钟),CS(?选)。
学习超链接: 4、USB?速同步串??,?速,可全双?,由主机、hub、设备组成。设备可以与下级的hub相连构成星型结构。?条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+、D-是差分输?线,它使?的是3.3V的电压。数据在USB线?传送是由低位到?位发送的。 学习超链接: 5、CAN采?双线传输,两根导线分别作为CAN_H、CAN_L,并在终端配备有120Ω的电阻。收到总线信号时,CAN收发器将信号电平转化为逻辑状态,即CAN_H与CAN_L电平相减后,得到?个插值电平。各种?扰在两根导线上的作?相同,相减后的插值电平可以滤过这些?扰。 学习超链接: (2)CAN总线简易入门教程_GREYWALL-CSDN博客:https://blog.csdn.net/u010632165/article/details/121661555 6、DMADMA是指外部设备不通过CPU?直接与系统内存交换数据的接?技术。这样数据的传送速度就取决于存储器和外设?作速度。 学习超链接: 常见问题常见差分平衡电平RS422、RS485(232不是)、RJ47、CAN、USB、LVDS 什么是TTL电平、CMOS电平?TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑"1",0V等价于逻辑"0",这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。 RS232/485的理解1)RS-232标准RS-232是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号。RS-232是对电气特性以及物理特性的规定,只作用于数据的传输通路上,它并不内含对数据的处理方式。需要说明一下,很多人经常把RS-232、RS-422、RS-485 误称为通讯协议,这是很不应该的,其实它们仅是关于UART通讯的一个机械和电气接口标准(顶多是网络协议中的物理层面)。 2)RS-485/ RS-422标准RS-232接口可以实现点对点的通信方式,但这种方式不能实现联网功能。于是,为了解决这个问题,一个新的标准RS-485产生了。RS-485的数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。 对比RS232/RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。比如,最显著的特征是:RS232使用3-15v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据,因此,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线,因为485是差分电平,所以抑制共模干扰能力更强,传输距离可达几千米。但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳,才能完成数据在线路和UART之间的正常流动。从某种意义上来说,线路上存在的仅仅是电流,RS232/RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:29:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |