Адаптер usb to usart, spi и i2c

USB UART переходники на FT232 и CP2103

Схема USB-UART переходника на FT232RL

Внешний вид полученного девайса

   Если ты соберешь этот USB-UART переходник, то не спеши сразу втыкать его в USB порт. Перед работой нужно убедиться в отсутствии замыканий между плюсом питания, землей и выводами D+, D-. Возьми тестер и прозвони их. Если замыканий нет, визуально проверь другие вывода и только после этого можешь подключать переходник. 

   При первом включении операционка попросит установить драйвера. Их можно скачать с официального сайта производителя – драйвер для FT232. Установка драйверов не представляет никакой сложности, поэтому говорить об этом не будем.    Когда драйвер установится, в системе появится дополнительный COM порт.

Это так называемый виртуальный COM порт, но его можно использовать точно так же как и обычный. Чтобы увидеть его порядковый номер, нужно залезть в диспетчер устройств, если у тебя винда. Заходишь в панель управления, выбираешь система > диспетчер устройств. В разделе “Порты (COM и LPT)” должен находиться наш переходник – “USB Serial Port (COM10)”.

У тебя может быть какой-нибудь другой номер порта.    Чтобы убедиться в работоспособности переходника нужно открыть любую терминальную программу, выбрать соответствующий COM порт, замкнуть джампером выводы RXD и TXD и отправить через терминал любую последовательность символов.

Если переходник функционирует, терминал примет ответ в виде эха, а на плате кратковременно вспыхнут светодиоды.

   Для подключения переходника к микроконтроллеру, нужно вывод RXD микроконтроллера соединить с выводом TXD переходника, а вывод TXD микроконтроллера с выводом RXD переходника. Также нужно соединить их земли.

USB UART переходник на CP2103

   Микросхема CP2103 фирмы Silicon Labs – это по сути аналог FT232.

Имеет простую схему включения с минимальным количеством внешних компонентов, позволяет организовать полноценный COM порт со всеми его сигналами, имеет дополнительные пользовательские выводы и программу для их конфигурации, драйвера, маленькие габариты и более демократичную цену.

Из недостатков стоит отметить мелкий и неудобный для запайки в домашних условиях корпус. Пожалуй, это главная причина непопулярности этой микросхемы в среде самодельщиков.
   Ради интереса я сделал USB UART преобразователь и на ее базе. Все пользовательские выводы развел на PLS`ки по краям платы.

RXD и TXD вывел на отдельный разъем. Джампер для выбора напряжения питания выводов здесь не понадобился, так как это напряжение не может быть большее 3.6 В. USB разъем выбрал в мини исполнении, плату развел в одном слое с четырьмя перемычками на обратной стороне.

Светодиоды для индикации передачи/приема данных не сделал, потому что микросхема CP2103 не имеет выделенных для этих целей выводов. Можно задействовать любые пользовательские выводы, но их нужно конфигурировать с помощью специального софта. Когда я это узнал, переходник уже был готов и переделывать его было лень, особенно после мучений с запайкой. Единственное, что я добавил из индикации – это светодиод по питанию.

Схема USB-UART преобразователя на CP2103

Внешний вид полученного девайса

   Я немного помучился с изготовлением этого переходника. Во первых между ножками CP2103 очень маленький зазор, нужно аккуратно делать плату. Во вторых ее сложно припаять. Если бы у меня не было фена, я бы за это вообще не взялся.    Запаивал я ее следующим образом. Залудил плату сплавом Розе.

Он плавится при 100 градусах, что позволяет избегать перегрева платы и микросхемы . Обильно смочил посадочное место микросхемы флюсом и положил ее туда. Используя увеличительное стекло и пинцет, кое-как сориентировал ее по посадочному месту.

Далее стал нагревать микросхему феном с температурой ~150-200 градусов. Когда припой расплавился, микросхема стала шевелиться и за счет сил поверхностного натяжения заняла точное положение на посадочном месте. Получилось очень ровно, но переходник не заработал.

Я повторно нагрел микросхему и слегка придавил и пошевелил пинцетом. После этого микросхема сконтактировала с дорожками платы.    После сборки переходника нужно убедиться в отсутствии замыканий между плюсом питания, землей и выводами D+, D-, а затем между остальными выводами.

Поскольку микросхема очень маленькая, между выводами легко может сесть сопля. После проверки выводов, USB UART переходник можно подключать к компьютеру.

   Как и с предыдущем переходником, при первом включении система предложит установить драйвера. Скачивай их с официального сайта производителя – драйвер для CP2103.

   Установленный переходник определяется в диспетчере устройств в разделе “Порты” как “Silicon Labs CP210X USB to UART Bridge (COM6)”. У тебя может быть другой номер порта.

   Работоспособность проверяется аналогично, повторяться не буду.

Альтернативные варианты USB-UART адаптеров

   Альтернативные варианты адаптеров можно сделать на микросхемах FT230XS и CP2102. Это урезанные и соответственно более дешевые аналоги FT232 и CP2103. Обе микросхемы имеет меньшее число пользовательских выводов и не совпадают по распиновке.

Файлы

USB-UART-Bridge-FT232RL.rar – печатная плата для Eagle
USB-UART-Bridge-CP2103.rar – печатная плата для Eagle
datasheet FT232RL
datasheet CP2103

Ссылки

Софт для настройки FT232RL – FT Prog
Софт для настройки CP2103 – Customization Utility  Много весит!

У вас недостаточно прав для комментирования.

Источник: http://chipenable.ru/index.php/programming-avr/item/149

Easy-to-Use USB to I2C Adapters

You do not need to learn the low level of I2C protocol. All you need to do is to call a few functions in your favorite programming language or use our GUI or command-line software.

  • Free software (downloadable from website)
  • Open source examples and demos
  • API for C, C++, Python, VB, VB.Net, C# and LabView
  • Available as adapters, modules and system on chip
  • Upgrades are free and can be easily applied.
  • Additional Interfaces – SPI, GPIO, ADC, PWM, etc.
  • Dozens of accessories
  • Available for 45 days Test Drive

You can connect adapter to any I2C device and adjust the frequency to reach the maximum throughput. The I2C bus frequency is configured with a single function call.

Optional pull-up resistors

I2C pull-up resistors are assembled on board, but can be easily disabled if your board already has pull-up resistors. The boards that support I2C bus Fast-mode Plus (Fm+) have additional set of pull-up resistors.

I2C bus voltage 1.2V-5V

The I2C bus voltage can be supplied either by DLN USB-I2C adapter, or by your hardware. The DLN adapters can supply either 3.3V or 5V. External voltage can be in the range from 2V to 5V. The voltage level translator for DLN-4 adapters allows interfacing the I2C bus with voltage level from 1.2V to 3.6V. The exact values depends on specific adapter (see comparison table).

Читайте также:  Асинхронные двигатели

USB bus powered. Provide up to 350 mA of power to your embedded project

The DLN USB-I2C adapters are powered directly from USB. No external power supplies are required. The USB to I2C adapters can also supply power for your hardware. The amount depends on specific device (see comparison table).

Clock stretching synchronization

Some I2C slave devices require additional time to process the data. Clock stretching allows them to delay the transmission until they are ready.

I2C Multi-Master

DLN I2C to USB adapters can share the bus with another I2C master device. This is important for rapid testing and debugging of closed I2C system.

ID and serial numbers are accessible from software

Need to interface separate I2C busses simultaneously? You can connect several USB to I2C adapters to the same PC and interface them from the same software. Every adapter is uniquely identified by serial number, assigned during the manufacturing. You can change the ID number from software to prepare similar fixtures with multiple adapters in each fixture.

Asynchronous and Event Driven I2C Slave interface

When you use the DLN-4S adapter as an I2C slave, it waits for I2C master device to start the transaction. You can preconfigure the I2C adapter to send events after transaction. Polling, that wastes computer resources and bus bandwidth, is not required.

Upgrades are free and can be easily applied

We are constantly working to add new features to our USB-I2C adapters. The upgrade can be applied without disconnecting the USB-I2C adapter from PC. You can use our firmware update utility (open source) or integrate upgrade into your setup.

The USB to I2C adapters come with a set of easy to use software applications. For I2C interface we provide the following programs:

Configures the I2C master interface, writes and reads data over the I2C bus.

Configures the I2C slave interface, loads data to be sent to I2C master device, and logs i2c transactions together with the transfered data.

Logs asynchronous I2C slave transactions as well as events from other interfaces (e.g. digital and analog input pins, pulse and frequency counters, etc.)

Allows configuring the I2C master device and sending I2C transactions from command line or batch file script. Especially useful if you need to combine several I2C transactions as a set.

These applications are free and open source code. You can use them as a starting point for your own software development.

After installing our setup package you’ll get access to dozens open source demos in different programming languages, varying from the simplest to the most advanced.

If you need additional demo or instructions on how to interface DLN USB to I2C adapters from your favorite programming language just contact us. Our engineers and support team will be happy to assist you.

With just a few lines of code you can interface your I2C bus from computer.

#include “……commondln_generic.h”
#include “……commondln_i2c_master.h”
#pragma comment(lib, “..\..\..\bin\dln.lib”) void main()
{ // Establish connection to the USB-I2C adapter HDLN device; DlnOpenUsbDevice(&device); // Configure and enable the I2C master interface DlnI2cMasterSetFrequency(device, 0, 100000, NULL); DlnI2cMasterEnable(device, 0, NULL); // Prepare output buffer uint8_t output[8], input[8]; for (int i = 0; i < 8; i++) output[i] = i; // Write data to I2C slave device DlnI2cMasterWrite(device, 0, 0x50, 1, 0, 8, output); // Read data from I2C slave device DlnI2cMasterRead(device, 0, 0x50, 1, 0, 8, input); // Print input data for (int i = 0; i < 8; i++) printf("%02x ", input[i]); }

The LabVIEW package for USB to I2C adapters includes:

  • LabVIEW Instrument Driver
  • LabVIEW I2C master and slave components
  • LabVIEW examples for I2C master and I2C slave interfaces
  • Documentation

You can easily integrate the LabVIEW I2C driver components into any application.

All software examples are free and open source.

read more

Diolan offers many adapters for USB to I2C interface. Below we list the most popular. They differ by form factor, supported frequencies and features. However, they all share the same API and can be easily interchangeable. You would not need to modify your software if you decide to switch to another adapter in the future.

The most popular adapter is DLN-2. This is a middle-price product, but it has most of the functionality you need to start interfacing your I2C slave device.

The I2C lines are available on 2 connectors:

  • The dedicated I2C connector outputs SCL, SDA, VCC and Ground.
  • If you need additional signals (SPI, ADC, PWM, GPIO, etc.), you can connect the standard flat cable to 2×20 pin header.

The voltage level and pull-up resistors are configurable with jumpers.

  • If you need to supply power to your I2C slave device (up to 50mA), you can select either 5V or 3.3V voltage level.
  • If I2C bus is powered from your hardware, the voltage can be any in the range from 2.3V to 5V.

There is an additional set of pull-up resistors for I2C fast mode plus (1MHz).

The DLN-4M adapter is available in two variations: with enclosure (DLN-4ME) or without enclosure (DLN-4M). The I2C characteristics are very similar to those of DLN-2 adapter, but it has significant enhancements in other interfaces.

It can provide more current to connected hardware (up to 350mA), but it does not support 5V I2C busses, only 3.3V (if power is supplied by the DLN-4M adapter).

If I2C bus is powered from your hardware, the voltage level can be 2V-3.3V. You can also use our voltage level translator if your hardware operates in the range 1.2V-3.6V.

The DLN-4ME adapter comes in handy plastic enclosure with rubber sides. Two pin headers are hidden inside the enclosure, so the number of accessible input/output lines are limited to 26 (the 26 pin D-SUB connector).

I2C bus, as well as other most popular interfaces (SPI, GPIO, ADC, pulse and frequency counters) are present at this connector. You can easily make an elegant cable (or we can do it for you) to connect DLN-4ME adapter to your hardware. Look at our I2C cable.

Читайте также:  Неисправности электропроводки

We sell the mating connectors and hoods for it.

Источник: https://diolan.com/usb-i2c-adapters

CH341A, USB-UART-конвертер и I2C/SPI-программатор за $5

Когда-то давным-давно я писал пару статей о широко известном в узких кругах чипе FTDI FT232H и различных его применениях.

Всем хорош был FT232H для DIY, но и у него нашлось несколько недостатков — относительно неприятный для ручной пайки корпус LQFP48 (для истинных любителей хардкора есть еще вариант в QFN48, паяй — не хочу, DIHALT не даст соврать), цена за оригинальный чип от 250 рублей, вероятность проблем с драйверами на поддельных чипах и некоторая функциональная избыточность, к примеру, поддержка JTAG нужна далеко не всем.

Решение, как обычно, пришло из Поднебесной, в которой после нескольких лет тупого передирания творческой адаптации чужих чипов наконец выпустили свой собственный конвертер USB-TTL — WinChipHead CH341A в корпусе SOP-28 (не DIP, но тоже паяется без проблем).

Производство чипа было начато году приблизительно в 2006, но в поле моего зрения он попал только в 2014, когда I2C/SPI-программаторы на этом чипе наводнили европейский EBAY, причем продавцы предлагали цену от 3,5 евро вместе с доставкой, что при средней стоимости хорошего китайского программатора вроде MiniPro TL866A в 50 евро оказалось настолько заманчивым предложением, что устоять не получилось. Если вам все еще интересно, что умеет этот китайский чип за 1$ и стоит ли платить больше, если не видно разницы — прошу под кат.

Коротко о чипе

CH341 — мультифункциональный конвертер из USB 2.0 в UART, EPP, I2C и SPI. В режиме UART поддерживаются не только RX/TX, но и остальные сигналы управления, поэтому на чипе можно сделать USB-модем.

В режиме параллельного порта реализован интерфейс EPP и эмуляция принтера (позволяющая подключать принтеры с интерфейсом LPT напрямую к USB без написания дополнительных драйверов). В последовательном режиме поддерживаются интерфейсы I2C и SPI.

Чип требует минимальной дополнительной обвязки (внешний кварц и несколько конденсаторов). Возможно использование внешней EEPROM для хранения пользовательских Vendor ID, Device ID и некоторых настроек чипа. Питание от 5 В (через встроенный LDO-регулятор), либо от 3.3 В напрямую.

Кроме CH341A в корпусе SOP-28 имеются два варианта в SSOP-20 — CH341T и CH341H, первый лишен поддержки SPI, в второй — I2C, поэтому рассматривать их в этой статье я не стану.

Возможные применения

Описаны в статье про FT232H, повторяться не стану, только замечу, что на CH341A я проверял только работоспособность TX и RX, а не всего UART-интерфейса целиком, если вдруг найдутся какие-то внезапные подводные грабли, как это было с I2C на FT232H — напишите комментарий, буду рад добавить его в статью.

Готовые изделия

Китайская промышленность предлагает миллион и один вариант универсального I2C/SPI-программатора на этом чипе, один другого дешевле.

Доставшийся мне за 3,5 евро вариант, по заверениям его производителя умеет программировать чипы серий 24хх (I2C) и 25xx (SPI), которые предполагается вставлять в ZIF-сокет (если они в корпусе DIP-8-300), либо прижимать/припаивать к посадочной площадке на обратной стороне платы (если они в SOIC-8 или SOIC-16), либо подключать проводами.

На гребенку выведены только UART и SPI, а I2C придется брать из ZIF-сокета, если нужен (эта недоработка устранена в более новых версиях, но они дороже).
Схема программатора отличается от референсной из даташита только использованием внешнего LDO-регулятора вместо встроенного, видимо, встроенный оказался не очень надежным.

На моем экземпляре сэкономлено на всем подряд, и кроме CH341A на плате 2 светодиода (Power и Run), 2 резистора, 5 конденсаторов (2 для кварца и 3 для LDO-регулятора), кварц на 12 Мгц, LDO-регулятор AMS1117 на 1 А и ZIF-сокет на два чипа в корпусе DIP-8-300.

Из настроек имеется единственный джампер, переключающий программатор между I2C/SPI и USB-UART, при этом у него меняется Device ID.
В Windows 8.1 драйверы для обоих режимов подтягиваются из сети автоматически, а в Linux они имеются в ядре уже несколько лет.

Для программирования в Windows используется китайский софт авторства некоего SkyGz, который большинством продавцов с EBAY распространяется нелегально, но работать от этого не перестает. Вот ссылка на него — malthus.mooo.com/download/file.php?id=893 — только не забудьте потом покормить попугая-матершинника и поправить повязку на глазу.

Для Linux имеются открытые проекты ch341prog (SPI) и ch341eepromtool (I2C), оба работают достаточно хорошо, но весьма неплохо было бы добавить поддержку обоих режимов в flashrom (гляди, xvilka, народные программаторы по цене грязи, а FR их до сих пор не умеет).

Я проверял работу программатора в Windows 8.1 x64 и Xubuntu Core 15.04 x64 на I2C-чипе OnSemi 24C16 и SPI-чипе Winbond W25Q64CV, работа с I2C занимает секунды (т.к.

на чипе 2 Кб памяти и его, при желании, можно читать и писать чуть ли не руками), а вот восьмимегабайтный SPI-чип читается за минуту, а пишется за две, что, конечно, далеко не рекорд, но и не слишком долго для устройства за 5 долларов.

Заключение

Если вам не нужна поддержка JTAG, десятков тысяч различных чипов и ICSP, зато нужно средство быстрого резервного копирования/восстановления прошивок различных устройств от роутеров до ПК и серверов — рекомендую программатор на CH341A к приобретению, свои 5 баксов он отрабатывает сполна.

А когда его поддержку добавят в flashrom — станет совсем хорошо.

С другой стороны, я бы не стал закладывать CH341A в дизайн своих устройств, т.к.

его надежность при постоянном применении вызывает некоторые сомнения, а если возникнут вопросы, то задавать их будет некому, ведь даже сайт производителя чипа извне Китая открывается через раз.

Спасибо читателям за внимание, и пусть ваши прошивки никогда не падают.

Источник: https://habr.com/post/262731/

Шина I2C. Основные понятия

В данной статье рассматриваются основные характеристики и преимущества протокола последовательной связи I2C (Inter-Integrated Circuit).

Связь через алфавитную кашу

Неудивительно, что общей особенностью электронных систем является необходимость обмена информацией между двумя или тремя или десятью отдельными компонентами.

Инженеры разработали ряд стандартных протоколов, которые помогают различным микросхемам успешно общаться, что становится очевидным, когда вы сталкиваетесь с потоком сокращений в разделе «Связь» в списке характеристик микроконтроллера или сигнального процессора: UART, USART, SPI, I2C, CAN…

Читайте также:  Расценки на электрику

Каждый протокол имеет свои плюсы и минусы, и важно немного знать о каждом из них, чтобы вы могли принимать обоснованные решения при выборе компонентов или интерфейсов.

Эта статья посвящена шине I2C, которая обычно используется для связи между отдельными интегральными микросхемами, расположенными на одной печатной плате.

Два других распространенных протокола, которые также входят в эту основную категорию – это UART (универсальный асинхронный приемник/передатчик) и SPI (последовательный периферийный интерфейс).

Вам необходимо знать основные характеристики I2C, прежде чем вы сможете полностью понять сравнение этих трех интерфейсов, поэтому обсудим эту тему в конце статьи.

Много названий, а шина одна

Нет сомнений в том, что протокол I2C страдает серьезной терминологической проблемой. Фактическое название – шина Inter–Integrated Circuit. Самая простая и, вероятно, наименее распространенная аббревиатура – IIC.

Возможно, эту аббревиатуру недолюбливали из-за того, что две заглавные буквы I выглядят как две единицы, или как две строчных буквы l, или как римская цифра II, или как символ параллельных прямых…

В любом случае аббревиатура I2C (произносится как «I в квадрате C») приобрела популярность, несмотря на сомнительную логику обращения с обычной буквой, как если бы она была переменной, подверженной возведению в степень.

Третий вариант – I2C («I два C»), который позволяет избежать неудобств форматирования верхнего индекса, а также несколько легче в произношении, чем «I в квадрате C»

Дополнительная путаница вносится, когда вы замечаете, что SMB или SMBus явно используется в качестве еще одного способа обращения к шине I2C. Фактически эти сокращения относятся к шине управления системой SMB (System Management Bus), которая отличается, хотя и почти идентична, от шины I2C.

Оригинальный протокол I2C был разработан компанией Phillips Semiconductor, а спустя годы Intel определил протокол SMBus как расширение I2C.

Эти две шины в значительной степени взаимозаменяемы; если вас интересуют незначительные отличия между ними, то смотрите страницу 57 спецификации шины управления системой SMB.

Выглядит, как попытка обсудить что-то важное в комнате, полной людей..

Чтобы оценить ловкие технические приемы, которые делают I2C настолько эффективной, вам нужно подумать о трудностях достижения надежной, но универсальной связи между несколькими независимыми компонентами.

Ситуация достаточно проста, если у вас есть одна микросхема, которая всегда является ведущей (master), и одна микросхема, которая всегда является ведомой (slave).

Но что, если у вас есть несколько ведомых? Что если ведомые не знают, кто ведущий? Что, если у вас есть несколько ведущих? Что произойдет, если ведущий запросит данные у ведомого устройства, которое по какой-то причине перестало функционировать? Или что, если ведомый перестал функционировать в середине передачи? Что делать, если ведущий утверждает, что шина осуществляет передачу, а затем он выйдет из строя, прежде чем освободить шину?

Возможные проблемы на шине

Дело в том, что в системе связи такого типа есть много вещей, которые могут пойти не так.

Вы должны помнить об этом, когда будете изучать I2C, потому что в противном случае этот протокол будет казаться невыносимо сложным и перегруженным.

Дело в том, что эта дополнительная сложность – это то, что позволяет I2C обеспечивать гибкую, расширяемую, надежную и низкоуровневую последовательную связь.

Обзор

Прежде чем вдаваться в детали, давайте рассмотрим ключевые характеристики I2C:

Шина I2C

  • Используется только два сигнала (тактовая синхронизация и данные) независимо от токо, сколько устройство подключено к шине.
  • Оба сигнала подтягиваются к положительному напряжению питания через резисторы, соответствующих номиналов.

  • Каждое устройство взаимодействует с сигналами данных и тактовой синхронизации через драйверы вывода с открытым стоком (или с открытым коллектором).

  • Каждое ведомое устройство идентифицируется с помощью 7-битного адреса; устройство мастер должно знать эти адреса, чтобы общаться с конкретным ведомым устройством
  • Все передачи инициируются и прекращаются мастером; масте может передавать данные одному или нескольким ведомым устройствам или запрашивать данные из ведомого устройства.

  • Метки «ведущий/master» и «ведомый/slave» по своей сути непостоянны: любое устройство может функционировать и как ведущее, и как ведомое устройство, если оно содержит необходимое аппаратное и/или программное обеспечение.

    На практике, однако, встраиваемые системы часто используют архитектуру, в которой одни мастер отправляет команды или собирает данные с нескольких ведомых устройств.

  • Сигнал данных обновляется по заднему фронту тактового сигнала, а его выборка происходит по переднему фронту следующим образом:Временная диаграмма сигналов шины I2C
  • Данные передаются в однобайтовых секциях, причем каждый байт сопровождается однобитным сигналом подтверждения, называемым битом ACK/NACK (подтверждение или неподтверждение).

I2C против UART и SPI

Преимущества I2C можно резюмировать следующим образом:

  • требует малое количество выводов/сигналов даже с большим количеством устройств на шине;
  • адаптируется к потребностям разных ведомых устройств;
  • легко поддерживает несколько ведущих устройств;
  • включает в себя функционал ACK/NACK для улучшения обработки ошибок.

А вот некоторые недостатки:

  • увеличивает сложность программного или низкоуровневого аппаратного обеспечения;
  • навязывает накладные расходы протокола, что снижает пропускную способность;
  • требует подтягивающих резисторов, которые
    • ограничивают тактовую частоту;
    • занимают полезное место на печатной плате в системах, ограниченных по размеру;
    • увеличивают рассеиваемую мощность.

С этих точек зрения видно, что I2C особенно подходит, когда у вас сложная, разнообразная или обширная сеть связанных устройств. Интерфейсы UART обычно используются для соединений «точка-точка», потому что не имеют стандартного способа адресации различных устройств и совместного использования линий связи.

SPI отлично работает, когда у вас есть одно ведущее и несколько ведомых устройств, но для каждого ведомого устройства требуется отдельный сигнал выбора ведомого, что приводит к большому количеству линий связи и к трудностям разводки печатной платы, когда на шине находится много устройств.

И SPI неудобен, когда вам нужно поддерживать несколько ведущих устройств.

Возможно, вам придется сознательно избегать I2C, если пропускная способность является приоритетом; SPI поддерживает более высокие частоты тактового сигнала и минимизирует накладные расходы.

Кроме того, разработка низкоуровнего аппаратного обеспечения для SPI (или UART) намного проще, поэтому, если вы работаете с FPGA и разрабатываете свой последовательный интерфейс с нуля, I2C, вероятно, стоит выбирать последним.

Заключение

Мы рассмотрели основные характеристики I2C, и теперь мы достаточно хорошо знаем о преимуществах и недостатках этого протокола, чтобы принять обоснованное решение о том, какую последовательную шину выбрать для какого-то конкретного приложения. В будущих статьях мы рассмотрим протокол и как его реализовать более подробно.

Оригинал статьи:

  • Robert Keim. Introduction to the I2C Bus

Источник: https://radioprog.ru/post/197

Ссылка на основную публикацию