Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2019-июн-18 05:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 2019-апр-13 21:04 
Не в сети

Зарегистрирован: 2018-мар-08 11:37
Сообщения: 19
Добрый день, подскажите, возможно ли организовать много поточность на 32 разрядных МК?
Допустим нужно формировать на двух цапах два синуса сдвинутых по фазе и одновременно использовать внешнее прерывания, несколько таймеров, интерфейс, и математику.
Я знаю , что такие задачи делаются на ПЛИС.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-14 14:25 
Не в сети

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 39
Можно. Я модем V.32 на 9600 бит/с делал, полностью программно, исключая трансформаторы на выходах ЦАП/АЦП.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-15 09:41 
Не в сети

Зарегистрирован: 2014-июн-25 09:29
Сообщения: 117
Ivan44
Многопоточность можно и, ИМХО, нужно организовывать на 32-разрядных МК с ARM Cortex M архитектурой. Для этого существует немало операционных систем реального времени (ОСРВ, RTOS), например:
- Keil RTOS2 (и ее предшественники Keil RTOS и Keil RTX) - язык С, доступны исходники, условно бесплатная (входит в состав Keil uVision): https://www.keil.com/pack/doc/CMSIS/RTO ... ndex.html;
- FreeRTOS - язык С, доступны исходники, бесплатная: https://freertos.org/;
- Астрасофт МАКС - язык С++, доступны исходники, платная, отечественная: https://www.astrosoft.ru/products/devel ... rtos-macs/.
Более полный список известных ОСРВ под разные платформы, в том числе и ARM: https://en.wikipedia.org/wiki/Compariso ... ng_systems.
Я сейчас предпочитаю Keil RTOS2.
Главное, что дает любая ОСРВ:
1. Вытесняющая многозадачность.
2. Индивидуальные приоритеты для каждой задачи.
3. Средства синхронизации задач: мьютексы, семафоры, события, очереди, программные таймеры и др.).
4. Предсказуемость каждой API-функции: в документации должно быть указано, сколько тактов может максимум занять выполнение каждой API-функции.
При этом аппаратные прерывания спокойно уживаются с ОСРВ.

То, что вы обозначили, ИМХО, можно реализовать с помощью ОСРВ при условии разумных требований к быстродействию и адекватно выбранного камня (подобный набор задач неоднократно успешно реализовывал именно с помощью ОСРВ).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-15 19:56 
Не в сети

Зарегистрирован: 2018-мар-08 11:37
Сообщения: 19
andelie, использовать буду внешним ЦАП R2R, т.к. внутрении слишком медленные. Частоты до 4 кгц. Буду пробовать ...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-15 20:33 
Не в сети

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 39
В 1901ВЦ1Т хороший ЦАП в блоке аудиокодека - красивый синус получается


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-16 00:45 
Не в сети
Аватара пользователя

Зарегистрирован: 2019-янв-15 10:14
Сообщения: 27
Откуда: г. Орел
Смотря какая частота "дискретизации")
Смену значений ЦАПов повесить в прерывания таймеров и назначить их высокоприоритетными. Матан переместить в таски и уйти от расчетов с плавающей запятой. Int быстрее считается. Смотря какая задача может быть даже ОСРВ не нужна будет. Тогда не будет тратиться время на переключения контекста.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-16 09:13 
Не в сети

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 39
Вот я и говорю, что лучший выбор для этого 1901ВЦ1Т (Ivan44 говорит, что у него частоты до 4 кгц): там два ядра - DSP и ARM. В DSP ядре обработка сигнала, в ARM все остальное. И не надо приклеивать никакие ОСРВ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-16 10:05 
Не в сети

Зарегистрирован: 2014-июн-25 09:29
Сообщения: 117
Цитата:
И не надо приклеивать никакие ОСРВ.

Попробуйте разок использовать ОСРВ и потом не захотите без нее обходиться, ибо она радикально упрощает написание сложного софта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-16 12:24 
Не в сети

Зарегистрирован: 2018-мар-08 11:37
Сообщения: 19
Shrek, расчет синуса брать из таблицы быстрее получится. Синус красивый получается, если интегрирование сделать второго порядка и достаточно 8 выборок на четверть периода...

Оптимизацию придется сложную делать программы...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-16 13:22 
Не в сети

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 39
andelie писал(а):
Цитата:
И не надо приклеивать никакие ОСРВ.

Попробуйте разок использовать ОСРВ и потом не захотите без нее обходиться, ибо она радикально упрощает написание сложного софта.

Насчет упрощения это спорно, хотя если синхронизация доступа к разделяемым ресурсам это для вас просто, то да


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-16 14:50 
Не в сети

Зарегистрирован: 2014-июн-25 09:29
Сообщения: 117
Цитата:
если синхронизация доступа к разделяемым ресурсам это для вас просто, то да

Когда-то давно посвятил несколько дней тому, чтобы разобраться с синхронизацией. С тех пор просто :) .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-22 10:20 
Не в сети

Зарегистрирован: 2011-сен-05 12:12
Сообщения: 183
Откуда: Саратов
Sergey3141592 писал(а):
andelie писал(а):
Цитата:
И не надо приклеивать никакие ОСРВ.

Попробуйте разок использовать ОСРВ и потом не захотите без нее обходиться, ибо она радикально упрощает написание сложного софта.

Насчет упрощения это спорно, хотя если синхронизация доступа к разделяемым ресурсам это для вас просто, то да

Если эту синхронизацию делать врукопашную без ОСРВ, то получается еще сложнее.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB