Для связи SPI на плате STM32F407-Discovery, каково значение установки бита управления программным обеспечением? - PullRequest
0 голосов
/ 08 июня 2018

Я изучаю встраиваемые разработки и пытаюсь установить связь с акселерометром (LIS3DSH) на плате обнаружения, используя протокол SPI.Я использую только заголовки CMSIS, так что я вынужден напрямую взаимодействовать с регистрами.

Согласно схемам, эти контакты используются платой для связи с акселерометром:

  • PA5: SPI1_SCK
  • PA7: SPI1_MOSI
  • PA6: SPI1_MISO
  • PE3: CS_I2C / SPI

Из моего теоретического пониманияпротокола SPI, всякий раз, когда я хочу получать или передавать данные между ведущим и ведомым устройствами, мне сначала нужно вытащить контакт CS (PE3) вниз, а затем начать связь.Это подтверждается также руководством пользователя LIS3DSH.

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

Когда бит SSM установлен, вывод контакта NSS заменяется значением из бита SSI.

Вывод NSS - не что иное, как вывод выбора ведомого, верно?Что означает, что это PE3 в этом случае.

Бит SSI - это бит 8 в регистре SPI_CR1.Означает ли это, что я должен вместо этого переключить этот бит SSI вместо PE3?Это не имеет смысла, потому что как плата узнает, что PE3 является соответствующим выводом CS?

Так как же связаны вывод / линия CS и бит SSM, если вообще связаны?

Если они не связаны, нужно ли настроить вывод PE3 с альтернативным режимом работы и в качестве подтягивания, а затем понижать его каждый раз, когда мне нужно установить связь с помощью SPI с акселерометром?

1 Ответ

0 голосов
/ 08 июня 2018

Вывод NSS - это вход , используемый как CS другим устройством, когда периферийное устройство SPI находится в подчиненном режиме , или может использоваться в качестве выхода для поддержки мультимастераконфигурации.

Если вы работаете с SPI в режиме с одним мастером, этот вывод вообще не используется.

Более того, SPI1_NSS - это альтернативная функция PA4 или PA15, поэтому в вашем случае она не связана с CS GPIO на PE3.В режиме мастера любое количество доступных выводов GPIO может использоваться в качестве линий CS для каждого периферийного устройства на одной и той же шине SPI и управляется программно - это не «альтернативная функция», а не часть или управлениеSPI периферийное устройство.

...