Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Своими руками (http://www.microchip.su/forumdisplay.php?f=21)
-   -   USB осциллограф на PIC18F4550 (http://www.microchip.su/showthread.php?t=10440)

radar657 20.03.2011 17:06

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Fry__ (Сообщение 129758)
:)

А Linux то, не для новичков. А значит массовости ему не видать. //вне темы

Очень остроумно!:o А по теме поумничать слабо? или подсказать???:)

Fry__ 20.03.2011 17:10

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от radar657 (Сообщение 129770)
Очень остроумно!:o А по теме поумничать слабо? или подсказать???:)

Это к вам совершенно не относилось. Не обижайтесь.

Stanson 20.03.2011 19:42

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от radar657 (Сообщение 129713)
Пересобрать в смысле заново прокомпилировать?

Угу.
достаточно просто make

Stanson 20.03.2011 19:47

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Fry__ (Сообщение 129758)
:)

А Linux то, не для новичков. А значит массовости ему не видать. //вне темы

Это моя поделка не для новичков. :)

Кстати, не представляю как вообще такое можно было бы исправить в виндовсе. :)

Вот не совпадают VID:PID в прошивке девайса и софтине. И что?

Machine slave 20.03.2011 20:00

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129784)
Вот не совпадают VID:PID в прошивке девайса и софтине. И что?

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

Fry__ 20.03.2011 20:27

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Machine slave (Сообщение 129786)
А почему бы сразу не предусмотреть возможность установки этого в программе?

Кстати - да. Я такое делал в плагине USB для своего загрузчика. Удобно.

Machine slave 20.03.2011 20:31

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Fry__ (Сообщение 129794)
Кстати - да. Я такое делал в плагине USB для своего загрузчика. Удобно.

И я. Что теперь при каждой смене пересобирать что ли?

Stanson 20.03.2011 21:16

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Machine slave (Сообщение 129786)
А почему бы сразу не предусмотреть возможность установки этого в программе?

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

Это я ступил сначала - использовал микрочиповский VID. Потом дошло, что с этим VID:PID могут быть и другие девайсы. Вот и поменял на DEAD:xxxx. А на сайте остались старые VID:PID.

Если бы человек по-людски всё делал - собирал бы и прошивку и софтину из предоставленных исходников - то проблем бы и не было, там всё одинаково.
Заработало бы из коробки.
Но лень uber alles.

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

Windows way, да.

Machine slave 20.03.2011 21:20

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129800)
А зачем это нужно, если программа предназначена для работы с единственным типом девайса

Ааа. "Вот оно чо михалыч" :D

Цитата:

Сообщение от Stanson (Сообщение 129800)
Вообще удивительно - потратить уже почти неделю на выпрашивание прошивок, последующие исправления и т.п. вместо того, чтобы внимательно почитать документацию и за 5 минут всё запустить.

Бывает все еще хуже.

Stanson 20.03.2011 21:21

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Machine slave (Сообщение 129797)
И я. Что теперь при каждой смене пересобирать что ли?

А зачем вообще менять VID:PID? Есть девайс, к нему есть софтина которая к другим девайсам не подходит.

У загрузчика свои VID:PID, кстати.

Интересно, а как вы добиваетесь, чтобы при втыкании девайса самостоятельно запускалась нужная софтина, если ей VID:PID надо вручную прописывать?

Machine slave 20.03.2011 21:44

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129802)
Интересно, а как вы добиваетесь, чтобы при втыкании девайса самостоятельно запускалась нужная софтина, если ей VID:PID надо вручную прописывать?

Я не делал такое.
Vid&Pid и другая информация сохранялись в файле. Собственно при запуске, из него и загружалась информация.

Fry__ 20.03.2011 22:02

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129802)
А зачем вообще менять VID:PID? Есть девайс, к нему есть софтина которая к другим девайсам не подходит.

Я возможно не совсем понял. Там у вас с ТС чехарда какая-то с загрузчиком вышла.

Цитата:

Сообщение от Stanson (Сообщение 129802)
У загрузчика свои VID:PID, кстати.

У меня тоже постоянный VID:PID для загрузчика, но сделал в софтине плагина диалог для гибкости, увы, оказалось не лишним.

Цитата:

Сообщение от Stanson (Сообщение 129802)
Интересно, а как вы добиваетесь, чтобы при втыкании девайса самостоятельно запускалась нужная софтина, если ей VID:PID надо вручную прописывать?

А что в Linux можно сделать чтобы при втыкании устройства определенный софт запускался? У меня при ручном старте приложения загрузчика просто ищется устройство с VID:PID, которые использовались при последнем завершении приложения.

Stanson 20.03.2011 22:24

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Fry__ (Сообщение 129806)
А что в Linux можно сделать чтобы при втыкании устройства определенный софт запускался? У меня при ручном старте приложения загрузчика просто ищется устройство с VID:PID, которые использовались при последнем завершении приложения.

udev.rules и всё такое.

Что-то типа
BUS=="usb", ENV{MODALIAS}=="usb:vDEADp0013", RUN+="/path/to/script/to/run"

Ну и скриптик типа

Код:

#!/bin/sh

case "${ACTION}" in
    add)
              su user -c program_for_device
          ;;
    remove)
              killall program_for_device
          ;;
esac

exit 0

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

Stanson 20.03.2011 22:29

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Fry__ (Сообщение 129806)
Я возможно не совсем понял. Там у вас с ТС чехарда какая-то с загрузчиком вышла.

Ну да, ему нужна была прошивка работающая без загрузчика. А т.к. я у себя везде в сырцах поменял VID с микрочиповского на фиктивный "0xdead" чтобы не пересекаться со всякими pickit и отладочными проектами микрочипа, то и вышло, что я ему собрал прошивку с новыми vid:pid а на сайте версия морды вместе с прошивкой 0.2 лежит со старыми. Я тупо забыл про это.

radar657 21.03.2011 19:33

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129699)
Если сама морда появляется при этом, то ща всё будет.

В файле qoscope.cpp надо любым редактором заменить строчки

#define USB_OSC_VENDOR_ID 0x04d8
#define USB_OSC_PRODUCT_ID 0x0002

на

#define USB_OSC_VENDOR_ID 0xDEAD
#define USB_OSC_PRODUCT_ID 0x0013

Они там в самом начале. И пересобрать.

В статусбаре морды внизу после запуска с подключенным девайсом должна появится надпись с версией железа. Ну и хотя бы шум АЦП должен присутствовать на экране.

Почти все заработало, внизу морды теперь пишеться версия прошивки, но вместо шума АЦП линия просто улша вниз, надо еще калибровать сам девайс.

Stanson 21.03.2011 20:53

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от radar657 (Сообщение 129908)
Почти все заработало, внизу морды теперь пишеться версия прошивки, но вместо шума АЦП линия просто улша вниз, надо еще калибровать сам девайс.

Ну вот, не особо ведь сложно всё оказывается, и вполне доступно даже тому, кто "не разбирается".

Насчёт АЦП - нужно померить напряжение на входе. Оно должно быть в пределах от Vcc - 2.41 В до Vcc - 1.41 В. Если Vcc получилось точно 5В, то это от 2.59 до 3.59 Вольт. Впрочем, это в даташите написано.

Можно для проверки самого АЦП просто отцепить от него выход ОУ и подать 3 вольта от делителя, например.

Ну а дальше всё достаточно прозаично - отрулить смещение ОУ и вперёд - настраивать усиление и входной делитель.

radar657 22.03.2011 00:43

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129912)
Ну вот, не особо ведь сложно всё оказывается, и вполне доступно даже тому, кто "не разбирается".

Насчёт АЦП - нужно померить напряжение на входе. Оно должно быть в пределах от Vcc - 2.41 В до Vcc - 1.41 В. Если Vcc получилось точно 5В, то это от 2.59 до 3.59 Вольт. Впрочем, это в даташите написано.

Можно для проверки самого АЦП просто отцепить от него выход ОУ и подать 3 вольта от делителя, например.

Ну а дальше всё достаточно прозаично - отрулить смещение ОУ и вперёд - настраивать усиление и входной делитель.

У меня на 20 ноге АЦП ничего нет питание 6 и 7 4,3v иV+ 4,1v Но завтра попробую подать питание 3в.на 20 и проверю монтаж и схему свою.... И ещё вопрос как пополнить Bitcoin со своей банковской карточки?Насчёт заплачу я слов на ветер не бросаю!

Stanson 22.03.2011 00:56

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от radar657 (Сообщение 129945)
У меня на 20 ноге АЦП ничего нет питание 6 и 7 4,3v иV+ 4,1v Но завтра попробую подать питание 3в.на 20 и проверю монтаж и схему свою.... И ещё вопрос как пополнить Bitcoin со своей банковской карточки?Насчёт заплачу я слов на ветер не бросаю!

Насчёт карточки - не знаю...
Тут можно поспрошать: http://www.bitcoin.org/smf/index.php?board=10.0

joint931 23.03.2011 00:49

Re: USB осциллограф на PIC18F4550
 
Я тут борюсь вот с такой картиной, может кто подскажет в чем может быть дело: использую HID на PIC18F2550 и принимаю пакеты по 64 байта в 1мс с АЦП. Со стороны компа программа на Delphi (юзаем JvHidControllerClass). Дак вот. Скорость приема очень не хило скачет.. от 50 Кбайт в сек до 4-7 Кбайт в зависимости от нагрузки.. Даже не знаю куда копать.. вроде под каждую задачу (прием данных, вывод картинки) сделал свой поток (от таймера работает только счетчик, который считает пришедшие байты) а все равно скорость при отрисовке графика в реальном времени проседает... Кто тут виноват? Многозадачность операционки которая душит HID при нехватке ресурсов, моя криворукость при написании программы или еще что?
Интересно как ведет себя поток данных при работе с CDC? Там по ходу скорость под 1 мбит..
Заранее спасибо за ответ.

Stanson 23.03.2011 02:31

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от joint931 (Сообщение 130105)
Я тут борюсь вот с такой картиной, может кто подскажет в чем может быть дело: использую HID на PIC18F2550 и принимаю пакеты по 64 байта в 1мс с АЦП.
....
Скорость приема очень не хило скачет.. от 50 Кбайт в сек до 4-7 Кбайт в зависимости от нагрузки..

Вообще, если endpoint - Interrupt то должно таскать инфу из endpointa с указанным в дескрипторе периодом. Без потерь.

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

K_E_S_T 23.03.2011 07:21

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от joint931 (Сообщение 130105)
Я тут борюсь вот с такой картиной, может кто подскажет в чем может быть дело: использую HID на PIC18F2550 и принимаю пакеты по 64 байта в 1мс с АЦП. Со стороны компа программа на Delphi (юзаем JvHidControllerClass). Дак вот. Скорость приема очень не хило скачет.. от 50 Кбайт в сек до 4-7 Кбайт в зависимости от нагрузки.. Даже не знаю куда копать.. вроде под каждую задачу (прием данных, вывод картинки) сделал свой поток (от таймера работает только счетчик, который считает пришедшие байты) а все равно скорость при отрисовке графика в реальном времени проседает... Кто тут виноват? Многозадачность операционки которая душит HID при нехватке ресурсов, моя криворукость при написании программы или еще что?
Интересно как ведет себя поток данных при работе с CDC? Там по ходу скорость под 1 мбит..
Заранее спасибо за ответ.

Я 2 раза переписывал подобную прогу для CDC. Не успевает оно принять данные, вдвинуть в скользящее окно, обработать и построить график. На компе с 2,4Ггц и 4Гб памяти оно тормозит. Скорее всего виноваты Delphi и\или медленный алгоритм. Думаю если попробовать писать на C++ и WinAPI можно получить что-то шустрей. Но я вышел из этого иначе - прога с кнопками старт и стоп. Сначала записывает все что приходит в память, и кусками по 1МБ сливает в файл. После нажатия стоп открывается график.

МимоПроходил 23.03.2011 07:45

Re: USB осциллограф на PIC18F4550
 
WINAPI - та еще тормознутая штука. Пользуйтесь DirectX или OpenGL. Я на OpenGL и Дельфи за три дня изучения нарисовал прикольную штучку. Дело было шесть лет назад, если найду - выложу.

radar657 23.03.2011 11:52

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 129912)
Ну вот, не особо ведь сложно всё оказывается, и вполне доступно даже тому, кто "не разбирается".

Насчёт АЦП - нужно померить напряжение на входе. Оно должно быть в пределах от Vcc - 2.41 В до Vcc - 1.41 В. Если Vcc получилось точно 5В, то это от 2.59 до 3.59 Вольт. Впрочем, это в даташите написано.

Можно для проверки самого АЦП просто отцепить от него выход ОУ и подать 3 вольта от делителя, например.

Ну а дальше всё достаточно прозаично - отрулить смещение ОУ и вперёд - настраивать усиление и входной делитель.

Ув.Stanson опишите подробно как отрулить смещение и как высчитать кондёры С2? и входного делителя? А у вас есть просто Вэбмани?просто я не знаю как пополнить счёт на Bitcoin?

Stanson 23.03.2011 14:57

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от radar657 (Сообщение 130150)
Ув.Stanson опишите подробно как отрулить смещение и как высчитать кондёры С2? и входного делителя?

Хм. Я так понимаю, что и в элементарнейших схемах с ОУ Вы тоже не разбираетесь?
Там же всё очевидно. На выходе ОУ должно быть +3 Вольта. Коэффициэнт усиления ОУ - 10, установлен цепью обратной связи. Соответственно, надо подать на вычитающий вход -300 мВ. Подаётся это напряжение с повторителя на втором ОУ. На входе этого повторителя должно быть -300 мВ. Как резисторный делитель заставить выдавать нужное напряжение надо объяснять?

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

Цитата:

А у вас есть просто Вэбмани?
Нет и не будет.

Цитата:

просто я не знаю как пополнить счёт на Bitcoin?
Ну опять же - документацию почитайте. Это можно сделать даже не потратив ни копейки реальных денег. Подсказка: меня устроит даже сумма в 0.05 BTC

K_E_S_T 23.03.2011 15:29

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от МимоПроходил (Сообщение 130121)
WINAPI - та еще тормознутая штука. Пользуйтесь DirectX или OpenGL. Я на OpenGL и Дельфи за три дня изучения нарисовал прикольную штучку. Дело было шесть лет назад, если найду - выложу.

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


Часовой пояс GMT +3, время: 15:32.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot