|
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 19 2016, 13:20
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(RadiatoR @ Sep 19 2016, 16:11)  В самом первом посте в 1 скрине я пытаюсь записать байт в регистр. Он не записывается если CS поднимается до спада клока. Специально заглянул в даташит. Там на картинке видно, что SCK должен упасть в 0 перед подъёмом CS. Так что нарушаете. Цифры времянки не приведены (видимо, планируют позже дописать), но мне известны микросхемы, у которых то же самое, и там времянка не оставляет сомнений, что SCK должен упасть перед тем, как CS поднимется. Опять же из даташита видно, что есть единственный правильный режим CPOL = 0, CHPA = 0, так что менять его не получится.
|
|
|
|
Сообщений в этой теме
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 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|