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




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



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



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



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



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



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

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


Date: 2015-05-02 06:53 pm (UTC)
From: [identity profile] alex-avr2.livejournal.com
Ну вот конкретно в данном примере принимается посылка модбас, которая может быть запросто за сотню байт размером. А потом еще и отправляется, с помощью того же DMA. При этом на полный цикл (приняли сотню байт)-(обработали и подготовили ответ)-(отослали сотню байт) - расходуется целое одно прерывание и все.

С АЦП - тоже загляденье - настроил автоматические бесконечные преобразования АЦП и DMA, чтобы писал их прямо по адресу какой-нибудь переменной. Все, после этого момента в переменной всегда актуальное значение с АЦП, без прерываний вообще, про АЦП фактически можно забыть.

Ну про случаи работы с SD картой, например, где надо килобайты и мегабайты переписывать я вообще молчу.

Date: 2015-05-02 06:55 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
SD карта и микроконтроллер??? фигня какая-то..

Date: 2015-05-02 06:59 pm (UTC)
From: [identity profile] alex-avr2.livejournal.com
Ууу, понятно все. Извините, дальше просто не интересно. Вы похоже немного отстали от жизни.

https://www.google.ru/search?q=mcu+sd+card&ie=utf-8&oe=utf-8&gws_rd=cr&ei=eR5FVeqbO4G6sgHNtIDIBA

Date: 2015-05-02 06:58 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
сомневаюсь что вы что-то выигрываете...
прерывания не такие дорогие, кроме того содержимое пакетов нужно както декодировать, это проще делать по прерыванию изменяя state machine. пропуская ненужные данные и т.д.
значения с ACP любой нормальный человек сначала усредняет, потом уже использует, что также принято делать с помощью различных running averages...

Date: 2015-05-02 07:04 pm (UTC)
From: [identity profile] alex-avr2.livejournal.com
Можете сомневаться сколько хотите. Выигрыш в количестве прерываний - в сотни раз.
А уж как работать с данными АЦП, усреднять их или нет или делать это не в прерывании - это уже совершенно другое дело.

Date: 2015-05-02 07:06 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
колличество прерываний не показатель производительности:)
зачем перекладывать километр данных из одного места в другое?:)) включите логику если вы программист конечно...
кстати latency у вас будеть больше с вашим DMA...

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

Насчет задержки - также спорно. Смотря в какой задаче. Где-то может быть больше, где-то может быть и меньше, а где-то вообще побоку, DMA или нет, а задержка одна.

Date: 2015-05-02 07:18 pm (UTC)
From: [identity profile] vkorehovisback.livejournal.com
блин, побайтово копировать меньше задержка однозначно...
вы начинаете отсылать данные еще до того как получили окончательно все данные. а с вашим DMA вы сначала копируете в память весь кусок а потом из панять уже отсылаете опять..
копировать данные целиком и ничего с ними не делать, звучит как задача для ПК, скопировать фильм на диск:)

Date: 2015-05-02 07:24 pm (UTC)
From: [identity profile] alex-avr2.livejournal.com
>>вы начинаете отсылать данные еще до того как получили окончательно все данные

Почитайте про MODBUS.

>>звучит как задача для ПК
Задачи разные бывают и на МК тоже.

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 02:09 am
Powered by Dreamwidth Studios