Последняя редакция схем/плат версии 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В в любое удобное переходное отверстие.
Нет, прячется всего один регистр Ну и перед регистром мультиплексор что бы в него записать МК мог что точили мультиплексор и пишем в другой регистр если надо. За ответ про CLK EN спасибо, я в принципе так и думал, просто стало интересно а вдруг я не прав
-------------------------------------------------------------------------- В общем сейчас еще просимулирую оконные синхронизации и буду делать топ модуль, и можно будет уже закончить с этим блоком А вот, вспомнил, нужно будет еще сделать возможность first_event_reg загружать единицей перед стартом для синхр. по уровню. ---
Нет войне!
Сообщение отредактировал LeftRadio - Пятница, 16.03.2012, 15:47
Тогда как забыть? Перед стартом каждого измерения записываем в это регистр предысторию. Перекидываем ее в счетчик. Снова пишем в регистр уже количество выборок после триггера. Хде профит?
Добавлено (16.03.2012, 15:48) --------------------------------------------- Было бы два счетчика и непосредственная запись в них по частям - было бы ровно то же. Даже чуть быстрее.
Добавлено (16.03.2012, 15:55) --------------------------------------------- Кстати два значения могут дать интересные варианты. Например память - 100 ячеек. Считаем до - 70, после - 70. Ровно то же, что если только после - 70. Выходит счетчик предыстории второсортный?
Перед стартом каждого измерения записываем в это регистр предысторию.
Нет, этот регистр постоянно подключен к входной шине счетчика, а вот вход этого и остальных регистров подключается через мультиплексор к шине данных с МК, выхода кстати тоже могут туда же подключатся для того что бы можно было проверить записанное. ---
Нет, этот регистр постоянно подключен к входной шине счетчика
Это понятно. Выгоды не вижу. Как можно
Quote (LeftRadio)
а так записали один раз регистры конфигурации и забыли
??? Если значения нужно два?
Добавлено (16.03.2012, 16:04) --------------------------------------------- В общем вопрос выходит звучит так - как в один регистр записать два значения?
Два в каком смысле? Если два 8-ми битных что бы получить 16 бит шину, то да, два 8-ми битных, и даже больше, еще 2 бита для 18 бит значения. А предыстория равна послеистории, так что тут второй не нужен. ---
А предыстория равна послеистории, так что тут второй не нужен.
О как. Понятно. Тогда я вообще выгоды не вижу. Ресурсы выросли, гибкость и возможность подогнать точно под задачу упала. Если все что после триггера не нужно - зачем это писать? А придется - столько же как как и до, выбора то нет. Потом это придется читать вхолостую. Плюс запись - лишнее время и меньший FPS, плюс энергии больше потратится. Я никогда не видел равного деления буфера, ни в одном приборе. Либо предыстории вообще нет, либо она регулируется. Все ради того, чтоб 20 тактов и 40 байт в МК сэкономить? Я в шоке. Что то развитие пошло не туда. Трудиться чтоб сделать хуже - точно не стоит
quote ...но про симулировать негде ..... резистор 39ОМ и конденсатор 160 пик на АЧХ
Удвойте резистор хотя-бы, что-бы мусолили около 12-13 Мгц или выберите из ряда : 100пФ на 139 ОМ 120пФ на 116 ОМ 150пФ на 92 ОМ Протеус также позволяет прицениться.
Все ради того, чтоб 20 тактов и 40 байт в МК сэкономить?
Ну не столько из-за этого, сколько из-за невозможности протянуть еще один сигнал от МК к ПЛИС, я уже соглашался что управлять с МК возможно лучше и проще, недостатки тоже есть - не возможно точно выставить количество точек предыстории(хотя не знаю, может и нафиг не нужно точно) и нужно мудрить с разрешением триггера, то есть разрешили запись сигналом StartWR идущем с МК, а затеем, по истеению заданного времени пишем через шину данных какой нибуть регистр для запуска триггера. Да и все равно понадобятся два регистра для хранения значений предыстории/послеистории.
Quote (kison)
Там есть AD8129?
Нету. ---
Нет войне!
Сообщение отредактировал LeftRadio - Пятница, 16.03.2012, 17:09
Приценитесь к библиотеке найдите что-то на 200-250 Мгц и не смотрите что там особо внутри, Бабу можно заменить только Бабой, не особо вникая в начале во внутренность, все само по себе всплывет, а время только беспощадно идет вперед.
Приценитесь к библиотеке найдите что-то на 200-250 Мгц и не смотрите что там особо внутри,
Вы знаете много ОУ имеющих два инвертирующих входа, один не интвертирующий и один - для смещения?
Quote (LeftRadio)
невозможности протянуть еще один сигнал от МК к ПЛИС
Аж 8 уже есть ну совершенно не занятых в режиме записи. А разрешать триггер как раз и надо в этом режиме.
Quote (LeftRadio)
хотя не знаю, может и нафиг не нужно точно
Точно и не надо. Главное не меньше. +1,+5,+97 выборок - никаких проблем. Предыстория если задана в 100 выборок, это не значит что она такая и будет. Может и миллион оказаться. Но 100 будет гарантированно - поэтому их и читаем.
Quote (LeftRadio)
пишем через шину данных какой нибуть регистр для запуска триггера.
Не надо. Любой разряд этой шины может напрямую управлять триггером.
Quote (LeftRadio)
Да и все равно понадобятся два регистра для хранения значений предыстории/послеистории.
Ну вот у меня нет регистров для хранения. Только счетчик. И все получается задать - причем независимо. Пишем с шины прямо в счетчик. Частями. Только количество выборок после триггера. Предыстория - таймер в МК, можно вообще аппаратный выход приспособить. Если он есть на тех ножках к которым шина ПЛИС подключена.
Надо заглянуть под юбку и все тайное станет ясным, думаю.
Ну и? Я знаю что внутри. Предлагаете собрать это на отдельных ОУ для симуляции? Два выхода запараллелить, но не параллелить входы. У обычного ОУ от этого крышу снесет. Блок схема же просто примерно дает представление. Этого не достаточно чтоб собрать корректную модель.
quote (kison) ....Два выхода запараллелить, но не параллелить входы. У обычного ОУ от этого крышу снесет......
Там надо три ОУ, предлагается свети к одному на 200-250 МГц или проштудируйте схему измерительного усилителя на 3-Х ОУ, там есть возможность ввода смещения, но исходные ОУ должны быть намного быстрее получаемых в результате конечном.
Кстати, кто то писал про замену резисторов на два для более высокого пробивного напряжения по входу осцилла, это не нужно. Например подали 100В на вход, считаем по резисторам, на R14 можно считать падения напряжения не будет, на R13 + R60 будет 90В, примерно пополам на каждом, то есть 45В, для 0805 корпуса думаю нормально. Остается только СР1017 и емкость на открытый/закрытый вход. Хм... посмотрел а у С1017 оказывается максимальное пиковое напряжение нагрузки 60В, раньше смотрел вроде цифра 150В отложилась в памяти... Тогда вообще за резисторы беспокоится не стоит.
Нужно будет поправить описание что макс. входное 60В. Или подыскать замену СР1017 на что то более высоковольтное и в пин совместимом корпусе. ---
Нет войне!
Сообщение отредактировал LeftRadio - Пятница, 16.03.2012, 21:35
Это как я понял "нам" предлагают просимулировать и сравнить
-------------------------------------------------------------------------------------- Ради интереса просимулировал с идеальными ОУ половинку схемы, с МАХ4216 протеус корректно отказался симулировать, а тех ОУ что в схеме нету. Что то он очень низкую частоту фильтра показывает, врет гад
quote(kison,LeftRadio) ...Что то он очень низкую частоту фильтра показывает, врет гад.
К сожалению не врет, практически все программы умалчивают о требованиях к "ОУ" а они сногсшибательные от полсотни и более раз к желаниям. Раньше писал (Вторник, 13.03.2012, 13:39 | Сообщение # 2625) Фильтр Саллена-Кей на АД8065 работоспособен до 3 МГЦ
quote Мое видение аналоговой части. ( Я уже более четверть века уже не разработчик, благодаря своей тупой прямолинейности в суждениях в присутствии старцев ( т.е. - штабных героев афганской компании ) .... и истории конец ).
Емкость можно не подстроечную и просто после ключа 4051 поставить, ключ неидеален имеет около 300 Ом сопротивления в открытом состоянии, плюс AD8129 имеет ~5пФ по входу. ---
quote(LeftRadio) Вас не смущает что при разных коэффициентах деления изрядно будет изрядно меняться сопротивление плеча, поэтому ставится впереди 499Ом и подгоночный конденсатор. Класс но спустя 5 месяцев прилетел юнец .... и истории конец.
Вас не смущает что при разных коэффициентах деления изрядно будет изрядно меняться сопротивление плеча
Вы правы, в спешке ответил и не подумал. Но на резистор с подстроечником места нет, вот скрин того места на плате, можно конечно и уплотнить до безобразия, но не хочется.
quote(LeftRadio) .....скрин того места на плате, можно конечно и уплотнить до безобразия, но не хочется. Правильно! , если на 4051 освободите 12 ножку (или не будете к 12 обращаться думаю можно сдвинуть вниз цепочку делителя и задействовать 4 или 5 вроде вижу их свободными без земли) даже навесными способом для оценки величины емкости для АЧХ впереди резистор тоже надо подгонять, притом все в натуре.
Потому что цепь EN_Trig не объявлена явно. Это предупреждение, что создалась цепь прямо в assign. Правильно же: wire EN_Trig = Start_Write & Enable_Trig; // разрешение триггера И предупреждение пропадет.
В принципе я знаю что при объявлении wire можно указывать чему оно равно, но вот что с assign так нежелательно делать не объявив сначала wire не знал, спасибо, теперь буду знать ---
Дело не в нежелательности. По стандарту цепи могут создаваться где угодно. Хоть и в assign. Но это источник странных косяков. wire En_Trig; и потом assign EN_Trig = Start_Write & Enable_Trig; // разрешение триггера Будет такое вот предупреждение. Потому как En_Trig и EN_Trig будут разными цепями. Вот квартус и уточняет - типа точно не опечатка?