Последняя редакция схем/плат версии 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В в любое удобное переходное отверстие.
Есть такой дисплей.ST7793 8bit 240-400.подойдёт ли он?Если да помогите его правильно подключить.
Подойдёт. Имена контактов соответствуют названиям цепей на схеме. В чём проблема подключения, не понял? Сделал прошивку с учётом делителя щупа 1:10. В меню каналов добавилось по 1 пункту меню. При переключении автоматически меняется текст чувствительности. Проверяйте.
serj_k4852, Вы уж извините, но что-то не ладное с FRAMкой творится, всё было хорошо... и на тебе, снова закапризничила. И что интересно, именно этот параметр т.е. таймер автоотключения, всё остальное записывает нормально как при выключении, так и принудительно. Изменяю параметры на 0х85 работает раз 10-15 и начинает глючить, то пишет, то нет. Может совсем убрать таймер и не заморачиваться?
Я не знаю, почему одна ячейка на разных микросхемах глючит. Можно попробовать понизить скорость по шине в файле init.c параметр I2C_Speed. Но 100кГц стандартная скорость. Посмотрел в исходники, у меня 2 других параметра ЧИТАЛИСЬ с ошибкой - Param_WindowsNum и Param_WindowPosition. Делал для них отдельную обработку. Тоже не понял почему так.
Поправил немного прошивку, ограничил максимальное входное напряжение на 100В/Дел с щупом 1:10, а то было до 500В/дел, что не адекватно.
какие сигналы должны быть на AD8129 PDN A_ и PDN B_ ?
Когда канал работает, то 1, когда выключен - 0. Обратил внимание, что сейчас у меня экран обновляется со скоростью около 65FPS, раньше до оптимизации вроде было меньше 60.
serj_k4852 приветствую. После изучения мат части маленько вьехал че куда и вроде нашел ошибку. Пауза в 10ms должна быть после "stop" а в исходнике она между передачей данных и стоп. Ну внёс изменения попробовал и у меня пропала ошибка по i2c и параметры начали сохранятся. Единственное как и раньше писал по нулевому адресу ошибка, но с этим пытаюсь разобраться, может ткнете носом где settingsparametr.h а то искал искал не нашел. Ниже прикладываю фотки кода как я сделал, там два варианта оба в принципе работают но может лучше вы посмотрите и правильнее сделаете. По поводу энкодеров что бы не было недопонимания, в исправленной вами прошивке у меня при вращении по часовой стрелки до упора 50в, против часовой до упора10 мв. В меню (и уровень синхронизации) по часовой вниз против часовой вверх, настройка цвета по часовой в лево против в право. В предыдущей прошивке v/div было наоборот а вот остальное не помню. У вас так же? Просто хочу понять может энкодеры какие ни будь зеркальные, сейчас ещё диоды проверю правильно ли впаял, хотя из за них вообще бы не работало скорее всего.
Пауза в 10ms должна быть после "stop" а в исходнике она между передачей данных и стоп.
Это при передаче 1 байта будет стоп и спокойно можно делать паузу, а при передаче нескольких байт вроде как нужна пауза после записи каждого байта. Но может получается типа запись страницы и после неё общая пауза. Надо внимательнее доку почитать на ЕЕПРОМ. В авторской прошивке запись производилась независимыми одиночными байтами и там точно получалась пауза после каждого байта.
Цитатаmax64 ()
но может лучше вы посмотрите и правильнее сделаете.
У меня ЕЕПРОМ нету для эксперимента, так что через Вас.
Цитатаmax64 ()
в исправленной вами прошивке у меня при вращении по часовой стрелки до упора 50в, против часовой до упора10 мв. В меню (и уровень синхронизации) по часовой вниз против часовой вверх, настройка цвета по часовой в лево против в право.
Всё должно быть наоборот. Значит энкодеры такие. Поменять проще назначение энкодеров в файле defines.h, например ENC_MENU_D на ENC_MENU_U и аналогично для остальных. Там где есть в названии состояния энкодера _DB менять ничего не нужно. Смотрю, нужно статью ещё дополнить и исходники доработать. По settingsparametr.h. Открываете Settings.c, жмёте Ctrl и мышкой на файле в #include "SettingsParams.h".
serj_k4852 из даташита я так понял запись в eeprom произведется только после команды стоп и тут либо каждый раз отправлять по четыре байта один из которых данные потом стоп потом пауза либо за раз можно до 32 байт отправить ( 32 именно для 24lc64)потом стоп и пауза что бы она сохранила все это, в этот момент она не отвечает, можно для максимальной скорости ее опрашивать постоянно как только ответила значит записалась и готова для следующей порции байт. И вопрос следующий а сколько собственно байт мы туда записываем ? А то может у меня ошибка по нулевому как раз и связана с тем что запихиваю больше чем надо и вот тогда и могут начаться косяки.
У меня ЕЕПРОМ нету для эксперимента, так что через Вас.
Я имел в виду синтаксис или как это называется я в этих вещах не оч грамотный просто не понял нужны там #ifdef , #endif и фигурные скобки или нет раз и без них работает?
Я почитал доку - при страничной адресации можно за раз запихнуть в микросхему до 32 байт, потом стоп и пауза на процесс сохранения. В процессе сохранения микросхема принимает команды, но записывать не может. У нас максимальная длина параметра 24 байта и контрольная сумма. По любому в длину страницы влазит, я проверил.
Внёс изменения относительно паузы при записи ЕЕПРОМ, добавил возможность изменять направление энкодеров и добавил возможность работать без кварца 10МГц от внутреннего генератора. Для этого добавил соответствующие параметры в defines.h. Проверяйте, кому что нужно.
serj_k4852, Вы наверно будете сильно удивлены, но я поставил 3-ю FRAM ку и результат тот-же, все параметры сохраняются кроме одного, таймер автоотключения. Я тоже ещё раз посмотрел datasheet и не нашёл ничего нового, попробую поставить адрес 0х120, посмотрю что будет. А вообще как правильно отключить эту функцию?
Какую функцию нужно отключить? По моему автоотключение по умолчанию отключено. Когда у меня 2 параметра считывались с ошибкой я в пошаговом режиме пытался определить причину. Получалось так, что сам параметр и контрольная сумма считывались правильно, а потом происходил сбой. Именно на этих двух параметрах. Из за этого я сделал в прошивке маленький хак. Но так как сейчас сбои происходят и по другим ячейкам, то желательно разобраться и проблему решить.
Возможно автоотключение и отключено, но при включении (в любом случае обнулялся-ли параметр или нет) пишет что таймер включён на 1-у минуту и ни как его не изменить программно, (ну если только из меню, либо в плюс, либо в ноль) т.е. параметр меняю, а он при включении тот-же, вот именно это меня и удивляет.
serj_k4852 скажите пожалуйста, для чего нужен пункт меню Advanced-> I2C IO? И какой параметр выбрать для I2C IO по вашей схеме?
Это кажется для подключения расширителей портов ввода-вывода. Мне не нужно, но оставил для совместимости.
Цитатаhohlovalehan ()
т.е. параметр меняю, а он при включении тот-же, вот именно это меня и удивляет.
Если он не правильно сохраняется или не правильно считывается, то так наверное может быть. Если хочется его полностью отключить, то можно в Settings.c после 220 строки внести изменения. Сделать AutoOff_Timer.State = DISABLE и AutoOff_Timer.Work_Minutes = 0. Тогда будет не важно, что прочитается.
Я думаю, что без пошаговой отладки не понять, где проблема. Сравнил частоту обновления экрана на известном сигнале со старой версией прошивки и текущей после оптимизации - прирост скорости 13%.
Сообщение отредактировал serj_k4852 - Среда, 31.10.2018, 20:57
Кнопка без фиксации. AD9288 на 100, так как номинальная тактовая 100МГц. Может заработает и на 80 с разгоном, у меня пока все АЦП от AD хорошо гнались.
serj_k4852 подскажите пожалуйста, при каких условиях появляются сигналы на выходах QA-QH сдвиговых регистров U22, U23- при изменениях настроек в меню осциллографа, либо при появлении сигнала на входах осциллографа. У меня при любых манипуляциях в меню на выходах QA-QH сдвиговых регистров все 1, которые ни как не меняются. Сигналы PWM_A и PWM_B появились не сразу, а после проведения калибровки осциллографа. Может быть и здесь нужно что нибудь из меню сделать, чтобы сдвиговые регистры заработали.
при каких условиях появляются сигналы на выходах QA-QH сдвиговых регистров U22, U23- при изменениях настроек в меню осциллографа
При изменении чувствительности каналов, переключении типа входа, вкл/выкл канала. А в процессе работы может АЦП включаться/выключаться. Проверьте SPI шину до и после ПЛИС. Тем более, что первый регистр должен сбрасываться RC чепочкой при подаче питания.
serj_k4852 Приветствую. Потестил последнюю прошивку на сколько это возможно без плис. Единственное поменял адрес нулевого параметра так как читался с ошибкой был красным и все стало нормально. Правда заметил что параметр яркости при включении то на макс то на мин но это мелочи, а этот параметр тоже в эпром хранится? (если честно задумывался вообще удалить транзистор подсветки). Поменял направление энкодеров тоже все встало на свои места. И вот по поводу этих феритовых бусин не нашел я их в городе вообщем решил с китая заказать размер 0608 это понятно но вот второй параметр эт я так понимаю сопротивление на частоте 100 мгц (если я все правильно понял), то что у вас на схеме около бусин написано это оно 180,300 и 600 или это что то другое. Спасибо за статью огромное.
но вот второй параметр эт я так понимаю сопротивление на частоте 100 мгц (если я все правильно понял), то что у вас на схеме около бусин написано это оно 180,300 и 600 или это что то другое. Спасибо за статью огромное.
Да, это реактивное сопротивление. Со статьёй задержался, так как дописывал по мере возникновения вопросов. Не понимаю, почему запись в некоторые ячейки происходит с ошибкой. Или это чтение с ошибкой, как у меня было. Нужно в пошаговой отладке отлавливать, где именно сбой происходит. Параметр яркости или макс или мин, тоже сохраняется, не знаю зачем. Я бы его убрал вообще, но оставил для совместимости. Его можно просто удалить из перечня сохраняемых параметров и всё, но транзистор можно оставить, так как он обеспечивает индикацию возникновения аварийных ситуаций. Хотя при этом ещё бипер начинает работать. В общем на любителя.
Это не ошибка, так задумано. Дорожка проходит транзитом через свободную ножку - для того, чтобы не делать 2 переходных из за перекрещивающихся цепей. На схеме это 22 нога, обозначена NC, то есть not connected.
Сообщение отредактировал serj_k4852 - Пятница, 09.11.2018, 09:39
Во-первых это не ошибка, т.к. через эту ногу (а она кстати у этой м/сх не подключена), легче провести дорожку, чем разводить через две стороны платы или перемычку.
Ошибка-не ошибка.Когда впаиваешь микруху этот вывод замыкает на минусовой полигон микросхемы.Я это исправил нанёс на дорожку уфо лак.Остальные могут не учти это и на этом попасть.
Сообщение отредактировал wodynoi8207 - Пятница, 09.11.2018, 11:29