Радио

мега осциллогрфический девайс

Samael 01-11-2011 16:20

нууууу. как сказать
при входной частоте 30кГц. и при максимальной частоте дискретизации 76кГц.
получается период входного сигнала 33мкс а измерение 13мкс. получается за весь период осцил успеет 2 с копейками раза измерить в итоге на дисплее будет картинка довольно примерная (мягко говоря )

фронты если и заваливаются этого незаметно я щупал меандр. обычно чёткие переходы. сморел 5кгц. довольно хорошо видно. амплитуду только уменьшить пришлось

щас думаю доработать несколько делителей. при большой амплитуде и частоте расстояние между точками получается большое. т.е сигналы от 3кгц лучше смотреть при амплитуде около 1В

Эд 01-11-2011 16:55

как ни крути - обычнй осциллограф пока выходит дешевле и точнее самоделок.. минусы большие - габариты и вес.
ваш прибор скорее как пробник, хотя его должно хватать при выездных работах, когда достаточно узнать - есть сигнал или его нет.. ну и примерно оценить форму.
Samael 01-11-2011 17:18

ну собственно да. совершенно согласен.

а почему обычный осцилл дешевле ????
этот собран на одной микросхеме. + дисплей собственно всё. остальное второстепенно

Эд 01-11-2011 17:41

ну смотря какой .. простые типа ОР-1, ОМЛ-2 - как правило стоят не дорого.. до 1-5МГц тянут легко - а этого уже в большинстве случаев с избытком. но габариты все равно велики, особенно если есть необходимость идти с приборами к клиенту.
smitt 02-11-2011 22:31

рульная вещь! мало кто на на асме работает(зачет)! все на СИ да бейсико паскале! сам балавался на bascom-avr, проги длинее чем на асме раза в три - четыре получаются! и ничего серьезного не написать (так игрушки всякие) единственный плюс, за вечер прогу начинающий школьник написать может!
mr-x 03-11-2011 07:33

quote:
Originally posted by smitt:
мало кто на на асме работает(зачет)! все на СИ да бейсико паскале!

Для этого есть веские основания. Давайте похоливарим на тему asm vs C.

Samael 03-11-2011 11:29

конечно. попробуй в 2кБ уместить осциллограф с графикой итп.
тут кроме как на асме ненаписать. да и озу 256б. причём 200б занимает буфер ацп
на си прога раздувается в несколько раз.
и чесно сказать давно в асме пишу. есть много уже готовых макросов. и собственных библиотек

мне даже иногда проще на асме накатать прогу.

для каждой задачи своё. я и наси коечто пишу

mr-x 03-11-2011 12:58

quote:
Originally posted by Samael:
конечно. попробуй в 2кБ уместить осциллограф с графикой итп.
тут кроме как на асме ненаписать. да и озу 256б. причём 200б занимает буфер ацп

Даже пробовать бы не стал. Взял бы с 128к флеша и 8к ОЗУ.

quote:
Originally posted by Samael:
на си прога раздувается в несколько раз.

На сях тоже можно очень по разному писать. Издержки можно свести к минимуму. Если это требуется.

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

quote:
Originally posted by Samael:
и чесно сказать давно в асме пишу. есть много уже готовых макросов. и собственных библиотек

Это прекрасно! Но как после перебираться на другую архитектуру?

Samael, ты не подумай, что я тебя критикую. Все замечательно, я просто потрындеть хочу.


А вот, кстати, поучительная история. Захотел себе сделать металлоискатель простецкий. Нашел схему на pic12. Автор очень гордился его простотой и минимализмом. Те, кто повторял конструкцию очень хвалили автора за то, что там такие дешевые детали.

Так как полностью передирать не спортивно, изменил малость схему и написал программу. В процессе неоднократно каялся, что не поставил контроллер побольше. 8 ног - значит некуда второй светодиод повесить, начинаются всякие извраты. Внутрисхемный отладчик тоже некуда цеплять, значит вешаю динамик на переключатель - или программирование/отладка, или звук. Периферии на борту кот наплакал, опять ухищрения. Низкая частота кварца - низкая чувствительность.

Автор там тоже извращался, например тактовый генератор на транзисторах вместо просто кварца. Это ради экономии одной ножки.

И на кой, простите, хер, такая экономия? Можно было переплатить рублей 20 и заниматься в свое удовольствие функционалом, а не мастурбацией.

Некоторые, вона, дома из стеклянных бутылок строят. Говорят, дешево выходит. Я бы если для себя дом строил, разорился бы на кирпич.

Samael 03-11-2011 13:39

согласен полностью.
тоже не люблю этономить на ресурсах. к томуж щас это особо не затратно.

ну тут допустим проект был сделан не с ноля просто есть такой контроллер. есть такой дисплей. и красота данного контроллера в том что он запускается от одной батарейки. потреблят копейки разряжает батарею до 0.7В

конечно было бы лучше взять какой нибудь STM32ХХ или xmega где ацп до 1Мгц держит ато и до 2М.

и запариваться не надо пиши на си сибе ресурсов дофига это кстати тоже не спортивно

както на меге128 делал математику. вычислял арктангенс ну там работа с усредненим ацп на несколькоканалов. даже посути один и тотже код (ну с небольшим изменением аформления) компилил в gcc , code vision сравнивал. ухишряться пришлось. еле по времянке уложил
это я к тому что си - си рознь

mr-x 03-11-2011 15:23

Ну вот. Не с нуля. Нюансы с питанием. Дополнительные факторы, влияющие на выбор.

Бытует мнение, что вот раньше то программисты были о-го-го. Чуть ли не в машинных кодах, да на крупицах памяти такие чудеса творили... А теперь измельчали, коду на мегабайты, глюков вагон. И, значит, асм - тру, си - для лентяев и разгильдяев. Это не так.

Насчет спортивности. Я для себя давно решил, что экономия ради экономии - зло. Преждевременная оптимизация - хуже преждевременной эякуляции. И стараюсь писать на сях "размашисто". Мало того - заставляю себя, так как все время тянет написать коротко, экономно. А такая экономия чревата геморроем в дальнейшем.

Samael 03-11-2011 16:17

ну я тож из тех кто писал в машинных кодах (на Z80 настальгия ). и бинарники руками правил

посути. в контроллерах. если не используеш ось какую нибудь.
си выигрывает только в математике. а такто по идее. в теже регистры с теми же названиями пишеш значения теже . теже ресурсы пользуеш

smitt 03-11-2011 18:16

ух какая полемика! а вот скажем просчитать время выполнения программы в маш. кодах думаю си с этим не справится! скажем если есть условие опрос датчика через 750ms после его инициализации! думаю, в си будет просто пауза в 750 ms или будут огород кородить с таймерами и прерываниями . а на асме в них еще можно чтонибудь выполнить, просто зная время выполения команд и частоту кварца! в общем я из тех кто из пушки по мухам не стреляет!
mr-x 03-11-2011 23:45

quote:
Originally posted by smitt:
а вот скажем просчитать время выполнения программы в маш. кодах думаю си с этим не справится! скажем если есть условие опрос датчика через 750ms после его инициализации! думаю, в си будет просто пауза в 750 ms или будут огород кородить с таймерами и прерываниями . а на асме в них еще можно чтонибудь выполнить, просто зная время выполения команд и частоту кварца!

Это, типа, юмор такой?

mr-x 04-11-2011 12:45

quote:
Originally posted by Samael:
си выигрывает только в математике. а такто по идее. в теже регистры с теми же названиями пишеш значения теже . теже ресурсы пользуеш

Пользовательский интерфейс. Да вообще все алгоритмы.

Я ещё понимаю, если весь прибор заранее продуман до мелочей, нарисованы блок-схемы программы и далее ничего не меняется. А когда одно и тоже переделываешь по десятому разу, каждый раз немного по другому. На сях то тошно делается, а уж на асме, страшно подумать. И чем более структурирована программа, тем легче даются такие изменения, легче понимать, что и как работает.

В противном случае программа как запутанный клубок нитей. Эта запутанность зависит от размеров клубка не линейно, а более круто. Кучи связей, которые плохо просматриваются. Изменишь в одном месте - поломается в нескольких других. Программа со временем превращается в инвалида из костылей и заплаток. В конце концов терпение лопает, на ум приходит модное слово: рефакторинг. И программа переписывается заново. Наступив на горло мелочному жадине в душе. Правильно, как завещают каноны культуры программирования. Наверно этому учат будущих программистов в вузах. Но среди программистов для микроконтроллеров таких мало.

Samael 04-11-2011 10:06

вообще тут зависит от стиля написания. написал макросов и пиши себе удобно. оработал алгоритм вывода на дисплей символов. например и написал макрос printf какие проблемы ? тоже самое на си.

ничем интерфейс в сях не лучше. а посчитать количество тактов на самом деле не очень удобно.

не думаю что на сях осцилл такой будут легче написать

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

и потом операции с битами на сях вообще довольно условное. поэтому написать какойто скоростной протокол обмена данными например.
т.е битбенгом довольно затруднительно.
ну это относится к чистому си. делают конечно в таких случаях ассемблерные вставки.