SPI

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: dav, bkolbov, Alis, pip, _sva_, dav, bkolbov, Alis, pip, _sva_, dav, bkolbov, Alis, pip, _sva_

dav
Сообщения: 141
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: SPI

Сообщение dav » 07 окт 2021, 17:34

alen_kray писал(а):
07 окт 2021, 15:19
Интересует именно spi к1921. Какую максимальную скорость удалось получить на практике.
Максимальная скорость обмена по SPI при системной частоте 100 МГц:
- в режиме мастера: 100МГц / 2 = 50 Мбит/сек
- в режиме ведомого: 100МГц / 12 = 8,333 Мбит/сек

редактор
Сообщения: 27
Зарегистрирован: 08 ноя 2016, 09:10

Re: SPI

Сообщение редактор » 12 окт 2021, 12:26

На ВК028, ВК035 Реальная скорость получалась на мастере 25 МГц. Выше - выводы не успевали отрабатывать (как будто переключение за 2 такта совершается). Результат был получен на опытных образцах. На серийных возможно исправили.

blessedt
Сообщения: 34
Зарегистрирован: 25 фев 2019, 00:09
Предприятие: АОКБ Импульс

Re: SPI

Сообщение blessedt » 19 окт 2021, 23:44

Доброго времени суток, товарищи!
А есть какая-то возможность заставить SPI выдавать прерывания при приеме/передаче каждого 16-битного слова?
Заполнять буфер четырьмя словами по 4 бита не предлагать ))

dav
Сообщения: 141
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: SPI

Сообщение dav » 20 окт 2021, 15:49

blessedt писал(а):
19 окт 2021, 23:44
А есть какая-то возможность заставить SPI выдавать прерывания при приеме/передаче каждого 16-битного слова?
Заполнять буфер четырьмя словами по 4 бита не предлагать ))
Доброго времени суток!
Для микроконтроллеров 1921ВК035 и 1921ВК028 достаточно записать в битовое поле RXIFLSEL (для приема) или TXIFLSEL (для передачи) регистра CR1 значения порога наполнения буфера FIFO.

blessedt
Сообщения: 34
Зарегистрирован: 25 фев 2019, 00:09
Предприятие: АОКБ Импульс

Re: SPI

Сообщение blessedt » 20 окт 2021, 20:27

Для микроконтроллеров 1921ВК035 и 1921ВК028 достаточно записать
Спасибо за оперативный ответ!
К сожалению, у меня 1921ВК01 =( Видимо, придется работать в блокирующем режиме...

serg_vega
Сообщения: 93
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: SPI

Сообщение serg_vega » 22 окт 2021, 11:58

dav писал(а):
20 окт 2021, 15:49
blessedt писал(а):
19 окт 2021, 23:44
А есть какая-то возможность заставить SPI выдавать прерывания при приеме/передаче каждого 16-битного слова?
Заполнять буфер четырьмя словами по 4 бита не предлагать ))
Доброго времени суток!
Для микроконтроллеров 1921ВК035 и 1921ВК028 достаточно записать в битовое поле RXIFLSEL (для приема) или TXIFLSEL (для передачи) регистра CR1 значения порога наполнения буфера FIFO.
То есть спустя всего ПЯТЬ месяцев с момента моего вопроса forum.niiet.ru/viewtopic.php?f=37&t=158&start=470 поддержка НИИЭТ признала тот факт, что 1921ВК01Т не имеет прерываний в режиме SPI :lol:

blessedt
Сообщения: 34
Зарегистрирован: 25 фев 2019, 00:09
Предприятие: АОКБ Импульс

Re: SPI

Сообщение blessedt » 23 окт 2021, 19:22

1921ВК01Т не имеет прерываний в режиме SPI :lol:
Да, это довольно печально... Заставляет потанцевать с бубном ради производительности

Al-x
Сообщения: 27
Зарегистрирован: 02 фев 2021, 19:22
Предприятие: АО "НТЦ "РИФ"

Re: SPI

Сообщение Al-x » 27 окт 2021, 00:09

У
blessedt писал(а):
23 окт 2021, 19:22
1921ВК01Т не имеет прерываний в режиме SPI :lol:
Да, это довольно печально... Заставляет потанцевать с бубном ради производительности
У меня норм с DMA заработало, в режиме ведущего. Ладно производительность, у меня ведомое покрывало сеанс, если данные запаздывали.

serg_vega
Сообщения: 93
Зарегистрирован: 20 июл 2020, 15:50
Предприятие: АО "ВНИИ "Вега"

Re: SPI

Сообщение serg_vega » 27 окт 2021, 16:49

По мне заморачиваться с DMA, чтобы принять пару/четыре слова - это так себе решение. Все что меньше длины буфера FIFO должно приниматься просто по прерыванию ну или уж на худой конец, опросом. Можно еще посчитать требуемое время передачи и зарядить таймер с прерыванием. Сработал таймер, забрали данные из буфера. Но это все костыли.

Al-x
Сообщения: 27
Зарегистрирован: 02 фев 2021, 19:22
Предприятие: АО "НТЦ "РИФ"

Re: SPI

Сообщение Al-x » 27 окт 2021, 17:23

Это да, речь о длинных передачах, иначе какой смысл использовать дма, если всё прекрасно располагается в фифо. В длинных ПДП самое то, смысл нагружать программу периодическими прерываниями по таймеру, если один раз зарядил автомат и ждёшь, не прерываясь, пока закончит передачу.

Ответить

Вернуться в «32-разрядные микроконтроллеры»

Пользователи онлайн

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость