реклама на сайте
подробности

 
 
8 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> STM32F4 продолжает подкидывать сюрпрайзы, SPI2 не ловит младший бит в байте
ViKo
сообщение Feb 18 2015, 13:30
Сообщение #61


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Еще раз советую попробовать вместо "всё по нулям" сделать "всё по единицам".
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Feb 18 2015, 13:42
Сообщение #62


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(ViKo @ Feb 18 2015, 17:30) *
Еще раз советую попробовать вместо "всё по нулям" сделать "всё по единицам".


Ну попробовал спеццыально для вас. Трудно что ли? К моему удивлению, принимаемые числа остались теми же, хотя стоило ожидать полной лабуды.
Но нестабильно, иногда ловится имено лабуда, что и предсказуемо.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 18 2015, 13:46
Сообщение #63


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А картину (маслом) осциллографом можно? Как первая из показанных.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Feb 18 2015, 13:51
Сообщение #64


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(ViKo @ Feb 18 2015, 17:46) *
А картину (маслом) осциллографом можно? Как первая из показанных.

UPD: Заметил стабильный полтергейст:: младший бит остаётся от предыдущего байта!!!
На картинке младший бит первого 0, а второго 1, но читается 0.
Если бы у первого байта младший был 1, то и второй прочитался бы с 1!!! :-о :-о :-о


Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
blackfin
сообщение Feb 18 2015, 13:55
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Dr.Alex @ Feb 18 2015, 16:42) *
Ну попробовал спеццыально для вас. Трудно что ли?
А где чип селект?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 18 2015, 14:00
Сообщение #66


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Подумайте над этой хренью:
During discontinuous communications, there is a 2 APB clock period delay between the
write operation to SPI_DR and the BSY bit setting.

Цитата(Dr.Alex @ Feb 18 2015, 16:51) *
UPD: Заметил стабильный полтергейст:: младший бит остаётся от предыдущего байта!!!

Т.е. он принялся, но не успел записаться в DR, а готовность уже выскочила (вернее, BSY не вскочила?).
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Feb 18 2015, 14:03
Сообщение #67


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(blackfin @ Feb 18 2015, 17:55) *
А где чип селект?

Зачем?

Цитата(ViKo @ Feb 18 2015, 17:58) *
Подумайте над этой хренью:
During discontinuous communications, there is a 2 APB clock period delay between the
write operation to SPI_DR and the BSY bit setting.

Чё-то не вижу тут никакой засады.
У меня RXNE проверяется, и чиста паприколу поставил я задержку 1 мс между записью и проверкой.

Цитата(ViKo @ Feb 18 2015, 18:00) *
Т.е. он принялся, но не успел записаться в DR, а готовность уже выскочила.

Да я уже между каждым действием задержки по 1 мс ставил..
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 18 2015, 14:09
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а режим работы не 7 бит стоит?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 18 2015, 14:10
Сообщение #69


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А вы там такты случайно нигде не отключаете для экономии питания? Или в спящий режим не впадаете?

Цитата(Golikov A. @ Feb 18 2015, 17:09) *
а режим работы не 7 бит стоит?

Такого нема.

Я свою фантазию исчерпал. Запитайте от 3V, и накатайте кляузу производителю.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 18 2015, 14:30
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



погодите как такого нет?
формат данных может быть установлен от 4 до 16, в SMT32F3, неужели в F4 не так?

думаю пора привести значения регистров конфигурационных после инициализации, и поглядеть какой в итоге режим бибилотека задала
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 18 2015, 14:37
Сообщение #71


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Golikov A. @ Feb 18 2015, 17:30) *
погодите как такого нет?
формат данных может быть установлен от 4 до 16, в SMT32F3, неужели в F4 не так?

Точно, в F3 есть, а в F2, F4 нет.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 18 2015, 14:46
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну тоды ой...
тоды этот модуль может работать вообще как ему нравиться... если они от серии к серии меняют его...
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 18 2015, 14:47
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Ну, чуйдеса бывают, кто же от них застрахован?
Я вот делал на STM32F4 генератор произвольных сигналов на внешнем 8-разрядном ЦАП, закачивал туда данные с частотой 20 МГц через GPIO при помощи DMA. Всё работало 99% времени, и иногда проскакивали произвольные данные, которые довольно чётко коррелировали с тем, что приходило на вход АЦП (там параллельно работал АЦП, данные опять же шли через DMA). То есть как будто данные из АЦП иногда просачивались на GPIO через DMA. Поскольку 99% меня устраивало, я забил :-)
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Feb 18 2015, 15:44
Сообщение #74


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Кароче, диагноз подтверждается:: Каждый младший бит берётся из предыдущего байта.
Первая осциллограмма принимается как 83 84 1B 0A, вторая 83 4E 09 2B.

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 18 2015, 16:46
Сообщение #75


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Не могу такого представить. Там же сдвиговый регистр. Ни один бит не задерживается, все передвигаются, и не по кольцу. Значит, в сдвиговом регистре все биты верные, а при переносе в DR младший бит задерживается в неком промежуточном регистре?

А еще можно понизить уровень оптимизации компилятора. И посмотреть в ассемблерный листинг. У меня компилятор "ператрахивал" команды, ставил не попорядку.
Go to the top of the page
 
+Quote Post

8 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 21:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01511 секунд с 7
ELECTRONIX ©2004-2016