成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

数字I / O扩展

如何使用数字I / O串行技术展开您的接口。

你可能在这里,因为你已经用完了I / O引脚。奇迹:

  1. 也许你只剩下一个引脚未使用,需要添加更多 functions.
  2. 您需要的I / O远远超过您的引脚数量 microcontroller.
  3. 您需要一个高速并行端口,但有一个小于所需的 可用的平行引脚。
  4. 您需要添加数百个温度传感器并希望仅使用一个 microcontroller.
  5. 你真的不'要在现有的情况下促进大量的新电线 design.

使用单线,SPI或I2Cnba竞猜可以解决这些问题。

为PIN限制系统添加更多功能的方法是使用串行 沟通。只要您至少有一个引脚,都没有 lost.

有几种方法,每个方法都有不同的权衡。这是一个列表 可能的方法,按照所需的销数(不包括地), 但不是任何其他特定的重要性顺序。


类型 电线
跳到部分 spi. 3-4
跳转到部分: I2C 2
跳转到部分: 达拉斯1电线 1
跳转到部分: 串行到 parallel 3
跳转到部分: 平行线 to serial 3
跳转到部分: 约翰逊柜台 2
跳转到部分: RS232 1

数字I / O扩展: Dallas 1 wire

这是由达拉斯半导体创建的专有通信系统 (part of Maxim www.maxim-ic.com.)。每个nba竞猜都有一个独特的激光器刻 地址蚀刻到其中,以便您可以将多个nba竞猜放在同一电线上 network.

它使用单个I / O引脚(作为ABUS Master)来控制所有从nba竞猜 附加到I / O引脚和所有nba竞猜都可以由I / O引脚提供支持! 这些nba竞猜可以是10多米的雏菊。

笔记: 单线nba竞猜可以提供动力 通过驱动I / O引脚(您可以添加电路以提供额外的电源 nba竞猜)使其对于不可访问的区域非常有用 power.

您可以使用的典型nba竞猜包括:

nba竞猜 描述
DS18B20. 一个受欢迎的温度计(非常准确)
DS2408 8通道可寻址开关;输入和输出& latch.
DS2413 交换机 (打开 并关闭开漏晶体管28V Max).
DS2433 4K位EEPROM.
DS2450 Quad ADC转换器
DS2423 柜台与4kbit RAM
DS28E04-100 4kbit EEPROM和DUAL IO
DS2417 实时时钟
DS2890 数字锅

注意这不是完整列表 - 有很多nba竞猜!

虽然您可能认为1个线系统仅限于长距离 控制和测量您可以在单板内使用它,您可以使用它 同一线控网络上的100多个nba竞猜。

有关如何使用它的更多信息 DS18B20. 项目还讨论寄生模式和 当要求太多的电源时,如何确保网络不会下降 lots of devices.

数字I / O 扩张:约翰逊柜台

一芯片我喜欢用于非常简单的I / O扩展是74HC4017原创 CMOS版本,但也有HCT等。它是Johnson柜台 顺序地打开10个输出中的一个。所有你需要开车它是两个 控制复位和时钟。它没有大量的输出电流驱动器 您可能需要晶体管提供更多电流。

它是一种用于复用七个段显示器的有用芯片。

频率计数器项目 这里 使用4017顺序 跳过8倍七个段显示器的每个8位数。

数字I / O扩展:串行 平行/平行于串行芯片

您可以使用离散芯片 74HC595. (串行和8位并行出) and 75HC165. (8位平行于和 序列)。每种类型所需的只是3个控件:
  1. 锁存(获取或设置稳定数据)。
  2. 重启。
  3. 钟。
这两个nba竞猜在简单移位寄存器上的优点例如。是4094是 锁存控制信号从内部移位寄存器加载数据 the outputs. 

这将输出信号(595)与移位寄存器分开,以便您可以 设置所有串行数据,将其计时到nba竞猜中而不更换 输出。当您准备好将数据锁定到输出时 锁存控制信号。

这可确保数据永远不会改变,直到您已准备好以便更改 并且与串行nba竞猜的并行操作发生类似的操作。

注意:您可以轻松级联这些nba竞猜 使用相同的控件提供更多I / O.

您可以在595上找到更多信息 这里.

数字I / O扩展:I2C

这是仅使用更灵活的接口方式之一 两个别针 而最重要的一点是 它在两个方向上都提供了数据传输 往返 从nba竞猜。 SPI协议确实如此 这以一种有限的方式。

您可以通过寻址方案将nba竞猜添加到总线限制〜120nba竞猜上 和每个nba竞猜增加总电容的电容。地址 固定为制造商和nba竞猜系列,有些有额外的引脚设置 较低的地址范围例如对于相同类型的额外串行EEPROM。

有关I2C的更多信息,请单击 这里.

I2Cnba竞猜 描述
PCF8574 8位I / O端口(廉价版JLC1562)。
MCP23017 16位可配置I / O具有中断。
MAX1036 Quad ADC转换器8bit。
PCF8591. Quad ADC和1 DAC 8bit。
MAX5548 DAC 8bit。
SSD1306. I2C或SPI OLED显示屏
DS1672 32位二进制计数器RTC。
DS1803 双数字锅(256个位置)。
DS1307 实时时钟。
DS1624 数字温度计和记忆。
BMP280 数字晴雨表(可配置为SPI)。

注意:有更多的i2c devices!

数字I / O扩展:SPI

这是使用4根电线的串行外设界面(如果仅发送数据,则为3 在一个方向上)。它基本上是一种基于移位寄存器的协议 - (因为 这样它可以快速运行)。有关SPI的更多信息,请单击 这里.

spi.nba竞猜 描述
MCP23S17 16位可配置I / O具有中断。
MAX7219 64个LED驱动器(可乘CascaDable)。
MAX7317 10位I / O扩展器(26MHz!)。
MAX1062 Quad ADC转换器14bit。
MAX5590 DAC 8通道10bit
SSD1306. I2C或SPI OLED显示屏
AD8402 双数字锅256位置。
DS1307 实时时钟。
MAX6627 12位温度传感器。
BMP280 数字晴雨表(可作为i配置2C)。

注意:有更多的spi devices!

数字I / O扩展:RS232

也许是最不寻常的是自批量生后的RS232串行Comms方法 微控制器有一个内置串行模块,您可以使用它作为一个简单的模块 异步数据传输系统i.e.从一个微控制器的Chuck数据 另一个(或者如果你想要的话)。

为了一种方式,您只需要一个线串行输出(来自 将微观传输到串行输入(到接收微观)。你赢了't need 一个级别的翻译,如果您只需在同一个板上的两个芯片之间进行通信 因为它会在短距离内,你可以快速运行..

使用它的最佳方法是每个微控制器内置的UART,但 如果绝对必要,您可以使用软件版本。

您可以点击以下链接找到更多信息 RS232用法.

I / O端口扩展:摘要和速度问题

spi.接口是最快的(>10MHz)但使用最多的别针而 I2C接口是中速(100khz-400khz) - 虽然有一个更快的MHz 模式 - 和RS232是最慢的。 RS232使用两个引脚进行通信 两个方向,但如果您只需要将数据传输到外围nba竞猜,那么您可以 use one pin.

数字I / O扩展器:速度

界面 需要针脚 可以在软件中创建 速度
spi.TM值 3-4(和地面) 是的(慢) >10MHz
I2CTM值 2(和地面) 是的(慢)

100khz /
400kHz/
1.7MHz

RS232 1(和地面)(对于单纯x)。 是的(慢) 50kHz
单线TM值 1(和地面)(用于双单纯x) 是的(无论如何慢) 〜100 Hz.


spi.示例项目:

MAX7219 64 LED驱动程序项目这是一个例子 ArduinoTM值 使用4线SPInba竞猜(MAX7219)的项目 数字I / O (实际上在这种情况下仅用于输出) 添加64个LED输出。此外,您可以级联多个MAX7219 DEVCIES for unlimited I/O.

在实践中,最大nba竞猜速度速度将取决于SPI的快速 界面转移,所需的LED输出变化率。

对于大量的显示,处理器需要更快 - 解决方法 像素以改变和何时等。(5 - 10)x 64 LED显示屏没有 problem.


单线TM值 Example Project:

DS18B20.达拉斯一线项目示例这是一 example ArduinoTM值 使用one_wire的项目 TM值 协议(一根电线加上接地返回线 - 所以真的是2根电线 - 但仍然是 非常令人印象深刻)。它也运行  wires(10's of 米) - 您可以将电线对运行到花园中以录制温度 no power supply!

这是一个 DS18B20. 温度计准确到了 0.5°C在宽温度范围内。

nba竞猜可以从额外的电源线或寄生模式运行 在数据线的电力被解冻的地方,即,您只需要微电机 I / O引脚提供电源并控制它。


新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。



隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部