|
STM32 конец клока SPI |
|
|
|
Sep 17 2016, 13:05
|

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

|
Всем доброго дня. Завожу MRF24J40. SPI. Аппаратного CS нету, вылезаем софтверно. Ногу CS опускаю в начале записи, поднимаю по прерыванию RXNEIE. Все вроде бы нормально (процесс записи в регистр 0x18 значения 0x98):  Но есть проблема - как оказалось запись в чип происходит по спаду клока, пока еще выбран CS. Точнее захват может и по фронту происходит, но запись точно по спаду. И тут возникает проблема - прерывание происходит на половине последнего клока - то есть его фронт уже был, прошла четверть периода клока и прерывается. Соответственно я поднимаю CS. Но как показали опыты если его поднять до того, как клок упадет вниз запись не произведется. Собственно вопрос - как оптимально сдвинуть CS на половину периода клока? То есть после того, как он опустится. Спасибо. PSОчень интересно - проблема решилась сама собой с увеличением частоты. На скриншоте частота = 24МГц/256. поставил делитель 64 и CS сдвинулся более чем на пол периода
|
|
|
|
|
 |
Ответов
|
Sep 18 2016, 08:20
|

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

|
Цитата(jcxz @ Sep 18 2016, 07:41)  Использовать другой режим SPI (биты CPOL, CPHA). Это не то. Они не дали того эффекта Цитата(ViKo @ Sep 18 2016, 08:59)  В прерывании от TXE (или от RXNE, если очень хочется) дождитесь BSY, не много потеряете. Если внимательно рассмотрите RM, увидите на картинках, что да как. Ждать тоже не хочется - все таки это не хороший тон ждать в прерывании. В любом случае я добился своего. А по поводу mrf - походу антенна не заходит в кабель. Кабель и антенну купил в разных местах и промазал походу. вот такой набор:  Ее подергаешь бац - несколько пакетов подряд примет, потом о5 пропадает. Короче антенну заменю.
|
|
|
|
|
Sep 18 2016, 14:01
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(RadiatoR @ Sep 18 2016, 14:20)  Это не то. Они не дали того эффекта Что именно "не то"? Судя по картинке у Вас CPOL=0, CPHA=0. Т.е. - Вы настроили защёлкивание данных по фронту SCLK. И в то же время пишете: Цитата(RadiatoR @ Sep 17 2016, 19:05)  как оказалось запись в чип происходит по спаду клока, Так всё-таки: чип MRF24J40 защёлкивает данные по фронту или по спаду??? Неужели на этот чип нет доки? Или читать не умеете? Если всё-таки по спаду, то CPOL=1, CPHA=0 - должно решить проблему.
|
|
|
|
|
Sep 19 2016, 10:08
|

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

|
Цитата(jcxz @ Sep 18 2016, 17:01)  Или читать не умеете? К вашему сведению не всем людям нравится читать такие "наезды". Прошу в отношении меня впредь от них воздержаться. А по сабжу - как происходит запись/захват я описал еще в первом посте. Захват происходит по фронту. Все как полагается. Но, видимо, захват значения (при записи в регистры mrf) происходит по фронту, а запись этого значения по спаду, при включенном CS. Опыты показали именно такое поведение. CPOL и CPHA созданы для другого.
|
|
|
|
Сообщений в этой теме
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  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    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 19 2016, 14:20 jcxz Простой способ продлить CS дольше не прибегая к та... Sep 19 2016, 18:03  Шаманъ Цитата(jcxz @ Sep 19 2016, 21:03) Простой... Sep 20 2016, 12:23   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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|