Jump to content

    

bvn123

Свой
  • Posts

    121
  • Joined

  • Last visited

Reputation

0 Обычный

About bvn123

  • Rank
    Частый гость
    Частый гость

Контакты

  • Сайт
    Array
  • ICQ
    Array
  1. Ответ на https://www.avrfreaks.net/forum/updi-programmer-how-can-it-be-tested-minimal-means о том, что ATmega808 отвечает, но обнаруживает коллизию, позволил предположить, что проблема может быть в соединении TX адаптера > 1к5 > UPDI pin; я также пробовал добавлять последовательно 3к3 и 11к - ответ UPDI: импульс менее 1мкс. Заменил на Tx адаптера > катод диода Шоттки ; анод > к Rx адаптера и через 470 Ом > UPDI pin ATmega808, получил ответы от ATmega808 по UPDI. Рекомендации отсюда: https://github.com/SpenceKonde/AVR-Guidance/blob/master/UPDI/jtag2updi.md
  2. цель - программировать через адаптер на CP2102 и своё ПО; с githab скачивал именно этот проект на C, в нём есть функция считывания SIB микроконтроллера LINK_Read_SIB(), но обращения к этой функции не видно, т.е., в какой последовательности к ней обращаться, я не нашел. возможно, посмотрю в исходном проекте на python - где-то попадалось начало работы со считывания SIB. под C-проект понадобилась среда codeclocks (скачал, просмотрел проект), далее нужно установить и привязать к среде компилятор gcc для отладки, чтобы восстановить последовательность вызовов или использовать откомпилированное ПО как есть (пока gcc не устанавливал). возможно, приобрести адаптер CH340 на githab попадалась статья, в которой критиковалось использование CP2102 в этих целях. в общем, надо разбираться. ожидал, что проще это сделать по описанию. есть тонкости в возможностях CP2102 - они отличаются от CH340: организовать два BREAKs на скорости 300 бит/с с паузой в 1 стоп-бит, а затем паузу не более 13мс не могу из-за особенностей библиотеки под CP2102 и возможности выбора программной задержки. по старту могу организовать то, что на осциллограмме, но это вроде не противоречит требованиям даташита здесь тоже появились ответы: https://www.avrfreaks.net/forum/updi-programmer-how-can-it-be-tested-minimal-means пишут, что на скорости 9600 импульс от atmega808 через 13мс - признак того, что м808 распознал скорость передачи, выдержал интервал в 128 бит, попытался ответить, но столкнулся с коллизией...
  3. Запаян именно 1к5, при тестах добавлял последовательно 3к3, т.к. встречалась инф. как о 4к7, так и о 1к5 (последний номинал вроде из-за того, что в каком-то адаптере уже есть 2к2) - изменяется уровень "0", но принципиальных изменений в картинке и в буфере Rx нет.
  4. Для того, чтобы ПЕРЕПРОГРАММИРОВАТЬ микроконтроллер или обновить его прошивку, не используя программатор, в микроконтроллере выделяется область памяти программ, в которую записывается программа загрузчик (bootloader), и область памяти для рабочей программы - в неё записывается основная программа. Программа-загрузчик остается та, которую прошил разработчик прибора (например, вашего тестера, если разработчик решил, что это нужно), а рабочую программу разработчик прибора может обновлять, рассылая ее покупателям. Но при этом он же обеспечивает и компьютерную программу, передающую программе-загрузчику в МК рабочую программу или считывающую рабочую программу из МК. То есть, есть связка программы-загрузчика и компьютерной программы - обе держит разработчик прибора. Для производителя это дополнительная работа - разработка программы загрузчика, программы для компьютера, а при производстве - записать в МК программу-загрузчик, затем через эту программу записать еще и рабочую программу или возиться с компоновкой обеих программ и прошивать их вместе программатором. Программа-загрузчик общается обычно с компьютерной программой, например, через преобразователь USB<>UART, по определенному протоколу: на одинаковой скорости, с одинаковыми служебными битами, с понятными обеим сторонам командами. Не факт, что производитель вашего тестера прошивал программу-загрузчик в mega328, а если прошивал, то ищите у него же информацию об этом, а также компьютерную программу для загрузки обновления и сам файл с прошивкой. Если файл прошивки у вас есть, то прошивку можно загрузить по SPI, используя программатор (упоминавшаяся вами линия MOSI относится к этому интерфейсу SPI, а программатор подключается к 4-м сигнальным линиям, включая Reset, и к 2-м линиям питания). Если все-таки производитель использовал и загрузчик, то при замене МК вам все равно понадобится программатор с 6-ю линиями - хотя бы чтобы загрузить программу-загрузчик (тогда еще и прошивку загрузчика надо искать + компьютерную программу, работающую совместно с загрузчиком). И если компьютерную программу разработчик предоставляет, то программу-загрузчик вряд ли - ее использование является защитой от копирования устройства с обновляемым ПО. К тому же в замененном МК может понадобиться изменить Fuse-биты - их состояние тоже известны только разработчику прибора. Просто по линиям Rx и Tx в новый МК atmega328 загрузить программу не получится. Такая возможность только у более свежей линейки МК серии ATtiny и ATmega, например, ATmega808 - в них программирование по UPDI (однопроводный интерфейс). Но они не совместимы по контактам, а программа для атмега328 не годится для атмега808.
  5. Я хочу разобраться с программированием МК ATmega808 через преобразователь USB<>UART, подключаю контакт UPDI МК к контактам преобразователя USB<>UART на CP2102: к Tx через резистор 4к7, к Rx напрямую. Просмотрев тех.описание UPDI МК, предположил, что для проверки работы будет достаточно подать 0 в течение 52мс (сброс - 2 сигнала BREAK на самой малой скорости 300 бит/с при длине слова 12 бит) , опционально выдержать паузу (но не более 13мс, иначе МК перейдет в режим debug), запросить SIB МК, подав команду 0x55 0xE5 на желаемой скорости передачи, принять ответ от МК - 16 байт SIB. Пробовал передавать такую последовательность на скоростях 300, 9600, 115200 бит/с, Примерно через интервал, равный передаче 10 слов, приходит короткий импульс от МК (через 1,14мс при 115200; через 13мс при 9600). В приёмном буфере вижу то, что передал: 0x00 0x55 0xE5 В чем ошибка? Правильно ли я понял, что для считывания SIB передавать ключи не требуется? Проекты на Python и C с Githab скачал, ссылки на них не требуются, хотелось бы понять, что не соответствует требованиям тех.описания. На осциллограмме передача последовательности: окончание 52мс импульса BREAK - 4мс ПАУЗА - отправка '0x55 0xE5' на скорости 9600: 0(start) 10101010 0(EvenParity) 11(2stopbits) 0(start) 10100111 1(EvenParity) 11(2stopbits) - через 13мс импульс от ATmega808 Последовательность передачи в байте: сначала младший бит
  6. борода - это кратковременный всплеск после включения? в этом случае АЦП требует времени на инициализацию после подачи питания, для некоторых АЦП документация рекомендует пропустить одну или несколько начальных выборок или выборки в начале пропускаются программно и без рекомендаций, т.е., если это всплеск, измерение может выполняться по его окончании при корректном программном решении. тут другая опасность: как ты заметил ранее, емкость конденсатора сильно зависит от температуры, значит, опорное напряжение (= напряжение заряжаемого конденсатора) будет достигать разного уровня только из-за разной температуры при прочих равных условиях (R делителя, U), и чем быстрее получен результат АЦП после включения, тем сильнее на погрешность влияние температуры. еще и сопротивление резисторов делителя может плыть после подачи тока через них, и не обязательно в одну сторону. при 24-разрядном преобразовании все это может повлиять на результат, может, поэтому и потому что этого достаточно, используется 14 разрядов. что касается стоимости АЦП - у него удобные встроенные узлы (источники тока для мостов, например), которые, при использовании дешевого АЦП, занимали бы и место на плате, и в итоге стоили бы не дешевле, и размещались бы на разных подложках, т.е., надо было бы отдельно учитывать температурные характеристики отдельных узлов.
  7. Есть ли возможность объективно сравнить результаты измерения? (изменилось ли при тех же измеряемых параметрах и условиях окр.среды СКО, не появилось ли смещение) Если да, сравни результат при подключенном осциллографе и без него, а также без осциллографа, но с открытым и закрытым корпусом устройства - можно будет понять, не является ли подключение осциллографа причиной помехи 200мВ. Неплохо бы посмотреть сигнал аналоговым осциллографом в отсутствие внешних помех, в т.ч. подальше от компьютера. Запиши/посмотри спектр помехи - нет ли там выраженных гармоник, например, на частоте импульсного БП устройства, если он есть, на тактовой частоте АЦП.. Бывает полезно поставить пару конденсаторов, один 0,1мкФ поближе ко входу, второй, например, 1мкФ - у них еще и разные индуктивности, соотв., разная резонансная частота, давят ВЧ в разных диапазонах. Ты хочешь разобраться или доработать схему? Т.е., вставить буфер в выпускаемое устройство, отсоединить делитель от входа возможность есть? Будет ли помеха на нижнем резисторе (моста?) той же / меньшей / большей, если резисторы с конденсатором отсоединить от входа REFIN?
  8. Спасибо за ответы. Я параллельно запросил на форуме производителя. Это под сокет yamaichi IC149, устанавливаемый вместо МК, там есть и ссылка на фото применения сокеты на такой же плате (у меня открылась только через VPN) https://community.st.com/s/question/0D50X0000ASojnjSQB/the-pattern-of-stm32-microcontroller-nucleol053r8-development-board-has-4-pins-on-the-corners-and-two-holes-under-the-package-what-is-the-purpose-of-these-pins-holes
  9. На покупной плате с STM32 по углам корпуса 4 контакта, а под корпусом два отверстия. Контакты ни к чему не подключены. При этом между, например, 1-м контактом микроконтроллера и контактом напротив угла выводится пара дорожек из-под корпуса МК; корпус без металлизации, выдавливать возможные излишки припоя при монтаже из-под корпуса не требуется. Зачем нужны эти контакты и отверстия?
  10. при 300МГц заданное вами разрешение 1/100000, - оцифровывать: АЦП? сколько разрядов, какая частота выборки? какое разрешение при этом получите? ознакомьтесь с доступными АЦП - заполнять импульсами? какова тактовая частота ПЛИС, которую можете использовать? какое разрешение при этом получите прикиньте на теоретическом уровне - в идеальных условиях. PLD Altera шли с тактовой частотой 220МГц, FPGA 400МГц, какая-то фирма планировала выпускать на 2ГГц (сведения несколько устаревшие) см. в начале об интерферометре, на ваши 1000мм будет множество интерференционных полос, их надо считать, возможно формирование sin и cos сигналов, далее как в инкрементных энкодерах : в зависимости от соотношения фаз этой пары сигналов определяется направление движения и что делать с импульсами - суммировать или вычитать в счетчике. по картинке не ясно, у вас движение в трех или в двух плоскостях, сможете ли вообще посылать сфокусированное лазерное излучение в фотоприемник
  11. можно использовать посредственный (желательно стабильный) источник сигнала и образцовый измеритель параметра, по результатам параллельных измерений вашим счетчиком и образцовым измерителем пересчитываете коэффициенты для вашего счетчика, вносите их в память, снова сравниваете, вероятно, после того, как накатаете процесс, от второго сравнения можно будет отказаться. возможно этот вариант окажется дешевле. а по нюансам калибровки AD напишите в соотв. раздел на https://ez.analog.com/ или поищите службу поддержки - не помню, есть ли у них еще таковая или все через EngineerZone
  12. каким методом будете преобразовывать фазу для измерения с разрешением, линейностью, не говоря уже о погрешности, не хуже 1/100000 от шкалы, к тому же на частоте 300МГц? в какой сигнал, в напряжение, пропорциональное фазе, в число импульсов?
  13. при определенных условиях, требования к которым вы не указали, может прокатить и такой вариант: -USB-микроскоп -шкала с шагом 0,01мм сбоку платформы все это при условия: платформа - таки да, и она есть; движется по одной координате; не должно быть грязи/подтекающего масла и т.д. ничего не мешает разместить микроскоп рядом, а компьютер неподалеку: к шкале жесткие требования по температурному расширению, старению материала (менее 0,01мм (10мкм) на 1000мм); ваша возможность заказать/изготовить/оплатить такую шкалу - слышал, что делают штрихи и с шагом 1мкм на коротких шкалах, существуют прецизионные червяки - вдруг ваше устройство совсем легкое и можно сделать червяк с шагом, например, 2мм, 1/20 оборота - и движение на 0,01мм, а люфт на вашей совести. предлагаю назвать ваше устройство ССОНС - совершенно секретный объект низкой стоимости
  14. можно удешевить комплектацию, если собирать самому, на ebay прдлагают БУ лазеры, если под фазовый дальномер, можно найти двухчастотные (частота биений между двумя частотами лазера может быть порядка нескольких МГц, на этой частоте измерять фазу принимаемого сигнала относительно опорного) дешевле ли в итоге? неизвестно, в каком состоянии БУ лазеры, требуют ли восстановления, понадобится оптик, по электронике - кондиционирование аналоговых сигналов (в зависимости от расстояния и диапазона требования могут быть суровы), возможно, питание лазера, вычисление фазы - FPGA (PLD) + микроконтроллер + интерфейс для передачи в РС; программист - приложение для РС, программы FPGA, микроконтроллера, механика, оборудование; все это надо аттестовать...