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

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> На что бы перейти..., В плане платформы
adnega
сообщение Mar 24 2018, 08:11
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(dac @ Mar 24 2018, 10:52) *
приходит прерывание от таймера/внешнего прерывания с интервалом 1мкс

1мкс -> 1МГц.
Даже на МК с тактовой 168МГц у вас 168 тактов на посылку. По-моему, ничего разумного за такое время не сделать.
STM32F тут не подходит не из-за SPI, а из-за общей производительности.
Тут вариант - на внешней ПЛИС сделать опрос АЦП, а МК предоставить доступ по внешней шине,
или правдами-неправдами "окутать" доступ к АЦП в какой-нить DCMI при помощи CPLD попроще.
У ТС озвучивалась задача 5кГц, и под нее выбирались МК типа STM32F
Цитата
задача описана словами "надо дискретизировать сигнал 5000 выборок/сек и передать отсчеты наружу...", невольно понимаешь, что STM32 тут за глаза.


Цитата(adnega @ Mar 24 2018, 11:09) *
1мкс -> 1МГц.
Даже на МК с тактовой 168МГц у вас 168 тактов на посылку. По-моему, ничего разумного за такое время не сделать.
STM32F тут не подходит не из-за SPI, а из-за общей производительности.
Тут вариант - на внешней ПЛИС сделать опрос АЦП, а МК предоставить доступ по внешней шине,
или правдами-неправдами "окутать" доступ к АЦП в какой-нить DCMI при помощи CPLD попроще.
У ТС озвучивалась задача 5кГц, и под нее выбирались МК типа STM32F

Если 5кГц это максимум, то на любом STM32F это делается легко даже с ручным дерганьем CS.
Go to the top of the page
 
+Quote Post
_pv
сообщение Mar 24 2018, 08:34
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(dac @ Mar 24 2018, 14:52) *
а еще извращенцы из LT делают ацп которым нужно 17-18 тактов на SPI, вот тоже ни туда, ни сюда, но это уже так, придирки

ну нормальные последовательные порты умеют не только нормально аппаратно чипселектами дёргать но и произвольную длину слова задавать.
Go to the top of the page
 
+Quote Post
dac
сообщение Mar 24 2018, 08:54
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



QUOTE (adnega @ Mar 24 2018, 14:11) *
1мкс -> 1МГц.
Даже на МК с тактовой 168МГц у вас 168 тактов на посылку. По-моему, ничего разумного за такое время не сделать.

у меня процесс непериодический, т.е. мне не надо постоянно с таким интервалом, поэтому dma решает проблему.
новые stm32f умеют произвольное слово от 4 до 16 бит
ЗЫ даже если 5кГц два раза дергать прерывание по 8 тактов вход/выход + сохранить, тоже нифига не радостно
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 24 2018, 10:21
Сообщение #19


Гуру
******

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



Цитата(dac @ Mar 24 2018, 09:52) *
а еще извращенцы из LT делают ацп которым нужно 17-18 тактов на SPI, вот тоже ни туда, ни сюда, но это уже так, придирки

Так возьмите МК с богатой реализацией SPI, а не урезанной. Например: XMC4xxx - "Number of data bits per data frame 1 to 63".
И будет Вам и туда и сюда. laughing.gif
А вообще во многих SPI-АЦП частота преобразования и частота SCLK - это разные частоты, с разными источниками. Так что SCLK просто берётся с запасом и всё.

Цитата(adnega @ Mar 24 2018, 10:11) *
1мкс -> 1МГц.
Даже на МК с тактовой 168МГц у вас 168 тактов на посылку. По-моему, ничего разумного за такое время не сделать.
STM32F тут не подходит не из-за SPI, а из-за общей производительности.
Тут вариант - на внешней ПЛИС сделать опрос АЦП, а МК предоставить доступ по внешней шине,

Не сделать чего??? 168 тактов - это вагон + ещё маленькая тележка.
168 тактов - это не много, а очень дофига для любой пересылки.
Ну конечно если иметь полноценный SPI-контроллер, а не "ручками" как на STM32. Да впрочем и на STM32 тоже можно сделать "не ручками" если голову включить. И будет совсем незначительная загрузка МК.
Для МК с более фичастым SPI, 1МГц - это вообще ни о чём. У меня на XMC4700 SPI работают с SCLK в 30-36 МГц при ядре 120-144МГц. Причём - параллельно по 2 канала SPI да ещё один при этом в dual-SPI. Загрузка CPU незначительная.

Цитата(_pv @ Mar 24 2018, 10:34) *
ну нормальные последовательные порты умеют не только нормально аппаратно чипселектами дёргать но и произвольную длину слова задавать.

У меня в проекте на XMC4700 даже один из UART-ов работает с длиной слова 26 бит (1старт+24данных+1стоп). Вот это и называется - гибкая и эффективная периферия rolleyes.gif

Цитата(dac @ Mar 24 2018, 10:54) *
ЗЫ даже если 5кГц два раза дергать прерывание по 8 тактов вход/выход + сохранить, тоже нифига не радостно

Ну это уже скорее паранойя.... или тяжкое наследие АВР laughing.gif
12*2*2*5000/168e+6 = ~0.143% загрузка CPU (168МГц).
Даже с учётом того что вход/выход в ISR явно не 8 тактов (с чего Вы взяли?), а 12 тактов - это всё равно ни о чём.
Да и вообще - как уже говорил выше - с головой даже на STM32 можно сделать без дёрганий в прерывания: завести сигнал прерывания от АЦП на какую-нить периферию, умеющую генерить запросы обслуживания к DMA (таймер например), и дальше всё сделать DMA: и CS и транзакцию по SPI.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 24 2018, 13:25
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Mar 24 2018, 13:21) *
на STM32 можно сделать без дёрганий в прерывания: завести сигнал прерывания от АЦП на какую-нить периферию, умеющую генерить запросы обслуживания к DMA (таймер например), и дальше всё сделать DMA: и CS и транзакцию по SPI.

Если нужно заполнить кольцевой буфер для постобработки, то полностью согласен.
Go to the top of the page
 
+Quote Post
Arlleex
сообщение Mar 24 2018, 17:02
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264



Да вот элементарный пример, решение которого полностью решило бы такую проблему.
Возможно ли в STM32F4 настроить периодическую отправку в SPI по DMA?
Я бы настроил событие по совпадению таймера 5000 раз в секунду пинать DMA, чтобы он положил данные в SPI->DR. Началась бы передача, по завершении которой выставился флаг RXNE, который пинал бы другой канал DMA, и тот складировал данные в буфер и говорил мне когда нужный объём данных наберётся для передачи по другому интерфейсу разом.
DMA устроен же так, что в режиме память-регистр я могу указывать только адрес регистра только того модуля, который пнул этот канал DMA, а как было бы здорово по запросу DMA от таймера сделать пересылку в SPI-DR, то есть в модуль, который не пинал этот DMA. Периодические вещи, например, отправки или прием данных по разным интерфейсам, в том числе SPI, стали бы возможны вовсе без участия процессора!
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 24 2018, 17:16
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Arlleex @ Mar 24 2018, 20:02) *
DMA устроен же так, что в режиме память-регистр я могу указывать только адрес регистра только того модуля, который пнул этот канал DMA,

С чего вы это взяли? DMA может откуда угодно куда угодно произвести транзакцию, если на это нет ограничений (CCM, выравнивание и т.п.)
и есть доступ к соответствующим шинам. Много раз обсуждалось, как таймер инициирует транзакцию в SPI. Там единственная особенность,
что от момента запроса до момента транзакции может пройти некоторое время (у меня получалось ~12 тактов) и при высоких скоростях SPI
сложно получить равномерный SCK (без межсимвольных пауз).
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение Mar 25 2018, 11:36
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647



Добрый день.
На отладочнике STM32L476-disco проверил формирование NSS в режимах TI Mode и Motorola Mode.
В обоих режимах сигнал вырабатывается в соответствии с
RM0351 Reference manual STM32L4x5 and STM32L4x6 advanced ARM®-based 32-bit MCUs
42.4.12 NSS pulse mode
This mode is activated by the NSSP bit in the SPIx_CR2 register and it takes effect only if
the SPI interface is configured as Motorola SPI master (FRF=0) with capture on the first
edge (SPIx_CR1 CPHA = 0, CPOL setting is ignored). When activated, an NSS pulse is
generated between two consecutive data frame transfers when NSS stays at high level for
the duration of one clock period at least. This mode allows the slave to latch data. NSSP
pulse mode is designed for applications with a single master-slave pair.

42.4.13 TI mode
TI protocol in master mode
The SPI interface is compatible with the TI protocol. The FRF bit of the SPIx_CR2 register
can be used to configure the SPI to be compliant with this protocol.
The clock polarity and phase are forced to conform to the TI protocol requirements whatever
the values set in the SPIx_CR1 register. NSS management is also specific to the TI protocol
which makes the configuration of NSS management through the SPIx_CR1 and SPIx_CR2
registers (SSM, SSI, SSOE) impossible in this case
Go to the top of the page
 
+Quote Post
inventor
сообщение Apr 7 2018, 14:55
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(Arlleex @ Mar 22 2018, 20:23) *
jcxz, как раз листаю референс на XMC4800. Общее впечатление - на днях сделаю себе отладку и попробую разобраться в новой для себя стилистике документации rolleyes.gif

камушек то под 2 тыщи стоит
Go to the top of the page
 
+Quote Post
backa
сообщение Apr 24 2018, 20:31
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



TI "TM4C1294" - дорого и сердито - SPI работае на частоте до 60МГц (1/2 от тактовой) и с выборкой внешнего кристала "SS" там все хорошо))) Никаких "выбрать ручками".... Хотя есть странные индивидумы (мой коллега) - он "необъяснимо никаким здравым смысло" дрыгает этой ножкой тоже руками)))
Поддержка просто порaжает: форум с ответами в течении рабочего дня на любые вопросы(понятно, что все консультатнты - индусы со всеми вытекающими), своя библиотека не вызывающая НИКАКИХ нареканий - было желание писать все общение самому с нуля ,но посмотрев исходники , понял что получу тоже самое но только потеряю время
Так что для начала - просто сказка а не камушек и платы у них не хуже чем у STM - цена та же - около 20 баксаф...
Разводка плат сделана индусами со всеми вытекающими .... особенно аналоговая часть
Но для освоения нового камушка само то.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Apr 26 2018, 13:38
Сообщение #26


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(backa @ Apr 24 2018, 23:31) *
TI "TM4C1294" - дорого и сердито - SPI работае на частоте до 60МГц (1/2 от тактовой) и с выборкой внешнего кристала "SS" там все хорошо))) Никаких
. . .
Так что для начала - просто сказка а не камушек и платы у них не хуже чем у STM - цена та же - около 20 баксаф...
. . .

Нечто эдакое ? EK-TM4C1294XL (цена у нас, правда, около 40 кваксов).
Программатор-отладчик, по виду, на плате. Как эта платформа в отладке ? (привык к "хорошему", IAR)


Go to the top of the page
 
+Quote Post
backa
сообщение Apr 26 2018, 23:16
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Цитата(k155la3 @ Apr 26 2018, 17:38) *
Нечто эдакое ? EK-TM4C1294XL (цена у нас, правда, около 40 кваксов).
Программатор-отладчик, по виду, на плате. Как эта платформа в отладке ? (привык к "хорошему", IAR)

У нас чуть дороже 20ки $ настоящих денег)
Программатор-отладчик на плате и виртуальный комп-порт для отдалки через принтф , например...
Отладка прекрасная - никаких притензий - все доступно - все ресурсы и периферия ... это все в Keil ( тоже привык к хорошему!!! и больше никогда на IAR c этим "убогим" спартанским IDE и "недоотладчиком"). После того как Keil купила ARM .. все встало как надо...
Самое важное, что для этого камня есть "безглючная" библиотека низкого уровня и TI поставляет бесплатную, постоянно обновляему IDE собственного производства, но ввиду безальтернативности в лице Keil-а оставил ее без внимания...
Вобщем рекомендую для старта!
Go to the top of the page
 
+Quote Post
k155la3
сообщение Apr 27 2018, 16:09
Сообщение #28


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(backa @ Apr 27 2018, 02:16) *
. . . Программатор-отладчик на плате и виртуальный комп-порт для отдалки через принтф , например...
Вобщем рекомендую для старта!
Спасибо за инф.
IAR, возможно, есть "ньюансы" для каждого процессора. По IAR/MSP430 - у меня только плюсы.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 28 2018, 05:45
Сообщение #29


Гуру
******

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



Цитата(k155la3 @ Apr 27 2018, 19:09) *
IAR, возможно, есть "ньюансы" для каждого процессора. По IAR/MSP430 - у меня только плюсы.

О каких нюансах речь? Ещё несколько лет назад, ещё на прошлой работе создали линейку устройств на TM4C129DNCPDT. ПО там довольно большое и сложное (писалось группой программистов), с использованием многой периферии и без индусских "библиотек". Писалось/отлаживалось всё в IAR. Сейчас уже несколько лет как вся эта линейка продаётся. Производится сейчас по несколько тыс. шт. в месяц. Никаких проблем с IAR-ом или контроллером нет. Вполне нормальный МК. DMA-контроллер - так пожалуй вообще лучший из тех, что я видел в разных Cortex-M-МК.
А если у кого-то что-то не работает, то может это случай "плохого танцора"? laughing.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 28 2018, 07:58
Сообщение #30


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Arlleex @ Mar 22 2018, 19:13) *
Какие камни наиболее гибкие в этом плане?

Вот -
https://blog.nxp.com/iot/crossover-to-extre...elq_cid=1860362
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th April 2024 - 01:49
Рейтинг@Mail.ru


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