Обновить
64K+
193

Embedded SW/Firmware Engineer

68,1
Рейтинг
497
Подписчики
Отправить сообщение

Зачем в авионике используют интерфейс ARINC если есть CAN?

Существуют ли ASIC микросхемы, которые делают квадратурный смеситель полностью аппаратно (Analog Front End )?

Чтобы внутри Tuner-а был управляемый гетеродин NCO фазу (0…360 градусов) и частоту (0 до 10MHz) которого можно менять по SPI в широком диапазоне. Или вовсе задавать несущую частоту извне подавая на пин.

Чтобы на входе был один аналоговый пин для подключения микрофона (или фотодиода), а на выходе аналоговые значения I и Q. Чтобы работать не только с радио сигналом , а так же с сигналом от фото датчиков и микрофонов.

Что-н типа RT2832, SI4703  , AD9684,AD6674 только подешевле и для акустических частот несущей.

Желательно чтобы там еще внутри был Costas-loop для снятия с несущей BPSK модулированных сигнал.

Есть ли возможность ещё написать принцип работы лазерного гироскопа?

Приемник состоит из фотодиода и усилителя, собранного на полевом транзисторе и микросхеме-высокоскоростном усилителе.

Какая именно модель фотодиода была выбрана?

Пример структурной схемы дальномера с гетеродином. М — генератор сигнала модуляции лазера, Г — гетеродин.

Существуют ли аналоговые asic микросхемы квадратурных смесителей? Чтобы работать не только с радио сигналом , а так же с сигналом от фото датчиков и микрофонов.

Чтобы внутри был ФНЧ , перемножитель, NCO и настройка по SPI.

раз загрузчик такой маленький, можно быть есть смысл его сразу на asm написать? 

Да, Вы права. Вот он.
https://github.com/aabzel/trunk/blob/main/source/projects/jz_f407vet6_mbr_super_light_gcc_m

Ну и где в карте регистров TIM1 три регистра управления фазой?

тема полезная, странно, что мало комментариев но видимо не все дочитали до конца

По факту мало кому реально надо управлять фазой PWM. Я работаю программистом MK 14 лет и замечал, что 60-80 % программистов МК даже не знают, что такое фаза сигнала. Знают только про частоту, амплитуду и скважность.

Мало комментариев как раз и доказывают, что мало кто понял "об чём речь" и "Про что пирожки?" .

на основе железа доступного на озон для любителей) тот же stm32 nano

PCB JZ-F407VET6 тоже продается на OZON

Обзор учебно-тренировочной платы JZ-F407VET6 (или электронная парта)
https://habr.com/ru/articles/988494/

(K N E X) 1 компл. Совет по развитию промышленного управления STM32F407VET6 Learning 485 Dual CAN Ethernet Интернет вещей STM32

https://www.ozon.ru/product/k-n-e-x-1-kompl-sovet-po-razvitiyu-promyshlennogo-upravleniya-stm32f407vet6-learning-485-dual-can-3871218056/?at=Y7tjZyrVkirL5zQQtg4jpRMu7YYV2xhZV8ko4fNAkqvm

тема полезная, странно, что мало комментариев
Автор, вопрос поднят хороший, хорошо описано и понятно,

Спасибо.

не нашел исходники примера на git, без общедоступных исходников сильно снижается ценность вашей работы

Тестировочные сборки в репозитории trunk
https://github.com/aabzel/trunk/tree/main

Вот конкретная сборка Demo проекта

https://github.com/aabzel/trunk/tree/main/source/projects/jz_f407vet6_pwm_phase_demo_gcc_m

Все конфигурации для платы jz-f407vet6 лежат тут
https://github.com/aabzel/trunk/tree/main/source/boards/jz_f407vet6

Логика шатания фазы описана отдельным модулем
https://github.com/aabzel/trunk/tree/main/source/applications/pwm_phase_demo

Драйвер PWM лежит тут
https://github.com/aabzel/trunk/tree/main/source/mcal/mcal_common/pwm
https://github.com/aabzel/trunk/tree/main/source/mcal/mcal_stm32f4/pwm

Драйвер Timer лежит в source/mcal
https://github.com/aabzel/trunk/tree/main/source/mcal/mcal_common/timer
https://github.com/aabzel/trunk/tree/main/source/mcal/mcal_stm32f4/timer

GNSS RF front-end, собранную на микросхеме MAX2769.

Существуют ли ASIC микросхемы, которые делают квадратурный смеситель полностью аппаратно?

Чтобы внутри был управляемый гетеродин NCO фазу (0…360 градусов) и частоту (0 до 1MHz) которого можно менять по SPI в широком диапазоне. Или вовсе задавать несущую частоту извне подавая на пин.

Чтобы на входе был один аналоговый пин для подключения микрофона (или фотодиода), а на выходе аналоговые значения I и Q.


Желательно чтобы там еще внутри был Costas-loop для снятия с несущей BPSK модулированных сигнал.

Что-н типа AD9684,AD6674 только подешевле и для акустических частот несущей.

Формирование несущей частоты (Carrier NCO)Очевидно, что использовать тригонометрические функции, чтобы вычислить значения одиночных битов, в данном случае ужасно расточительно.Можно посмотреть, как формирование частот сделано в DDS генераторах. А там все довольно просто, и может быть реализовано в целочисленном виде. Так как формируются однобитные данные, то даже таблица поиска (LUT) не нужна - достаточно просто проверять старший бит переменной-аккумулятора фазы.

А что если формировать NCO при помощи аппаратного PWM?
Тогда на гетеродин вообще не надо будет вычислений делать. При этом частоту и фазу задавать программно.

Управление фазой аппаратного PWM сигнала на STM32
https://habr.com/ru/articles/1023940/

Побольше бы российских программистов микроконтроллеров, которые умеют собирать прошивки без GUI-IDE !

Формат DBC (Data Base CAN) — это текстовый стандарт описания обмена данными в CAN-сети, который служит переводчиком между бинарными кадрами шины и понятными параметрами (ток, скорость, температура)

Про работу с .dbc фалами и про то как из них генерировать си код парсеров CAN пакетов следует написать отдельный текст.
Это очень хорошая практика разработки.

 было больно, но приятно.

"

Чтобы тело и душа были молоды Были молоды, были молоды Ты не бойся ни жары и ни холода Закаляйся, как сталь! Физкульт-ура! Физкульт-ура! Ура! Ура! Источник текста:https://www.az-lyrics.ru/lyrics/sovetskie-pesni/zakalyaysya-kak-stal
"

Арбитраж в CAN-bus — это механизм, который позволяет нескольким узлам одновременно претендовать на доступ к шине без потери данных и без необходимости в диспетчере. Этот процесс основан на принципе CSMA/CD + AMP (Carrier Sense Multiple Access with Collision Detection and Arbitration on Message Priority). В основе арбитража лежат два физических правила:

CSMA/CD - это вообще относится к Ethernet.
https://ru.wikipedia.org/wiki/CSMA/CD
механизм основан на случайной паузе при повторной отправке.

Арбитраж CAN - полная противоположность алгоритму CSMA/CD, где арбитраж происходит без пауз, на лету.

 без всякой дебильной проперитарщины в виде CubeMX\CubeIDE

Да. Именно так.
Почему Сборка с Помощью GUI-IDE — это Тупиковый Путь

https://habr.com/ru/articles/794206/

Но Вы же понимаете, что эти данные Вы можете записать только один раз?

Зато не надо пере собирать проект MBR компилятором.
Просто попатчил его бинарь и прошил в МК.

Информация

В рейтинге
115-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Embedded Software Engineer, DevOps
Senior
Git
Bash
CI/CD
C
Embedded system
Programming microcontrollers
Software development
Algorithms and data structures
System Programming
Development of drivers