Последняя редакция схем/плат версии 2.0 - NS_V2_0_rev3_7
Прошивка для 2.0 - NS_V2_0_rev1_7E_Firmware Вкл./Отк. каналов А/В происходит по нажатию соотв. кнопок когда ни одно меню не выбрано, при выборе меню Sync эти кнопки перекл. источник синхронизации.
Для конфигурации DS1085 прошить соответствующей прошивкой МК, передернуть питание, подождать некоторое время пока на экране ЖК не выведется надпись об успешном завершении и выключить осцилл. Адрес DS1085 устанавливается равным 0x59 (89 по десятичной системе).
Данная прошивка просто делает автоматом то что можно сделать вручную из программы на ПК и если настраивать вручную из программы то она не нужна.
Внимание! При конфигурации к I2C не должно быть подключено ничего кроме DS1085.
Схема ревизия 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
//---------------------------------------------------------------------------------------------------------- Прошивальщик МК (автор Ильдар) - 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"
Для последующих обновлений просто запускаем NSFlashLoader, и обновляемся. Джампер при этом трогать уже не нужно.
//---------------------------------------------------------------------------------------------------------- . . . Важные замечания по сборке
На плате не указана перемычка с 10-го вывода(INTRL) 74НС4052(U15) на вывод SWDIO МК, можно и просто подпаять пока на +3.3В в любое удобное переходное отверстие.
Он мне на 100% достаточен. 50 мегасэмплов всего. 25 мегагерц полосы с идеальным фильтром, 10-12 - с реальным. Впрочем могу расширить в два раза понизив чувствительность в те же два раза. И раз в 5 понизив чувствительность тоже в 5. А вот какая выйдет у Вас, даже с VGA? В смысле чувствительность, не полоса. Полоса априори будет достаточной даже для 500 мегасэмплов.
Сообщение отредактировал kison - Пятница, 13.05.2011, 13:56
Впрочем могу расширить в два раза понизив чувствительность в те же два раза. И раз в 5 понизив чувствительность тоже в 5.
Это плохой компромисс, хотя для карманника может и приемлим.
Quote (kison)
А вот какая выйдет у Вас, даже с VGA? В смысле чувствительность, не полоса.
Ну не 1мв/дел. конечно, с реле(ключом) 5-10мв/дел реально.
Quote (LazyCat)
Непонятно, как может быть непонятно из осциллограмм ???
Если честно так и не построил, других проблем было море.
Quote (LazyCat)
Так и я призываю не заморачиваться !!! Интерлив ОЧЕНЬ СИЛЬНО все УПРОЩАЕТ, может даже влезет в epm240 :)
Нужно только не забывать что в память можно писать не быстрее ~65МГц. Правда я осциллограмм не строил и мне тоже пока неясно упрощение. В epm240 может и влезет, но раз есть ПЛИС, то хотелось бы еще лог. анализатор хотя бы на 8 каналов.
Quote (LazyCat)
Я так понимаю, что и мой вариант триггера смысла выкладывать нет ?
Почему нет, очень даже есть. ---
Нет войне!
Сообщение отредактировал LeftRadio - Пятница, 13.05.2011, 15:03
Существенно, правда, это в тех 4-х вариантах, что я прорабатывал... Может я чего не понимаю, и можно гораздо проще Для меня проще оказалось с интерливом - оно все срослось само собой ! Плюс, конечно же, разгрузка по питанию, импульсник ведь всеравно будет, значит и помех будет меньше. Но для меня интересно было все запихнуть в epm240 !!! Что касается лог. анализатора, то все зависит от техзадания - всеравно в карманнике не получить тех удобств как софте на ПС от USBee, на ЖКИ это будет жутко неудобно, IMHO. Сам постоянно пользуюсь таким анализатором и жутко доволен ! Снимаю лог с устройства в файл, и потом часами сижу перед монитором и анализирую Нужно ли это карманнику ? Но в любом случае это реализуется элементарно !
А триггер выложу на днях. Там все очень просто, в последней схеме показана основная идея и, кстати, нарисованы ВСЕ необходимые компоненты, их просто нужно соединить между собой по-другому Кстати, вопрос. Вы используете вывод cnt_en у счетчика inst7. Какой активный уровень для этого сигнала и влияет ли он на состояние вывода cout ? И еще, sclr, я так понимаю, это синхронный сброс, а есть ли асинхронный ?
Сообщение отредактировал LazyCat - Суббота, 14.05.2011, 08:40
Это плохой компромисс, хотя для карманника может и приемлим.
Компромисс не бывает хорошим или плохим. Он всегда нечто среднее.
Quote (LeftRadio)
Ну не 1мв/дел. конечно, с реле(ключом) 5-10мв/дел реально.
С реле и VGA 1мВ не проблема. Уж 2мВ/дел точно получатся. Без реле и 10мВ не получить.
Quote (LazyCat)
Что касается лог. анализатора, то все зависит от техзадания - всеравно в карманнике не получить тех удобств как софте на ПС от USBee, на ЖКИ это будет жутко неудобно, IMHO. Сам постоянно пользуюсь таким анализатором и жутко доволен ! Снимаю лог с устройства в файл, и потом часами сижу перед монитором и анализирую
Ровно так же и с карманным прибором. Какая разница где писать выборки? Анализ естественно на большом компе.
Quote (LazyCat)
в последней схеме показана основная идея
Идеи надо обычным текстом пояснять. В программировании принято блок-схемами, но к плис это малоприменимо - там все параллельно, а не последовательно.
Разница ОГРОМНАЯ в размере памяти, или привести реальные цифры, чтоб было понятно ? Кстати, заметьте, Вы сами внесли дополнительный пункт в техзадание о наличии либо карточки либо USB в карманнике !!! Вот об этом я и говорил !!!
Quote (kison)
Идеи надо обычным текстом пояснять.
Кому как Толковый человек алгоритм и по принципиальной схеме поймет, если не поленится !!!
Сообщение отредактировал LazyCat - Суббота, 14.05.2011, 08:59
Разница ОГРОМНАЯ в размере памяти, или привести реальные цифры, чтоб было понятно ? Кстати, заметьте, Вы сами внесли дополнительный пункт в техзадание о наличии либо карточки либо USB в карманнике !!! Вот об этом я и говорил !!!
Я вношк доп. пункты только себе. Тут - только варианты предлагаю. Это разные вещи.
Quote (LazyCat)
Разница ОГРОМНАЯ в размере памяти, или привести реальные цифры, чтоб было понятно ?
Есть и другая разница - у меня 100 мегасэмплов в лог анализаторе, в USBee - 24. То что сможет карманник может оказаться не по зубам Usbee. Несмотря на память.
Quote (LazyCat)
Толковый человек алгоритм и по принципиальной схеме поймет, если не поленится !!!
Гарантируете, что нигде не ошиблись? И что я собрав Вашу схему получу работоспособное изделие? Если да - можно извлекать алгоритм. Если нет - это даром потраченное время. Из ошибочной схемы и алгоритм извлечется кривой.
Quote (LazyCat)
Для меня проще оказалось с интерливом - оно все срослось само собой !
Интерлив в плис - небольшой довесок. Инвертировать такт на один канал и изменять один выходной сигнал. Усложнение невелико, но именно это усложнение, а не упрощение. Если же ловить триггер на каждом такте - усложнение станет уже существенным.
Есть и другая разница - у меня 100 мегасэмплов в лог анализаторе, в USBee - 24. То что сможет карманник может оказаться не по зубам Usbee. Несмотря на память.
Бред !!! Чем больше мегасэмплов, тем больше нужно памяти. Хотя, наверное, мы говорим о разных вещах: я говорю о том, что нужно в реале, а Вы о том, что нужно в виртуале ! Это, как говорится, две большие разницы !!!
Quote (kison)
Гарантируете, что нигде не ошиблись?
С чего это вдруг ? ДАЖЕ ВЫ целых ТРИ МЕСЯЦА ошибались, судя по Вашим словам Здесь пока идет обычный процесс разработки, ничего конечного еще нет и Ваши претензии неуместны. Ваша лень и нежелание разбираться с чужими алгоритмами - это Ваши проблемы !!!!!!!!!!!!!!
Quote (kison)
Тут - только варианты предлагаю.
Опять кривите душой !!! ТУТ Вы рекламируете ТОЛЬКО СВОЕ решение !!! ОНО ЕДИНСТВЕННО ПРАВИЛЬНОЕ !!! А МЫ изобретаем ВЕЛОСИПЕД с квадратными колесами !!!
Бред !!! Чем больше мегасэмплов, тем больше нужно памяти.
Нет - просто писать надо именно то, что интересует, а не все сразу. В логических анализаторах от известных брендов - Лекрой, Тек памяти всего мегабайт - два. Но что то никто не бежит менять их на USBee. Кроме того если мне нужна посылка с частотой всего то 15МГц - карманник с ней справится, а USBee сядет в лужу.
Quote (LazyCat)
Ваша лень и нежелание разбираться с чужими алгоритмами - это Ваши проблемы !!!!!!!!!!!!!!
Пишите прямо - искать чужие ошибки. Да, мне лень. Автор ИМХО тоже не будет этого делать. Чтоб что то найти - надо знать как должно быть. А этого Вы даже не знаете. Ну и что работоспособное можно нарисовать с таким подходом?
Quote (LazyCat)
Опять кривите душой !!! ТУТ Вы рекламируете ТОЛЬКО СВОЕ решение !!! ОНО ЕДИНСТВЕННО ПРАВИЛЬНОЕ !!!
Рекламирую ес-но свое. Про другие варианты не говорю что они неправильные, а объясняю почему я так не сделал. Вы же бредовые неработоспособные схемы рисуете. Причем объяснить что это бред мне стоит слишком большого труда. Перечитайте ветку. На предысторию я потратил слишком много времени. Выслушал много сомнений в моих умственных способностях - http://hobby-research.at.ua/forum/2-1-1699-16-1304794632 или http://hobby-research.at.ua/forum/2-1-1701-16-1304839791 Потом - удивительно - я все же оказался прав. Мне если честно это просто надоело. Всему есть предел. Вообще я сам виноват - спорить о вкусе устриц можно только с тем, кто их ел. Вы однозначно плис видели разве что на картинке. Я потратил 3 месяца, Вам и трех лет не хватит, увы. Слишком гонору много не подкрепленного знаниями и умениями. За сим откланиваюсь. Если понадоблюсь автору - он знает где меня найти. Сюда я писать больше не буду.
Пожалуйста спокойней , к сожалению у меня не было свободного времени поразбираться со схемой в ПЛИС. Выложу пока проект MisterDi, посмотреть что да как другие сделали думаю интересно
Интересно, что на казусе на форуме про это устройство все отзываются очень хорошо и реальных задач, с которыми оно не справилось, не приведено. Лично меня ОЧЕНЬ устраивает их софт(и его аналоги), дискретизацию я редко ставлю больше 1 мегасэмпла, а вот память использую и до 20МГб ! Такая специфика работы. И потому считаю, что если делать логический анализатор, то делать его совместимым с USBee !!!
Для LeftRadio напомню цитату:
Quote (kison)
Само накопление простое - запись результатов сложная. Одновременно, в течении одного такта готовы 4 байта - мин/макс для двух каналов. Писать можем только два. И даже это не проблема - проблема в том, что иногда надо каждый такт писать, а иногда пачки по два значения. Непростой автомат записи выходит, очень непростой. По ресурсам он ровно половина начинки в LE.
Именно для устранения ЭТОГО предложен интерлив, т.к. за один такт будут готовы 2 байта, а не 4, что ОЧЕНЬ СИЛЬНО упрощает автомат. Помешать понять простую истину может только лень или упрямство ! Но я не настаиваю, я просто предложил простой вариант, а решать как всегда Вам ! И вы не ответили на вопросы поста 1330. Квартус качать я не собираюсь, потому и возникают вопросы про возможности ПЛИС.
P.S. Надеюсь kison на этот раз ушел окончательно, ведь уже уходил Не будет навязывания чужих решений и голословной критики !!! И по поводу гонора вопрос спорный. Я, например, всегда с пониманием отношусь к чужому мнению, ВСЕГДА ВНИМАТЕЛЬНО читаю ВСЕ посты, принимаю обоснованную критику, не ленюсь разбираться в чужих проектах и ВСЕГДА признаю свою неправоту. К сожалению, такие люди как kison считают, что они НЕ ОБЯЗАНЫ эти правила соблюдать Значит, им не место в коллективном диалоге !!!
Сообщение отредактировал LazyCat - Суббота, 14.05.2011, 12:40
Вы используете вывод cnt_en у счетчика inst7. Какой активный уровень для этого сигнала и влияет ли он на состояние вывода cout ? И еще, sclr, я так понимаю, это синхронный сброс, а есть ли асинхронный ?
Активный уровень 1, выкладываю его осциллограмму сгенерированную квартусом, асинхронный есть. Заодно приложу и все остальные осциллограммы которые генерирует квартус, к сожалению он делает это не для всех блоков.
Quote (LazyCat)
Помешать понять простую истину может только лень или упрямство ! Но я не настаиваю, я просто предложил простой вариант, а решать как всегда Вам !
Нет, не лень и не упрямство, я писал что были другие проблемы и заботы и поэтому пока я осциллограмм работы Вашей схемы не построил, а посему мне пока непонятно упрощение, вот и все.
Извините, но эти слова относились, конечно же, не к Вам ! За осциллограммы спасибо, все оказалось так, как я и предполагал. Постараюсь завтра выложить триггер.
Сообщение отредактировал LazyCat - Суббота, 14.05.2011, 16:33
Вот обещанный вариант триггера ! Немного пояснений. Так как в окне вряд ли когда потребуется захватывать менее 256 выборок, то можно при загрузке inst7 использовать только старший байт(размер окна в этом случае будет кратен 256). На один вход inst24 подается из МК отрицательный импульс для старта обычной развертки, а на другой вход для старта развертки с предысторией Сигнал об окончании захвата получаем на выходе триггера inst30. В работе схемы есть два нюанса, но, я думаю, один неважен, а другой следует обсудить
P.S. Кстати, посмотрел проект MisterDi, но так и не понял зачем делать сложно простые вещи И вот что вычитал :
Quote
- после заданного количества отсчетов счетчик семплов переведет автомат режима работы в состояние останова и тем самым запретит работу счетчика адреса. - МК определив окончание счета по отсутствию изменений таймера за определенное время, считывает значение таймера и младших разрядов шины адреса и определяет адрес останова. - вычтя из адреса останова величину размера выборки находим адрес старта отображения и начинаем через регистры-защелки последовательно считывать данные из ОЗУ.
А я ведь в самом начале предлагал защелкивать именно адрес старта отображения. И что тут вызвало непонимание kison-а ? Только факт наличия доп. регистра ? Непонятно ! Ну да ладно, это всеравно все лишнее
P.P.S. Еще есть вопрос. Если асинхронный сброс счетчика inst7 устанавливает cout, то из схемы можно выбросить 2 элемента
На один вход inst24 подается из МК отрицательный импульс для старта обычной развертки, а на другой вход для старта развертки с предысторией :)
Замечательно! Только боюсь все эти триггеры могут не работать из-за задержек, начну симулировать.
Quote (LazyCat)
P.P.S. Еще есть вопрос. Если асинхронный сброс счетчика inst7 устанавливает cout, то из схемы можно выбросить 2 элемента :)
Не знаю устанавливает или нет, сейчас проверю в симуляторе.
И непонятно почему Вы выкинули один компаратор, триггер ведь должен обнаруживать два события, совпадение и больше/меньше в зависимости от синхронизации фронт/спад. Вдобавок получаем возможность синхронизироваться по заданной длительности фронта/спада. А для переменного окна захвата можно элементарно использовать еще один компаратор и не накручивать логики, хотя возможно я и ошибаюсь и это все реализовано в приведенном Вами варианте.
P.S. Кстати вот осциллограммы входного клока 100МГц относительно клоков которые пойдут на оба АЦП. На ADC_DATA не обращайте внимания.
Просимулировал блок выборок макс./мин. Вот осциллограммы, дата на вход ПЛИС относительно клока на АЦП идет почти как в даташите на АЦП с задержкой от фронта ~6нс. И приложу кусок схемы который симулировал. На последних двух осциллограммах тоже самое, дата на канал В не идет, SRAM_DATA_A - минимумы после мультиплексора, SRAM_DATA_B - максимумы, а также без двух элементов "И" после триггера который на клоке, правда только что сам заметил, что в последних двух осциллограммах разные результаты, хотя ничего не трогал в схеме, может что изменил между симуляциями, нужно еще раз проверить.
Добрый день. По версии 2.0 электролит С23 надо поставить 1000mF, тогда стабилизатор 7905 гораздо меньше греется. Еще аналоговую и цифровую землю надо соединять вместо перемычки ферритовой бусинкой или индуктивностью 1-10mG. Влад когда будет готова окончательная версия прошивки контроллера?
Сообщение отредактировал Муха - Пятница, 20.05.2011, 11:19
Я тоже тут все попалил недавно... Поставил радиатор на 7905, собрал в корпус, а он зараза, когда корпус закрыл, прижался к аналоговой плате. В итоге сгорели все MAX4212 и MAX4546 на аналоговой и на цифровой платах. Не выдержала и MAX7320, на всех выходах высокий уровень. MAX4546 сильно грелись и не переключались. На выходах MAX4212 было +5 В. LTC1380 и OPA656 остались живыми. Все заменил, снова все работает. Вот поставил С23 на 1000mF, стаб 7905 значительно меньше греется и радиатор не нужен...
Сообщение отредактировал Муха - Пятница, 20.05.2011, 14:04
Обещанные осциллограммы и схема по которой симулировалось, мое мнение - фигня полная, нужно попытаться сделать максимально синхронный дизайн без разрывов единого клока инверторами/мультиплексорами и т. д. Иначе замучаемся, так как все начинает плыть... Может я и неправ, но пока думается именно так
В итоге сгорели все MAX4212 и MAX4546 на аналоговой и на цифровой платах. Не выдержала и MAX7320, на всех выходах высокий уровень. MAX4546 сильно грелись и не переключались.
Копец!!! Муха, я тебе искренне сочувствую и восхищен тем, что после такого ущерба у тебя не пропало желание этим заниматься. Я бы психнул и выкинул бы всё нафиг... А я лампы соберу, молоточком все побью. LED&LCD рулят. Мой ящик: andrey66k@gmail.com
Не согласен. Осциллограммы адекватные, но Вы проигнорировали мою просьбу насчет двух каналов. Неадекватно ведут себя только оба счетчика(непонятно по каким фронтам они срабатывают).
Quote (LeftRadio)
нужно попытаться сделать максимально синхронный дизайн
Именно это я и пытаюсь сделать, потому и клок использую единый !!! Вариант-то не конечный, потому и хотел посмотреть осциллограммы, чтобы дорабатывать дальше. Но, если Вы считаете это полной фигней, то можно это забросить - предлагайте свой вариант !!! Я НИЧЕГО НЕ НАВЯЗЫВАЮ !!!
Кстати, весьма возможно, что нужно будет ставить 2 SRAM в интерливе, как у MisterDi, это упростит требования к скорости памяти.
Сообщение отредактировал LazyCat - Вторник, 24.05.2011, 15:52
Не согласен. Осциллограммы адекватные, но Вы проигнорировали мою просьбу насчет двух каналов. Неадекватно ведут себя только оба счетчика(непонятно по каким фронтам они срабатывают).
Нет, не проигнорировал, просто на канал В не идут данные, но как работают регистры и мультиплексоры для обеих каналов отлично видно. По каким фронтам срабатывают счетчики проверю.
Quote (LazyCat)
Именно это я и пытаюсь сделать, потому и клок использую единый !!!
Единый, но с разрывами - инверторы и прочее.
Quote (LazyCat)
Но, если Вы считаете это полной фигней, то можно это забросить - предлагайте свой вариант !!! Я НИЧЕГО НЕ НАВЯЗЫВАЮ !!!
Я назвал фигней осциллограммы, так как они мне совсем не нравятся, Ваш вариант не откидываю, свои доработки покажу как только закончу с прошивкой для 2.0.
Quote (LazyCat)
Кстати, весьма возможно, что нужно будет ставить 2 SRAM в интерливе, как у MisterDi, это упростит требования к скорости памяти.
Это позволит поднять дискретизацию до 100МГц, давайте сразу определимся нужно это нам или нет, так как от этого многое зависит в дизайне ПЛИС. ---
Я назвал фигней осциллограммы, так как они мне совсем не нравятся
Кстати, где-то читал, что в небольших пределах, выравнивания таймингов в квартусе можно добиться планировкой чипа, тоесть вручную разместив на чипе элементы так что бы оптимизировать длинну связей между логическими элементами...