Я просто хотел проверить, верны ли мои представления о названии / проблеме этого вопроса. У меня нет аппаратного обеспечения, чтобы увидеть результат, поэтому я пытаюсь визуализировать его с помощью математики и симуляции.
я читал много блогов, сайтов, посвященных гирляндным цепочкам, но я редко вижу подробную информацию о получении данных из этих гирляндных цепочек (больше о главном выводе / широковещательной передаче данных на ведомые гирляндные цепи) или о получении данных от одного (1) ведомого SPI, ха-ха
Вот сайт, который я в последний раз читал, но все же дал мне модное представление об этом. (может быть, я слишком тупой, чтобы понять это без подробностей xD)
https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi
1) Первый вопрос, я понимаю изображение выше, что означает, что пока я отправлял байт (8 бит; команда/инструкция) от uC к ведомому SPI через линию MOSI, этот ведомый SPI автоматически отправляет данные байта в линию MISO без отключения выбора чипа . Когда байтовые данные, отправленные SPI Slave, были получены uC, это время, когда я должен отключить выбор моего чипа. Это верно?
Я спрашиваю об этом, потому что когда дело доходит до гирляндной цепи, похоже, это не так. После того, как я прочитал учебник по spi от sparkfun, а также заметку в блоге maxim о SPI https://www.maximintegrated.com/en/app-notes/index.mvp/id/3947
вместо этого при последовательном соединении, даже если 1-й ведомый SPI получает байт команды, он не будет его выполнять и продолжит передавать байтовую команду другому ведомому SPI, когда он получит другой байт, НЕ ПОКА Я НЕ ОТКЛЮЧУ ВЫБОР ЧИПА, выполнит полученную команду (s) на подчиненных устройствах SPI . Это верно?
2) Второй вопрос: понимают ли ведомые устройства SPI в гирляндной цепочке автоматически или разделяют биты на инструкции, например, скажем, ведомое устройство SPI1 получает 2 байта команды. После получения 1-го байта команды и получения бита из 2-го байта команды по пути, это подчиненное устройство будет сбрасывать один раз 1-й байт команды на SPI-ведомое устройство 2, чтобы он имел только 1 бит из 2-го байта и будет принимать следующие биты для завершения команды 2-го байта? будет ли он среди двух в таблице ниже?
3) Третий вопрос: если при настройке гирляндной цепи и операторе/процессе отключения отключения выбора микросхемы будут выполняться команды, удерживаемые ведомыми устройствами, то как тогда будет выглядеть обратная связь передачи данных по линии MISO на uC? У меня есть это устройство SPI, где после получения 1-байтовой команды оно будет возвращать 3-байтовые данные. Будет ли он среди двух в таблице ниже?
Я надеюсь, что вы могли бы облегчить мой этот конфликт, как опухоль в моей голове: D спасибо.
SPI ничего не определяет на уровне канала передачи данных (т. е. как интерпретировать передаваемые данные), поэтому конкретный ответ возможен только для конкретного устройства. Каждое ведомое устройство должно указать, может ли оно быть подключено последовательно, и как должны выглядеть передачи на подключенные устройства. Как правило, устройства, поддерживающие последовательное соединение, либо вообще не отвечают (т. е. копируют MOSI в MISO через сдвиговый регистр), либо отвечают только на передачу с правильным адресом, передавая все остальное.
Что определяется SPI, так это поведение выбора микросхемы. Если вы отключите выбор микросхемы, все подчиненные устройства будут полностью игнорировать данные и часы.
мхеруанский
Дмитрий Григорьев
мхеруанский
мхеруанский