Частота STM32 у нас будет 72 МГц, LED-драйвер, согласно его даташиту, работает с частотой до 25 МГц, таким образом, делить надо на четыре
Подозреваю всё же надо делить не на 4, а на 2. Потому что SPI2 в STM32F103 подключен не к системной шине, а к шине APB1, которая имеет максимальную частоту 36 МГц.
Как-то пробовал кодить МК в IDE QtCreator. Он тоже кроссплатформенный, но не перегружен в отличии от Eclipse. Ещё редактор и кодкомплит у него больше нравится. Так что планирую повторить на МИК32.
Существует масса применений где можно без риска встроить данный контроллер (как и любой другой подобного уровня). Например, управление питанием и двигателями, коммутаторы, источники питания, автоматика, охранные системы, пульты и индикаторы, устройства записи и воспроизведения звука, датчики, измерительные приборы и т.д.
Про GSM-модули вспомнил SIM900, работающий по UART-у. Не вижу проблем им управлять этим и даже более слабым контроллером.
На вопрос кому надо уже ответили - госухе. А также частникам, которые стремятся продавать свои изделия государству.
В целом, массовый выпуск контроллера 1-го уровня у нас в стране - это без преувеличения знаковое событие в импортозамещении.
Спасибо за интересные комменты! По пункту 5) подумалось, что важная задача проектирования ЭМ-бомбы - это не закачать как можно больше энергии в магнитное поле, а преобразовать как можно больше энергии взрыва в энергию импульса. В этой связи у автора статьи приводятся любопытные сведения про ограничение конструкции Сахарова.
Большое спасибо за литературу! Не очень просто было скачать данные две монографии. Что характерно, обе из Саровского ядерного центра. Подозреваю, что туда делегировали разработку как экспертам в области имплозии.
Большое спасибо за нормальный графический редактор формул! Оставлю здесь небольшие пожелания.
Выделение части формулы с шифтом иногда стопорится. Иногда приходится делать несколько нажатий стрелки влево или вправо прежде чем в блок выделения добавится соседний элемент.
Наклонная латиница в шрифте Cambria Math выглядит несколько комично. Может взять шрифт столь же полный на математические обозначения, но с более стандартным начертанием наклонных символов (типа DejaVu Serif)?
Вы правы, мы говорим про техпроцесс, я несколько отвлёкся на больное. Кроме того, я тут посмотрел на историю интелловских процов и обнаружил, что достаточно мощные процы 20-летней давности были на 180 нм. Это вселяет надежду, поскольку такие процы, действительно, способны удовлетворить под 100% спроса военных. Однако, печальная история про множество шкафов и их охлаждение (и даже про мобильность некоторых РЛС) станет заметно печальнее.
С коррелятором для Кометы откуда сведения? На той стороне в окрябре-ноября раскрывали блок обработки данных, принимаемых с Кометовской CRPA антенны. Он содержал intel-овский проц для обработки. Какой и по какому техпроцессу - неизвестно.
Про "ОКРы 14b/2.5Gsps/125MHz" не понял, можно подробнее? В моём представлении 2.5Gsps как сформировать, так и обработать - крайне непростая задача (тем более на 90/120нм).
Про Миландровские АЦП читал. К сожалению, теперь не ясны как перспективы этих АЦП, так и Миландра в целом :(
Беспилотная авиация не заканчивается MALE и A100. В огромных количествах требуются маленькие БПЛА (типа орланов и квадриков). Возможно, там получится обойтись 90/120нм, но грузоподъёмность и время работы снизятся. Было бы неплохо определить в какие процы влезает H.264, нужный для кодирования видео, и широкополосный модулятор. Тогда можно прикинуть на сколько снизятся.
В общем целом с Вами можно согласиться про то что требования вояк к вычислялкам иногда завышены, но не в этом конкретном случае. Поясню на следующих примерах.
РЛС. У некоторых изделий это много шкафов самых современных ПЛИС и это не прихоть. Требования по разрешающей способности, и диапазону скоростей/ускорений сопровождаемых объектов вынуждает делать многоканальные решётки с огромным количеством корреляторов в каждом канале. А это значит огромное количество умножений с накоплением, которое достигается с использованием только высоко интегрированных решений. Замечу, если сравнивать по параметру числа умножителей наши вычислялки 1-го уровня и импортные, то отношение вовсе не 1к4, и даже далеко не 1к10. А если потом ещё и сравнивать возникающие требования к отводу тепла, то дурно станет.
СВЯЗЬ. Там примерно та же история. Нужна полоса в несколько десятков мегагерц (читай обработка несколько десятков мегасемплов в секунду), восстановление ошибок, шифрование. Если это всё на нашей элементной базе (не факт ещё что всё найдётся) как-то ещё может уместиться в ранец, выжерающий батарею за 10 минут, то на БПЛА такой ранец ты уже не прицепишь.
БПЛА. Там вообще, типовое требование - это миниатюрность авионики и низкое энергопотребление. Это всё принципиально решается только уменьшением техпроцесса.
У вояк есть разные приложения. Попробуете цифровую обработку сигналов ФАР сделать на древнем железе. Или модулятор/демодулятор широкополосных сигналов. Современные радиолокация и связь в принципе не обходится без высоко интегрированных решений.
Спасибо за пояснение и за наводку на dpdk. Коварные ручонки иногда чешутся промапить переферию в свои объятия. Очень рад, что для этого нашёлся сборник рецептов!
Спасибо, у Вас получился интересный и полезный мини-обзор! А не можете пояснить что значит проброс через ring buffer? Имеется в виду какой-то конкретный API или просто некая реализация кольцевого буфера с его mmap-ом в userspace? Если последнее, то интересно, а можно ли программу заставить не спинлочно ждать новые данные в кольцевом буфере (на ум приходит только ioctl дёргать)? Буду очень признателен за пояснение!
Автор хочет выжать производительность и вместо знаний системного апи полагается на asio. Замечу, последний обладает оверхедом, который контролируется сторонним производителем. Сделать тонкую и лаконичную обвязку системных функций для своих нужд ядро не может?
Про КПД беспроводной зарядки хороший вопрос. Я вот пытаюсь понять, это мне павербанк дрянной продали, или эффективность передачи низкая. Банк на 10 А*ч разряжается в ноль, заряжая телефон с аккумом на 3 А*ч :(
Да, это, бесспорно, очень удобно! Особенно, в упомянутом случае, когда место разработчика ПЛИС и место разработчика ПО находятся в удалении друг от друга. Справедливости ради, этим удобством также обладает openocd, поскольку реализует gdbserver.
Как-то пробовал связку jlink_gdb_server + gdb + qtcreator, отлично работающую как в windows, так и в linux. Пикантности добавлял тот факт, что Cortex-M0 запускался на ресурсах программируемой логики.
Добрый вечер. Вероятно, было бы правильнее сказать, что не сложно на контроллере запустить уже готовую цепочку RNDIS+стек+ПО. Однако, как упомянутый выше автор, не могу согласиться, что сделать цепочку было просто. Замечу, что на момент написания (2015 год) альтернатив ещё не было (в том числе Azure RTOS USBX). И сейчас альтернатив почти нет (Azure, либо Azure+USBX+CubeMX, либо работы отдельных авторов на github-е: Lexatagan, oleg84, nicokorn, JonasHeim). Поэтому считаю, что даже на сегодняшний день наблюдается значительный недостаток выбора. Буду Вам признателен, если Вы подробнее поясните на счёт "идут с STM почти под все оси". В составе каких пакетов? По поводу подключения мобильных модемов, этого, действительно, не сделано. На текущий момент наиболее "тонкий" usb-хост с поддержкой RNDIS - это уже одноплатный ПК под управлением развитой ОС. Вероятно, производители МК решили, что отношение востребованность/затраты чересчур низкое для разработки, а необходимую долю рынка уже схватили такие известные производители, как SIMCom.
Вы абсолютно правы, большое спасибо! Проверил численно в matlab-е:
x = pi/6;
n = [0; 1; 2];
a = exp(1)^(1i * x * diag(n)) * ones(size(n)); % Через матричную экспоненту
b = exp(1i * x * n); % Через поэлементное возведение в степень
a - b % Смотрим разницу
ans =
0
0
0
Безусловно, посмотрю, что из этого получится на практике...
Извиняюсь, что не очень в тему... Ищу удобное выражение для представления вектора вида y = [exp(0 j x), exp(1 j x), ..., exp(N j x)]. Матричная экспонента определяется обычно не как поэлементная операция. То есть y ≠ exp(j x)^[0, 1, 2, ..., N]. Может известен, так сказать, элегантный способ записи? Возможно, с использованием вектора натуральных степеней и тензорных операторов?
Подозреваю всё же надо делить не на 4, а на 2. Потому что SPI2 в STM32F103 подключен не к системной шине, а к шине APB1, которая имеет максимальную частоту 36 МГц.
Как-то пробовал кодить МК в IDE QtCreator. Он тоже кроссплатформенный, но не перегружен в отличии от Eclipse. Ещё редактор и кодкомплит у него больше нравится. Так что планирую повторить на МИК32.
Существует масса применений где можно без риска встроить данный контроллер (как и любой другой подобного уровня). Например, управление питанием и двигателями, коммутаторы, источники питания, автоматика, охранные системы, пульты и индикаторы, устройства записи и воспроизведения звука, датчики, измерительные приборы и т.д.
Про GSM-модули вспомнил SIM900, работающий по UART-у. Не вижу проблем им управлять этим и даже более слабым контроллером.
На вопрос кому надо уже ответили - госухе. А также частникам, которые стремятся продавать свои изделия государству.
В целом, массовый выпуск контроллера 1-го уровня у нас в стране - это без преувеличения знаковое событие в импортозамещении.
Спасибо за интересные комменты! По пункту 5) подумалось, что важная задача проектирования ЭМ-бомбы - это не закачать как можно больше энергии в магнитное поле, а преобразовать как можно больше энергии взрыва в энергию импульса. В этой связи у автора статьи приводятся любопытные сведения про ограничение конструкции Сахарова.
Большое спасибо за литературу! Не очень просто было скачать данные две монографии. Что характерно, обе из Саровского ядерного центра. Подозреваю, что туда делегировали разработку как экспертам в области имплозии.
Большое спасибо за нормальный графический редактор формул! Оставлю здесь небольшие пожелания.
Выделение части формулы с шифтом иногда стопорится. Иногда приходится делать несколько нажатий стрелки влево или вправо прежде чем в блок выделения добавится соседний элемент.
Наклонная латиница в шрифте Cambria Math выглядит несколько комично. Может взять шрифт столь же полный на математические обозначения, но с более стандартным начертанием наклонных символов (типа DejaVu Serif)?
Один из кадров заснежен. Интересно, это неполадка или поток частиц...
Вы правы, мы говорим про техпроцесс, я несколько отвлёкся на больное. Кроме того, я тут посмотрел на историю интелловских процов и обнаружил, что достаточно мощные процы 20-летней давности были на 180 нм. Это вселяет надежду, поскольку такие процы, действительно, способны удовлетворить под 100% спроса военных. Однако, печальная история про множество шкафов и их охлаждение (и даже про мобильность некоторых РЛС) станет заметно печальнее.
С коррелятором для Кометы откуда сведения? На той стороне в окрябре-ноября раскрывали блок обработки данных, принимаемых с Кометовской CRPA антенны. Он содержал intel-овский проц для обработки. Какой и по какому техпроцессу - неизвестно.
Про "ОКРы 14b/2.5Gsps/125MHz" не понял, можно подробнее? В моём представлении 2.5Gsps как сформировать, так и обработать - крайне непростая задача (тем более на 90/120нм).
Про Миландровские АЦП читал. К сожалению, теперь не ясны как перспективы этих АЦП, так и Миландра в целом :(
Беспилотная авиация не заканчивается MALE и A100. В огромных количествах требуются маленькие БПЛА (типа орланов и квадриков). Возможно, там получится обойтись 90/120нм, но грузоподъёмность и время работы снизятся. Было бы неплохо определить в какие процы влезает H.264, нужный для кодирования видео, и широкополосный модулятор. Тогда можно прикинуть на сколько снизятся.
В общем целом с Вами можно согласиться про то что требования вояк к вычислялкам иногда завышены, но не в этом конкретном случае. Поясню на следующих примерах.
РЛС. У некоторых изделий это много шкафов самых современных ПЛИС и это не прихоть. Требования по разрешающей способности, и диапазону скоростей/ускорений сопровождаемых объектов вынуждает делать многоканальные решётки с огромным количеством корреляторов в каждом канале. А это значит огромное количество умножений с накоплением, которое достигается с использованием только высоко интегрированных решений. Замечу, если сравнивать по параметру числа умножителей наши вычислялки 1-го уровня и импортные, то отношение вовсе не 1к4, и даже далеко не 1к10. А если потом ещё и сравнивать возникающие требования к отводу тепла, то дурно станет.
СВЯЗЬ. Там примерно та же история. Нужна полоса в несколько десятков мегагерц (читай обработка несколько десятков мегасемплов в секунду), восстановление ошибок, шифрование. Если это всё на нашей элементной базе (не факт ещё что всё найдётся) как-то ещё может уместиться в ранец, выжерающий батарею за 10 минут, то на БПЛА такой ранец ты уже не прицепишь.
БПЛА. Там вообще, типовое требование - это миниатюрность авионики и низкое энергопотребление. Это всё принципиально решается только уменьшением техпроцесса.
У вояк есть разные приложения. Попробуете цифровую обработку сигналов ФАР сделать на древнем железе. Или модулятор/демодулятор широкополосных сигналов. Современные радиолокация и связь в принципе не обходится без высоко интегрированных решений.
Спасибо за пояснение и за наводку на dpdk. Коварные ручонки иногда чешутся промапить переферию в свои объятия. Очень рад, что для этого нашёлся сборник рецептов!
Спасибо, у Вас получился интересный и полезный мини-обзор! А не можете пояснить что значит проброс через ring buffer? Имеется в виду какой-то конкретный API или просто некая реализация кольцевого буфера с его mmap-ом в userspace? Если последнее, то интересно, а можно ли программу заставить не спинлочно ждать новые данные в кольцевом буфере (на ум приходит только ioctl дёргать)? Буду очень признателен за пояснение!
Воспринял, что речь идёт именно о производительности, поскольку Вы написали, что занимаетесь "реализацией эффективных IO-bound программ".
Поддерживаю.
Автор хочет выжать производительность и вместо знаний системного апи полагается на asio. Замечу, последний обладает оверхедом, который контролируется сторонним производителем. Сделать тонкую и лаконичную обвязку системных функций для своих нужд ядро не может?
Про КПД беспроводной зарядки хороший вопрос. Я вот пытаюсь понять, это мне павербанк дрянной продали, или эффективность передачи низкая. Банк на 10 А*ч разряжается в ноль, заряжая телефон с аккумом на 3 А*ч :(
Да, это, бесспорно, очень удобно! Особенно, в упомянутом случае, когда место разработчика ПЛИС и место разработчика ПО находятся в удалении друг от друга. Справедливости ради, этим удобством также обладает openocd, поскольку реализует gdbserver.
Как-то пробовал связку jlink_gdb_server + gdb + qtcreator, отлично работающую как в windows, так и в linux. Пикантности добавлял тот факт, что Cortex-M0 запускался на ресурсах программируемой логики.
Добрый вечер. Вероятно, было бы правильнее сказать, что не сложно на контроллере запустить уже готовую цепочку RNDIS+стек+ПО. Однако, как упомянутый выше автор, не могу согласиться, что сделать цепочку было просто. Замечу, что на момент написания (2015 год) альтернатив ещё не было (в том числе Azure RTOS USBX). И сейчас альтернатив почти нет (Azure, либо Azure+USBX+CubeMX, либо работы отдельных авторов на github-е: Lexatagan, oleg84, nicokorn, JonasHeim). Поэтому считаю, что даже на сегодняшний день наблюдается значительный недостаток выбора. Буду Вам признателен, если Вы подробнее поясните на счёт "идут с STM почти под все оси". В составе каких пакетов?
По поводу подключения мобильных модемов, этого, действительно, не сделано. На текущий момент наиболее "тонкий" usb-хост с поддержкой RNDIS - это уже одноплатный ПК под управлением развитой ОС. Вероятно, производители МК решили, что отношение востребованность/затраты чересчур низкое для разработки, а необходимую долю рынка уже схватили такие известные производители, как SIMCom.
Вы абсолютно правы, большое спасибо!
Проверил численно в matlab-е:
Безусловно, посмотрю, что из этого получится на практике...
Извиняюсь, что не очень в тему... Ищу удобное выражение для представления вектора вида
y = [exp(0 j x), exp(1 j x), ..., exp(N j x)].
Матричная экспонента определяется обычно не как поэлементная операция. То есть
y ≠ exp(j x)^[0, 1, 2, ..., N].
Может известен, так сказать, элегантный способ записи? Возможно, с использованием вектора натуральных степеней и тензорных операторов?