[identity profile] radist-morse.livejournal.com posting in [community profile] engineering_ru
Цифровой осциллограф с красивым цветным экраном окончатильно вытеснил своего аналогового предка из исследовательских лабораторий. Удобный прибор, позволяющий не только посмотреть форму сигнала, но и измерить многие его параметры, а так же записать картинку на флешку, радует современного инженера.
Вот такую картинку синусоиды частотой 1 МГц рисует бюджетный Тектроникс TDS2022.




Сигнал на него поступает с замечательного генератора другой американской фирмы Аджилент.



Как можно заметить наблюдается полное соответствие показаний частоты и амплитуды на обоих приборах.
Сейчас я включу на генераторе амплитудную модуляцию частотой 400 Гц и глубиной 50%. Хотя этот вид модуляции почти умер в радиовещании, прибор позволяет это сделать.



Смотрим на осциллограф. Вместо картинки АМ из учебника на экране наблюдается очень неравномерное заполнение радиочастотой.



Или, несколько изменив уровень синхронизации, вот так.



Древний аналоговый осциллограф показывает при этом правильную картинку АМ сигнала.



Странность картинки на цифровом приборе вызвана кратностью частоты дискретизации осциллографа и частоты генератора. Если чуть изменить частоту генератора, то ситуация меняется и изображение становится правильным.
Даже вполне хорошие и исправные приборы иногда показывают фигню. И этому есть нормальное объяснение.

А сфотографированный мной С1-55 уже отправился в утиль. RIP.


Date: 2015-05-01 10:27 am (UTC)
From: [identity profile] tnenergy.livejournal.com
Цикл управления тут складывается из считывания парметров из ИНС и, например, радиоальтиметра, расчета задания автопилота, расчета управляющих воздествий нескольких ПИД-регуляторов. Грубо говоря 10-20 умножений, до сотни сложений, до сотни обращений к памяти. 10 тысяч тактов на один такой цикл хватит любому современному 16 битному контроллеру, а его частота должна быть не меньше 1 мегагерца, а лучше 10.

Получается, что требования к контроллеру определяются интерфейсами, а не его вычислительными возможностями. Если все общение с внешним миром упихать в цифровую шину, типа I2С, то можно идти на рекорд размеров контроллера.

Date: 2015-05-01 01:59 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
I2C подвержена Common mode interference.
лучше дифференциальный бас, для авионики: MIL-STD-1553

Date: 2015-05-01 02:42 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
Ну разумеется, в реальности никто не будет на I2C делать управление лунным модулем ;) Я в плане минимальных требований к процессору.

Date: 2015-05-01 03:47 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
ну и хорошо..
надеюсь на микроконтроллере тоже не будут... а то мало ли что..

Date: 2015-05-01 05:54 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
На самом деле - летают же десятки тысяч квадракоптеров на стандартных промышленных микроконтроллерах, от 16 битных PIC до кортексов-М и АРМов - кто на что горазд. В космосе их применение лимитируется скорее радхард сертификацией и софтверной экосистемой (компиляторы, библиотеки, драйверы интерфейсов), которая тоже должна быть сертифицирована на правильность алгоритмов. Обычная разница между разговором о теоретической возможности использовать МК и ответственностью за их реальное использование :)

Date: 2015-05-01 06:33 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
нет, только на FPGA только хардкор!

Date: 2015-05-01 06:35 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
арм это уже микроконтроллер?

Date: 2015-05-01 06:54 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
А как вы отличаете микроконтроллер от не микроконтроллера? По каким критериям?

Date: 2015-05-01 07:02 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
наверное наличием виртуальной памяти с аппаратной трансляцией(MMU), пайплайнинга и прочих процессорных наворотов.

Date: 2015-05-01 07:30 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
А вот DMA - это рубеж или нет?

Date: 2015-05-01 07:38 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
DMA чего, имеется ввиду обращение устройств к памяти напрямую или каналы дма какие-то?

Date: 2015-05-01 07:44 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
Имеется в виду возможность периферии заливать данные по назначенным адресам в пространстве памяти контроллера. Есть в кортексах-М, например.

Date: 2015-05-01 07:50 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
да, это прцессорная фишка уже и контроллера баса, арбитратора, и т.д. PCI bus mastering например...
DMA уже не относится к микроконтроллерам... и ваш Cortex-M уже процессор, если не верите посмотрите на сайте.

Date: 2015-05-01 07:51 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
без MMU никакой DMA не возможен, либо мне трудно представить как это может быть реализовано...

Date: 2015-05-01 09:55 pm (UTC)
From: [identity profile] alex-avr2.livejournal.com
Есть куча МК с DMA без MMU - теже STM32 все.

Разница между микроконтроллером и микропроцессором (по моему мнению) - в первую очередь в периферии - микроконтроллер - содержит микропроцессор + память разных фидов + всякие интерфейсы и т.п.

Date: 2015-05-02 03:41 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
и как синхронизация там работает?

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 03:47 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 06:29 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 06:33 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 06:51 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 06:58 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 07:01 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 07:05 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 07:10 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 07:11 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 07:14 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 07:15 pm (UTC) - Expand

(no subject)

From: [identity profile] mike-rocketproj.livejournal.com - Date: 2015-05-04 11:55 am (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-04 07:11 pm (UTC) - Expand

(no subject)

From: [identity profile] mike-rocketproj.livejournal.com - Date: 2015-05-05 04:47 am (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-04 07:14 pm (UTC) - Expand

(no subject)

From: [identity profile] mike-rocketproj.livejournal.com - Date: 2015-05-05 05:02 am (UTC) - Expand

(no subject)

From: [identity profile] mike-rocketproj.livejournal.com - Date: 2015-05-05 05:58 am (UTC) - Expand

Date: 2015-05-02 06:10 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
кстати в STM32 DMA именно канальный, что просто ускоряет пеересылку данных. А тут речь шла о DMA который инициируется переферией.

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 06:14 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 06:18 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 06:26 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 06:43 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 06:53 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 06:55 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 06:59 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 06:58 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 07:04 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 07:06 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 07:09 pm (UTC) - Expand

(no subject)

From: [identity profile] vkorehovisback.livejournal.com - Date: 2015-05-02 07:18 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2015-05-02 07:24 pm (UTC) - Expand

Date: 2015-05-01 06:38 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
никро на микроконтроллере в космос ничего запускать не будет.
во первых нужно еще подумать о тест бенче... что в случае с микроконтроллером невозможно.
во вторых, 16 битные микроконтроллеры не многозадачные, и если кто-то долго зависнет в обработчике прерываний, то пипец будет всему...

Date: 2015-05-01 06:58 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
Вообще-то многозадачность в общем не процессором определяет и не его архитектурой, а софтом. Никаких проблем сделать шедулер и контекст свитч в контроллере нет. Но и смысла особого нет - есть вочдог на случай прямого повисания главного цикла, есть прерывания по таймеру, можно сделать SEH, все в ваших руках. Да, очевидно, что использовать 16 битный контроллер с 8 кб RAM для этого не оптимально, но это, опять же, определяется задачей.

Date: 2015-05-01 07:06 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
"Никаких проблем сделать шедулер и контекст свитч в "
оо, проблемы есть... как например сохранять надежно состояние при переключении контекстов... сразу видно у вас мало практики с микроконтроллерами..
да, когда-то кто-то делал в линуксе трединг на сигналах... но получилось уе...ное говно... и теперь это никто не использует...
видимо схожие проблемы и ожидают вас при подобной реализации без аппаратной поддержки...

Date: 2015-05-01 07:34 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
>оо, проблемы есть... как например сохранять надежно состояние при переключении контекстов... сразу видно у вас мало практики с микроконтроллерами..

В свое время практики было довольно много. uCLinux знаете?

>да, когда-то кто-то делал в линуксе трединг на сигналах... но получилось уе...ное говно... и теперь это никто не использует...

Ну т.е. сделать можно, как я и говорил, вопрос в качестве.

Date: 2015-05-01 07:45 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
нет, uCLinux не знаю и не слышал..
качество было очень плохое, очень... и нужно быть трахнытым в голову, чтобы на таком запустить что-то в космос...

Date: 2015-05-01 07:07 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
пока сработает вотчдог вы разобьетесь...

Date: 2015-05-01 07:39 pm (UTC)
From: [identity profile] tnenergy.livejournal.com
Окститесь, в современных МК можно поставить время срабатывания вочдога в 60-100 микросекунд. В звездолет не будем ставить, так и быть.

Date: 2015-05-01 07:46 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
всеравно херня... у вас сбросится состояние, пропустите измерения и т.д.

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 7th, 2026 08:30 am
Powered by Dreamwidth Studios