Свежие обсуждения
Измерения

Осцилограф приставка к ПК

1 2 10

dmitriy2
- Рассуждения в чём-то правильные (свободный софт именно так и развивается, см. идеологию проекта GNU). Но, реально, не так уж много людей которые одновременно хотят и могут. Вы только не обижайтесь, но например подобное предложение о многом говорит:
Все данные - через TMP файл
- очень плохой способ передачи данных между процессами. Хуже даже придумать трудно. Для этого есть пайпы, сокеты или отображаемые на память файлы. Зачем вообще интерфейс с железом выносить в отдельный процесс -- тоже непонятно (существуют и плюсы и минусы такого решения), есть куча других способов обеспечить модульность. Даже при статической компоновке.

 

Кстати, приведу фрагмент из описания одного подобного коммерческого проекта:

-------------8------------------------------------------

Введение

Данная программа (в дальнейшем, анализатор) предназначена для визуализации и обработки данных, поступающих на ПК от осциллографической приставки. Осциллографическая приставка - внешний АЦП с некоторыми характерными для осциллографа функциями (например, синхронизация по заданному уровню сигнала). В дальнейшем, будем называть осциллографическую приставку просто "АЦП" (подразумевая, однако, АЦП с расширенной функциональностью).

Анализатор не привязан к какой-то конкретной реализации АЦП, и может работать с любым источником данных посредством небольшой программы-посредника (драйвера АЦП). Слово "драйвер" не должно вводить в заблуждение; в данном случае, подразумевается обычная программа, работающая вне ядра операционной системы.

Драйвер АЦП представляет из себя программу, способную принимать команды от анализатора и отправлять ему данные, полученные от устройства. Для приёма/передачи данных используется интерфейс на базе сокетов (Berkley soсkets). Такое решение позволяет запустить драйвер и анализатор как на одном, так и на разных компьютерах (связанных через локальную сеть).

Анализатор позволяет обрабатывать данные от нескольких устройств одновременно (работая, соответственно, с несколькими драйверами сразу).

 

Gregory: А вот, что такое во втором и третьем пунктах?
В первом пункте загрузчик, который загружает программу в пик.
Во втором пункте исходный файл и хекс загружаемой программы
В третьем хедер файл (всякие определения для си)
В четвертом демонстрашка на вижуал бейсике

 

GM:
загрузчик
Так понимаю, она "прошивается" в ПИК и при включении он что-то с компа загружает?
Тогда поясните, как со всем этим работать?

 

Ну может не особо в тему
Но тем кому интересно самостоятельное изготовление осцилла думаю будет интересно посмотреть сюда
http://forum.roboclub.ru/IPBoard/index.php?showtopic=131&st=120
Частота не супер ,но для ремонта бытовой РЕА вполне годится.
Лежит больше года ,уже больше сотни сделало из тех,кто не поленился написать на мыло.
Думаю еще неспешно сваять на АРМ ,но это пока в планах.

 

А вы никогда не задумывались, для чего промышленность(в том числе и за рубежом) изготавливает осциллографы ,как отдельный прибор ,да к тому же с разными функциями и характеристиками? Вопрос, конечно, риторический.

 

caddr
- Рассуждения в чём-то правильные. Но мы не всегда делаем то, чем интересуемся.
"Не объять необъятное." Свой "Осцил" на ПК я сделал году в 95. Как побочный продукт анализатора факс сообщений. Точнее - перехватчика факсов с линии. По программе СОРМ. Так что и я что-то сделал. Кстати. это железо только несколько лет назад сняли с производства...
TMP - это не запись на винт, как ты подумал, а область, открытую для разных программ. Т.е. отделить процесс передачи данных от их обработки, визуализации и регистрации. Такое решение упрощает работу диспетчера прграмм - по установленным приоритетам. Может так не будет звучать не "Хуже даже придумать трудно."?
И речь идет не о создании железа и ПО к нему, а о предложении так построить структуру этого железа и ПО, что новичек сможет внести свой вклад в общую работу с минимальной потерей времени. И замечу, именно у "новичков" чаще всего появляются хорошие/нестандартные идеи. У спецов взгляд всегда "замылен".

 

dmitriy2: Я за разработкой осцилов на ПК уже лет 10 наблюдаю.
... А какие доходы от этого? Ну сотня недоделок в месяц - без перспективы развития направления? Да на такие деньги и кошку не прокормить. И "производство" умирает.
...Железо для старта можно взять из того, что бывшие самодельщики, а ныне коммерсанты производят. Купить легко, стоит 100...200 баксов. Разработка приличной печатки стоит дороже.

Интересно, сколько уходит на кошку в месяц? Посчитал приведённые вами цифры (100 штук/месяц)*(100..200)$ = 10000-20000$/месяц и ужаснулся . Это ж не кошка, а стадо тигров в 20 голов . Имея в виду эти цифры, мне представляется, что ваши рассуждения не совсем верны. А правда такая. Если зарплата разработчика 1000$ и он неожиданно (в результате разработки чего-то, скажем осцилла) обнаруживает перспективу получения дохода в 10000-20000, то он естественно решает попробовать произвести данный продукт (поработал один год, потом можно десять лет не работать .

 

dmitriy2предложении так построить структуру этого железа и ПО, что новичек сможет внести свой вклад в общую работу с минимальной потерей времени
- Всё равно, такая софтина (если делать действительно хороший продукт) -- сложная система. Если считать новичком человека, не боящегося ковыряться в мегабайтах исходников (и способного при этом не поломать программу и её архитектуру при внесении изменений) -- это будет несколько странный новичёк. Такие люди могут без проблем устроиться на работу программистом : - )

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

В общем, скептически ко всему этому отношусь. Повление такого (реально качественного) софта для осциллографов в результате усилий разнородной группы добровольцев считаю очень маловероятным. Показательный пример -- многолетний проект с разработкой цифрового осциллографа на iXBT таки зашёл в тупик, несмотря на участие совсем неглупых людей и очень серьёзные намерения. На этом форуме (да и других) примерно аналогичная ситуация. Что-то реальное (работающее, хотя бы) многие сделали в одиночку; по понятным причинам, такие проекты тяжело довести до желаемого уровня.

Конечно же, примеры успешных начинаний подобного рода есть (пусть в других областях) -- тот же Linux, хотя бы; там сложилась благоприятная среда для развития. Возможно, среды для развития качественного свободного софта для обработки данных от осциллографических приставок пока нет.

Не буду скрывать, у меня лично интерес в подобном софте есть, и этот интерес на данный момент носит коммерческий характер. Была, когда-то, идея стартануть проект под лицензией GPL -- выложив базовый исходный код в общий доступ куда-нибудь на sourceforce, с доступом через CVS или SVN для участников. Довольно долго копался в интернете, пытаясь найти уже существующий открытый проект, удовлетворяющий моим запросам -- не нашёл (удовлетворяющий не нашёл, вообще несколько проектов существует). Идею, после взвешивания "за " и "против" решил в таком виде пока не развивать.

PS. Чтобы не возникало путаницы в давно устоявшейся терминологии (процесс, поток, пайп, файл, и пр.), да и вообще для систематизации знаний в области межпроцессного/межпотокового взаимодействия, синхронизации -- интересующимся могу порекомендовать книгу А.Таненбаума "Современные операционные системы" (примерно соответствует по содержанию ВУЗовскому курсу "Теория операционных систем"). Несмотря на название, полезна далеко не только разработчикам ОС (скорее даже, как раз им она не очень-то и полезна -- слишком поверхностна).

 

GM: (100 штук/месяц)*(100..200)$ = 10000-20000$/месяц
- Там гораздо меньше доход -- себестоимость у прибора ненулевая ведь : - ) Конечно, те кто вышел на нормальный объём продаж и клепают платы с корпусами в Китае, ближе к этим цифрам (себестоимость -> 0).