Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: XC9500XL и PULLUP
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Мур
С удивлением обнаружил, что семейство XC9500XL не поддерживает PULLUP.
...А по замыслу я развернул inout по одной линии для данных по I2C, дабы собрать всех подчиненных на этой двунаправленной линии. В тестбенче иммитировал ASK, как положено. Гонял модельку с разными видами ИМС с I2C.
А на железе вдруг увидел ,что не отзываются адресанты.. '1' сидит вместо долгожданного '0'!!!

Прозевал WARNING:Cpld:1258 - Invalid constraint 'PULLUP' found in netlist. The
constraint is not supported for targeted device and is ignored.

Что посоветуете? Спалил ли я выход адресуемого элемента выходом CPLD?..
Собирать линию на отдельных элементах, чтобы был честный Открытый Коллектор?
Inanity
Отсутствие честного открытого коллектора в данном случае - не беда, можно использовать буфер с тремя состояниями.

А с PULLUP я не очень понял, у вас внешней подтяжки нет вообще? Кто тогда линию в '1' держит? Если это делает CPLD - то это неверно, все устройства на I2C должны выдавать на линию либо '0' либо 'Z'. Если у вас там '1' и нет какой-либо подтяжки (проверьте, что slave I2C устройства не имеют внутренней подтяжки, иногда такие встречаются), то скорее всего некорректно описан сам I2C на CPLD.
Мур
Спасибо!..
Верно вы заметили на счет Z.. Буду двигаться в этом направлении. Транзистор внешний ставить не хочется.
Для себя усвоил картинку с временной диаграмме на осциллографе в момент ASK. Временной масштаб ведь иной и ответ есть, но его(ASK) хватает на передний фронт SCL . До заднего не дотягивает. Вот дизайн и дуреет... Это место надо решить иначе.
...Утро вечера мудренней!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.