Перейти к содержанию

    

Igor_S

Свой
  • Публикаций

    258
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Igor_S

  • Звание
    Местный
  1. Нет, других FTDI USB2SERIAL нет - эту хохмочку я уже знаю ... Кроме того, программатор в Quartus вилит JTAG цепочку с этим бластером, и циклон загружается нормально. А в окне SignalTap пишет No Devices и кнопка Scan Chain не меняет ничего.
  2. SignalTap, Quartus 11 - не видит девайс на JTAG, хотя в программаторе шьется через USB Blaster нормально. В чем может быть дело? В квартусовском программаторе с ЮСБ бластером все ОК, видит девайс (CYCLONE3) и программирует. А в СигналТап - не видит девайс, кнопка Scan Chain ни к чему не приводит...
  3. адаптер I2C to USB

    Здравствуйте, Очень нужно посмотреть схему адаптера MIIC-204, фирмы "Micro Computer Control" (MCC). Может ли уважаемое сообщество подсобить? Спасибо
  4. QUOTE (Jury093 @ Dec 4 2014, 14:48) а мастер на 3в3? тогда однозначно шины надо изолировать.. и если у вас все работает через относительно длинный кабель, то это объясняется падением напряжения на кабеле.. google.ru->"philips i2c level shifter" наглядно в картинках Jury, понятно. Но я использую между процессором и выходом платы мультиплексер (хаб) PCA9518, его выходной интерфейс питается 5В. Я не сказал об этом, поскольку вроде это совершенно неинтеллектуальный чип, не способный на такие фокусы - но хрен его знает, я уже ни в чем не уверен...
  5. QUOTE (Сергей Борщ @ Dec 4 2014, 13:55) Ремарыч? Сколько лет... Вот же совпадение - вспоминал тебя недавно. Остальное в личку напишу. Тогда хорошо бы понаблюдать за выбросами между землей процика и землей импульсника. Вот это и странно. Ведь на шину никто не имеет права выставлять единицу, шину можно только притягивать к земле открытым коллектором/стоком. Значит, если процессор начал тянуть линию к земле, а потом на ней появилась единица - то либо он ее по каким-то непонятным причинам отпустил, либо на шину влез кто-то еще, совершенно нестандартный со своей активной единицей. Если бы сработал арбитраж - передача должна оборваться совсем и начаться сначала. А тут как будто бит в середине посылки укорачивается. Даже и не знаю, в какую сторону копать посоветовать. Нет, все не так - дата пошла вверх (должен передаться 1), клок пошел вверх - т.е процессор отпустил стоки - и вдруг оба срываются в 0, т.е. на месте клока - короткий импульс, на месте даты - подлиннее. Но все нормально, т.е. никаких нестандартных единиц нет. Чего это процессору вздумалось обрывать клок и дату - непонятно, вот с этим и разбираюсь... Кстати, тут еше такое дело. Поскольку мне нужны были несколько (4) отдельных каналов I2C, я не мог обойтись только процессором, их там 3. Поэтому, я использую мультиплексер (хаб) PCA9518. T.e. канал I2C процессора идет на один из 5 каналов хаба (нулевой), а каналы 1,2,3,4 выбираются процессором при помощи просто дискретных входов разрешения на мультиплексере. PCA9518 не совсем мультиплексор, поскольку позволяет подключить любой канал к любому, но у меня он используется как мултиплексер. Я не упоминал о нем, поскольку он, вроде, не обладает никакими интеллектуальными функциями типа clock stretching или master. Может, ты знаком с этой хренью? Спасибо, что вспоминал всуе... Мне не икалось чего-то, видимо по-доброму вспоминал? QUOTE (Jury093 @ Dec 4 2014, 13:50) помех нет, левых мастеров на шине нет.. а что там с питанием слейвов, величина напряжения? если 3в3, то остаются два варианта: - баги в софте мастера (как предположили выше) - развязка шины между блоками - опторазвязка (so-08) или левелшифтер на паре полевиков.. Jury, а что вы имеете в виду, почему если 3.3, то только 2 причины? А если 5? У меня как раз 5!
  6. QUOTE (Сергей Борщ @ Dec 4 2014, 12:27) "Спайк" = "выброс"? В какую сторону этот выброс, он появляется на восходящем фронте? Не может этот выброс быть результатом сбоя или ошибки программы, из-за которого порт переходит на короткое время из режима I2C в режим обычного выхода? Сопротивления подтяжек можно уменьшить до 1 кОм, причем при ваших длинах наверное не только можно, но и нужно. Можно в разрыв линии включить резистор ом на 100 и глядя двумя лучами на оба его вывода будет хорошо видно - кто выдает какой сигнал и видны все конфликты. Привет, Сергей! Это ведь я, твой бывший рижский коллега, чего это мы на Вы? Как там Эрик, привет ему! Как вы вообще? По теме, да резистор влепить я не сообразил, спасибо - но вроде по уровню выброса понятно, откуда он. Насчет перехода в режим обычного выхода - да, может быть. Просто, один и тот-же импульсник нормально читается в одном рэке, где соединения I2C выполнены внешним кабелем, и сбоит в другом рэке с внутренними соединениями. Чето тяжело представить в чем разница, кроме помех на линиях клока и данных, но я скопом особых помех не вижу... QUOTE (Сергей Борщ @ Dec 4 2014, 12:27) В какую сторону этот выброс, он появляется на восходящем фронте? Да, выброс - как бы вместо положительного фронта. Например, в самом начале сеанса - передается адрес слейва, уже начинает ставиться нужный бит даты (1), затем - выброс на клоке, и дата сбрасывается в 0, затем процесс продолжается - но уже с проглоченным битом
  7. QUOTE (Jury093 @ Dec 4 2014, 10:56) 1. попробовать снизить скорость обмена по i2c 2. взять что-то типа i2c eeprom, привесить на ту же шины и посмотреть на поведение 3. в БП чипы точно слейвы? мало ли кто-то из них умеет мастерить.. 4. как вариант - в разрыв поставить i2c levelshifter (типовая схема у филипса) 5. как радикальный - опторазвязку на i2c Jury, 1. Не влияет 2. В БП имеется eeprom, все то же самое - при чтении начинает выдавать "ff" 3. Точно, eeprom AT24C02, register PCF8574, ADC PCF8591 QUOTE (Jury093 @ Dec 4 2014, 10:56) 3. в БП чипы точно слейвы? мало ли кто-то из них умеет мастерить.. Понимаете, если я смотрю на этот сцвинутый клок со стороны процессора - я четко вижу вместо правильного фронта имеется спайк, т.е. процессор пытается поставить клок, но тут-же его снимает. Со стороны импульсника, этот спайк задавлен по амплитуде, едва виден - на основании этого я делаю вывод, что это работа процессора, а не блока питания...
  8. QUOTE (kovigor @ Dec 3 2014, 18:26) Самодельный ? Если да, то насколько корректно он сделан, включая разводку ПП ? Можно ли его заменить, например, аккумулятором ? Нет, увы - не самодельный, иначе бы я хоть представлял разводку его платы. Смысл такой - моя плата связана по I2C с готовым модулем, содержащим 3 "рэка". Каждый рэк содержит 3 независимых импульсника. Каждый импульсник имеет I2C для чтения его параметров. это я вообще описываю устройство. Я сейчас работаю только с одним рэком, внутри которого установлен только один импульсник. Плата питается от отдельного лабораторного источника. Подтягивающие резисторы установлены на плате, на ее питание 5В. Сама проблема. Рэки есть 2-х типов. Первый - каждый блок питания, входящий в рэк, имеет отдельный коннектор для подключения I2C, и соединение SCL, SDA выполнено отдельным внешним кабелем. С этим рэком проблем нет. Второй тип рэка имеет один коннектор, и соединения SCL, SDA выполнены на внутренней печатной плате, в которую вставлены источники. Разводка этой платы мне не известна - но понятно, что соединения выполнены длинными дорожками на всю длину рэка (сантиметрое 40). Вот с этим типом рыка появляется проблема, что при чтении серии байтов - начиная с какого-то момента, я получаю "FF". Сннхронизируя скоп, я вижу, что перед этим произошел как-бы "clock stretching", т.е. положительный фронт клока как бы задержан на пол-периода... И видимо, начиная с этого момента, "slave" останавливает обмен, а мастер - ничего не подозревая, продолжает гнать клок, давать ACK и т.д. Кстати, этот момент может наступить в совершенно случайном месте - например, при выдаче мастером адреса слэйва - тогда просто мастер, не получив ACK, завершает обмен по таймауту. Мастер - процессор STM32F407. Вот такая проблема...
  9. QUOTE (kovigor @ Dec 3 2014, 19:03) "Земля" нигде не разорвана ? Т.е., все ли абоненты шины имеют общую землю ? Подтягивающие резисторы на линиях интерфейса есть ? Если да, то какого номинала ? Возможно ли в порядке эксперимента заменить импульсный БП линейным или даже обычным аккумулятором ? Спасибо за ответ, Земля вроде общая. Резисторы 4.7К Насчет заменить - извините, я не уточнил. Сейчас плата с процессором запитана от отдельного линейного лабораторного блока питания, импульсник - это абонент на I2C, его выходное напряжение вообще никуда не идет (сейчас). Только питает его собственную электронику (я имею в виду I2C микрошемы внутри источника).
  10. Здравствуйте все! Вопрос у меня по поводу интерфейса I2C, связывающего импульсный блок питания с процессором STM32F407. Процессор в режиме мастера, говорит с железкой, в которой 3 блока питания на общей шине I2C. Пока блоки были на столе, без железки - т.е. соединения SDA и SCL между блоками было сделано просто проводами - все было ОК. Как только блоки внутри железки, они там воткнуты во внутреннюю печатную плату, соединения выполнены в виде дорожек на ней - начались проблемы. Выглядит это таким образом. Процессор в режиме Master RX читает содержимое простого регистра PCF6574 внутри блока питания - и вдруг начинает читать FF. Я смотрю на шину SDA - действительно высокий уровень, и только ACK от мастера - он, типа, продолжает читать... Смотрю на SCL - и вижу, перед этим событием - был будто-бы пропуск клока, т.е. передний фронт клока задержался на пол-периода! Стал исследовать, обращаюсь к несуществующим адресам - вижу те-же пропуски клока... Эффект пропадает либо при отключении линии SCL от блока питания (еще раз повторю, я обращаюсь не к нему, поетому могу играться), либо при выключении блока питания. Видимо, это связано с наводкой на SCL сигнал от импульсника (но я ничего криминального не вижу на скопе) - но КАК Мастер об этом знает? Как можно прервать передачу в произвольный момент? Это выглядит как "SCL Stretching", но ведь это релевантно только для Slave? Да, я забыл сказать - источник пропуска именно процессор, я это вижу по уровню сигнала. Видел ли кто такое? Куда глядеть, как Вы думаете? Спасибо
  11. Вроде нашли причину... Во всех нерабочих платах, оин из элементов был дохлый - совсем не держал даже небольшой ток. А при проверке без нагрузки при спящем процессоре - честные 3.8В... Видимо, при попытке соединиться ток потребления возрастает - и вуаля...
  12. Вот это цирк... После замены процессора на нескольких не работающих платах, они продолжают вести себя также (нет связи). Видимо, дефект на плате или не тот номинал чего-либо. Но я даже не могу представить, номиналы каких элементов могут повлиять на связь - там только 100 ом резисторы последовательные в дата и клкок, да 1 Мег на землю (все прозвонил). Как думаете, что еще может повлиять? Я так понибаю, все выходы на FET, индикацию и т.д повлиять не могут? Напряжения на выходах внутренних LDO нормальные... Спасибо
  13. Спасибо за ответ, Elman! Да, я согласен насчет чипсета - но мы связались с ним года 2 тому назад, тогда "ничто не предвещало беды"... К сожалению, конструктив нашего модуля таков (питание портативного прибора, очень маленький корпус батареи - и он весь практически занят самими элементами), что нет места не то что на DIP Switch - даже на элементарный коннектор. Поэтому, провода от элементов просто припаиваются к контактным площадкам. Не нами, к сожалению, поэтому на 100% утверждать о правильной последовательности не могу - но мы об этом, естественно, знали, и порядок припайки оговорен. Извините за непонимание, но что такое "off форум", что Вы имеете в виду? Спасибо за линк на Ваш сайт. Скажите, а Вы используете схему защиты линии связи? Дело в том, что мы от нее отказались (я имею в виду сборку защитных транзорберов на дата и клок), поскольку не предполагался доступ к этим линиям у потребителя. Может, эти линии чувствительны к статике? Место для микросхемы есть, мы ее просто не ставим - но и никогда не ставили, и все было раньше в порядке... Пока, предполагаются 3 возможные причины: 1. Неправильная последовательность подключения элементов (не можем проверить) 2. Неприпаяное "пузо" микросхемы (не можем проверить) 3. Отсутствие защитных диодов на линии связи То есть понятно, видимо, что контроллеры дохнут - хотелось бы понять, почему... Да, а почему внутреннюю защиту нужно убрать со всех элементов? Ведь для питания контроллера используется только 2, третий (и далее) только мониторятся? Спасибо.
  14. Здравствуйте, Понимаю, что вопрос очень неконкретный - но, может, кто-нибудь сталкивался с такой проблемой... Сделан контроллер батареи (3 последовательно соединенных элемента Li-Ion, 3.8V 1800maH каждый) на BQ78PL116. Первые несколько десятков плат не выявили особых проблем, кроме невозможности использовать элементы с внутренней защитой - при ее срабатывании контроллер оставался без питания и, закрыв все FETы - не давал зарядить батарею. Поэтому, на 2-х "нижних" элементах, запитывающих контроллер, внутренняя защита была убрана. Все вроде хорошо, но возникла новая проблема - не похоже, что это связанные вещи, но кто знает? Сделали несколько сот плат, и примерно каждая 5-я отказывается разговаривать по сериальной линии с компьютером, для инициализации, прошивки и калибровки. Используется стандартный TI USB-to-GPIO адаптер и программа BQWizard - все это проверено, и сделан не один десяток плат. Причем, в нвскольких случаях связь прекращалась уже после программирования - калибровка была уже невозможной. Никаких проявлений "жизни" контроллера при этом нет, на выходах внутренних LDO напряжения нормальные... Кто-нибудь сталкивался с таким? В чем может быть причина? Как бороться? Заранее спасибо. P.S. Забыл сказать, RESET контроллера не помогает, переподключение батареи - тоже...
  15. Опередили, а как удалить свой пост?