Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ECP устройство на ПАЛке
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
GrayCat
Уважаемые гуру ПАЛок/ПЛИСок! 1111493779.gif

В целях очередного проекта "Осциллограф на LPT" возникла идея сделать узел ввода в ПК на LPT-порту в режиме ECP. Преимущества:
  • "Изохронность" ввода: внешнее устройство само тактирует ввод данных в ПК (до 2МГц и более), таким образом, достигается стабильность TimeBase и независимость ее от программ, ОС и т.п.
  • Контроллер ECP с ПК имеет буфер на вход и может принятые данные складывать в память по DMA. Таким образом, есть возможность использовать ОЗУ как огромный буфер, опять-таки, без влияния программной части.
Отсюда вопрос:
  • Делал ли кто-нибудь "ведомое устройство" в ECP режиме? Я планирую под это дело что-нибудь типа MAX3032, но выслушаю и другие предложения wink.gif
Заранее спасибо! smile.gif
tocha
Цитата(GrayCat @ Aug 13 2007, 17:19) *
[*]Делал ли кто-нибудь "ведомое устройство" в ECP режиме? Я планирую под это дело что-нибудь типа MAX3032, но выслушаю и другие предложения wink.gif


А причём тут MAX3032. Это если я правильно понял дифф. передатчик. К LPT никакого отношения не имеет. Там ТТЛ-уровни. Были вроде.
GrayCat
Цитата(tocha @ Aug 13 2007, 17:42) *
А причём тут MAX3032. Это если я правильно понял дифф. передатчик. К LPT никакого отношения не имеет. Там ТТЛ-уровни. Были вроде.
А причем тут "дифф. передатчик"? wink.gif

А микросхема программируемой логики MAX3032 может иметь прямое отношение к LPT, если её к этому порту подсоединить cheers.gif . Просто логика работы ECP-режима несколько сложнее стандартного SPP (см. описание ECP), одним ИР22 не отделаешься wink.gif .
tocha
Цитата(GrayCat @ Aug 13 2007, 18:43) *
А причем тут "дифф. передатчик"? wink.gif

А микросхема программируемой логики MAX3032 может иметь прямое отношение к LPT, если её к этому порту подсоединить cheers.gif . Просто логика работы ECP-режима несколько сложнее стандартного SPP (см. описание ECP), одним ИР22 не отделаешься wink.gif .


MAX3032 - дифф. передатчик.
Эта которая EPM. Извините, не понял. Делали такое давно, влезало в 7128 (+ что-то ещё). Правда оболочка на ПК не смогла разрулить большой пакет на большой скорости. Двух мегабайт/с точно не было. А может руки кривые?
GrayCat
Цитата(tocha @ Aug 13 2007, 18:59) *
MAX3032 - дифф. передатчик.
Эта которая EPM. Извините, не понял.


Уппс... Извините и меня -- MAX3000A это "семейство", а микросхема - действительно EPM3032A! Бес попутал! sad.gif

Цитата
Делали такое давно, влезало в 7128 (+ что-то ещё). Правда оболочка на ПК не смогла разрулить большой пакет на большой скорости. Двух мегабайт/с точно не было. А может руки кривые?

Ннуу, хотя бы мег/с был? Может, дело было в ОС?

Я, вообще-то, планирую сделать сначала софт под QNX. Это такая хитрая ОС, которая ко всем прелестям многозадачности и GUI добавляет еще и real-time и прямой доступ к портам/памяти krapula.gif (Да здравствует MS-DOS!!!). Плюс, само устройство, чай, не на К176 серии wink.gif .

Вопрос остается: может ли кто помочь с ECP-устройством на ПАЛке (желательно, MAX3000A, т.к. уже есть)? Особенно с учетом, что это мой первый проект на программируемой логике... 05.gif
tocha
Цитата(GrayCat @ Aug 14 2007, 08:32) *
Ннуу, хотя бы мег/с был?

И одного не было.
Цитата
Может, дело было в ОС?

В ней.
Цитата
Вопрос остается

Исходника нет. Давно было. В 3032 наверное можно вложиться, правда если есть возможность, лучше взять побольше микросхему. Пригодится для эксперементов. Удачи.
iosifk
Цитата(GrayCat @ Aug 13 2007, 18:19) *
Уважаемые гуру ПАЛок/ПЛИСок! 1111493779.gif

В целях очередного проекта "Осциллограф на LPT" возникла идея сделать узел ввода в ПК на LPT-порту в режиме ECP. Преимущества:
  • "Изохронность" ввода: внешнее устройство само тактирует ввод данных в ПК (до 2МГц и более), таким образом, достигается стабильность TimeBase и независимость ее от программ, ОС и т.п.
  • Контроллер ECP с ПК имеет буфер на вход и может принятые данные складывать в память по DMA. Таким образом, есть возможность использовать ОЗУ как огромный буфер, опять-таки, без влияния программной части.
Отсюда вопрос:
  • Делал ли кто-нибудь "ведомое устройство" в ECP режиме? Я планирую под это дело что-нибудь типа MAX3032, но выслушаю и другие предложения wink.gif
Заранее спасибо! smile.gif


На самом деле изначально вопрос ставится неверно!
Если речь идет об осциллографе или хотябы о лог анализаторе, то надо грамотно поставить задачу!
А в задаче будет пункт о том, что есть условие запуска, и есть предистория. Без дополнительной памяти в железе тут просто ничего толкового не получится.
посмотрите мои статьи о лог. анализаторах. Железо после разрешения вклячения НЕПРЕРЫВНО заносит данные в память. И только после обнаружения условия запуска записывает в память остальные данные.
При этом скорость записи данных остается фиксированной. А в случае с одним только портом Вам надо начинать принимать данные, потом ловить сигнал, разрешающий запись... Либо в PLD делать счетчики и передавать в PC команды о том, что запись окончена...
Не так все просто, как кажется. А вместе с тем, FPGA стоит не так дорого и в ней есть встроенная память. Вот в ней и делают осциллограф.
А пример - на сайте Аджилента...
Удачи!
GrayCat
Цитата(iosifk @ Aug 14 2007, 09:55) *
На самом деле изначально вопрос ставится неверно!

Ну почему же?! Вопрос абсолютно верный: "Знает ли кто-нибудь того, кто слышал о разработчиках устройств на ECP?" biggrin.gif
Цитата
Если речь идет об осциллографе или хотябы о лог анализаторе, то надо грамотно поставить задачу!


Вот именно. Задача стоит:
  1. Маленький простенький осциллограф/лог.ан. На минимальной "железной" базе, но пригодный к исследованию хотя бы UART на 115200.
  2. Начать осваивать ПЛИСы, в конце-то концов! wink.gif
Цитата
А в задаче будет пункт о том, что есть условие запуска, и есть предистория.

В простейшем варианте, "условие запуска" - фронт/спад на одном из битовых входов. Для "осциллографа" на него пускаем выход компаратора с регулируемым уровнем срабатывания.

Предыстории -- НЕТ. Устройство "со своей памятью" -- это уже совсем другой порядок сложности: интерфейс с этой самой памятью, разделение доступа к ней от сэмплера / от хоста, корректная "склейка" в памяти ПК кусочков, выданных устройством...

Частично проблема "предыстории" решается огромным "буфером" в ОЗУ ПК: ничто не мешает вручную нажать кнопку "Старт!" на экране, и неспешно включить устройство. А потом уже внимательно рассматривать тщательно запротоколированные несколько секунд жизни устройства. В принципе, прикладной программе ничто не мешает иметь средства "цифрового поиска" по заданным критериям в уже записанной "осциллограмме".

Отсюда следует, что
Цитата
Без дополнительной памяти в железе тут просто ничего толкового не получится...
...зато получится нечто бестолковое, что и требуется по ТЗ! 08.gif

Идея ведь именно в том, чтобы внешнее устройство было максимально простым и без памяти. В качестве буфера использовать гигабайты ОЗУ компьютера.

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

Цитата
посмотрите мои статьи о лог. анализаторах.


Посмотрел. Оценил wink.gif . Но я на таких "монстров" не замахиваюсь.

Цитата
....

Не так все просто, как кажется.

Вот именно! Было бы просто - не обращался бы к "коллективному разуму" wink.gif

В частности, нигде так и не могу найти конкретной схемы/программы ECP-устройства. Везде лежит абстрактное описание "как оно должно работать", но нету "как это сделать". Так что начинать, похоже, придется с нуля...

Ну что ж, не впервой! krapula.gif

Цитата
А вместе с тем, FPGA стоит не так дорого и в ней есть встроенная память. Вот в ней и делают осциллограф.

Дык, если так подходить, то и "LeCroy стоит не так дорого и в нем есть встроенная память" lol.gif

Нам тут разнесчастную EPM3032 везли 2 месяца... crying.gif А вы говорите "FPGA"...

Ладно, кончаю ныть, начинаю "что-то делать" © анекдот...
iosifk
Цитата(iosifk @ Aug 14 2007, 10:55) *
А пример - на сайте Аджилента...

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


Удачи!
klop
Цитата(GrayCat @ Aug 14 2007, 15:15) *
Идея ведь именно в том, чтобы внешнее устройство было максимально простым и без памяти.


Это порочная практика. Приличного устройства так не сделать.
GrayCat
Цитата(klop @ Aug 16 2007, 15:23) *
Это порочная практика. Приличного устройства так не сделать.

Правильно! a14.gif

Задача стоит: сделать неприличное! lol.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.