Академический Документы
Профессиональный Документы
Культура Документы
активным низким уровнем - их функции активируются, когда они переходят на низкий уровень. Они
оба неактивны, когда находятся под воздействием высоких сил, и это подтверждается их
описаниями:
Пока сигнал HOLD# низкий, память остается в состоянии Hold. Чтобы возобновить связь с устройством,
HOLD# должен быть установлен на высокий уровень…
и
Когда WP# имеет высокий уровень, функция блокировки бита BPL отключена.
Поднимите оба сигнала на высокий уровень с помощью резисторов сопротивлением 1 кОм (или
любого другого доступного значения). 10 кОм — это немного больше, чем мне хотелось бы.
0
У меня есть флэш-память Macronix MX35LF1GE4AB NAND, и я хочу прочитать ее содержимое с помощью
Rarpberry Pi.
Но у меня возникли проблемы с подключением контакта HOLD. Должен ли я заземлить это? Я хочу, чтобы
он читал из него данные.
HOLD# имеет активный низкий уровень. Если вы установите низкий уровень, чип перейдет в режим
удержания, что позволит ему игнорировать интерфейс связи. Поэтому, если вы хотите связаться с
чипом, не устанавливайте его на низкое значение.
4
В SPI у меня есть несколько вопросов...
Я понимаю, как синхронизируются биты, но как разделяются байты?
Требуется ли вывод выбора подчиненного устройства только для включения высокого импеданса вывода
данных? Или это также необходимо для разделения байтов/слов?
Кроме того: из того, что я прочитал ( описание PIC16f74 ) , у меня сложилось впечатление , что SPI может
быть 3-проводным, и есть режимы адресации, которые меня так смущают, что я думаю, что сделаю вид, что
не читал на данный момент!
Я просто подключаю PIC16F к 8-битной флэш-памяти Atmel AT45DB011D , поэтому больше ничего по
линиям SPI. У него также есть многобайтовые команды, так как же он их разграничивает?
SPI и использование флэш-чипа для меня совершенно новы, любое краткое руководство было бы здорово!
ответ
Отсортировано по:
? ???? ?? ?? ???? (?? ????????? )
7
В SPI нет концепции «разграничения» байтов. Тот простой факт, что 8 бит были переданы, составляют байт,
а девятый бит будет первым битом следующего байта.
В SPI прием начинается, когда линия выбора чипа опускается (или поднимается для некоторых
чипов). Затем данные синхронизируются по одному биту в сдвиговый регистр. По мере поступления
каждого бита сдвиговый регистр перемещает все биты на один ниже.
Чип SPI обычно имеет фиксированный размер сдвигового регистра и не ограничен размерами
байтов. Некоторые имеют кратность 8 бит, и это хорошо, некоторые — 10 бит, некоторые — 17 бит и т. д.
Если вы тактируете больше, чем необходимое количество бит, первые биты выпадают из конца сдвигового
регистра и теряются, поэтому, если у вас есть 10-битный сдвиговый регистр, и вы можете отправлять только
кратные 8 битам (что общий для чипов PIC), то если вы отправите первый байт как 6 бит 0, за которым
следуют 2 бита данных, а затем второй байт из 8 бит данных, первые 6 бит будут отброшены по мере того,
как они отпадают в конце, и сдвиговый регистр будет содержать только последние 10 бит.
Режимы адресации по сути берут несколько дополнительных битов из потока данных SPI и сравнивают их с
набором выводов, привязанных к высокому или низкому уровню чипа. Если они совпадают, следует
действовать с данными в сдвиговом регистре. Если они этого не делают, то от него следует отказаться.
Ряд микросхем SPI имеют функцию сквозной передачи, с помощью которой вы можете объединить их
вместе, и по мере того, как данные синхронизируются с первым чипом, то, что находится в конце его
сдвигового регистра и обычно отбрасывается, отправляется на выходной контакт. Затем они могут
поступить на вход следующего чипа, передавая данные по линии от чипа к чипу. В этом случае очень важно
убедиться, что ваши данные упакованы в один поток без битов, которые вы обычно отбрасываете (это
может быть сложно, если чипы не используют бит, кратный 8).
Количество «проводов» в SPI в лучшем случае вводит в заблуждение, поскольку на самом деле оно не
говорит вам, сколько реальных проводов необходимо.
Часы
Выбор чипа
Данные вввод
Данные Вывод
Clock
Chip Select
Data in
Data out
Некоторые чипы могут не иметь выхода для данных, и они только принимают данные в
себя. Некоторые объединяют вход и выход вместе, поэтому вам придется как-то разделить их — либо
программно, если можете, либо аппаратно.
Если у вас есть как входящие, так и исходящие данные, то SPI может работать в полнодуплексном режиме
(но не всегда), где при синхронизации данных в сдвиговом регистре данные также синхронизируются для
чтения. Это не часто используется, поскольку большинство систем полагаются на отправку команды до
того, как может произойти ответ. Иногда существует еще одна линия, сигнализирующая о завершении
отправки данных на устройство SPI и о необходимости отправки ответа. Однако чаще всего это происходит,
когда получено определенное количество битов или определенная комбинация битов. Обычно начало
передачи дополняется 0, а затем сигнализирует устройству о начале приема стартовым битом.
Есть много способов сделать это, и никто, кажется, никогда не делает то же самое, что и кто-либо другой, а
иногда даже и он сам.