- 课程目录
- 相关资源
- 课程笔记
大家好,我是 Jon Valvano。
在该模块中,我们将讨论通用
输入输出。
具体来说,在本次特定的讲座中,
我们将讨论引脚和端口
以及将设备连接到微控制器所需的
连接。
在我们完成该实验后,
您将连接该线传感器。
这是该特定实验的最终目标,
线传感器。
因此,我们将从两个方面来实现它。
在底层上,我们将查看电压和电流,
即一和零。
具体来说,您将在底层上获得
8 位的数据,该数据用于回答它们是否
看到了线。
但在这之上,您将创建一个算法,用于告诉您
相对于该线,您在什么位置,
机器人在什么位置。
好,让我们步入正题吧。
输入输出非常重要。
我们看到 MSP432 上有 100 个引脚。
这些引脚中有 84 个是为输入输出配置的。
那么,这就是我们将向微控制器输入数据
以及从微控制器获取数据的方法。
在该特定的一章中,我们将讨论其中
较容易的一类,即通用输入输出,
其中我们具有将通过非常
简单的方式传入或传出的单个
二进制电压,一个二进制位信息。
请注意,存在大量其他类型的输入输出。
您可以通过三种不同的方式来考虑它们。
数字 I/O 是它们所在的位置,再说一次,位是
二进制数。
但它们可以一次一个,就像串行传输一样。
这三个全部是串行传输。
它也可以按照时间进行编码,其中信息
实际上编码为
Δt,即两个不同点之间的
差值,可以作为输入或输出。
此外,它实际上能够以模拟方式进行编码,也可以作为
电压进行编码。
那么,这里是一个随时间变化的介于 0 和 3.3 伏之间的数。
我们可以使用一些传感器,我们在其中对信息进行
编码,不是以一和零的形式,而是以该电压的形式,
该电压是连续的,可以是 0 和 3.3 伏之间的
任何值 [听不清]。
总之,我们将查看一类称为通用
输入输出的 I/O,其中我们将作为
高电平或低电平的单个位输出进行传递,
或者作为具有相同类型的
高电平或低电平输出信息进行传递。
我们一会儿将看到这是怎样工作的。
好的,100 个引脚,其中 84 个用于 I/O。这些实际上不是全部
引脚,而是其中的大部分。
这里的想法是,如果我们进行查看,什么是引脚?
引脚是一根导线。
例如,如果我在这里放大,
仅查看这些导线中的一根,
我现在可以在软件中设置它,然后在软件中
使用它并在硬件中连接它,以便我可以
在该引脚上执行输入或输出。
但我可以将大量的引脚集中在一起,
并将它们称为端口。
您可以在这里看到,这些端口中的大部分具有 8 位的宽度。
并不是全部 --这一个的宽度
不是 8 位,而是 6 位。
但这里的大多数端口的宽度是 8 位。
因此,我们要将引脚的
集合称为端口。
您大概可以在该图中看到的其他内容是,
每个引脚实际上至少具有两个名称,有时
多于两个 --
其中有些引脚具有两个以上的名称 --
这样它就具有我们称为其简单或通用
功能的东西,这正是我们要
在该模块中讨论的。
但大部分引脚具有我们称为备用功能的
东西,其中它可以是像模拟信号的
东西,就像这个,或者是时序信号,就像这个,
或者是串行设备,就像这个。
那么这个 --
该备用功能是串行的。
该备用功能是计时器。
这个是模拟。
就我们使用引脚的方式而言,引脚
彼此之间稍有不同。
因此,再说一遍,我希望您通过该讲座,该特定的
幻灯片弄明白的是,端口是引脚的集合。
我们将通过引脚的端口号
来描述或标记引脚 --
端口一 -- 它是引脚一,就像这。
因此,这将是端口一,位一,引脚一。
这是您的 LaunchPad。
到目前为止,您已经使用它进行了几项实验。
因此您知道将 USB电缆插在什么位置。
这里是您的JTAG 调试器。
这里是您的432 芯片。
这里是一个复位按钮。
这里是复位按钮。
侧面有两个开关,
开关一和开关二。
我们将在下一个讲座中向您展示如何连接它们。
但在剩余的部分中,您可以看到引脚。
这里并没有全部显示 84 个引脚,
但仍然显示了很多引脚。
因此,如果我要连接一个传感器,
我可以将一根导线在这里焊接到这个孔中。
我也可以将一个引脚连接到这个点,
位于您的 LaunchPad 的顶部或底部。
我们就是通过这种方法来连接它的。
现在,我们需要连接一组接地引脚。
我们已经看到,接地对于电压而言很重要。
因此,您可以看到有 1、2、3、4 个引脚。
那么,LaunchPad 上有 1、2、3 个引脚,
其输出电压将是 3.3 伏。
而该电压,五伏,正如
我们在前一个模块中看到的,
实际上来自 USB电缆或来自
电池稳压器电路,用于
为 LaunchPad 供电。
因此,我们将使用的 LaunchPad
引脚位于顶部,这些J 1、2、3、4 的公侧,
或位于底部,母侧,它们通过导线连接到我们的机器人。
那么在该 J5 上,我们看到有一组孔,
我可以将接头焊接到里面并使用连接器,
也可以直接将导线焊接到它上面。
您可以自行选择。
好的,我们稍后将在本次课程中,具体而言在实验
19 中看到的是 Wi-Fi 实验,在实验 20 中看到的是蓝牙实验。
这些实验使用称为BoosterPack 的技术,
我们购买一个电路板,然后将其插入 LaunchPad 的顶部即可。
因此我们将获取一个BoosterPack,如 CC2650
BoosterPack,可以通过它
使机器人具有蓝牙通信功能。
我们通过将该BoosterPack 插入
LaunchPad 的顶部来实现它。
那么,再说一次,LaunchPad 具有很多引脚,
我们通过连接这些引脚来连接它。
这是一个处于其电路模式下的 LaunchPad。
那么,如果您需要,可以使用
这两个引脚向 PC发送串行数据。
如果您想这么做,线路已经连接好了。
通过 USB 电缆进行连接。
它成为一个串行端口。
这是我提到过的位于板侧面的
两个开关。
让我们定义正逻辑和负逻辑。
那么,如果真状态,在本例中为开关
按下,导致一个低电平电压,
那么较低的电压表示真。
很显然,假状态表示它未按下。
我们一会儿将看到,这实际上将变为
3.3 伏。
因此,假状态的电压比真状态更高。
我们要将这定义为负逻辑。
在 CMOS 电路中,与正逻辑相比,
负逻辑并没有独特的优势,
但我们有与真条件相关联的
设计和接口决定,在本例中它是
一个开关,因此按下开关表示
较低的电压或较高的电压。
只要它们是不同的,就可以正常工作。
但这是负逻辑。
相反,看看这里的LED 是如何工作的。
再说一次,真条件将是该 LED 为红色。
这是一个红色的 LED。
因此真条件 --
我们要通过将 P1位零上的电压
设置为高电压来生成它。
假条件,意味着它是暗的或熄灭的,
可通过将这里的电压设置为 3.3
来生成。
我要将这称为正逻辑,
因为这里的真条件,真条件
具有比假条件更高的电压。
正如您可以看到,这个LED 是一个 3 色 LED。
它通过端口二、位零、位一和
位二进行连接。
因此我们可以将其设置为蓝色、绿色、红色。
那么,对于这些颜色之间的任一
组合,如果我们需要橙色、黄色、
紫色、粉色等,我们都可以实现它。
但另一个 LED 只有亮起或熄灭状态,当它亮起时,
它是红色的。
让我们谈谈连接。
您还记得吗,我在前一个讲座中
说过,如果您想成为一个优秀的 C 程序员,
那么您应该学习汇编语言,这可以
使您在 C 语言编程方面更加出色?
我要做有点儿类似的事情,如果我说,
如果您想 -- 如果您想了解数字逻辑,
它是连接的精髓,我们将需要对 MOSFET
有一些了解,因为这是
CMOS 器件,它由互补
金属氧化物半导体制成。
它在器件级别实际上是如何工作的。
您可以采用类似的方法来实现所有电气工程
或所有工程,然后将其分解为两部分。
您可能有一个系统 --
那么您可能有一个具有某种功能的东西。
这是一个系统。
您可能还有另一个系统。
为了将一个系统连接到另一个系统,
我们将使用称为接口的东西。
那么,这在该幻灯片中是如何实现的,如果这是一个 MSP432,
它位于该系统的这个位置,您还有
另一个 MSP432,它位于
该系统中,我们希望用导线将它们连在一起。
那么,这是我们将了解两个数字
逻辑门之间的连接的基本
方法。
我们将使用 MSP432作为一个示例,
因为这是我们要在本次课程中使用的。
那么,在该特定的简单示例中,
我将讨论如何沿这个方向传递数据。
那么,这是输出。
这个是输入。
在这里的幻灯片中,我将发送一个低电平。
我将从左向右发送一个数字逻辑低电平。
那么,我将在该引脚上输出一个低电平,
我将读取该引脚,
我预计它是低电平。
这意味着它正常工作。
在这里,我们将讨论如何将其变为高电平。
我们将马上实现它。
那么,如果您探究德州仪器 (TI) 晶圆
代工厂中的 MSP432,我们将看到该输出端口,
为了使该引脚为低电平,这里有一个 MOSFET 晶体管,
它恰好是一个 N 沟道晶体管。
该 N 沟道 MOSFET必须是导通的。
当它导通时,它会将其漏极与其源极短路。
如果您将漏极与源极短路,
该电压将变为低电平。
请注意,它不会一直降到零伏,
而是会接近零伏。
它可能会达到 0.1 伏。
那么,当输出需要为低电平时,我们
要将 vol 定义为输出电压。
它将几乎为零,非常接近于
零点。
您将在实验中进行测量,因此您会看到。
它不会是零。
它会接近零。
嗯,这还远没有结束。
我们必须使数据到达另一侧。
因此,如果您看看是如何在下一个
芯片中收集该数据的,您将看到另一个 MOSFET。
该晶体管恰好是一个P 沟道晶体管。
我们将查看该P 沟道的源栅。
请注意,为了使该低电平能够被识别,
我们将在这里的器件上以及该 P
沟道的源栅上看到
一个正电压。
这将打开该 2:3 晶体管。
嗯,长话短说,让我们看看
电流的流动情况。
电流将非常微小 --
它介于 20 纳安与 1 微安之间。
这里不会有很大的电流流动。
所以不要激动。
但它将从该电源,
从源极流向栅极,并经过我们
连接到它的导线,从该晶体管流向
此接地端。
现在,很显然,这个接地端连接到那个接地端,因此
它流经整个电路。
因此,我们将注意到,随着信息从左向右
传输,处于低电平状态的电流实际上
将从右向左流动。
只要这些电流很小,一切就没有问题。
我告诉过您它们很小。
但随着该电流越来越大,当它
超过它可以承受的值时,该电压可能会变得
如此之高,以至于它会停止工作。
那么,具体而言,在这里,在输出低电压是该电压,
在它可以生成的最大电流下,
它可以创建最大电压。
因此,正如我告诉过您的,
该值将介于20 纳安和 1
微安之间。
MSP432 可以在最高 6毫安的电流下正常运行。
因此,对于它的运行,我们有很多裕量。
当我们传递数据时,会在另一个器件上发生类似的事情。
再说一次,这是输出,那是输入。
但现在,我们将传递一个高电平。
为了利用 CMOS 技术,即互补金属氧化物
半导体使某个数字逻辑具有高电平,
我们要将该 P 沟道
驱动至饱和状态。
因此,该 P沟道的源
漏将激活,从而导致它们之间发生短路。
因此,电流将这样流动。
该电压将非常接近 3.3。
它可能是 3.2。
因此,当输出为高电平时,voh
是输出电压的定义。
它是您要实际测量的电压。
因此,您将测量 vol 和 voh。
它们是可测量的。
现在,为了使它能够作为高电平被接受 --
这将作为高电平进行发送。
您希望看到高电平。
通过使用该N 沟道,它将
在这里看到该电平,该栅源,
将在该栅源MOSFET 上产生
正电压。
然后,该晶体管将进入饱和状态,
这将强制该电路的其余部分将该信号
视为高电平。
电流不会是大电流。
再说一次,它的值将介于20 纳安和 1 微安之间。
实际上不会有大电流流动。
但它确实会沿着这个方向流动。
那么,再说一次,实际的电流
将向下流到这里,其值小于 1 微安,
但它实际上可以拉取并仍然运行的最大
电流将非常大,为六毫安。
但是,如果您尝试拉取 100毫安,它将无法运行。
这就是我要试图在这里说的重点。
因此,如果您的电流超过六毫安,
那么该行为非常简单,数字低电平
连接到数字低电平,数字高电平连接到
数字高电平。
一旦您超过 6 毫安,它就会停止工作。
总之,您可以看到大量不同
类型的逻辑。
这是我们要讨论的逻辑。
这是我们的 MSP432。
该曲线显示,它在这里显示任何 --
这是什么 VIL。
VIL 的定义是一个电压,低于该电压时,
如果是这种情况,输入将看到低电平。
那么,换句话说,432 上看到介于
0 和 0.825 之间的电压的输入引脚
将变为低电平。
然后,在这里,VIH 是一个电压,当高于该电压时
它将看到高电平。
那么,2.475 至 3.3 伏,它将看到高电平。
孩子们进入我的办公室,说,嘿,
我的微控制器不再工作了。
我们交谈起来,我们说,发生了什么情况?
嗯,这里可能出现了几个糟糕的问题。
首先,如果您的输入电压低于零,
换句话说,比如它是
负一伏或负二伏,这实际上将损坏引脚。
类似地,如果您传入的电压大于 3.3 伏,
它也会损坏引脚。
因此,当某些微控制器将运行于 --
某些控制器将在 3.3 和 5 伏之间
运行,并将其识别为高电平。
这称为五伏耐受,
尽管它是3.3 伏部件。
432 没有容差,因此 432 上的
所有引脚必须始终具有介于
零和电源,也就是3.3 伏之间的电压。
但再说一次,这向您展示的是,
当它变低时创建的电压将小于它为了
变为低电平所需要看到的
电压。
类似地,当电压为高电平时它将
创建的电压大于电压为低电平时
它需要看到的电压。
因此,通过这种方法,您可以将一个MSP432 连接到另一个 MSP432。
有几个特殊的引脚。
正如我说过的,大多数引脚 --
84 个引脚中的大多数,其中有 80 个具有该六毫安限制。
但还有另外四个,就是这四个。
这四个引脚是特殊的引脚,
我们可以设置其驱动强度寄存器,
以便生成高达 20 毫安的电流,同时仍能正常运行。
因此,大多数引脚将在零毫安和六毫安之间
很好地工作。
但是,其中有四个引脚可用于介于 6 毫安和
20 毫安之间的电流。
再说一次,对于CMOS 逻辑,这里的
输入电流非常小。
这里的器件都是 CMOS 器件。
这些碰巧是其他微控制器,
但它们将获得电压 --
输入电流非常小。
通常,我们看到MSP432 具有可用于
执行输入输出的引脚。
我们要将一组引脚集中在一起,1、2、3、4、
5、6、7、8,并将其称为端口。
那么,每当我们将输出连接到输入,
我们对其进行连接,以便数据沿着该方向
流动时,该芯片这里的输出低电压
必须小于 -- 必须小于该芯片的
输入低电压。
该芯片的输出高电压
需要大于该芯片的
输入高电压。
接地端必须连接在一起。
这样,数字形式的信息
可以从一个芯片流向另一个芯片。
在下一个视频中,我们将讨论编程。
课程介绍
共计4课时,51分28秒
猜你喜欢
换一换
推荐帖子
- MSP430F5529初学经验
- 为想学MSP430单片机的初学者,或者,你是刚转到电子硬件嵌入式开发,如果你的电子基础课程已经完成,想尽快掌握MSP430单片机,又纠结于怎样尽快闯入MSP430学习过程的问题,现总结整理出新手开始学习MSP430的一些问题,和学习中有关注意事项和方法。 供有心学习MSP430单片机的童鞋参考吧。 当然,闯入MSP430学习,你需要有一些单片机的理论基础,和比较强的C语言功底,学习MSP43...
- fish001 微控制器 MCU
- 基于DSP的感应电机SVPWM矢量控制系统
- 本帖最后由 灞波儿奔 于 2020-5-1 20:29 编辑 一种基于 DSP的感应电机矢量控制系统。该系统以智能功率模块 IPM组成交流-直流-交流的电压型逆变器,运用 TMS320F2812设计了 SVPWM的实现方法,并给出了矢量调速系统的硬件和软件设计方法。 近年来交流变频调速系统发展很快,已成为调速系统的主要研究和发展方向。1971年提出的矢量控制理论根据磁动势等效原则,应用坐标...
- 灞波儿奔 DSP 与 ARM 处理器
- TI推出业界首款可重构DC电弧检测参考
- 德州仪器 (TI) 在应用电源电子大会暨展览会 (APEC) 上宣布推出业界首款全面可编程DC电弧检测参考解决方案。该RD-195可帮助设计人员更快更便捷地满足确保高功率 DC 系统(汽车及飞行器电池管理系统、工业工厂设备以及光伏单元等)不断提升的需求,可避免电弧故障造成灾难性毁坏。设计人员可对RD-195进行编程,优化电弧检测精度与错误检测预防之间的平衡,充分满足系统需求。RD-195配套提供的...
- qwqwqw2088 模拟与混合信号
- 【求助】弱弱地问一个关于调试的问题
- 求助大侠:怎样在debug时查看变量的内容呢?我在IAR Embedded Workbench 调试的时候可以看Memory Register Watch ...... 但就是不知道在哪看程序里设置的一些变量。望大侠指导。多谢!...
- fuio 微控制器 MCU