硬件开发笔记(十七):RK3568底板电路串口、485、usb原理图详解
前言
原理图有一些常用电路。
本篇就将集中常用电路分析完,如uart口,涉及usart串口、rs485、usb口。
串口
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
UART和USART都是串行通信中的重要接口,UART主要用于异步通信,而USART则支持同步和异步通信,具有更高的灵活性和性能。在实际应用中,应根据具体的需求和场景选择合适的接口进行通信。
UART(Universal Asynchronous Receiver/Transmitter)
定义
UART,即通用异步收发传输器,通常被用作计算机或其他设备之间传输数据的接口。它主要完成数据的串行化和并行化转换,使得数据能够在不同的设备之间有效地传输。
工作原理
UART将要传输的数据在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连接上。它不是像SPI和I2C这样的通信协议,而是微控制器中独立的物理电路或独立的IC。
特点
UART的一个显著优点是它只使用三根线就可以在设备之间传输数据,包括发送线(TX)、接收线(RX)和地线(GND)。这种简单的连接方式使得UART在许多应用中成为首选的通信方式。
USART(Universal Synchronous/Asynchronous Receiver/Transmitter):
定义
USART,即通用同步/异步串行接收/发送器,是一个全双工通用同步/异步串行收发模块,也是一个高度灵活的串行通信设备。USART在UART的基础上增加了同步通信的功能,使其具有更广泛的应用场景。
工作原理
USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。控制寄存器为所有的模块共享。时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送器部分由一个单独的写入缓冲器、一个串行移位寄存器、校验位发生器和用于处理不同帧结构的控制逻辑电路构成。接收器是USART模块最复杂的部分,包括时钟和数据接收单元、校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器等。
特点
USART的主要特点包括全双工操作、支持同步和异步通信、独立的高精度波特率发生器、支持多种数据位和停止位配置、硬件支持的奇偶校验位发生和检验、数据溢出检测、帧错误检测等。此外,USART还支持多机通信模式和倍速异步通信模式,使得其在各种复杂的通信环境中都能表现出色。
底板接口电路
默认调试串口

这个使用的常规max232类型的芯片,进行ttl与串口232的电平转换:
- TTL是一种电平,即高电平为2.4V至5V,低电平为0V至0.4V。
- RS232电平分为正负两个极性,其电压范围为±3V至±25V,其中大于0V表示逻辑“0”,小于0V表示逻辑“1”,
USB3.0 x 2


USB2.0 x 2

如下图,使用了是USB共模电感电路进行滤波:

USB共模电感电路是一种用于滤除电源信号中的共模噪声的电路(电磁干扰的一种,与电磁兼容性相关)。共模噪声是指同时出现在电源的正极和负极的噪声信号,而差模噪声则仅出现在其中一极的噪声信号。
USB共模电感电路通常由一个共模电感器件和相应的连接电路组成。共模电感器件主要作用是提供一个高阻抗路径,以阻挡共模噪声进入USB设备或从USB设备传播出去。在USB设备的端口两个数据线(D+和D-)上分别加入了一个共模电感器件,从而实现了对共模噪声的滤除。
USB共模电感电路的原理是利用共模电感器件的高阻抗特性,使共模噪声信号无法通过这个电感器件流入或流出USB设备。这样可以有效地减少共模噪声对USB设备的干扰.
需要注意的是,USB共模电感电路只能滤除共模噪声,而无法滤除差模噪声,差模噪声是指只在一个数据线上出现的噪声信号。如果需要同时滤除共模噪声和差模噪声,通常还需要添加其他滤波元件,如差樘电感器件和滤波电容等总而言之,USB共模电,感电路是一种用于滤除电源信号中的共模噪声的电路,通过添加共模电,感器件和相应的连接电路,可以有效地减少共模噪声对USB设备的干扰。
下图随便找的两个示例:


注意:可能是设计习惯或者都可以的状态,这个电路发现有多种形式。
UART x 2

RS485 x 1

使用了SIT3485E进行串口与485的电平以及逻辑转换,此图没有实现硬件上下拉,是软件控制,这部分可以进行一些调整。
SIT3485E集成芯片

SIT3485E是一款3.0V~5.5V宽电源供电、总线端口ESD水平达到15KVHBM以上、总线耐压范围达到±15V、半双工、低功耗,功能完全满足TIA/EIA-485标准要求的RS-485收发器。
SIT3485E 包括一个驱动器和一个接收器,两者均可独立使能与关闭。当两者均禁用时,驱动器与接收器均输出高阻态。SIT3485E具有1/8负载,允许256个SIT3485E收发器并接在同一通信总线上。可实现高达12Mbps的无差错数据传输。
SIT3485E 工作电压范围为 3.0~5.5 V,具备失效安全(fail-safe)、限流保护、过压保护等功 能。
在使用RS485收发器SIT3485ESA进行485通信时,常用的方式是使用软件控制方向。在空闲状态下,MCU控制485_EN为低电平,使SIT3485ESA处于接收状态;在准备发送数据之前,MCU会拉高485_EN,SIT3485ESA就会处于发送状态,发送完毕之后,485_EN重新处于低电平,SIT3485ESA也再次处于接收状态。
总结
串口、485为常用串行通讯接口,单片机也好,复杂的系统也罢都是离不开这几项的,然后还有USB,本篇完。
硬件开发笔记(十七):RK3568底板电路串口、485、usb原理图详解的更多相关文章
- “全栈2019”Java第七十七章:抽象内部类与抽象静态内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
分享我开发的网络电话Android手机APP正式版,图文详解及下载 分享我开发的网络电话Android手机APP正式版 实时语音通讯,可广域网实时通讯,音质清晰流畅! 安装之后的运行效果: 第一次安装 ...
- Android开发之手势滑动(滑动手势监听)详解
Android开发之手势滑动(滑动手势监听)详解 在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动通常有两种方法:一种是单独实现setOnTouchListen ...
- 硬件开发笔记(一):高速电路设计Cadence Aleego软件介绍和安装过程
前言 红胖子软硬通吃的前提的使用AD,涉及到高速电路板,要配合高速硬件工程师,使用Aleegro更合适,遂开启了Aleegro设计电路板学习,过程保存为开发笔记,旨在普及和沟通技术,共同进步,学无 ...
- 【JAVAEE学习笔记】hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户
今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解
一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和men ...
- 【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解
一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和men ...
- STM32F412应用开发笔记之八:迪文串口屏显示驱动
迪文的显示屏使用起来比较方便,其使用串口通讯,即可支持RS232,又可以支持TTL电平.在NUCLEO-F412ZG实验板上,USART2已经引到了CN9上,我们就利用USART2来实现与迪文串口屏的 ...
- 硬件开发笔记(四):硬件开发基本流程,制作一个USB转RS232的模块(三):设计原理图
前者 前面建立好的基础的元器件,下面开始设计原理图. 需求 USB转RS232,输出RS232 可以选择性输出5V的TTL 可以选择性输出3.3V的TTL 设计原理图 步骤一:CH340G ...
随机推荐
- 力扣1(java&python)-两数之和(简单)
题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是, ...
- dotnet SemanticKernel 入门 注入日志
使用 SemanticKernel 框架在对接 AI 时,由于使用到了大量的魔法,需要有日志的帮助才好更方便定位问题,本文将告诉大家如何在 SemanticKernel 注入日志 本文属于 Seman ...
- dotnet 警惕 Task 的 ContinueWith 带上 OnlyOnFaulted 参数抛出取消异常
本文记录 dotnet 的一个令人迷惑的设计,在 Task 里,有一个叫 ContinueWith 的方法,此方法可以在 Task 完成时执行传入的委托.在 ContinueWith 方法里面,还有一 ...
- Part-DB 配置流程
介绍 Part-DB是一个开源的器件管理工具,博主用于管理个人的电子器材,最近捣鼓了一下这个工具,由于手头还有一块闲置的赛昉·星光2的开发板,所以我打算一起拿来捣鼓一下,如果不成功,就用树莓派(生气) ...
- JavaScript函数属性,方法,ES6拓展内容总结(箭头函数使用,rest参数)
引言 函数在js中也是一个对象,所以它也是有着自己的属性和方法的,了解它们能更好的使用函数. // 各种样子的函数 function foo() {} function foo(a) {} funct ...
- net core下链路追踪skywalking安装和简单使用
当我们用很多服务时,各个服务间的调用关系是怎么样的?各个服务单调用的顺序\时间性能怎么样?服务出错了,到底是哪个服务引起的?这些问题我们用什么方案解决呢,以前的方式是各个系统自己单独做日志,出了问题从 ...
- 【爬虫案例】用Python爬取百度热搜榜数据!
目录 一.爬取目标 二.编写爬虫代码 三.同步视频讲解 四.完整源码 一.爬取目标 您好,我是@马哥python说,一名10年程序猿. 本次爬取的目标是:百度热搜榜 分别爬取每条热搜的: 热搜标题.热 ...
- Ubuntu 安装谷歌中文输入法
Ubuntu 安装谷歌中文输入法 下载谷歌拼音:sudo apt-get install fcitx-googlepinyin 点击设置: 第一次打开需要点击安装: 设置完成后重启系统 点击右上角键盘 ...
- Swift实现判断目录下是否存在指定文件功能
本文主要讲解以下这段名为 isDataJsonFilePathExists 的私有函数的 Swift 代码实现细节,该函数的作用是检查指定文件或文件夹是否存在,其返回值类型为 Bool 类型,如果存在 ...
- ansible(6)--ansible的copy和fetch模块
1. copy模块 功能:从 ansible 服务端主控端复制文件到远程主机: copy模块的主要参数如下: 参数 说明 src 复制的源文件路径,若源文件为目录,默认进行递归复制,如果路劲以&quo ...