Что такое интерфейс передачи данных
Интерфейсы передачи информации
То что вы видите на мониторе — интерфейс. Клавиатура с мышкой — интерфейс. И даже окно регистратуры в больнице — это тоже интерфейс.
Во встраиваемых системах чаще всего под словом «интерфейс» понимают физический блок МК отвечающий за передачу данных. Они могут быть последовательными или параллельными, синхронными или асинхронными, дифференциальными или обычными.
Параллельные и последовательные интерфейсы
Допустим нам нужно переслать 1 байт (8 бит) информации. Как это сделать? Можно выделить под каждый бит по одной ножке МК (линии), тогда для передачи потребуется 8 ножек, плюс одна, которая будет говорить принимающей стороне что передача закончена и нужно считать входной сигнал. Такой интерфейс называется параллельным (англ. parallel): группа битов передаётся одновременно за один квант времени. К таким интерфейсам относится PCI (32 линии) и её можно встретить в LCD знакогенерирующих индикаторах (например WINSATR).
Можно поступить по другому и передавать данные по одной линии, кодируя, например, 1 как высокий уровень сигнала (3,3 В), а 0 как низкий (0 В). В таком случае потребует всего одна ножка МК для передачи и одна что бы сообщать когда этот сигнал считывать. Такие интерфейсы называют последовательными (англ. serial): N битов передаётся по одному за N-квантов времени. Примером последовательного интерфейса — USART.
Параллельный интерфейс, как не сложно догадаться, быстрее в N-раз, однако требует в N-раз больше линий. В микроконтроллерах чаще всего присутствуют только последовательные интерфейсы (периферийные блоки, которые делают всё автоматически), к ним относятся SPI, I 2 C, I 2 S, CAN, USART и USB. Некоторые из них мы рассмотрим подробнее в этом курсе.
Синхронные и асинхронные интерфейсы
Кодировка битов может быть осуществлена не только как 1 — высокий уровень и 0 — низкий уровень. В интерфейсе 1-Wire 1 и 0 кодируется одновременно и низким и высоким уровнем, отличается лишь их заполнение временного отрезка. Вы увидите это дальше в курсе, когда мы будем разбираться с датчиком температуры.
В интерфейсе SPI напротив, считывание сигнала происходит только по команде тактирующей линии.
Дифференциальные интерфейсы
Опять же вопрос, зачем два провода, когда можно использовать один? UART вроде хорошо работал на одной линии. На самом деле нет. UART хорошо работает на низких скоростях. При повышении частоты передачи начинают влиять паразитные ёмкости и индуктивности и сигнал просто теряется. Дифф-пара позволяет понизить напряжение, уменьшить электро-магнитное излучение, уменьшить потребление и повысить устойчивость приёма сигнала.
Выбирать дифференциальную пару, конечно, нужно не только в тех случаях, где требуется высокая скорость передачи, но и там, где «шумная» среда. В электронике автомобиля используется другой интерфейс, под названием CAN. Скорость передачи данных там не высокая, за-то она обеспечивает хороший приём в условиях жёсткой эксплуатации.
К слову, проводной интернет (Ethernet) так же построен на дифференциальной паре.
Режим работы
Некоторые интерфейсы могут поддерживать несколько режимов работы, другие напротив способны работать только в одном определённом.
Если устройство использует два канала, один для приёма и второй для передачи, и при этом обмен данными может происходить одновременно, то такой режим работы называют полным дуплексом (англ. full duplex). Ваш мобильный телефон работает в таком режиме: вы можете слушать человека и говорить ему что-либо одновременно. Если используется два канала, но передача и приём может производится только одним устройством в один момент времени, то такой режим работы называется полудуплексным (англ. half-duplex). И наконец, если используется один канал, следовательно общение может проходить только разделённое во времени, то такой режим называется симплексным (англ. simplex).
Свойство шины
Каждый интерфейс предъявляет свои требования к шине данных. В таких интерфейсах как UART может быть только два устройства (принимающее и отправляющее). При этом с точки зрения иерархии нет никакой разницы, оба устройства равнозначны. В интерфейсе SPI устройств может быть несколько, но только одно (на самом деле не всегда, но это исключение) является главным, т.е. ведущим или мастером (англ. master). Все остальные устройства являются ведомыми или подчинёнными (англ. slave). При этом SPI требует подводить к каждому устройству линию выбора (англ. chip select). Общение ведётся только с тем устройством, на линии которого присутствует сигнал активации.
То самое чувство, когда микросхема испустила дух, выпустила магический дым.
Сравнение некоторых интерфейсов
Все данные в таблице — ориентировочные, многое зависит от скорости передачи, напряжения, среды распространения и т.д.
Интерфейсы
Внутренние интерфейсы
Внешние интерфейсы
Режимы обмена информации
Дуплексный режим позволяет по одному каналу связи одновременно передавать информацию в обоих направлениях. Он может быть асимметричным, если пропускная способность в противоположных направлениях имеет существенно различающиеся значения, или симметричным.
Полудуплексный режим позволяет передавать информацию в противоположных направлениях поочередно, при этом интерфейс имеет средства переключения направления канала.
Симплексный (односторонний) режим предусматривает только одно направление передачи информации (во встречном направлении передаются только вспомогательные сигналы интерфейса).
Параллельный интерфейс
Интерфейс Centronics и стандарт IEEE 1284
Разъeмы
Длина соединительного кабеля не должна превышать 3 метров. Конструкция кабеля: витые пары в общем экране, либо витые пары в индивидуальных экранах.
Физический интерфейс
Базовый интерфейс Centronics является однонаправленным параллельным интерфейсом, содержит характерные для такого интерфейса сигнальные линии 8 для передачи данных, строб, линии состояния устройства). Данные передаются в одну сторону: от компьютера к внешнему устройству. Но полностью однонаправленным его назвать нельзя. Так, 4 обратные линии используются для контроля за состоянием устройства. Centronics позволяет подключать одно устройство, поэтому для совместного очерeдного использования нескольких устройств требуется дополнительно применять селектор. Скорость передачи данных может варьироваться и достигать 1,2 Мбит/с. Упрощeнная таблица сигналов интерфейса Centronics
Режимы работы
Стандарт IEEE-1284 включает в себя следующие документы:
В настоящее время стандарт IEEE-1284 не развивается.
Введение в сетевую терминологию, интерфейсы и протоколы
Базовое понимание сетевых технологий необходимо любому человеку, который имеет отношение к управлению сервером. Эти знания помогут вам запустить и отладить работу сетевых сервисов и своевременно обнаружить проблемы.
В данной статье представлен базовый обзор общих сетевых терминов и протоколов, а также характеристики различных уровней сетевого взаимодействия.
Основные сетевые термины
В данном разделе вы найдёте определения основных терминов и понятий, имеющих отношение к созданию и управлению сетями.
Конечно, этот список нельзя назвать исчерпывающим – он содержит только основные понятия, которые используются в сетевых технологиях.
Сетевые уровни
Сетевое взаимодействие часто представляют в виде горизонтальных соединений между хостами, однако реализация такого взаимодействия распределяется по вертикали по всему компьютеру или сети.
Существует множество встроенных друг в друга технологий и протоколов, которые упрощают сетевое взаимодействие. Каждый последующий, более высокий уровень упрощает использование необработанных данных приложениями и пользователями.
Это также позволяет использовать более низкие уровни для обработки трафика, не тратя время и силы на разработку новых протоколов и приложений.
Когда машина отправляет данные, они попадают на высший сетевой уровень и фильтруются каждым последующим уровнем. На самом низком уровне происходит фактическая передача на другую машину, после чего данные фильтруются уровнями в обратном порядке.
Каждый уровень может добавить оболочку вокруг полученных данных, что поможет следующим уровням понять, что делать с данными при их передаче.
Модель OSI
OSI (Open Systems Interconnect) – это базовая модель взаимодействия открытых систем, которая состоит из 7 уровней:
Модель TCP/IP
Модель TCP/IP (набор протоколов Internet) – ещё одна популярная модель, которая состоит из 4 уровней (они совпадают с некоторыми уровнями OSI):
Сетевые интерфейсы
Интерфейсы являются сетевыми точками связи компьютера. Каждый интерфейс связан с физическим или виртуальным сетевым устройством.
Как правило, на вашем сервере будет один настраиваемый сетевой интерфейс для каждой имеющейся Ethernet-карты или беспроводной интернет-карты.
Кроме того, сервер определит виртуальный сетевой интерфейс (loopback, или localhost). Он используется как интерфейс для соединения приложений и процессов на одном компьютере с другими приложениями и процессами. Во многих инструментах он упоминается как интерфейс «lo».
Администраторы часто используют один интерфейс (обычно eth0) для обслуживания трафика в Интернете, а другой интерфейс (eth1) – для локальной или частной сети.
Протоколы
Сетевые технологии подразумевают совмещение нескольких различных протоколов. Таким образом, одна часть данных может быть передана с помощью нескольких протоколов, встроенных друг в друга.
Рассмотрим самые популярные и распространённые протоколы, начиная с протоколов низкого уровня.
Протокол управления доступом к среде
Media access control, или протокол управления доступом к среде используется для различения устройств. Предполагается, что каждое устройство получает уникальный MAC-адрес, который отличает его от любого другого устройства в Интернете.
Присваивание оборудованию MAC-адресов позволяет ссылаться на устройство по уникальному значению, даже если программное обеспечение устройства изменило его имя.
Media access control является одним из базовых протоколов канального уровня.
Протокол IP
Протокол IP – один из основных протоколов сети Интернет. IP-адреса уникальны в каждой сети и позволяют машинам обращаться друг к другу через сеть. Протокол реализован на сетевом уровне модели IP/TCP.
Сети могут быть связаны между собой, но трафик должен быть маршрутизирован при пересечении границ сети. Этот протокол предусматривает небезопасную сеть и несколько путей к тому же адресату.
Существует несколько различных реализаций протокола IP. Наиболее распространенной реализацией является IPv4, хотя из-за нехватки доступных адресов IPv4 и улучшения возможностей протоколов все более популярным становится IPv6.
Протокол ICMP
Протокол ICMP (internet control message protocol) – это протокол, который используется для отправки сообщений между устройствами. Эти пакеты используются многими сетевыми инструментами диагностики (например, ping и traceroute).
Обычно ICMP-пакеты передаются, когда пакет другого типа сталкивается с какой-либо проблемой. В основном, они используются как механизм обратной связи для сетевых коммуникаций.
Протокол TCP
Протокол TCP (transmission control protocol) – протокол управления передачей данных. Он реализован на транспортном уровне модели IP/TCP и используется для установления безопасных соединений.
TCP – один из протоколов, которые помещают данные в пакеты. Затем он передает пакеты удаленному концу соединения, используя методы нижних уровней. На другом конце соединения он может проверять ошибки, запрашивать определенные фрагменты и повторно собирать информацию в один логический элемент для отправки на прикладной уровень.
Протокол создает соединение до передачи данных при помощи трёхэтапного квитирования. Этот способ позволяет участникам соединения подтвердить запрос и согласовать способ обеспечения безопасности данных.
После отправки данных соединение сбрасывается с помощью механизма четырёхэтапного квитирования.
Протокол TCP используется в электронной почте, WWW, FTP, SSH. Можно с уверенностью сказать, что без TCP интернет не был бы таким, каким мы его знаем сегодня.
Протокол UDP
UDP (user datagram protocol) – это протокол пользовательских датаграмм, популярный сопутствующий протокол для TCP, который также реализуется на транспортном уровне.
Основное отличие между UDP и TCP состоит в том, что UDP предоставляет небезопасную передачу данных. Он не проверяет, были ли данные получены на другом конце соединения. Часто это считается серьёзным недостатком, однако некоторым функциям необходим именно такой механизм.
Поскольку UDP не проверяет получения данных, он намного быстрее, чем TCP. Он не устанавливает соединение с удаленными нодами, а просто передаёт данные на этот хост.
Такие простые транзакции используются в простых взаимодействиях (например, для запроса сетевых ресурсов). UDP также является отличным протоколом для передачи данных с одной машины на множество клиентов в режиме реального времени. Он идеально подходит для VOIP, игр и других приложений, которые должны работать без задержки.
Протокол HTTP
HTTP (hypertext transfer protocol) – это протокол передачи гипертекста. Он реализуется на прикладном уровне, который формирует основу для коммуникации в Интернете.
HTTP определяет ряд функций, которые сообщают удаленной системе о запросе. Например, GET, POST и DELETE взаимодействуют с запрошенными данными по-разному.
Протокол FTP
FTP (file transfer protocol) – это протокол передачи файлов. Он также находится на прикладном уровне и обеспечивает способ передачи полных файлов с одного хоста на другой.
Этот протокол по своей природе небезопасен, поэтому его не рекомендуется использовать в любой открытой сети (если только он не реализован как общедоступный ресурс, предназначенный только для загрузки файлов).
Протокол DNS
DNS (domain name system) – это система доменных имен. Этот протокол прикладного уровня предоставляет удобный механизма именования интернет-ресурсов. Он связывает доменное имя с IP-адресом и позволяет вам обращаться к сайтам по имени в вашем браузере.
Протокол SSH
SSH (secure shell) – это протокол шифрования, реализованный на прикладном уровне, который может использоваться для безопасного обмена данными с удаленным сервером. На этом протоколе основано много дополнительных технологий.
Существует много других важных протоколов, которые не охвачены в этой статье. Однако теперь вы знакомы с базовыми сетевыми протоколами и их применением.
Самый быстрый интерфейс: Ethernet, Wi-Fi, SATA, PCI Express, Thunderbolt, USB
Содержание
Содержание
Объёмы передаваемых данных непрерывно увеличиваются. В профессиональных приложениях это связано с развитием алгоритмов Big Data. Дома диагональ наших экранов растёт, а вместе с ней и качество фильмов. С недельного отпуска можно легко привезти четверть терабайта фотографий и видео. Всё нужно разместить, да ещё и периодически перекинуть бэкап. Здесь уже важно не только количество места, но и скорость работы с ним.
Речь пойдёт об интерфейсах передачи различных файлов между устройствами, которые можно встретить на работе и дома:
Данные с одного устройства на другое можно передать двумя способами: по сети (проводной или беспроводной) и посредством переноса на носителях информации.
Старый добрый Ethernet
За последнюю декаду большинство домашних роутеров получило поддержку Gigabit Ethernet (GigE). Моделей со скоростью 100 Мбит/с (100BASE-T) уже не хватит для подключения к быстрому тарифу интернет-провайдера. Тем более, разница с гигабитной сетью заметна при работе с сетевым хранилищем. Жёсткие диски со скоростью вращения шпинделя 7200 об/мин. демонстрируют средние скорости чтения/записи 140/130 МБ/с. Производительность сетевого интерфейса здесь будет узким местом и лучше, если оно будет на уровне теоретического максимума GigEу125 МБ/с.
В перспективе распространение технологии 10GigE в массовых домашних маршрутизаторах, которая пока встречается редко.
Нет проводов — есть Wi-Fi
В повседневных задачах, когда некритичны задержки из-за помех, беспроводная сеть успешно заменяет проводную. Стандарты активно развиваются: появившийся Wi-Fi 5 (802.11 ac) значительно поднял планку пропускной способности радиоканала, но нужно обязательно учитывать, что на практике скорость беспроводного соединения существенно ниже теоретической. Результаты измерений, предоставляемые производителями сетевого оборудования, также сложно повторить, поскольку получены они были в условиях, приближенных к идеальным. Усредненная по нескольким экспериментам производительность Wi-Fi 5 — 1,3 Гбит/с. Дальнейший этап развития — Wi-Fi 6, увеличивающая это значение до 4,8 Гбит/с.
Что может SATA?
Интерфейс SATA в первую очередь ассоциируется со стационарными жёсткими дисками в компьютерах: магнитными (HDD) и твердотельными накопителями (SSD). Актуальные ревизии SATA II и SATA III имеют теоретические максимумы в 3 и 6 Гбит/с соответственно. Для HDD необходимости в такой полосе нет, поскольку лучшие представители с 7200 rpm способны выдать чуть более 210 МБ/с, а диски с 5400 rpm — 160 МБ/с.
В свою очередь технологии SSD бурно развивались и в итоге скорости упёрлись в потолок SATA. Так, для имеющего множество опубликованных тестов Samsung 860 Evo, заявлены скорости чтения/записи 550/520 МБ/с.
Разработчики интерфейса не стали развивать его в первоначальном виде. Вместо этого был взят курс на стандартизацию подключения SSD-дисков к шине PCI-Express (PCIe).
Эволюция USB
Ещё в 2000-х, с развитием технологий flash-памяти, стандарт USB стал основным не только для периферийных устройств, но и для носителей информации. Несколько лет скорость передачи 480 Мбит/с, определяемая как предельная в спецификации USB 2.0, была достаточной для работы с самыми быстрыми флэш-накопителями. Но благодаря росту потребности в SSD-дисках и характерных им скоростей, USB перешёл в следующую итерацию — USB 3.0. Эта спецификация декларировала более чем десятикратный рост пропускной способности — 5 Гбит/с.
Далее спецификация USB 3.0 была переименована в USB 3.1 Gen1 и появилась вторая — USB 3.1 Gen2, поднявшая планку до 10 Гбит/с и включившая в себя кодировку с меньшими ресурсозатратами. Соответствующие им порты на устройствах, например, ноутбуках, маркируются как SuperSpeed (SS) и SuperSpeed+ (SS+).
Во второй половине 2010-х вышла последняя на данный момент спецификация USB 3.2 в трёх вариантах:
Здесь часто возникает путаница, поддерживаемая «вольным подходом» производителей к обозначению продукции. По сути обозначение USB 3.0 не актуально с момента выхода USB 3.1. Теперь же, согласно рекомендациям организации USB-IF, правильно указывать только спецификацию USB 3.2 и её идентификатор поколения Gen. Но повсеместно используются маркировки “USB 3.0” и “USB 3.1”, при этом имеется в виду одно и то же. Поэтому иногда проще ориентироваться на обозначение SuperSpeed. Вектор развития стандарта на ближайшее будущее определён в спецификации USB4, опубликованной в прошлом году. В частности, будет единый порт Type-C, скорость до 40 Гбит/с и обратная совместимость вплоть до USB 2.0.
USB позволяет сделать портативным любой SATA-накопитель. Для этого применяются переходники и боксы.
Обычно у них на выходе SS USB, но при выборе обязательно посмотрите бенчмарки этих устройств, чтобы они не порезали скорость диска. Подобные переходники есть внутри любого внешнего диска, чаще всего распаяны на плате. Например, один из лидеров рынка — Samsung SSD T5 перекачивает данные между интерфейсами посредством моста mSATA — SS+ USB. Он обеспечивает скорость до 540 МБ/с, что равносильно прямому подключению быстрейших SATA SSD.
Новое применение PCI-Express
Когда технологии твердотельных накопителей шагнули вперёд настолько, что перестали умещаться в полосу пропускания интерфейса SATA III, пришло время обратиться к более скоростной компьютерной шине. Долго искать не пришлось — по соседству с SATA на материнских платах давно были порты PCIe. В основном они использовались для подключения видеокарт и различных плат расширения, и разработчики адаптировали SSD для работы по каналу PCIe. А один канал PCIe 3.0 обладает пропускной способностью 6.4 Гбит/с, четыре канала — 25.6 Гбит/с. В четвёртой версии протокола эти показатели удвоены.
Для SSD, работающих с PCIe, была разработана спецификация NVM Express (NVMe). NVMe SSD выпускаются в нескольких специальных форм-факторах (M2, U2), а также в виде плат расширения PCIe.
Они используют две или четыре линии интерфейса. За счёт этого скорость дисков NVMe Gen 3.0 ограничена сверху на уровне 3.5/3.3 ГБ/с, а NVMe Gen 4.0 — 5.0/4.4 ГБ/с. Посмотрите примеры тестов и сравнение накопителей разного типа, например, здесь. Показатели впечатляют даже по сравнению с лучшими SATA SSD. А HDD вообще покинули здание.
При выборе нужно учитывать форм-фактор диска, разъём для установки и количество доступных линий PCIe для данного разъёма.
Прорывной Thunderbolt
Интерфейс, согласно данным разработчика Intel, объединяет в один последовательный сигнал PCI Express и DisplayPort. Он предоставляет широкие полосы пропускания: 10, 20 и 40 Гбит/с. Thunderbolt стал главной новинкой в своём классе в минувшем десятилетии и имеет перспективы стать обязательным для поддержки на всех новых устройствах. На макбуках и других топовых ноутбуках такая поддержка есть уже несколько лет.
Новой вехой в развитии передачи данных стало и решение использовать Thunderbolt 3 в качестве порта USB Type-C. Этот разъём обладает рядом важных преимуществ, в том числе симметричность и поддержка нескольких скоростных протоколов. Развитие поддержки этих протоколов различными устройствами подразумевает снижение количества используемых кабелей и адаптеров.
Thunderbolt 3 позволяет использовать более быстрые диски PCIe с подключением к устройству через USB Type-C. Например, для Samsung X5 Portable заявлена скорость до 2800 МБ/с. Такие характеристики достижимы благодаря тому, что задействуются четыре канала PCIe 3.0 и интегрированный мост, коммутирующий их с Thunderbolt 3.
Важный момент при использовании Thunderbolt 3 — количество поддерживаемых каналов PCIe в устройстве. В некоторых ноутбуках она ограничивается двумя, что автоматически нивелирует скорость передачи данных по интерфейсу до уровня Thunderbolt 2 (20 Гбит/с).
Thunderbolt позволяет сделать внешними накопители NVMe SSD по аналогии с подключением по USB SATA-дисков. В такой конфигурации также будет критичным производительность моста Thunderbolt — NVMe.
Первый на финише
В абсолютном исчислении среди рассматриваемых интерфейсов самый быстрый — PCI Express, что не удивительно, ведь он изначально создан для работы с гораздо более скоростными устройствами. Для задач, требующих минимальное время на файловые операции — NVMe SSD обязателен к применению, а на вашем декстопе или ноутбуке должен быть подходящий разъём.
С точки зрения мобильности, самый перспективный интерфейс — Thunderbolt 3. Базирующийся на PCIe и наследующий его скоростные данные, Thunderbolt имеет все шансы стать массовым универсальным стандартом. Поэтому выбирая новое устройство, обратите внимание на наличие порта USB-C со значком молнии.