Показать сообщение отдельно
Старый 30.05.2011, 00:46   #153
Stanson
Senior Member
 
Регистрация: 11.10.2010
Сообщений: 255
Вес репутации: 674/42
Stanson is a splendid one to beholdStanson is a splendid one to beholdStanson is a splendid one to beholdStanson is a splendid one to beholdStanson is a splendid one to beholdStanson is a splendid one to behold
По умолчанию Re: USB осциллограф на PIC18F4550

Цитата:
Сообщение от radar657 Посмотреть сообщение
ув.Stanson мне интересно почему прибор живее работает под линуксом чем под виндой?
Не знаю, прибору всё равно какая ОС на компе, соответственно отличия могут быть только в софте. Может софтина под винду иначе рисует. Я сначала рисую всю картинку в памяти а потом её копирую на экран. Первое работает очень быстро, в отличии от рисования на экран сразу, а второе во всех современных видеокартах вообще реализовано аппаратно (операция BitBlt если кому-то это о чём-то говорит).

В последней версии я вообще до 512 отсчётов увеличил размер буфера, соответственно и экран больше, да ещё и послесвечение добавил, для удобства. Скорость не изменилась, как было 20 кадров в секунду (по таймеру раз в 50 мс софтина отрисовывает данные которые сыплет PIC), так и осталось.

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

Правда придётся попаять, если не хочется прошивку ковырять. Я там добавил нормальный регулятор X offset - с какого-то винта выпаял 8-ми разрядный ЦАП с последовательной шиной и пользую его вместо Vref из PIC. X offset стал как у взрослых - плавненько, а не скачками и на весь диапазон, что неудивительно - у Vref всего 16 градаций, а дармовой ЦАП даёт 256. Стало удобно нуль выставлять.
Можно было бы то же самое через PWM PIC'а сделать, но я из PWM тактовую для АЦП беру, а второго PWM у PIC18F2550 нету. Может быть можно и софтовый PWM как-то впихнуть в прошивку, таймеры вроде есть свободные, но, если честно, просто лень придумывать как это сделать так, чтобы оно не мешало циклу сбора данных.

ЗЫ: Вот кто бы ещё придумал нормальный входной делитель с релюшками... У PIC ещё куча свободных ног - вполне можно релюшками щёлкать из программы, не надо будет ручной переключатель ставить.

Последний раз редактировалось Stanson; 30.05.2011 в 00:51.
Stanson вне форума   Ответить с цитированием