В связи с появившейся (внезапно) необходимостью наблюдения за передаваемыми по шине I2C данными решил обзавестись сниффером для этих целей. Такая необходимость назревала давно, но раньше как-то изворачивался и обходился. Но вот наступил момент, когда без анализатора уже никак, к тому же до чертиков надоело вылавливать баги умозрительно, путем длительных размышлений над возможными ошибками в коде прошивки. В общем, надо сделать какую-нибудь железяку для контроля интерфейсов I2C, SPI и прочих.
Прикинув свои возможности и имеющиеся на данный момент ресурсы решил остановится на PICkit Serial Analyzer. Вот ссылка на всю инфу по устройству на сайте Microchip http://www.microchip.com/Developmenttoo ... o/DV164122 На двух картинках ниже приводится его схема из документации Микрочипа.
1. Возможна ли замена отсутствующего у меня микроконтроллера PIC18F2550 на имеющийся у меня МК PIC18F4550 с учетом разницы в назначении выводов?
2. Непонятно назначение ключей на биполярных транзисторах VT2, VT3, VT4, VT5 (по нумерации по схеме с последнего рисунка). С VT6, VT7 все понятно, они подключают подтягивающие резисторы 2,2 кОм для нормальной работы интерфейса I2C. А зачем здесь биполярные транзисторы?
3. Возможна замена части схемы которую я обвел красным на преобразователь на MC34063? У меня сейчас нет мощных P-канальных транзисторов. Заказывать и ждать, это долго, а в местных магазинах ничего похожего на IRLML6402 нет и не предвидится. Собстна, у меня вообще нет P-канальных полевиков за исключением старых советских. И отсюда следующий вопрос...
4. Можно вместо VT6, VT7 поставить КП103? Как думаете, справятся они с функцией ключей коммутирующих нагрузочные резисторы открытых коллекторов интерфейса I2C? Возможно, смогу еще найти парочку КП301. Искать мне 301_е, или 103_е прокатят?
Добавлено after 6 minutes 30 seconds: И, тут же еще один вопрос, с которым я не до конца разобрался - эта штука может работать чисто "читалкой" передаваемых по интерфейсам данных, без вмешательства в ход передачи данных? Не получится так, что устройство сможет работать только в качестве Master или Slave, не умея слушать данные не вмешиваясь в процесс передачи (приема) двумя другими устройствами?
1 Возможна ли замена отсутствующего у меня микроконтроллера PIC18F2550 на имеющийся у меня МК PIC18F4550 с учетом разницы в назначении выводов? если есть исходник программы - то легко. один инклюд на другой заменить да еще чуть колдануть с регистрами ADC ... (есть там разницы , иначе с портами ANx намучаешься)
если нету - вспотеешь дизассемблировать и править
3 Р-канальников можно в любой мастерской по ноутам попросить. да и IRF5305, не поверю, что у вас нету.
IRF5305 есть в продаже, но пойдут ли она на замену IRLML6402? Как бы падение напряжение на открытом транзисторе не оказалось больше допустимого, так, что 5 вольт питания на исследуемое устройство уже не получится подать от USB. Я уже решил, что по любому заменю линейный регулятор напряжения на импульсный преобразователь. А для ключей IRF5305 слишком громоздкими будут в корпусах TO-220. Хотелось бы поставить что-то помельче.
Исходники есть, и... там кажется есть что-то про 18f4550 (сразу не заметил). Походу. даже править ничего не нужно будет, по-видимому прошивка под разные типы МК рассчитана.
...5305.... ну а какой там ток потребления устройства? 5А ? а зачем полевик? есть же биполярники : ультра-лоу.... (опять я со своей элементарной базой лезу. сорь, ну привык уже) на нокиях "фонариках стоит P-N-P транзистор с H21э >150 и падением при насыщении <0.15v и форм-фактор SO23
... импульсный... а я б оставил - как есть. перелопачивать отработанную кем-то схему - можно горя хапнуть в мелочах
Тада их будет два Этот PICkit Serial Analyzer чем еще хорош, их можно несколько штук подключить и контролировать сразу несколько интерфейсов одновременно.
Слепил по быстрому на макетке, пока без ключей. Прошивка с бутлоадером залилась в 4550 без вопросов. Анализатор светодиодиком мигает при нажатии кнопочки в интерфейсе программы. На тычки пинцетом в линию SDA и отзывается сообщением что не хватает мол питания на целевом устройстве, которого собственно пока вообще нет. Пытается рулить ключами подтягивающих резисторов при переключении режимов I2C Master и Slave. Странновато ведет себя с напряжением с вывода PWM, которое регулирует напряжение для питания испытуемых устройств. На секунду устанавливает выставленное в программе напряжение, а потом поднимает его до 5 вольт. Но, думаю это из-за незаконченности конструкции, оттого что линия Vdd_TGT_FB висит в воздухе.
В описании к PICkit Sereial Analyzer прочитал следующее (гугл-перевод):
Цитата:
Существует три режима работы slave-устройства I2C:
• По умолчанию: основной / механический режим работы, в котором последовательный анализатор PICkit слепо принимает любые / все данные «записи» и предоставляет сохраненные / дефинированные «данные чтения» в ответ на любой разрешенный адрес I2C и все адреса устройств.
• Интерактивный: этот режим позволяет хосту организовывать транзакции I2C в режиме реального времени. Это обязательно требует, чтобы хост обеспечивал «чтение» и «прием» данных по мере необходимости, в то время как PICkit Serial Analyzer поддерживает линию шины I2C (ожидание). Данные «Запись» сообщаются хосту через теги событий транзакции.
• Автоматически: в автоматическом режиме последовательный анализатор PICkit работает автономно, как определено динамической таблицей «подчиненный профиль», хранящейся в ОЗУ PICkit Serial Analyzer. В любое время хост может читать и / или обновлять таблицу по мере необходимости. SCRIPT TIME-OUT Когда ведомое устройство отвечает на запросы чтения и получения, программное обеспечение будет ждать максимум времени ожидания сценария ms, чтобы получить полный тег сценария перед выдачей ошибки. Если ваш подчиненный профиль отвечает большими объемами данных, вам может потребоваться увеличить тайм-аут сценария, чтобы избежать ошибок.
Я не ошибаюсь, когда думаю, что первый режим пассивный, в котором анализатор только читает данные с шины не вмешиваясь в процесс передачи-приема? То есть это чистый сниффер?
2. Непонятно назначение ключей на биполярных транзисторах VT2, VT3, VT4, VT5
На третьи сутки до меня наконец дошло. Это не ключи, это регуляторы амплитуды импульсов данных и такта для приведения их в соответствие с напряжением питания исследуемого устройства.
salyamkamrad, вам нужен именно saleae , pickit serial analizer вам просто не подойдет . Это контроллер мастер/слейв устройств с последовательной шиной. Сниффером он быть не может
Могли бы и поискать, вроде бы году эдак 2008 я выкладывал печатки на казус.ру и на пЫкит2 и на сериал анализер. Печатки под смд, две стороны , на второй стороне сплошная земля .
Могли бы и поискать, вроде бы году эдак 2008 я выкладывал печатки на казус.ру и на пЫкит2 и на сериал анализер
Я видел. Но там печатки под smd и PIC18F2550, а у меня PIC18F4550 и только в dip. И полевики только КП301. Такшта печатку мне по любому пришлось бы разводить.
Тогда вообще не парьтесь, на али сейчас скидки. Покупайте Логический анализатор клон saleae. Для любительских поделок и изучения работы шин более чем достаточно.
Я уже заказал. Но, сейчас посылки с Али ко мне идут через Грузию или Латвию. Это 2 месяца минимум, а так и 3 месяца ожидания не предел при пересылке через эти республики. Жизнь слишком коротка, чтобы разбрасываться ее кусками длиною в квартал.
А с этой штукой я пока откину Slave-чип в интересующем меня устройстве и просто посмотрю в режиме приема данных чего там МК в него засылает.
P,S, я его теперь по любому сделаю, хотя бы для того чтобы иметь возможность баловаться с чипами с i2c интерфейсом не используя микроконтроллеры.
Изучайте скрипты, там очень много нюансов -нужно досконально знать работу самих шин... У меня так же был щенячий восторг, но после месяца использования -. PKSA был заброшен. Не стоит он внимания...
Проблема у меня не столько в шинах, сколько в устройстве с залоченным контроллером и отсутствием нормального даташита на ведомый чип. Хоть бы одним глазком глянуть, чего в него пишется. Через несколько дней у меня эту девайсину заберут и я уже точно ничего не увижу ни с каким анализатором.
А так я хотя бы сохраню все что пишет МК в ведомый чип во всех режимах. Вероятно, будет возможность прочитать, чего там ведомый отвечает при отсылке в него команд чтения тех или иных регистров. Я их буду отсылать уже записанные тем же PSA. А потом уже буду разбираться что по чем. Сейчас нужно хоть как-то сохранить данные, которыми они обмениваются.
Последний раз редактировалось salyamkamrad Пн авг 27, 2018 18:47:31, всего редактировалось 1 раз.
Шина I2C. Девайсина - промышленный контроллер температуры. МК хз какой, вероятно заказной с масочным программированием и специализированный чип, который есть в продаже, но на него нет полных даташитов в открытом доступе.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения