硬件系统工程师宝典(36)-----盘点常用的总线和常见的逻辑电平

news2024/9/23 21:19:11

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。

上篇我们了解了SDRAM的存储技术以及SDRAM的发展历程,技术的进步推动着产品的升级,也加速了整个电子行业的发展。今天我们来讲一讲一些常用的总线及逻辑电平。

常用总线

I2C总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,只要求两条总线:一条串行数据线SDA、一条串行时钟线SCL。

SPI总线是一种同步串行外设接口,一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线(NSS)。

I2S(Inter-IC Sound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,广泛用于各种多媒体系统。

I2S有3个主要信号,分别是串行时钟SCLK、帧时钟LRCK和串行数据SDATA。

1.SCLK也叫位时钟,即对应数字音频的每一位数据,SCLK都有一个脉冲。SCLK的频率=2*采样频率*采样位数。

2.LRCK用于切换左右声道的数据。“1”表示正在传输的是右声道的数据,“0”表示正在传输的是左声道的数据。LRCK的频率等于采样频率。

3.串行数据SDATA即用二进制补码表示的音频数据。

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(IOS 11898),是国际上应用最广泛的现场总线之一。CAN总线结构简单,只有2根线与外部相连,内部集成错误勘探和管理模块。CAN总线的特点:

1.数据通信没有主从之分,任意节点可以向其他任何一个或多个节点发起数据通信。

2.多个节点同时通信时,通过节点信息优先级的先后顺序决定通信次序。

3.通讯距离最远可达10km(速率低于5Kbps),速率可达1Mbps(距离小于40m)。

4.CAN总线传输介质可以是双绞线和同轴电缆。CAN总线适用于大数据量短距离通信或长距离小数据量通信,实时性要求比较高,在多主多从或各个节点通信优先级对等的现场中使用。

常见的逻辑电平

在电路互连时需要满足电平门限逻辑关系,常见的有TTL和CMOS逻辑电平。TTL器件和CMOS器件的逻辑电平的基本概念如下:

1.输入高电平(VIH):当输入电平高于VIH,则认为输入电平为高电平。

2.输入低电平(VIL):当输入电平低于VIL,则认为输入电平为低电平。

3.输出高电平(VOH):逻辑门的输出为高电平时,电压必须大于此值。

4.输出低电平(VOL):逻辑门的输出为低电平时,电压必须小于此值。

5.阈值电平(VT):相当于电路刚刚能“翻转”动作的临界值,介于VIL和VIH之间,若输入电压在阈值电平上下就会造成电路输出的不稳定。

6.IOH:逻辑门输出高电平时的负载电流(拉电流)。

7.IOL:逻辑门输出低电平时的负载电流(灌电流)。

8.IIH:逻辑门输入为高电平时的电流(灌电流)。

9.IIL:逻辑门输入为低电平时的电流(拉电流)。

一般情况下,以上参数有如下关系:

VOH>VIH>VT>VIL>VOL

5V TTL、5V CMOS的逻辑电平、LVTTL逻辑电平和LVCMOS逻辑电平关系如下所示:

TTL和CMOS的逻辑电平关系

可以看到5V CMOS和5V TTL逻辑电平的输入/输出电平差别较大,互连时要特别注意。其中LVTTL和LVCMOS电平是TTL和CMOS对应的低压版本,它们的输入/输出电平与5V TTL逻辑电平很接近,便于互连。为保证电路的正确互连,需要确认互联部分的逻辑电平满足以下条件:

1.高电平逻辑:发送IC的VOH大于接收IC的VIH,且具备一定的噪声容限。

2.低电平逻辑:发送IC的VOL小于接收IC的VIL,且具备一定的噪声容限。若需要互连的IC满足以上条件即可互连,当互连的IC之间不满足互连条件时,需要有中间转换电路,一般有:

1.使用BJT或MOSFET实现逻辑电平转换。

2.使用电平转换芯片,如TI的74系列IC。

3.对于高电平驱动低电平可以串接电阻,阻值由驱动的电流和电阻的压降共同决定。


另外,整理了一些电子工程类的资料,分享给大家,目前有模拟电路、单片机、C语言、PCB设计、电源相关、FPGA、EMC、物联网、Linux相关学习资料,还有针对大学生的资料包,后续还会有更多资料分享给大家,助力大家学习,成就梦想~

关注同名公众号领取资料~

链接也可在往期文章中找(在文章的最后有链接)~

 模拟电路设计的九个级别,你是模电几段?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/854922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[信号与系统系列] 正弦振幅调制之差拍信号

当将具有不同频率的两个正弦曲线相乘时,可以创建一个有趣的音频效果,称为差拍音符。这种现象听起来像颤音,最好通过选择一个频率非常小的信号与和另一个频率大约1KHz的信号,把二者混合从而听到。一些乐器能够自然产生差拍音符。使…

SAP MIGO 移动原因维护

在OMJJ中维护 在OMJJ中,选择你要维护的移动类型,在“对话结构”中选择“移动原因”,可以修改和添加了。

【JUC】复习指南

JUC复习指南: JUC有哪些知识点? 什么是Juc Lock接口 线程间通信 集合的线程安全问题 多线程锁 Callable接口 JUC三大辅助类 CountDownLatch CyclicBarrier Semaphore 读写锁 ReetrantReadWriteLOck 阻塞队列 ThreadPool线程池 Fork/join Com…

【Docker】Docker容器化技术基础(一篇可以让你学到docker使用的文章)

Docker容器化技术 Docker(软件跨环境迁移)Docker概念:安装Dockerdocker架构配置Docker镜像加速器 一、Docker命令服务daemon相关的命令镜像相关命令Docker容器相关命令 二、Docker容器的数据卷数据卷概念配置数据卷配置数据卷容器 三、Docker…

关于简单C++函数在内存中的存储问题

举例 int main(){... }int data(){... }int add(){... } 在分段式存储管理时,根据人们的需求,人为分段存储 如图:

MySql用户管理、权限管理

用户管理 1. 查看系统用户(查询mysql系统数据库中的user表) select * from mysql.user; 2. 创建用户 CREATE USER 用户名主机名 identified by 密码 -- 创建用户zhonghua,只能在当前主句localhost访问,密码为123456 create user zhonghualocalhost i…

代码反向生成时序图类图-Visual_Paradigm实践

目录 前言 一、Visual_Paradigm介绍 1、主界面介绍 2、功能简介 二、基于代码的序列图生成 1、新建VP项目工程 2、序列图反向生成 三、VP类图生成 1、生成主入口 四、数据ER模型生成 1、SQL脚本 2、ER反向生成 总结 前言 不知道作为研发的小伙伴们,在平时的…

Endnote插入生成参考文献的四种方式

Endnote插入生成参考文献的四种方式 为了熟练Endnote进行在word中插入参考文献,本文介绍四种插入生成参考文献的四种方式。 一、采用Endnote插入按钮方式生成 word选中插入参考文献位置—转入endnote—选中要插入的文献—点击Endnote插入按钮,过程如图…

Java数据类型,一文带你彻底拿捏~

——Java中运算符是一种特殊的符号,用来进行数据的运算、赋值和比较等 思维导图 一.算术运算符 1.什么是算术运算符 ——算术运算符是用于数据类型值之间,使用2个或以上的数据进行运算 2.算术运算符概括 算术运算符 解释示例,-正号&…

CMake:检测python模块和包

CMake:检测python模块和包 导言项目结构CMakeLists.txt相关源码 导言 上一篇,我们基本了解了如何去检测python的解释器和python库。通常,代码是依赖于特定的python模块,无论是python工具、嵌入python的程序,还是扩展python的库。…

Spring Boot 项目应用消息服务器RabbitMQ(简单介绍)

一、背景 本章讲述的是在用户下单环节,消息服务器RabbitMQ 的应用 1.1 消息服务器的应用 在写一个电商项目的小demo,在电商项目中,消息服务器的应用: 1、订单状态通知:当用户下单、支付成功、订单发货、订单完成等…

训练、验证和测试一句话搞懂

文章目录 训练集(training dataset)验证集(validation dataset)测试集(test dataset)训练集可划分为训练集和验证集二二六,一一八,一一一百 训练集(training dataset) 类比课堂知识,训练模型得…

Python中enumerate用法详解

目录 1.简介 2.语法 3.参数 4.返回值 5.详解 6.实例 7.补充 1.简介 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 2.语法 以下是 enumerate() 方法的语…

勘探开发人工智能应用:人工智能概述

0 提纲 机器学习、深度学习、计算机视觉等技术已在勘探开发、油气生产、炼油炼化、经营管理等重点环节进行应用与推广。请思考: 输入:数据是什么(数字、文本、图)?如何理解数据?如何清洗数据?(需要专业领域知识)输出&…

鉴权服务-天G报错引发的感想:一定要有如果报错的预案

今天是HW第一天,下午运维人员说鉴权服务上不去了,看了眼天宫,结果重启了,后来的情况就是20多分钟半小时一重启,真么神奇。开始排查原因: 1、前两天发版换的agent版本发布,但是不知道有没有这个…

【Winform学习笔记(六)】warning MSB3274:引用dll版本冲突

warning MSB3274:引用dll版本冲突 前言正文1、解决方法 前言 在本文中主要介绍 解决 类库编译 Warning MSB3274 的方法; 在项目中引用了自定义控件库,界面设计时可以正常放置删除控件,但启动时会报异常; 编译提示&…

Selenium 是什么?简单明了的介绍

Selenium Selenium 是什么 Selenium 是一款 Web UI 测试工具,是一款 自动化测试 工具,使用 Selenium 测试工具进行的测试通常被称为 Selenium Testing,各种支持如下列表: UI 元素的支持与管理:自写代码实现浏览器支…

(八)穿越多媒体奇境:探索Streamlit的图像、音频与视频魔法

文章目录 1 前言2 st.image:嵌入图像内容2.1 图像展示与描述2.2 调整图像尺寸2.3 使用本地文件或URL 3 st.audio:嵌入音频内容3.1 播放音频文件3.2 生成音频数据播放 4 st.video:嵌入视频内容4.1 播放视频文件4.2 嵌入在线视频 5 结语&#x…

c语言每日一练(4)

五道选择题 1、有以下代码&#xff0c;程序的输出结果是( ) #include <stdio.h> int main() {int a 0, b 0;for (a 1, b 1; a < 100; a){if (b > 20) break;//1if (b % 3 1)//2{b b 3;continue;}b b-5;//3}printf("%d\n", a);return 0; } A.1…

JavaWeb(11)——前端综合案例5(小黑记事本)

一、实例需求 ⌛ 功能需求&#xff1a; ① 列表渲染 ② 删除功能 ③ 添加功能 ④ 底部统计 和 清空任务 二、代码实现 ☕ <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8" /> <meta http-equiv"X-UA-Compa…