LINUX.ORG.RU

Графопостроитель (осциллограф) 1 МГц

 ,


1

2

Всем Здравствуйте ! Прошу подсказать правильное направление в решении следующей задачи. Сразу прошу не пинать за неточности, с Linux не работал и под него ничего не писал. Есть практика написания embedded (встраиваемых) систем под микроконтроллеры PIC, Atmel, немного Milandr, а также простых графических приложений на Delphi XE. Данную тему лучше бы перенести в Science & Engineering, но я там создать пока не могу. А теперь к задаче. Ранее на Delphi была написана программа, принимающая из интерфейса (это может быть UART, CAN не важно) данные. Данные писались в массив. После окончания приема с помощью компонента TChart строился график по точкам. Недостаток этой системы в том, что Windows успевает принимать максимум на частоте 1 кГц, т.е. 1000 сообщений в секунду (через порт USB, с помощью преобразователя). О построении в режиме реального времени вообще речи быть не может, там вообще все плохо. По сути нужна система реального времени. Необходимо принимать сообщения из CAN и выводить информацию в HDMI c частотой 25 Гц, непрерывно строя график. Боудрэйт CAN может достигать 1 Мгц. Частота сообщений килогерцы. С большим запасом возьмем до 10 кГц. На данный момент хочу проверить возможность реализации такой задачи на одноплатном ПК OrangePi Lite v.1.1. У него есть порт Uart. Если будет получен положительный результат, можно перейти на что-то более мощное, например Rasberry Pi 3. Вопросов у меня несколько. Вопрос 1: под какую систему писать софт. Приведу ссылку операционок для данного ПК (в середине страницы для Lite) http://www.orangepi.org/downloadresources/ Но видимо, можно ставить и что-то не официальное. Это ж Линух ))) Вопрос 2: какую среду под Си++ или Delphi использовать для разработки ПО ? Насколько я понял, сейчас вошла в моду библиотека Qt под Си ++. Вопрос 3: каким компонентом в Linux строить график в режиме реального времени ? Прочитав пару статей, наткнулся на GNUPlot. Насколько он подходит для решения данной задачи ? Буду благодарен за любую содержательную информацию по теме и за полезные ссылки. Если вы дочитали до конца, спасибо за внимание !!! ))



Последнее исправление: Serega555 (всего исправлений: 5)

Ответ на: комментарий от Serega555

Вам все объяснили, завязывайте с фантазиями. А то вы даже не очень представляете что вам нужно и зачем.

vaddd ★☆
()
Ответ на: комментарий от vaddd

Не морочьте себе и людям голову

так я разве вас заставляю ?

И вы об этом всем только слышали?

об чем обо всем ? Проект такой был сделан. Узким горлышком стала Windows. Система реального времени не получилась. Нужно всего то разобраться с приложением под Linux на том же самом Delphi, Си++. Накатить FreeRTOS, Raspbian, Debian, Lubuntu, что там еще есть, на SD карту, пощупать операционку на одноплатнике. Написать приложение. UART я вам с закрытыми глазами сделаю. Не вижу проблем. Не ракету в космос запускаю. За меня не переживайте так ? Я сюда не сочувствия пришел спрашивать.

Serega555
() автор топика
Ответ на: комментарий от no-such-file

может тогда потыкать gnuradio

потыкаем ))) спасибо

Serega555
() автор топика
Ответ на: комментарий от vaddd

Вам все объяснили, завязывайте с фантазиями. А то вы даже не очень представляете что вам нужно и зачем.

Давайте без завязывайте. Хорошо ? Я прекрасно представляю что мне необходимо. Все это кто ? Я и моя собака ? Если по теме вы сказали все, то не отвлекайте пожалуйста.

Serega555
() автор топика
Ответ на: комментарий от Serega555

Проект такой был сделан. Узким горлышком стала Windows. Система реального времени не получилась. Нужно всего то разобраться с приложением под Linux на том же самом Delphi, Си++. Накатить FreeRTOS, Raspbian, Debian, Lubuntu, что там еще есть, на SD карту, пощупать операционку на одноплатнике. Написать приложение. UART я вам с закрытыми глазами сделаю. Не вижу проблем. Не ракету в космос запускаю. За меня не переживайте так ? Я сюда не сочувствия пришел спрашивать.

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

vaddd ★☆
()
Ответ на: комментарий от anonymous

Сейчас ещё окажется что управляется какой-нибудь механический процесс типа реле или даже сервопривода

не угадал.

то это должна делать программа внутри контроллера

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

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

Serega555
() автор топика
Ответ на: комментарий от Serega555

Кто и как управляет не имеет значения

Какая разница, имеет смысл это отображать или нет.

Нужен IDE для разработки и операционка.

Я выделил суть вашей задачи правильно?

vaddd ★☆
()
Ответ на: комментарий от anonymous

Ему полтреда объясняли, что он свой мегагерц никак не протащит через uart

Объясняю вам популярно. 1 Мгц это боудрейт Uartа. И это на кварце 7,5 кГц . Это не максимум. Если кварц более высокочастотный, максимальный боудрейт на контроллере PIC 1,8 МГц.

Теперь дальше. Частота данных, условились, если вы читали, до 10 кГц. В одном байте 10 бит. 10 кГц * 10 бит = 100 кГц. Т.е. достаточен боудрейт с частотой 100 кГц. Запаса хоть отбавляй.

А теперь объясни почему Orange Pi на Allwinner H3 Cortex A7 @ 1.6 GHz, не протащит (аппаратно) такие частоты по UART. По сравнению с ним, PIC даже не мопед, а самокат.

И прекращай словами бросаться.

Serega555
() автор топика
Ответ на: комментарий от vaddd

Суть задачи

Нужен IDE для разработки и операционка.

Serega555
() автор топика
Ответ на: комментарий от Serega555

Необходимо принимать сообщения с частотой 1 Мгц и тут же выводить

Ну и это вообще шикарно:

Объясняю вам популярно. 1 Мгц это боудрейт Uartа
Т.е. достаточен боудрейт с частотой 100 кГц. Запаса хоть отбавляй.

И прекращай словами бросаться.

Ога. Теперь только цитаты.

anonymous
()
Ответ на: комментарий от anonymous

Необходимо принимать сообщения с частотой 1 Мгц

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

Ога. Теперь только цитаты.

Ну и славненько.

Serega555
() автор топика

максимум на частоте 1 кГц, т.е. 1000 сообщений в секунду
и тут же выводить, непрерывно строя график.

Тут же выводить не получится. Ни при 60 fps, ни при 120+ fps.

andreyu ★★★★★
()

Вопрос 1: под какую систему писать софт.

Под целевую.

Вопрос 2: какую среду под Си++ или Delphi использовать для разработки ПО ? Насколько я понял, сейчас вошла в моду библиотека Qt под Си ++.

Vim.

Вопрос 3: каким компонентом в Linux строить график в режиме реального времени ?

В режиме реального времени не получится из-за текущих ограничений железа.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

А вот по поводу последнего этож знатный звездеж. Правда ввязываться в этот клубок звиздежа н звиздеже, да с таким умопомрачительным ТЗ, да ну на

Morin ★★★★
()
Ответ на: комментарий от Morin

А вот по поводу последнего этож знатный звездеж.

Вам известен монитор, умеющий 1000 обновлений в секунду? Но ТСу и этого мало.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Вам известен монитор, умеющий 1000 обновлений в секунду?

Специальня светодиодная матрица. И к ней курсы операторов для выработки у них времени распознавания и реагирования 1мс.

vaddd ★☆
()
Ответ на: комментарий от andreyu

а ты разницу между монитором в котором ты смотришь своими унылыми глазами, через которые моск не в состоянии переварить 25 кадров, не додумывая сам че там было и математикой в реальном времени отличаешь? Хотя зачем я тут рассказываю

оставлю тут вот это, пусть чел мучается с тз дальше, раз не знает как такие системы правильно проектировать http://fw.hardijzer.nl/?p=138

Morin ★★★★
()
Ответ на: комментарий от vaddd

Специальня светодиодная матрица. И к ней курсы операторов для выработки у них времени распознавания и реагирования 1мс.

Сомневаюсь, что именно этого хочет ТС :)

andreyu ★★★★★
()
Ответ на: комментарий от Morin

а ты разницу между монитором в котором ты смотришь своими унылыми глазами, через которые моск не в состоянии переварить 25 кадров, не додумывая сам че там было и математикой в реальном времени отличаешь?

Каким образом вы умудрились родить этот вопрос в контексте моего вопроса?

Хотя зачем я тут рассказываю

Действительно, зачем вы несете не релевантную чушь.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Вам известен монитор, умеющий 1000 обновлений в секунду? Но ТСу и этого мало.

Ну когда обосрался и спрашивали

Вопрос 3: каким компонентом в Linux строить график в режиме реального времени ?

то что поделать, надо обвинить кого-то в тупости.

Предсказывая вопрос, это уже ты дружок додумал, что выводить на монитор собрались каждую точку в реальном времени

Morin ★★★★
()
Последнее исправление: Morin (всего исправлений: 1)
Ответ на: комментарий от andreyu

Вам известен монитор, умеющий 1000 обновлений в секунду?

Отображать так быстро не нужно. Для оператора достаточно 25 кадров в секунду. Исправлю в шапке.

Serega555
() автор топика
Ответ на: комментарий от Serega555

Для оператора достаточно 25 кадров в секунду.

Цирк продолжается. При 25 кадрах в секунду оператор будет видеть не график, а размытую линию. Вы даже не понимаете разницы между измерениями и просмотром киношки. Вы хоть раз в жизни видели измерительный прибор у которого показания меняются 25 раз в секунду?

vaddd ★☆
()
Ответ на: комментарий от Serega555

Попрошу без эмоций и оскорблений. Не умеющих сдерживать свои эмоции и спокойно дискутировать рекомендую уйти в другую тему.

Serega555
() автор топика
Ответ на: комментарий от vaddd

Вы даже не понимаете разницы между

Мне кажется не понимаете вы.

Serega555
() автор топика
Ответ на: комментарий от Morin

Ну когда обосрался и спрашивали

Зачем мне знать подробности вашей жизни?

Вопрос 3: каким компонентом в Linux строить график в режиме реального времени ?

то что поделать, надо обвинить кого-то в тупости.

Вы под веществами или просто алкоголик?

Предсказывая вопрос, это уже ты дружок додумал, что выводить на монитор собрались каждую точку в реальном времени

Это следует из желания ТСа, потому ему в этом топике и намекают на несколько странное ТЗ.

andreyu ★★★★★
()
Ответ на: комментарий от vaddd

При 25 кадрах в секунду оператор будет видеть не график, а размытую линию.

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

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

Serega555
() автор топика
Ответ на: комментарий от Morin

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

Зачем вы проецируете свое состояние на других?

andreyu ★★★★★
()
Ответ на: комментарий от Morin

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

Я полностью спокоен. А обосрамс так это у тебя помоему, связанный с твоим воспитанием.

Serega555
() автор топика
Ответ на: комментарий от Morin

ОК. Давайте без перехода на личности и все будет хорошо.

Serega555
() автор топика
Ответ на: комментарий от Morin

ты все еще на первой стадии, скоро пройдет

Забавно это слышать от человека в терминальной стадии.

andreyu ★★★★★
()
Ответ на: комментарий от Serega555

Если вы отображаете принятую (измеренную с частотой 1 кГц информацию) а затем отображаете ее (конечно с меньшей частотой) в виде точек, соединенных прямыми линиями на координатной плоскости XY, почему эти линии должны быть размытыми ?

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

vaddd ★☆
()
Ответ на: комментарий от vaddd

Потому что любая информация, которая может меняться чаще чем раз в 0.3-0.5 секунды превращается в шум )

а кто вам сказал, что нужна ровная линия. Если шум это и есть характеристика процесса, почему бы ее не отобразить. Собственно говоря, такими графики и будут. И с размытостью линии это не имеет ничего общего. У вас в одном месте свербит что ли ? Никак вы без выпадов не можете. И вы глубоко заблуждаетесь, в том что я здесь что-то путаю. Возможно решаемые вами задачи не дают вам понять, что фильтр сигнала мне не нужен и усреднять ничего не надо. Если система обладает резонансами, если в сигнале присутствует шум, то это нужно видеть. График - это ломаная линия с пиками, фронтами, скачками и т.д., а какая у нее частота зависит от того, какие значения этих данных мы приняли по интерфейсу. Лучше посоветуйте ПО, чем бесконечно писать про алгоритм отображения, с этим я разберусь.

Serega555
() автор топика
Ответ на: комментарий от Serega555

Если шум это и есть характеристика процесса, почему бы ее не отобразить

фильтр сигнала мне не нужен и усреднять ничего не надо

Если система обладает резонансами, если в сигнале присутствует шум, то это нужно видеть. График - это ломаная линия с пиками, фронтами, скачками

Купите себе осциллограф. Вашим пожеланиям соответствует именно он.

vaddd ★☆
()
Ответ на: комментарий от vaddd

Купите себе осциллограф. Вашим пожеланиям соответствует именно он.

Послушайте, если вам просто поговорить, то заканчивайте. Причем здесь осциллограф ? Интерфейс CAN знаете что такое ? Вот из него данные сыпятся. И зачем что-то покупать, когда интереснее попробовать решить задачу. Так есть у вас что-нибудь в плане ПО ? Если нет, тогда с вами вопрос исчерпан.

Serega555
() автор топика
Ответ на: комментарий от Serega555

запаздывание в наблюдении допустимо

Давно было дело. Для одного предприятия монтировали сеть, на промышленных контроллерах, где не допустима задержка в регулировке техпроцесса. Всё крутилось под QNX 4.

SergeySVold ★★★★
()
Ответ на: комментарий от Serega555

Да и использовать ethernet там где его функциональное применение ну совсем не обоснованно, это точно жесть.

почему не обоснованно? Данные можно выводить через веб-интерфейс устройства, и это общая практика.

Принимать байты информации по интерфейсу и отображать на двумерном графике для вас это жесть ?

жесть в самой постановке задачи.

осциллографы видел, и поныне пользуюсь, да такие...

Развертка цифрового осциллографа срабатывает по сигналу синхронизации, после чего данные пишутся в буфер(ы). И так много-много раз подряд.

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

Вот что такое осциллограф.

А то что, вы пилите - это обычная система сбора и обработки информации.

Возможно, «жесть» - это слишком резко, но пмсм следует начать с постановки задачи, конкретно с того, как вашу систему использовать.

А так, при прикручивании одной фигни к другой фигне ничего кроме фигни не получится.

zudwa
()
Ответ на: комментарий от zudwa

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

...И буфер в виде времени гашения люминофора + зрительной памяти.

anonymous
()
Ответ на: комментарий от Serega555

Не получается смонтировать образ операционной системы для установки на VirtualBox. Создал виртуальную машину: Ubuntu(32 bit). Теперь необходимо выбрать файл образа ОС, либо виртуальный привод и его уже указать в виртуальной машине. Проблема в том, что UltraISO ни в какую не хочет открывать *img образ. Пишет: «Неизвестный формат образа». Скачивал уже три штуки ОС. Все образы типа *img. Это Armbian и Ubuntu. В чем может быть дело ? UltraISO рабочий, до этого пользовался не раз.

Serega555
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.