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

 
 
> STM32 конец клока SPI
RadiatoR
сообщение Sep 17 2016, 13:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Всем доброго дня.
Завожу MRF24J40. SPI.
Аппаратного CS нету, вылезаем софтверно.

Ногу CS опускаю в начале записи, поднимаю по прерыванию RXNEIE. Все вроде бы нормально (процесс записи в регистр 0x18 значения 0x98):

Но есть проблема - как оказалось запись в чип происходит по спаду клока, пока еще выбран CS. Точнее захват может и по фронту происходит, но запись точно по спаду. И тут возникает проблема - прерывание происходит на половине последнего клока - то есть его фронт уже был, прошла четверть периода клока и прерывается. Соответственно я поднимаю CS. Но как показали опыты если его поднять до того, как клок упадет вниз запись не произведется.

Собственно вопрос - как оптимально сдвинуть CS на половину периода клока? То есть после того, как он опустится.

Спасибо.

PS
Очень интересно - проблема решилась сама собой с увеличением частоты. На скриншоте частота = 24МГц/256. поставил делитель 64 и CS сдвинулся более чем на пол периода

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RadiatoR
сообщение Sep 19 2016, 14:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Вот вот. Я и говорю об этом. Всмысле про то, что если поднять CS раньше, то он не запишется. График я видел. Просто чтение нормально проходит если CS бросить раньше, а запись нет. Вот и встал вопрос об продлении CS сигнала без ожидания.

В общем что бы не разглагольствовать предлагаю закончить. Результата я добился.
Всем спасибо за помощь.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 19 2016, 18:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Простой способ продлить CS дольше не прибегая к таймеру и ожиданиям: в последнем прерывании RXNEIE уменьшить длину слова до минимума и выплюнуть на передачу ещё одно слово. Если логика внутри чипа сделана прямыми руками, то это никак не повредит обмену, так как по подъёму CS битовый счётчик будет сброшен. Хотя на этот счёт лучше всё-таки уточнить по доке.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Sep 20 2016, 12:23
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(jcxz @ Sep 19 2016, 21:03) *
Простой способ продлить CS дольше не прибегая к таймеру и ожиданиям

У меня проще - обмен идет с использованием DMA, CS управляется в прерывании от DMA контроллера, по окончании приема блока данных. К этому времени уже все передано и принято.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- RadiatoR   STM32 конец клока SPI   Sep 17 2016, 13:05
- - ViKo   Поднимайте ногу CS по SPI_SR_BSY.   Sep 17 2016, 13:10
- - AlanDrakes   Лично у меня - вот такая конструкция: Код GPIOA-...   Sep 17 2016, 13:57
- - scifi   Цитата(RadiatoR @ Sep 17 2016, 16:05) Оч...   Sep 17 2016, 14:44
- - RadiatoR   2ViKo не вариант - не использую вайлы 2scifi при ...   Sep 17 2016, 18:29
|- - ViKo   Цитата(RadiatoR @ Sep 17 2016, 21:29) 2V...   Sep 18 2016, 05:59
- - jcxz   Цитата(RadiatoR @ Sep 17 2016, 19:05) Со...   Sep 18 2016, 04:41
|- - RadiatoR   Цитата(jcxz @ Sep 18 2016, 07:41) Использ...   Sep 18 2016, 08:20
|- - scifi   Цитата(RadiatoR @ Sep 18 2016, 11:20) Жд...   Sep 18 2016, 09:09
|- - ViKo   Цитата(RadiatoR @ Sep 18 2016, 11:20) Жд...   Sep 18 2016, 09:23
||- - RadiatoR   Цитата(ViKo @ Sep 18 2016, 12:23) Да, уве...   Sep 18 2016, 11:45
|- - jcxz   Цитата(RadiatoR @ Sep 18 2016, 14:20) Эт...   Sep 18 2016, 14:01
||- - RadiatoR   Цитата(jcxz @ Sep 18 2016, 17:01) Или чит...   Sep 19 2016, 10:08
||- - scifi   Цитата(RadiatoR @ Sep 19 2016, 13:08) CP...   Sep 19 2016, 10:35
||- - jcxz   Цитата(RadiatoR @ Sep 19 2016, 16:08) А ...   Sep 19 2016, 11:38
|- - RadiatoR   Прочтите внимательнее мое сообщение: Цитата(Radiat...   Sep 19 2016, 10:58
- - scifi   Вообще, конечно, плохо, что нет у STM32 нужного пр...   Sep 18 2016, 12:27
- - RadiatoR   В общем я гляну как будет себя вести ожидание BSY ...   Sep 18 2016, 13:29
- - scifi   "Не верю" (С)   Sep 19 2016, 11:23
- - RadiatoR   Что бы лишний раз не распинаться опишу - формат ра...   Sep 19 2016, 13:11
|- - scifi   Цитата(RadiatoR @ Sep 19 2016, 16:11) В ...   Sep 19 2016, 13:20
|- - Obam   Цитата(RadiatoR @ Sep 19 2016, 17:11) … ...   Sep 19 2016, 13:26
|- - RadiatoR   Цитата(Шаманъ @ Sep 20 2016, 15:23) У мен...   Sep 20 2016, 16:58
|- - Alechek   Цитата(RadiatoR @ Sep 20 2016, 21:58) Че...   Sep 21 2016, 04:30
|- - RadiatoR   Цитата(Alechek @ Sep 21 2016, 07:30) Ну и...   Sep 21 2016, 05:02
- - Alechek   Стандартные библиотеки не наш метод? Уважуха! ...   Sep 21 2016, 07:09
- - RadiatoR   Приятно видеть людей, которые понимают в чем преле...   Sep 21 2016, 07:33


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 17:46
Рейтинг@Mail.ru


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