Здравствуйте, гость ( Вход | Регистрация )

Форум » Сайт и форум » Разработки и Статьи на сайте » Все вопросы касающиеся Neil Scope (Ваши замечания, предложения и т.д.)
Все вопросы касающиеся Neil Scope
LeftRadio Пятница, 26.03.2010, 21:41 | Сообщение # 1
Совсем живу сдесь...
Группа: Администраторы
Сообщений: 2045
Статус: Offline
Шапка темы.

--
NEIL SCOPE 2



--------------------------------------------------------------------------------------

--
NEIL SCOPE 3

Схема ревизия 3.2 - NS_3.0_rev_3.2.pdf
Схема соединения ЖК с 16-ти битной шиной(только для ревизий ниже 3.2, в 3.2 HC573 уже есть на основной плате) - NS_3.0_HC573.pdf
BOM(список компонентов) - BOM_NS3_rev3_2.htm

-------------------------------------------------------------------

-------------------------------------------------------------------

Прошивка ПЛИС --- 19/05/15

MCU Bootloader (загрузчик МК) --- 17/10/13
Прошивка МК (ЖК с 8бит, 65к цветов) --- 2015_17_15
Прошивка МК (ЖК с 8 бит, 262к цветов) --- 2015_17_15
Прошивка МК для (ЖК с 16бит, HC573, 262к цветов) --- 2015_12_17

Исходники ПЛИС (github) --- 11_12_13
Исходники МК (github) --- 12/02/15
Архивные прошивки МК

Краткое описание осциллографа
Протокол обмена NeilScope3 с ПК

//----------------------------------------------------------------------------------------------------------
Прошивальщик МК (автор Ильдар) - NSFlashLoader2.
Утилита для перепрошивки СР2102 VID/PID под NeilScope3 (автор Ильдар) - NSCP2102Utilite2.rar.
Использование данных VID/PID для перепрошивки СР2102 под другие устройства категорически запрещено, они были получены по запросу у Silicon Laboratories Inc. и предназначены для использования только с NeilScope3 или другими версиями NeilScope.

Утилита для теста осциллографа - ns_test_util.
Для запуска нужно скачать и установить Python 3.4 и PyQt5, при установке добавляем переменные окружения. Распаковать архив куда нибудь и набрать из этой папки в консоли - "python main.py"

Драйвера для NeilScope3 (под перепрошитые VID/PID) - NeilScopeDriver.zip

Процедура прошивки МК(обновлено 23.08.2015) - FirmwareManual.pdf

Для последующих обновлений просто запускаем NSFlashLoader, и обновляемся. Джампер при этом трогать уже не нужно.

//----------------------------------------------------------------------------------------------------------
.
.
.
Важные замечания по сборке

На плате не указана перемычка с 10-го вывода(INTRL) 74НС4052(U15) на вывод SWDIO МК, можно и просто подпаять пока на +3.3В в любое удобное переходное отверстие.

//----------------------------------------------------------------------------------------------------------

Фото платы ревизии 3:



Демо видео работы осциллографа, ревизия 1.9

----------------------------------------------------------------------------------------
Схема и плата ByteBlusterMV для программирования EPM570, оригинал здесь. Эту плату делал сам, проверена, работает.
.
.
//----------------------------------------------------------------------------------------------------------

Любое коммерческое использование данного проекта категорически запрещено. По всем вопросам обращаться wladkam(гав)mail.com
Прикрепления: 5561811.jpg (244.1 Kb) · 2201731.jpg (212.8 Kb)


---

Нет войне!


Сообщение отредактировал LeftRadio - Четверг, 17.12.2015, 04:59  
 
LazyCat Пятница, 06.05.2011, 15:51 | Сообщение # 1241
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Quote (kison)
Начинаем накопление, засасываем первые 8К и начинаем ждать триггер. При этом оцифровка естественно продолжается. Триггер придет максимум через один период входного сигнала - 500 микросекунд.

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

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

 
kison Пятница, 06.05.2011, 17:26 | Сообщение # 1242
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Вот видите, говорим о совершенно разных вещах. Вы имеете ввиду, что триггер срабатывает не на первое условие, а пропускает заданное число своих срабатываний, а я имел ввиду обычный триггер, который просто ждет своего условия срабатывания, а это может длиться бесконечно долго

Нет, мы имеем ввиду одно и то же. Я нигде не написал что считаем срабатывания триггера. Достаточно одного.
Если триггера приходится ждать долго:
а. С предысторией - работают ПЛИС,аналог, АЦП, ОЗУ. Пусть потребление 60мА+2*20мА+2*40мА+50мА = 230мА
б. без предыстории - то же, но без ОЗУ - 180мА
Это не учитывает экран и микроконтроллер. Если они с учетом подсветки кушают например 100мА, то с предысторией выйдет 330мА, без 280мА. 17% излишки.
ИМХО разница не так и велика. А это довольно редкая ситуация - однократный сигнал ловить. При более-менее периодическом все будет практически одинаково.
 
LazyCat Пятница, 06.05.2011, 20:03 | Сообщение # 1243
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Разговор считаю бесполезным - взаимопонимания не предвидится :(

Quote (kison)
При более-менее периодическом все будет практически одинаково.

ВОТ главная причина НЕНУЖНОСТИ этого режима, а об остальном догадаетесь сами !
 
kison Пятница, 06.05.2011, 20:23 | Сообщение # 1244
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
ВОТ главная причина НЕНУЖНОСТИ этого режима, а об остальном догадаетесь сами !

А почитайте это - http://www.radioradar.net/article....pe.html
Процитирую:
Quote

Достоинства цифровых осциллографов
возможность "замораживания" изображения на произвольное время
высокая точность измерений
широкая полоса пропускания
яркий, хорошо сфокусированный экран на любой скорости развертки
возможность отображения сигнала до запускающего момента (в "отрицательном" времени)
возможность обнаружения импульсных помех
автоматические средства измерения параметров сигналов
возможность подключения к компьютеру, принтеру или плоттеру
возможности математической и статистической обработки сигнала
средства самодиагностики и самокалибровки

Заметьте - это указано не как опция, а как неотъемлемая особенность рассматривается. Это крайне полезная фича. Без нее прибор становится бессмысленной игрушкой.
Когда ловят сигнал редко повторяющийся - используют однократную развертку. Пусть я подожду 5 секунд и в это время ОЗУ добавит мне 17% потребления. Зато потом я спокойно буду пару минут изучать сигнал. АЦП будет остановлен и ОЗУ тоже перейдет в маложрущий режим. Более того - их вообще можно обесточить.
При периодическом сигнале польза предыстории в том, что можно синхронизироваться по одному каналу, а сигнал изучать в другом. Причем то, что случилось раньше и позже триггера. А в этом втором канале может вообще засинхронизироваться бы не удалось если сигнал шумоподобный.
 
LazyCat Пятница, 06.05.2011, 21:29 | Сообщение # 1245
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Я эту статью читал год назад. Читал внимательно, потому все подробно Вам и объяснил про ненужность этого режима в карманнике.
Похоже, что и Вы ее снова перечитали, т.к. уже корректнее говорите про ситуацию :) Именно про однократную развертку и шел разговор, именно длительное ожидание срабатывания триггера и имелось ввиду и именно в этом режиме все железо нагружено по полной. Именно этот режим лично мне нужен меньше всего в работе, а потребует лишних узлов в ПЛИСе и может не хватить ресурсов ! Но всеравно решать автору осцилла ! И собирать такую бессмысленную игрушку Вас никто не неволит !

P.S. Хорошо еще, что Вы не приплели все режимы из шага 6 указанной статьи. А предыстория в периодическом сигнале - это вообще чушь :D

 
kison Пятница, 06.05.2011, 22:00 | Сообщение # 1246
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Похоже, что и Вы ее снова перечитали, т.к. уже корректнее говорите про ситуацию

Я ее вчера увидел впервые. Кто то н Казусе ссылку выложил.
Однако я много пользовался разными цифровиками - теками, риголами, овонами, хантеками - и у ВСЕХ них есть возможность выбирать размер предыстории. Такого нет только у аналоговых осциллов, да и то - иногда встречается. На аналоговых линиях задержки.

Quote (LazyCat)
Именно про однократную развертку и шел разговор, именно длительное ожидание срабатывания триггера и имелось ввиду и именно в этом режиме все железо нагружено по полной.

Режим с длительным ожиданием не характерен. Кроме того никто при этом не отменял внешний БП. Да и увеличение потребления на 17% для меня не критично. Даже если час ждать триггера.

Quote (LazyCat)
Именно этот режим лично мне нужен меньше всего в работе, а потребует лишних узлов в ПЛИСе и может не хватить ресурсов !

Всех ресурсов - один счетчик. На разрядность памяти. Максимум выходит 16 бит - 16LE.

Quote (LazyCat)
А предыстория в периодическом сигнале - это вообще чушь

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

Quote (LazyCat)
И собирать такую бессмысленную игрушку Вас никто не неволит !

Я и не собираюсь. Просто автор делает бесплатную разработку и помочь ему чем могу считаю правильным и хорошим делом. Выбирать решения все равно ему.
Если мои советы не нужны - я не навязываю их. У меня мы нормально все обсуждаем. Правда это увидеть могут не все - доступ в ветку ограничен.

Quote (LazyCat)
Но всеравно решать автору осцилла !

А вот с этим не поспоришь :)
Кстати все что тут изобретается давно было выложено на казусе. Как раз epm240, схемный ввод, предыстория и даже 2*100 мегасэмплов - 4 одноканальных памяти в интерливе. Там и аналог есть - на AD8030 :) Просимулированный - полоса 40МГц. Так что с нуля изобретать необязательно.
Нет только прореживания.
 
LeftRadio Суббота, 07.05.2011, 13:32 | Сообщение # 1247
Совсем живу сдесь...
Группа: Администраторы
Сообщений: 2045
Статус: Offline
Смотрю тут нешуточный спор разгорелся пока меня не было :) Я предложил отложить предисторию для упрощения разработки на этом этапе. Потом всегда можно будет добавить этот режим просто перепрошив ПЛИС.

Quote (kison)
Просто автор делает бесплатную разработку и помочь ему чем могу считаю правильным и хорошим делом.

Спасибо Вам и спасибо LazyCat drink , но я все же не понял как Вы предпологаете делать предисторию, насколько понял записываем сигнал до определенного адреса памяти, затем останавливаем запись и ждем триггера, как пришел триггер продолжаем запись. Но в таком случае получаем разрыв между предисторией и триггером с последующим сигналом на время ожидания триггера, а его можно ждать как 10нС, так и 1мС.... Это я не продолжаю спор :) просто интересно.

P.S. По поводу ресурсов ПЛИС предлагаю взять epm570 в TQFP144 корпусе для возможности будущего расширения функциональности осцилла. Разница в цене с epm240 в 70р.


---

Нет войне!
 
kison Суббота, 07.05.2011, 15:27 | Сообщение # 1248
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LeftRadio)
Я предложил отложить предисторию для упрощения разработки на этом этапе.

Это слишком маленькое упрощение.
Quote (LeftRadio)
но я все же не понял как Вы предпологаете делать предисторию, насколько понял записываем сигнал до определенного адреса памяти, затем останавливаем запись и ждем триггера, как пришел триггер продолжаем запись.

Нет - пишем непрерывно по кругу. Идея принадлежит Мистеру Ди с Казуса. Микроконтроллер разрешает оцифровку, но не разрешает триггер. Начинаются выборки в память. Через определенное время, собственно в этом и изюминка - мы не считаем сколько выборок в предыстории, зная дискретизацию и сколько нужно выборок для предыстории микроконтроллер просто ждет это время после запуска оцифровки. И только потом разрешает работу триггера. После срабатывания триггера вступает в работу счетчик оставшихся выборок = общая память минус предыстория. Этот счетчик есть и так и так - без предыстории он хранит размер памяти. Т.е. по сути предыстория вообще не требует никаких ресурсов ПЛИС. Когда счетчик отработает - выборки остановятся. В адресном счетчике будет последний адрес. Зная его и зная что мы грузили в счетчик оставшихся выборок найти место где был триггер легче легкого.
 
LazyCat Суббота, 07.05.2011, 21:19 | Сообщение # 1249
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Quote (kison)
Всех ресурсов - один счетчик. На разрядность памяти. Максимум выходит 16 бит - 16LE.

Во-первых, не счетчик, а регистр-защелка на 16 бит.
Во-вторых, нужен 16 на 8 мультиплексор для чтения этого регистра через шину данных в МК.
В-третьих, нужно немного рассыпухи.
Замечу, что это не совсем тривиально и ресурсов epm240 явно не хватит. Но если автор изъявил желание ставить epm570, то я не против :)
Это, если делать очень просто, а если делать как описал kison затрат будет больше !!!

Quote (kison)
Просто автор делает бесплатную разработку и помочь ему чем могу считаю правильным и хорошим делом.

Никто ни от какой помощи не отказывается. И большое Вам содействие в развитии проекта. А на счет достойных решений на казусе я с Вами не согласен :) Практически 90% решений слизано с китайского ourdev :(
 
kison Суббота, 07.05.2011, 21:41 | Сообщение # 1250
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Во-первых, не счетчик, а регистр-защелка на 16 бит.

Нет, именно счетчик. Он всегда основан на регистре, но вот обратное не верно. Не всегда регистр значит счетчик и всегда счетчик значит регистр. :) Во как загнул. :D

Quote (LazyCat)
Во-вторых, нужен 16 на 8 мультиплексор для чтения этого регистра через шину данных в МК.

Зачем его читать? Я в него только пишу. Выход - 1 wire. Мультиплексора для одного провода не нужно.

Quote (LazyCat)
Замечу, что это не совсем тривиально и ресурсов epm240 явно не хватит.

Хватает. Без прореживания - хватает.

Quote (LazyCat)
Это, если делать очень просто, а если делать как описал kison затрат будет больше !!!

На что? Я не теоретик и вижу РЕАЛЬНЫЕ затраты. Мне 240-ой не хватает, ну так у меня и проект в разы сложнее. Например будет логический анализатор на 8 каналов с адаптивной длинной памяти. Чисто осцилл я уложу примерно в 200-220LE. Вместе с предысторией. У Мистера Ди он влез вместе с интерливом памяти ( это два счетчка адреса и четыре регистра данных!) и предысторией, причем схемой. Верилог обычно немного экономичнее после синтеза.

Quote (LazyCat)
Практически 90% решений слизано с китайского ourdev

Надо же. Когда это на Казусе было выложено китаец еще наверно даже не планировал свой осцилл делать. Кроме того те китайские проекты сплошь на VHDL, а то что выкладывалось на казусе сделано схемным вводом. Позаимствовать из VHDL в схему сложнее чем с нуля придумать. У китайцев FPGA жирная, а на казусе epm240. Как бы разное это. Очень разное.
 
LazyCat Суббота, 07.05.2011, 21:57 | Сообщение # 1251
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Quote (kison)
Во как загнул.

Да загнул так загнул. Я даже не знаю как ответить, чтобы не обидеть :( Лучше пусть это останется на Вашей совести.

Quote (kison)
Я в него только пишу.

Именно об этом я и говорю - в него писать НЕ НАДО, из него только надо читать, но это опять полное взаимонепонимание. Мы говорим об оптимальном и неоптимальном решении одного и того же !!!

Quote (kison)
Хватает. Без прореживания - хватает.

Вроде бы мы обсуждаем совсем другое ? Или Вы нет ?

P.S. А по поводу китайских клонов Вы лучше спросите у picavr и MisterDi ! Они сами не скрывают, что распространяют наборы для сборки исключительно китайских клонов. Кстати, и логический анализатор не их разработка, они ее только ухудшили как смогли(это с их слов) :)

 
kison Суббота, 07.05.2011, 22:13 | Сообщение # 1252
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Лучше пусть это останется на Вашей совести.

Я не просто трындю - я описываю как это все работает. Вот тут - http://hobby-research.at.ua/forum/2-1-1696-16-1304771230
Там даже слова такого нет - регистр.

Quote (LazyCat)
Именно об этом я и говорю - в него писать НЕ НАДО, из него только надо читать, но это опять полное взаимонепонимание. Мы говорим об оптимальном и неоптимальном решении одного и того же !!!

Что читать то оттуда? Напишите свое видение по типу сообщения 1248. Распишите функционирование. У меня же предыстория получается без мультиплексоров, регистров и прочей мути. Причем это уже написано и в симуляторе проверено.

Quote (LazyCat)
Они сами не скрывают, что распространяют наборы для сборки исключительно китайских клонов.

Они распостраняют один только девайс - клон USBee. Он не китайский. Сейчас решили китайский еще склонировать. А тот проект был выложен два года назад. И дата у файлов в нем - 2006 год.
 
LazyCat Воскресенье, 08.05.2011, 10:29 | Сообщение # 1253
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Quote (kison)
Что читать то оттуда?

А вот мне непонятно, что тут непонятного :) Уже неоднократно алгоритм описывали, но если нужно повторить несколько раз...
В режиме с предысторией память пишется постоянно и циклически. В момент срабатывания триггера текущий адрес памяти записывается в регистр-защелку, а память продолжает дальше заполнятся на размер окна захвата(если Вам угодно, глубину развертки) и процесс останавливается. Состояние регистра читается для определения "нуля" по горизонтали. И глубина горизонтальной развертки в "+" и "-" ОДИНАКОВАЯ !!!!!!!!!!!


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

При упоминании клонов Вы прекрасно поняли, что я имел ввиду kazus

 
kison Воскресенье, 08.05.2011, 15:52 | Сообщение # 1254
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Вот тут описан почти что бред. Мало того, что размер предыстории может быть произвольным, так там вообще может произойти не захват сигнала. Если дружите с логикой, то спокойно обдумайте работу Вашего алгоритма во всех случаях(учитывайте закон подлости !) и только потом делайте скоропалительные выводы

Нет, бред как раз не у меня. Вы описали почти слово в слово то, что написано в 1248 сообщении. Но только - почти. Зачем то собираетесь читать адрес триггера. А я сделал счетчик адреса ОЗУ реверсивным - есть такт в +, есть такт в минус. После оцифровки я никаких адресов не читаю - зачем они мне? А начинаю считывать выборки от конца к началу. Установить размер предыстории я могу в 1 выборку или в размер памяти - 1 выборку. Еще и регистр зачем то используете. Я пример приведу - есть счетчик выборок.
Quote (kison)
После срабатывания триггера вступает в работу счетчик оставшихся выборок

Quote (LazyCat)
память продолжает дальше заполнятся на размер окна захвата

Видимо у Вас он тоже должен быть. Где то размер окна захвата надо хранить.
Хотим видеть после триггера 2000 отсчетов. Предысторию хотим 1000. Дискретизация 50МГц. При такой дискретизации нужно 20 мкС на заполнение предыстории.
Грузим счетчик выборок = 2000. Запускаем выборки в память, триггер запрещен, счетчик выборок не уменьшается - триггера то не было. Ждем 21 микросекунду - нахватали несколько больше, чем 1000 выборок. (В Вашем варианте их может не быть - я не увидел механизма получить гарантированный минимум до триггера) Разрешаем триггер. Выборки продолжаются, память пишется по кругу, ждем события триггера. Оно произошло - начинает уменьшаться счетчик выборок, память продолжает писаться. Когда счетчик выборок досчитает до 0 - выборки остановятся. В счетчике адреса ОЗУ будет произвольное значение, но оно будет на 2000 больше того, когда пришел триггер ( с учетом переполнения памяти). Читаем с конца к началу 3000 значений - это наше окно - предыстория + все что после триггера. Триггер отстоит от конца на 2000 адресов. Регистр
Quote (LazyCat)
В момент срабатывания триггера текущий адрес памяти записывается в регистр-защелку

нафиг не нужен. Мультиплексор чтоб его читать - тоже. Механизм управления счетчиком адресов ОЗУ - не нужен.
Абсолютно не важно в каких физических адресах ОЗУ находится нужная информация. Важно только то, что мы можем последовательно ее считывать от текущего адреса к началу. И знаем отступ от этого текущего адреса до триггера. Итог - предыстория не требует ресурсов. В Вашем варианте еще как требует. Это Вы еще не все продумали. А то регистром и мультиплексором не обошлись бы :D
Второй плюс моего принципа предыстории - не надо задавать счетчик адреса. Вообще. Скорость считывания запомненных данных с ОЗУ ускоряется в несколько раз.
ЗЫ. Уверен, что Вы ни разу не работали не только с ПЛИС, но и вообще с цифрой. Больно расточительно мыслите.
Вообще хотелось бы услышать комментарий от автора. Целых два варианта предыстории - есть из чего выбрать. Оценивать и выбирать из предложенного все равно ему.

Добавлено (08.05.2011, 15:50)
---------------------------------------------

Quote (LazyCat)
При упоминании клонов Вы прекрасно поняли, что я имел ввиду kazus

Я не вижу там никаких предложений. Там идет работа - еще даже FPGA не запаяны. Конкретные предложения есть только на USBee.

Добавлено (08.05.2011, 15:52)
---------------------------------------------

Quote (LazyCat)
Если дружите с логикой, то спокойно обдумайте работу Вашего алгоритма во всех случаях(учитывайте закон подлости !) и только потом делайте скоропалительные выводы

Кстати - а пример когда у меня сработает неправильно привести можно? А то я просимулировал по всякому - нет в нем ошибок. Все четко пишется и считывается.
 
LazyCat Воскресенье, 08.05.2011, 21:27 | Сообщение # 1255
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Quote (kison)
В адресном счетчике будет последний адрес. Зная его и зная что мы грузили в счетчик оставшихся выборок найти место где был триггер легче легкого.

Вот теперь без этого все стало понятно !!! Приношу свои извинения, Ваш вариант для карманника приемлем. Мы говорили об одном и том же, просто я предполагал свободную навигацию по всему 64К буфферу при анализе сигнала(а не использовать ОЗУ МК) и потому наворотил с адресами.
Использовать реверсивные счетчики - это хорошая идея и много чего упрощает, однако в epm240 всеравно не влезает :(

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

P.S. Кстати, вопрос о глубине развертки так и остался неразрешенным, и должен ли он быть постоянным или переменным. От этого тоже сильно зависят ресурсы ПЛИСа. И есть одно изменение к предложенной ранее схеме. Т.к. АЦП работают в противофазе, то логично max писать в один байт слова, а min в другой, и такие слова от двух каналов будут чередоваться в памяти. Это сильно упростит схему управления и повысит быстродействие.

Сообщение отредактировал LazyCat - Воскресенье, 08.05.2011, 22:16  
 
kison Воскресенье, 08.05.2011, 22:40 | Сообщение # 1256
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Вот теперь без этого все стало понятно !!! Приношу свои извинения, Ваш вариант для карманника приемлем. Мы говорили об одном и том же, просто я предполагал свободную навигацию по всему 64К буфферу при анализе сигнала(а не использовать ОЗУ МК) и потому наворотил с адресами.

В оригинале - в том что выкладывалось на Казусе и была свободная навигация. Там схемный ввод и сложных узлов нет. Но и там не было регистра куда адрес срабатывания триггера заносить. А реверсивный счетчик адреса я уже сам придумал. Впрочем свободная навигация возможна и так, просто если нужен следующий адрес - придется перейти через 0 - 65535 раз дрыгнуть ногой. Мой процессор позволяет махать ногой с частотой примерно 10МГц - это 6 миллисекунд (с учетом подсчета количества, т.е. в цикле). Много, но обычно это не требуется. Я себе ограничил для осциллографа хотелки - 16кб памяти на канал. Это 8192 выборки с прореживанием, или 16384 - на максимуме дискретизации. Итого для 2 каналов имеем 32К - я их полностью могу считать в проц. Там 64К памяти. А вот в лог. анализаторе уже вся память задействуется - 64кБ. Причем это не 65536 выборок, а больше. Причем может в 256 раз больше быть :)
И там возможно сделать дискретизацию в 100 мегасэмплов - принцип DDR.

Quote (LazyCat)
Так что остался только один подводный камень, но его мы обсудим после появления схемы-прототипа.

Какой? Я думаю что на любой вопрос могу дать ответ сразу. Я занимался проработкой начинки плис в течении 3-х месяцев. Писал модули, тестировал. Сейчас мелкую плату изготовят, в ней были ошибки и начнется конкретный запуск. Вообще наверно я зря сюда пришел - в результате выходит повтор 1 в 1. Потому что одно мнение начинает доминировать. Я его как бы навязываю. Это не есть хорошо. Решений же может быть масса самых разных. Но все же советую скачать проект Мистера Ди. Чтоб не изобретать велосипед с самого начала. Я не могу от туда брать конструктивные элементы, все же Верилог позволяет это написать проще и быстрее. Но вот некоторые идеи я заимствовал, чего и не скрываю. В том числе и с предысторией - отсутствие счетчика предыстории внутри плис и замена его банальной выдержкой времени - идея как раз Мистера Ди.
И отличная надо сказать идея! Разом избавляет от дополнительного счетчика на разрядность памяти.

Quote (LazyCat)
P.S. Кстати, вопрос о глубине развертки так и остался неразрешенным, и должен ли он быть постоянным или переменным. От этого тоже сильно зависят ресурсы ПЛИСа.

Разница между 64Кб и 16кБ - всего 4LE - две на счетчик выборок и две на счетчик адреса. Относительно epm240 это 1,5%, относительно epm570 - 0.8%. Сильно зависят ресурсы - это слишком сильно сказано. :p
Самый же тяжелый узел - прореживание. Из трех месяцев на него ушло 2.5. На все остальное - всего две недели. И то, мне не очень нравится что получилось. Если отбросить прореживание - выходит у меня начинка плисины готова примерно на 95% :)
 
LazyCat Понедельник, 09.05.2011, 09:25 | Сообщение # 1257
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Всех с Днем Победы drink

Quote (kison)
Но и там не было регистра куда адрес срабатывания триггера заносить.

Значит, Вы не поняли В ПРИНЦИПЕ, что я предлагал ! Ну да ладно это уже не важно !

Quote (kison)
Но все же советую скачать проект Мистера Ди. Чтоб не изобретать велосипед с самого начала.

Я как раз против стереотипов и потому не собираюсь смотреть чужие проекты, лучше уж изобрести велосипед(благо он простой и уже почти готов). И 3-х месяцев не понадобится УЖЕ !!!
Хотя, это личное дело автора !

Quote (kison)
Сильно зависят ресурсы - это слишком сильно сказано.

Вопрос, а Вы хоть поняли к чему относилось это высказывание ? Это не праздное любопытство, а тест на внимательность !

Quote (kison)
Самый же тяжелый узел - прореживание.

Как оказалось, это самый легкий и очевидный узел, как по мне.

to LeftRadio Кроме тех предложений, что я написал выше, могу добавить, что за основу схемы смело берите ту, которую уже выкладывали. В RG1 и RG2 перед стартом захвата будут заноситься 0/255, а для триггера будет использоваться отдельный компаратор, как Вы и предлагали. Только выходы надо использовать "больше/меньше" и завести эти 4 вывода(это от 2-х каналов) на мультиплексор для выбора режима синхронизации !

 
LeftRadio Понедельник, 09.05.2011, 14:20 | Сообщение # 1258
Совсем живу сдесь...
Группа: Администраторы
Сообщений: 2045
Статус: Offline
Всех с праздником drink

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

Quote (LazyCat)
Только выходы надо использовать "больше/меньше" и завести эти 4 вывода(это от 2-х каналов) на мультиплексор для выбора режима синхронизации !

Отлично, а после мультиплексора куда этот сигнал заводить? Как и раньше на разрешение записи в память?


---

Нет войне!
 
kison Понедельник, 09.05.2011, 14:30 | Сообщение # 1259
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Значит, Вы не поняли В ПРИНЦИПЕ, что я предлагал !

Как можно понять по другому это:
Quote (LazyCat)
В момент срабатывания триггера текущий адрес памяти записывается в регистр-защелку

Quote (LazyCat)
Во-первых, не счетчик, а регистр-защелка на 16 бит. Во-вторых, нужен 16 на 8 мультиплексор для чтения этого регистра через шину данных в МК.

?
По моему все очевидно - решение проблемы предыстории брут форсом. :)

Quote (LazyCat)
Я как раз против стереотипов и потому не собираюсь смотреть чужие проекты

Знать как делают другие - избежать глупых собственных ошибок. Цель - потрахаться с разработкой или получить результат?

Quote (LazyCat)
Как оказалось, это самый легкий и очевидный узел, как по мне.

А нарисуйте. Само накопление простое - запись результатов сложная. Одновременно, в течении одного такта готовы 4 байта - мин/макс для двух каналов. Писать можем только два. И даже это не проблема - проблема в том, что иногда надо каждый такт писать, а иногда пачки по два значения. Непростой автомат записи выходит, очень непростой. По ресурсам он ровно половина начинки в LE.
 
LeftRadio Понедельник, 09.05.2011, 14:46 | Сообщение # 1260
Совсем живу сдесь...
Группа: Администраторы
Сообщений: 2045
Статус: Offline
Quote (kison)
Знать как делают другие - избежать глупых собственных ошибок. Цель - потрахаться с разработкой или получить результат?

Цель и то и другое :D , а проект Ди посмотрел бы, но что то не найду, если не сложно дайте ссылку.

Quote (kison)
Непростой автомат записи выходит, очень непростой.

Да, действительно непростой :( Правда кроме эмуляции поведения аналогового осцилла режим с выборками мин./макс. ничего больше не дает...


---

Нет войне!
 
kison Понедельник, 09.05.2011, 14:47 | Сообщение # 1261
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LeftRadio)
Если честно так и не понял принцип захвата предыстории kison-а, нужно перечитать еще раз ваш спор

В 1254 сообщении все очень подробно расписано.
Quote (LeftRadio)
Но в любом случае это чисто программные методы и всегда можно перепрошить ПЛИС при надобности.

Всего 200 раз. Это не микроконтроллер, тут количество гарантированных перезаписей меньше. Поэтому и отрабатывают в симуляторах алгоритм до загрузки в железный кристалл.
Quote (LeftRadio)
Отлично, а после мультиплексора куда этот сигнал заводить? Как и раньше на разрешение записи в память?

Нет, компаратора недостаточно. В любом случае нужен узел выделения фронта - перехода от состояния "условие триггера не выполняется" к "условие триггера выполняется". Пример - установили порог в 1В. Хотим синхронизироваться когда на входе больше этого порога. Но там сразу 1,5В. Триггер сработать не должен! Он должен ждать когда станет меньше 1В, а затем когда станет снова больше и ровно в этот момент сработать. Мультиплексор нужен один - на входе компаратора. На выходе достаточно управляемого инвертора - исключающее ИЛИ. Этот элемент может инвертировать или не инвертировать сигнал в зависимости от уровня на втором входе. А вот дальше - выделяйте фронт. Если скачать проект с казуса вопросов бы стало меньше в разы....
 
LeftRadio Понедельник, 09.05.2011, 15:33 | Сообщение # 1262
Совсем живу сдесь...
Группа: Администраторы
Сообщений: 2045
Статус: Offline
Quote (kison)
Но там сразу 1,5В. Триггер сработать не должен!

Это понятно, для чего и использовал триггеры, что бы фиксировать совпадение("меньше 1В") и больше/меньше, только по выполнению обеих условий срабатывает "триггер".
Quote (kison)
Если скачать проект с казуса вопросов бы стало меньше в разы....

Так я и хотел, для чего и просил дать ссылку, ну или хотя бы ключевые слова по которым можно найти :)


---

Нет войне!
 
kison Понедельник, 09.05.2011, 16:10 | Сообщение # 1263
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LeftRadio)
Так я и хотел, для чего и просил дать ссылку, ну или хотя бы ключевые слова по которым можно найти

http://kazus.ru/forums/showpost.php?p=207931&postcount=314
В одной ветке есть все. Про эту ветку я говорил тут не раз. Но не пошли и не почитали. Так что при желании информация была доступна.
И до этого этот проект уже дважды выкладывался, мы его обсуждали.
Раньше в той же ветке - схема цифры - http://kazus.ru/forums/showpost.php?p=201767&postcount=96
Аналог тоже имеется. Это все в железе не воплощалось, только в симуляторе тестировалось.
Quote (LeftRadio)
Правда кроме эмуляции поведения аналогового осцилла режим с выборками мин./макс. ничего больше не дает...

Это вообще для другого. Не эмуляция вовсе. А всего лишь способ сказать пользователю, что нужно ускорить развертку. Если этого не делать, то вместо палки получим точку. Точка будет внутри палки, но в произвольном месте. По ней можно потом и сигнал отрисовать, только ничего общего со входным он иметь не будет. Вот чтоб не врать и вводится такой режим. В серьезных приборах он один из. Там он называется пиковый детектор. Есть еще и честная фильтрация - цифровой ФНЧ на примерно треть дискретизации. Но ресурсы нужны недетские, это уже не CPLD. Для фильтра на 50МГц потребуется некислая FPGA примерно с 200МГц тактом и по два-три умножителя на каждый из двух фильтров.
Quote (LeftRadio)
Это понятно, для чего и использовал триггеры, что бы фиксировать совпадение("меньше 1В") и больше/меньше, только по выполнению обеих условий срабатывает "триггер".

И где этот узел? В схеме из 1230 сообщения? Можете словами описать как ловится триггер?

Добавлено (09.05.2011, 16:10)
---------------------------------------------
Для понимания зачем палки - http://roboforum.ru/post156446.html#p156446 и ниже.
Особенно внимательно читаем это - http://roboforum.ru/post156485.html#p156485

Сообщение отредактировал kison - Понедельник, 09.05.2011, 16:31  
 
atmicandr_old Вторник, 10.05.2011, 09:22 | Сообщение # 1264
Местный
Группа: Друзья
Сообщений: 186
Статус: Offline
Quote (kison)
Аналог тоже имеется. Это все в железе не воплощалось, только в симуляторе тестировалось.

По факту в железе это не воплощалось, вернее всё собрано, но потом заброшено по причине того что там сейчас заняты совсем другим проектом, но с MisterDi я общался и он мне поведал что после того как наладят для производства и продажи текущий проект, заброшенный проект выйдет из небытия


А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com
 
x-files Вторник, 10.05.2011, 11:09 | Сообщение # 1265
Новичок
Группа: Проверенные
Сообщений: 15
Статус: Offline
идея kison-а работоспособна на 100%
правда я ее сам придумал и реализовал в 2006...2007 году на EPM7064
заняло около 80...85% ресурсов, но туда еще входили счетчики - делители тактовой
адресовалось 32к (снятые с материнок), управлялось все МЕГА 128
работало кпк часики, но память делилась только пополам
16к предистория и 16к "послеистория"
выглядело это приблизительно так :)

но зато работало :p
Прикрепления: 9972109.jpg (333.0 Kb)


Сообщение отредактировал x-files - Вторник, 10.05.2011, 11:12  
 
atmicandr_old Вторник, 10.05.2011, 11:21 | Сообщение # 1266
Местный
Группа: Друзья
Сообщений: 186
Статус: Offline
Quote (x-files)
но зато работало :p

;) Очень красиво все сделано, не смотря на то что в корпусе не оформлено. А под какой дисплей Вы это все делали?


А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com
 
x-files Вторник, 10.05.2011, 11:50 | Сообщение # 1267
Новичок
Группа: Проверенные
Сообщений: 15
Статус: Offline
WG320240C

Сообщение отредактировал x-files - Вторник, 10.05.2011, 11:50  
 
atmicandr_old Вторник, 10.05.2011, 11:53 | Сообщение # 1268
Местный
Группа: Друзья
Сообщений: 186
Статус: Offline
Quote (x-files)
WG320240C

А проект Вы куда нибудь выкладывали? Шибко интересно, как раз парочка дисплеев без дела валяются.


А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com

Сообщение отредактировал atmicandr - Вторник, 10.05.2011, 11:54  
 
x-files Вторник, 10.05.2011, 12:14 | Сообщение # 1269
Новичок
Группа: Проверенные
Сообщений: 15
Статус: Offline
этот нет...
на этом ЖКИ есть другой проект...
roboforum
или
roboclub
его все знают вроде :)
 
atmicandr_old Вторник, 10.05.2011, 12:22 | Сообщение # 1270
Местный
Группа: Друзья
Сообщений: 186
Статус: Offline
Quote (x-files)
его все знают вроде :)

Круто! Можно сказать также как один из форумчан: ФИГА СЕБЕ САМОДЕЛКА! :)


А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com
 
kison Вторник, 10.05.2011, 12:28 | Сообщение # 1271
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (x-files)
его все знают вроде

Этот - знают. Он мог бы быть единственным в Рунете, претендующим на право называться осциллограф. Мог бы - но как обычно не закончен и брошен. :(
Да и все же дороговат. Я из за экрана в 1150р плачу, а этот в три раза дороже.
 
x-files Вторник, 10.05.2011, 12:37 | Сообщение # 1272
Новичок
Группа: Проверенные
Сообщений: 15
Статус: Offline
не закончен, т.к. не устраивает аналог
да и связка АЦП - ПЛИС - МК по другому сделал-бы
ПЛИС маленькая...
еще есть нюансы
вот и стал на полпути
по большому счету он мне и не нужен
просто интересно было сделать...
но иногда даже пользуюсь, в машине ковыряюсь, и дома иногда им тыкаю куданить
он на аккумуляторах, очень удобно, но хватает только на 40...50 мин :D
 
atmicandr_old Вторник, 10.05.2011, 12:38 | Сообщение # 1273
Местный
Группа: Друзья
Сообщений: 186
Статус: Offline
Quote (kison)
Да и все же дороговат

Там практически вся рассыпуха доступна для заказа в виде образцов (ОУ,АЦП). Самая дорогая деталь- ПЛИС 3256, дисплей я в расчет не беру- это не проблема. Но я хотя и фанатею от такого рода приборов как самодельные цифровые осциллографы, но чтобы повторить такое... Не я не больной :'( Это реально слишком сложно...


А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com
 
x-files Вторник, 10.05.2011, 12:49 | Сообщение # 1274
Новичок
Группа: Проверенные
Сообщений: 15
Статус: Offline
та там все проще пареной репы :D
сложности могут только с платой ЛУТ возникнуть, а так...

Добавлено (10.05.2011, 12:49)
---------------------------------------------
я раньше тоже боялся "больших" схем, но жизнь заставила изменить свои взгляды :D
если отлаживать поблочно, то ничего сложного нет...

 
kison Вторник, 10.05.2011, 12:53 | Сообщение # 1275
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (atmicandr)
дисплей я в расчет не беру- это не проблема.

:D От оно как. Ты их в духовке выпекаешь? :D
Это как раз проблема, причем самая большая.
Quote (atmicandr)
но чтобы повторить такое... Не я не больной Это реально слишком сложно...

За мой взялся - а он еще сложнее. Чего не испугался? :)
Quote (x-files)
не закончен, т.к. не устраивает аналог

А - так это Ваш? Просто Вы на казус как то заходили но ЕМНИП звались по другому.
Quote (x-files)
ПЛИС маленькая...

32256? Она больше epm240, а и на 240 можно много сделать.
Quote (x-files)
т.к. не устраивает аналог

Его переделать несложно - VGA например. Тут уже 600-700р лишних погоды не сделают.
Quote (x-files)
но хватает только на 40...50 мин

Что у Вас там столько жрет? Подсветка что ли?
Вот опять загаживаем чужую ветку. Надо ко мне.
x-files - я Вам доступ в закрытый раздел открою. Лучше там обсуждать. Тут это оффтоп.


Сообщение отредактировал kison - Вторник, 10.05.2011, 12:56  
 
atmicandr_old Вторник, 10.05.2011, 12:56 | Сообщение # 1276
Местный
Группа: Друзья
Сообщений: 186
Статус: Offline
Quote (x-files)
сложности могут только с платой ЛУТ возникнуть

ЛУТ? это вообще заколебёшься делать если плата сложная. Для такого девайса плата должна сделана на производстве, чтобы как сказал kison не затрахаться с девайсом, а получить результат :)

Добавлено (10.05.2011, 12:56)
---------------------------------------------

Quote (kison)
:D От оно как. Ты их в духовке выпекаешь? :D
Это как раз проблема, причем самая большая.

Если тебе будет надо, то я могу с тобой одной штукой поделиться :D drink
У меня к ним даже новые контроллеры RA8835AP3N есть. B)


А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com

Сообщение отредактировал atmicandr - Вторник, 10.05.2011, 12:57  
 
x-files Вторник, 10.05.2011, 13:06 | Сообщение # 1277
Новичок
Группа: Проверенные
Сообщений: 15
Статус: Offline
Quote (kison)
Что у Вас там столько жрет? Подсветка что ли?
Вот опять загаживаем чужую ветку. Надо ко мне.

да, подсветка :D
согласен, хватит гадить
ну раз надо, так надо...
 
Муха Вторник, 10.05.2011, 13:15 | Сообщение # 1278
Почетный Гражданин
Группа: Модераторы
Сообщений: 579
Статус: Offline
Quote (x-files)
но зато работало

Странно что такое могло заработать нормально...
А Мега128 справляется с отрисовкой на этом дисплее? А какая скорость обновления кратинки на дисплее?
Я так понимаю широкие шлейфы от АЦП? Какой уровень шумов у осцилла?
Жаль что чумадан с батареями в кадр не попал... :D


Сообщение отредактировал Муха - Вторник, 10.05.2011, 13:16  
 
LazyCat Вторник, 10.05.2011, 13:15 | Сообщение # 1279
Завсегдатай
Группа: Проверенные
Сообщений: 329
Статус: Offline
Quote (kison)
А нарисуйте.

С удовольствием :) Жаль, что автор пока не выложил эскиз, который я просил. А рисовать с "нуля" катастрофически не хватает времени, ну не бумагу же фотографировать ? Постараюсь в ближайшее время !

Quote (kison)
Это вообще для другого. Не эмуляция вовсе. А всего лишь способ сказать пользователю, что нужно ускорить развертку.

Правильно, это и есть эмуляция работы ЛЮМИНОФОРА(если непонятно, то послесвечения, а если и это непонятно, то google)

Quote (kison)
В любом случае нужен узел выделения фронта - перехода от состояния "условие триггера не выполняется" к "условие триггера выполняется".

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

Quote (kison)
Мультиплексор нужен один - на входе компаратора.

А вот это и есть тот нюанс, о котором я говорил, но без конкретной схемы обсуждать его рано - есть варианты.
 
kison Вторник, 10.05.2011, 13:45 | Сообщение # 1280
Завсегдатай
Группа: Друзья
Сообщений: 275
Статус: Offline
Quote (LazyCat)
Постараюсь в ближайшее время !

Будем ждать с нетерпением :) Мне реально интересно - я на этот узел убил немеряно времени.
Quote (LazyCat)
Правильно, это и есть эмуляция работы ЛЮМИНОФОРА

Картинка все же немного другая выходит. Хоть и похожая.
Quote (LazyCat)
автоматически выполняет Ваше условие, т.к. выход компаратора заведен на тактовый вход триггера !

На выходе компаратора куча иголок - почти при каждой смене данных на входе. Триггер будет срабатывать постоянно. Почитайте что такое синхронная схема и зачем она нужна.
 
Форум » Сайт и форум » Разработки и Статьи на сайте » Все вопросы касающиеся Neil Scope (Ваши замечания, предложения и т.д.)
Поиск:
uTmpl.ru Сайт создан в системе uCoz Сейчас: 19.04.2024, 09:03