|
STM32F4 продолжает подкидывать сюрпрайзы, SPI2 не ловит младший бит в байте |
|
|
|
 |
Ответов
(90 - 104)
|
Feb 19 2015, 07:44
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
DrAlex - вы зря исходитесь про возмущения электронов. В конечном итоге SPI - это железный аппарат у которого есть синхронизация и прочее, и требования на setup и hold, а также процедура сброса. В которой часто принимает участие чипселект. Потому его вам часто и советуют. Добавили бы вы его на осциллограмму и все бы успокоились  . В вашем конкретном случае действительно наверное он непричем. При сбое синхронизации младший бит принимался бы как старший следующего байта. А вот вычитывание данных раньше срока - может быть. При передачи данных внутри по FIFO (надеюсь оно есть) вы хватаете байт раньше чем успел передаться младший бит. Попробуйте такое. вычитать из DR 8 байт. (чтобы наверняка) потом передать 4 байта потом сделать паузу секунду (ну тоже чтобы наверняка) потом считать из DR 4 байта и проанализировать. потом надо сделать тоже только передать - секунда - считать а потом уменьшать интервал и глядеть. И еще одно, надо проверить инициализацию, тщательно, особенно клоки тактирующие аппарат SPI и скорости, последовательность присвоения регистров, многие из них требуют настройки до включения модуля. Вполне возможно что все же где то какая-то синхронизация сбита и модуль хромает.
|
|
|
|
|
Feb 19 2015, 08:24
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(SasaVitebsk @ Feb 19 2015, 11:03)  Я использую SPI1 и SPI3. Никаких глюков слава богу не заметил. Наверняка их нет и в SPI2. Если в доках не оговорены какие-то особые фичи для SPI2, то почти наверняка производитель использует один и тот же hard-macro для всех модулей SPI на кристалле. То есть, у всех модулей SPI не только одинаковый код RTL, но и одинаковая топология в кремнии. Поэтому, на мой взгяд, нужно искать различия в подключении модулей. Различия могут быть или в софтверной инициализации (что, как я понимаю, маловероятно) или в топологии ПП. Топология ПП действительно не должна иметь влияния, но при том лишь условии, что данные выставляются и защелкиваются по разным фронтам, на что нам ТС усиленно и намекает. Но вполне возможны ошибки в доках на чип, в результате чего все модули выставляют и защелкивают данные по одному и тому же фронту. При этом, из-за задержек в ПП, какие-то модули работают, а какие-то нет.. Вот такое мое ИМХО..
|
|
|
|
|
Feb 19 2015, 10:37
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата The SPI2 and SPI3 interfaces give the flexibility to work in an exclusive way in either the SPI mode or the I2S audio mode. Цитата The devices feature up to six SPIs in slave and master modes in full-duplex and simplex communication modes. SPI1, SPI4, SPI5, and SPI6 can communicate at up to 45 Mbits/s, SPI2 and SPI3 can communicate at up to 22.5 Mbit/s. мож отсюда ноги растут? SPI2 и SPI3 - особенные...
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|