Pull to refresh
2
0.4
Send message

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

вопрос был скорее где его взять, какие бывают для этого решения, как оно работает. Технически это действительно интересно, а в статье никак не раскрыто.

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

во времена далёкие, в 95-м, делал себе первый цифровой осциллограф из того что было, а было: времени много, остального маловато, был 80286 с 12мгц, к нему некий прадедушка scsi контроллера с режимом мастера шины (по dma). ADC делал на рассыпухе из старых японских видеомагнитофонов, качественные там можно было транзисторы добыть и много одинаковых, также подстроечники для калибровки. Сделал ADC на шесть каскадов по схеме удвоителя/инвертора (без sample/hold), по 4 транзистора на каскад, плюс вся остальная обвязка. Софт написал в основном на ассемблере, включая графику, для скорости. Больше шести каскадов изза шума уже смысла не было делать, зато схема простая, на биполярных транзисторах, полевики негде добыть было.

Вобщем, получилось на 80286 разрешение по времени около 100ks/s в непрерывном режиме и 600ks/s в single. Телевизоры/мониторы ремонтировал в то время, даже как-то хватало с натяжкой чтоб каскады строчной развёртки проверять.

Это так, сравнить прогресс иногда интересно бывает :)

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

Цивилизация развивается волнами, уровень плавает, хотя средний вроде всетаки растёт постепенно, если оценивать по таким параметрам как отношение к детям, к инвалидам, к животным, т.е. по уровню активной эмпатии к ближним и дальним и стремлению улучшить жизнь кому-то кроме себя любимого. Если сравнить хотя-бы с уровнем 100 лет назад, то сейчас мы заметно выше, а если например с серединой 60-х, то уже заметно деградировали. Риск только, что это наше сейчас очередное падение может оказаться слишком уж болезненым, долго потом выкарабкиваться придется.

Да ладно, с чего бы странный, просто чистая функциональщина с xml синтаксисом. Я на нем немало писал в свое время лет 15 назад, вплоне приятно.

Был такой язык на рубеже века: java2000, по своей теоретической ценности, в качестве фитнесса для мозгов, весьма достойный язык. Не смотря на весьма привычный синтаксис, в основе лежал "пробабилистический детерминизм": каждая функция возвращяет преимущественно не но что вы от неё ожидаете, и вот попробуйте с этим реализовать что-то осмысленное. Автору весьма интересные примеры удавались.

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

да, это там стандартное решение, многие проекты используют. Недостатки, собственно в контексте сабжа:

  • в первом случае менять версию нужно руками,

  • во втором, этот хэш потом ни о чем не говорит всем тем кто фирмварем будет пользоваться, включая сам фирмварь (выше/ниже не проверить, только == )

В моем случае (выше) мы генерим пятизначное число которое по сути дата, (concat год + день года), что по многим причинам удобнее

  • пользователи у клиента могут отследить день билда и сопоставить с остальной коммуникацией (кто, когда, зачем)

  • версии идут по возрастающей, фирмварь может проверить на тему возможного downgrade

  • помещается в 16-бит, и еще 40 лет помещаться будет (мы например FW_VERSION по modbus возвращаем)

поделюсь своим решением, из cmake, может кому пригодится:

string(TIMESTAMP BUILD_VERSION "%y%j")
MESSAGE("BUILD VERSION ${BUILD_VERSION}")
...
add_definitions(-DBUILD_VERSION=${BUILD_VERSION})
...
set(target "${board}_v${BUILD_VERSION}")
add_executable(${target} ...

В начале 80х у нас были игрушки - планшетки с дисплеем на основе алюминиевой пыли. С обратной стороны механически двигалось "перо" - некий штифтик, его можно было перемещать двумя "крутилками" по бокам девайса и вроде как кнопкой поднимать/опускать. Устройство позволяло неплохо чертить и рисовать, с разрешением где-то в пол- миллиметра. Чтобы стереть изображение, игрушку достаточно было встряхнуть.

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

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

MC14500 чипсет построен по принципу цикломата, как в аналоговых стиралках, поэтому примитив такой.

чисто теоретически возможно, он всетаки был полным по Тьюрингу, в отличии от сабжа который только маркетологи в бреду могли назвать процессором. Но на практике у MC14500 отсутствовали команды загрузки программного счетчика, не было там классических браншей и джампов, он просто тикал себе всегда вперед, до переполнения, и снова вперед. Но можно было по условию установить флаг игнора опкодов, до достижения требуемого адреса он тогда тикал как это называлось 'silent' вроде, вхолостую вобщем. Циклы там поэтому делались в прямом смысле ректально, игнором "всего, кроме". Так что не стоило там больше памяти ставить

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

На самом деле, кому бы эти карты тогда сдались для PC или XT их делать, там шина восьмибитная и ценовой сегмент не тот чтоб юзеры заценили, в PC даже предусмотренные 512Кб чаще всего не дозаполнялись, дорого было. Были карты расширения с банками, были, года с 84-го вроде, но уже под AT на 16-битную шину и изначально только для Лотуса123, потом уже находились умельцы это дело хотя-бы под RAM- диск задействовать. Но популярности особой не имели, поэтому никакой другой известный мне софт их не знал и не поддерживал, так что RAM- диск это был максимум на что их можно было применить.

В самой DOS поддержка этого дела появилась только с 4.0 в 88м году, а в массы пошла уже с 5.0 в 91м, когда уже даже AT ушли с рынка, только у нищебродов вроде меня использовались парочка. А на AT- матерях уже были юзабельные SIPP- коннекторы для почти привычных сейчас DRAM- плашек (правда, конектор на плашке был папа, на мамке мама). Это было уже дешевле и шустрее чем через общую шину гонять.

К слову сказать, чтобы в DOS хоть какие-то расширения памяти в окнах выше 0xA0000 из программ использовать, требовалось или программе точно знать что оно там есть, что только для узкоспециализированных кейсов и софта годилось, или использовать досовкий аллокатор (malloc/free), который там только с версии 5.0 появился (возможно в 4.0, но то был зверь редкий, не застал, не знаю). Сам, когда первый год примерно кодил еще под 3.3, точно помню что его там еще не было. Весьма возрадовался, когда пятёрку завезли.

в тех кардиостимуляторах из 60х был плутоний-238, чтоб значит ещё и душу грел человеку. Человек уже лет 40-50 как умер, а его кардиостимулятор в музее по прежнему исправно тикает.

RTC - часы на плате, плюс чуток энергозависимой памяти.

Но радует конечно что "по истечении срока его излучающие компоненты разложатся" :)

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

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

Касательно методики исследования тоже множество вопросов - тестирование наживую, проверка путём подключения к разным компьютерам.. Не лучше ли было бы загнать схему в ltspice и просимулировать интересные режимы работы, может все вопросы отпадут уже на этом этапе?

статья интересная, спасибо, и тема интересная очень

Information

Rating
2,053-rd
Registered
Activity