背景

准备面试,下面的所有的资料都是想帮助自己了解一些板级常用的传输协议

常用板级协议

UART

我用vivado 实现过 uart 协议,因此具体请参考:
https://blog.csdn.net/weixin_42066185/article/details/107728735
UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

协议格式


一般都是先发送最低位然后再发送最高位.

波特率与比特率

波特率:是码元传输速率bai单位,他说明单位时间du传输了多少个zhi码元。

比特率:是信息量传dao送速率单位,即每秒传输二进制代码位数。bit/s

可能还不是很清楚,举例说明:

如果在数字传输过程中,用0V表示数字0,5V表示数字1,那么每个码元有两种状态0和1. 每个码元代表一个二进制数字。此时的每秒码元数和每秒二进制代码数是一样的,这叫两相调制,波特率等于比特率。

如果在数字传输过程中,0V、2V、4V和6V分别表示00、01、10和11,那么每个码元有四种状态00、01、10和11. 每个码元代表两个二进制数字。此时的每秒码元数是每秒二进制代码数是一半的,这叫四相调制,波特率等于比特率一半。

显然,两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推。

uart 串口 rs232 rs485

(1) uart 是板级传输协议,是一种我们所定义的"约定", 即 通常两根线,Txd 常态下处于高电平状态,当准备开始传输数据的时候拉低电平.

(2) rs232 是一种通信的接口,这个实际是指"物理" 上 实物, 比如说 db9 什么的 , rs485 与之相同

RS232/RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。比如,最显著的特征是:RS232使用3-15v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据,因此,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线。但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳,才能完成数据在线路和UART之间的正常流动

参考资料
http://www.openedv.com/forum.php?mod=viewthread&tid=287667&page=1&extra=

更多概念:UART、RS-232、RS-485、PL-2303、CH340、COM口、串口、TTL

硬件:
COM口和串口指的是物理接口形式。COM口即串行通讯端口,简称串口;单片机里所说的串口一般指UART口即UART模块(既然是模块了,当然是硬件了)接口。
PL-2303、CH340指的是两款USB转TTL电平的芯片。
电平标准:
TTL:标准是低电平为0,高电平为1(+5V电平)。
RS-232:标准是逻辑0为+3V~+15V逻辑1为-3V~-15V。
RS-485:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。该标准采用差分信号顾名思义采用两线差确定逻辑电平。

ch340 是什么

SPI

参考资料: https://blog.csdn.net/weiqifa0/article/details/82765892

IIC

参考资料:https://blog.csdn.net/qq_31860135/article/details/88657382

单板开发中常用的板级协议全解相关推荐

  1. java开发常用jar包_Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. 一.common-lang3 简介:一个现在最为常用的jar包,封装了许多常用的工具包 依赖: org.apache.common ...

  2. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  3. 前端开发中常用设计模式-总结篇

    本文是向大家介绍前端开发中常用的设计模式,它使我们编写的代码更容易被复用,也更容易被人理解,并且保证代码的稳定可靠性. 1.什么是设计模式 通俗来讲,就是日常使用设计的一种惯性思维. 因为对应的这种思 ...

  4. 新大陆物联网开发-物联网竞赛-物联网开发中必须要知道的协议-单片机嵌入式开发

    目录 一.概述 二.协议类别 Modbus协议 Zigbee协议 Mqtt协议 Tcp协议 I²C协议 SPI协议 RS-485协议&RS-232协议 一.概述 本文主要针对物联网开发过程中出 ...

  5. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  6. python web开发第三方库_Python Web开发中常用的第三方库

    Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...

  7. php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结

    <PHP编程:yii2-GridView在开发中常用的功能及技巧总结>要点: 本文介绍了PHP编程:yii2-GridView在开发中常用的功能及技巧总结,希望对您有用.如果有疑问,可以联 ...

  8. php开发中常用函数总结,PHP开发中常用函数总结

    PHP开发中常用函数总结 发布于 2014-10-31 08:34:03 | 48 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Preproc ...

  9. IDEA开发中常用快捷键

    IDEA开发中常用快捷键 Alt + Enter        引入类 Ctrl + O       查看我们继承的类或者接口中的方法,以及我们要实现的方法 Ctrl + Alt + b     查看 ...

  10. php页面开发,PHP网站开发中常用的8个小技巧

    这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名.使用.PHP判断Form表单是否提交.PHP 获取字符串长度.PHP超全局对象等内容,需要的朋友可以参考下 PHP是一种用于创建动态 ...

最新文章

  1. 一文告诉你,NIPS 2017有多火爆 | 附PPT、视频、代码大总结
  2. 取子字符串的两种情形的解决办法(c#)
  3. Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?...
  4. linux我ll查不到usr,Linux学习-文件查寻
  5. 使用ImageMagick 在图片上绘制粗斜体的中文也许是一个错误。
  6. python gui tkinter_python学习之GUI(Tkinter)
  7. PHP群发300万,mysql 300万数据查询500多秒如何优化
  8. 《Python编程从入门到实践》记录之读取文件
  9. redistemplate hash 过期时间_redisTemplate的使用以及和stringRedisTemplate的区别
  10. 传言成真 天融信收购傲天动联
  11. JS代码对表格进行新增时无法解析HTML代码的解决方式
  12. Android支持库AndroidX和support-v4、appcompat-v7的前世今生!
  13. C++语言编程软件推荐及下载教程
  14. 中国AR镜片市场现状研究分析与发展前景预测报告(2022)
  15. macOS录制系统声音及麦克风的三种方法
  16. 使用selenium启动谷歌Chrome浏览器
  17. python selenium 验证码识别_Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录...
  18. 使用python代码调用三汇语音卡硬件拨打电话
  19. 英雄联盟服务器维护时间是多久,英雄联盟更新维护到几点今天? LOL10月15日停机维护多久几点开服...
  20. Excel中如何显示复杂公式中局部的计算结果,例如嵌套函数,使用多个函数

热门文章

  1. 思澈平台 sct文件中的加载域和执行域在map文件中的映射
  2. 米勒奥尔模型中现金返回线,最佳持有量的推导
  3. 奥运门票网站瘫痪给了我很深刻的启示……
  4. 一个程序在计算机中是如何运行的?超级干货!!!
  5. 跟波哥学习PHP之MySQL基础入门(第四季)-lampol-专题视频课程
  6. Java 进阶——并发编程之线程同步利器CountDownLatch、CyclicBarrier、Semaphore 的使用小结
  7. 以感恩为主题的演讲稿
  8. osgPBR(十五)镜面IBL--查看不同级别的HDR环境贴图
  9. 简单电感量测量装置电路设计
  10. python提供了一个交互输入函数可以让用户输入的信息是_大学慕课2020年沟通心理学答案查题公众号...