Что такое двойной/счетверенный ввод-вывод?

Читая техническое описание SPI Flash , я столкнулся с понятиями «двойной ввод/вывод» и «квадратный ввод/вывод». Сначала я думал, что «двойной ввод-вывод» — это синоним «полного дуплекса», но тогда что такое «четверенный ввод-вывод»?

Что такое двойной ввод-вывод и счетверенный ввод-вывод, и как они сравниваются между дуплексным и полнодуплексным режимами?

Например, Zynq PS (Cortex A9) имеет контроллер QSPI и интерфейсы на плате Zed с 4-битной SPI (quad-SPI) последовательной флэш-памятью NOR. Спансион S25FL256S

Ответы (5)

Устройство SPI с несколькими входами/ выходами способно поддерживать увеличенную полосу пропускания или пропускную способность от одного устройства. Двойной интерфейс ввода-вывода (двухбитная шина данных) позволяет удвоить скорость передачи по сравнению со стандартными последовательными устройствами флэш-памяти. Счетверенный интерфейс ввода -вывода (четырехразрядная шина данных) увеличивает пропускную способность в четыре раза.

введите описание изображения здесь

Это не устройство SPI — SPI не использует двунаправленные контакты.
Карты памяти SD поддерживают использование 4-битной шины. Трудно сказать, что они «не SPI-устройства», поскольку эта же карта (в другое время) может использовать стандартную «1-битную» шину SPI.
@BenVoigt Но эта статья , кажется (на основе изображений / диаграмм), предполагает, что для поддержки SPI с несколькими вводами-выводами (двойной SPI или Quad SPI (QSPI)) контакты должны быть разработаны для поддержки двунаправленной связи: полная фаза. ком/блог/2020/05/…
@ZeZNiQ: Безусловно, можно поддерживать несколько протоколов с использованием одного и того же набора контактов (как это делают SD-карты), и контакты могут быть однонаправленными в режиме SPI, но двунаправленными в других режимах (как это верно для SD).

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

И двойной ввод-вывод, и счетверенный ввод-вывод являются полудуплексными (пояснение на стр. 10), потому что при двойном вводе-выводе обе линии используются параллельно для увеличения пропускной способности, сохраняя то же количество проводов, в то время как в четырехканальном режиме обе линии используются параллельно. Ввод/вывод также DQ2 и DQ3 используются в качестве ввода/вывода вместе с DQ0 и DQ1.

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

«последовательный порт с более чем одной линией данных» будет называться параллельным портом.
@immibis не обязательно, потому что в параллельном порту два сигнала должны быть синхронны друг другу, а две последовательные линии могут передавать независимые потоки, которые объединяются приемником
Но часы общие. Оба сигнала синхронизированы с часами и транзитивно друг с другом.
@immibis я имею в виду, что при параллельной работе вы отправляете двух- или четырехбитные символы в две строки, а здесь вы можете отправлять два настоящих последовательных потока параллельно

В настоящее время люди называют его интерфейсом SPIFI. Это в основном используется в интерфейсе Flash.

Взгляните на техническое описание LPC18xx, глава 21: SPIFI. Ссылка: http://www.nxp.com/documents/user_manual/UM10430.pdf

1 бит SPI: данные будут в 1 строке.

Например: - Последовательность битов 7 6 5 4 3 2 1 0

2-битный SPI или двойной SPI: данные будут на 2-х линиях.

Например: - Битовая последовательность

    Line 1 : 7 5 3 1

    Line 2 : 6 4 2 0

4-битный SPI или Quad SPI: данные будут отображаться на 4-х линиях.

Например: - Битовая последовательность

    Line 1 : 7 3

    Line 2 : 6 2

    Line 3 : 5 1

    Line 4 : 4 0
эй, я думаю, вы пропустили, чтобы увидеть, что ОП уже принял ответ, а также это вопрос 4-летней давности. Ваши баллы уже покрыты тоже.
@Umar, честно говоря, этот ответ показывает, что он на самом деле называется SPIFI, а также показывает битовые последовательности. Обе эти вещи не рассматриваются в других ответах. Так что это действительный вклад, независимо от того, сколько лет исходному вопросу.

Этот протокол называется SQI (напоминает SPI), что означает протокол последовательного четырехъядерного ввода-вывода. Вы можете передавать адрес/команду/данные через 4 контакта вместо одного (SPI) и получать данные через те же 4 контакта.

Полудуплекс или полный дуплекс — это характеристика системы связи, независимо от того, какой протокол вы решите использовать (конечно, некоторые протоколы допускают полнодуплексный режим, а некоторые — нет).

Действительно, двойной и четырехъядерный ввод-вывод — это не то же самое, что полнодуплексный, это просто разные протоколы, которые вы можете использовать (иногда с одним и тем же устройством). Начиная с SPI (я предполагаю, что вы знаете, что это такое), у которого есть 1 контакт для отправки и получения (это означает, что протокол полуплексный); Затем у нас есть двойной ввод-вывод, который использует 2 контакта для отправки и приема (полудуплекс), и, наконец, четырехъядерный ввод-вывод, который использует 4 контакта для отправки и затем приема (также полудуплекс).

Как отмечалось в другом месте, некоторые флэш-устройства могут использовать два или четыре контакта для вывода данных. Другой вариант, который я видел по крайней мере на одном чипе флэш-памяти, заключался в том, чтобы использовать один контакт, но выводить данные как на нарастающем, так и на спадающем фронте тактовых импульсов. Это позволило бы передавать удвоенную скорость на микроконтроллере, который мог бы обрабатывать такой формат данных, не требуя каких-либо дополнительных выводов данных, поэтому четыре такта выводили бы каждый байт данных на один вывод. Я не знаю ни одного контроллера, поддерживающего такую ​​функцию, хотя я также не знаю ни одного, поддерживающего использование двух или четырех проводов данных.

Microchip ATSAMS70 и аналогичные процессоры ARM поддерживают двойной и счетверенный SPI для выполнения кода из внешней флэш-памяти, такой как флэш-чипы Micron серии N25Q, которые также поддерживают двойной/четырехкратный SPI.