serg_Fry 0 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба В проекте есть несколько одинаковых каналов. Канал в схематике оформлен, как отдельный лист. Несколько каналов в виде SheetSimbol'ов расположены на Top-уровне схемы (на картинке ниже). В состав канала входит микросхема с интерфейсом I2C. Адрес I2C конкретного экземпляра микросхемы выбирается соединением ее пинов MUX_A[2:0] с землей и питанием. Хочу вывести шину MUX_A[2:0] из каждого канала на верхний уровень иерархии чтобы там каждому каналу присвоить свой адрес: На картинке я уже попытался обойти проблему конфликта имен цепей с помощью портов. Ошибок при компиляции нет, но и цепи назвались не так, как нужно: например в PCB редакторе G0_MUX_A2 получила какое-то имя, хотя должно быть GND. Как это правильно сделать? Иначе говоря, как выборочно соединить какие-то разряды шины скажем с землей? В идеале было бы сделать это через NetLabel шины как-то так: [GND,VCC,GND]. Это, пожалуй, самый наглядный вариант. Вытаскивать из SheetSimbol'а отдельные биты (не в виде единой шины) очень бы не хотелось - некрасиво и займет очень много места. Возможно нужно использовать Harness, но я не понял как. Нашел решение с Net tie. Но оно неправильное, как мне кажется, в данном случае. Настройки иерархии проекта: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KSN 0 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба Сигналы MUX_A[2..0] выведите из блока по отдельности, т.е. на УГО блока будет MUX_A2, MUX_A1, MUX_A0. А уже эти сигналы подключать к VCC, GND. Я делал подобным образом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 93 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба 3 часа назад, KSN сказал: Сигналы MUX_A[2..0] выведите из блока по отдельности, т.е. на УГО блока будет MUX_A2, MUX_A1, MUX_A0. А уже эти сигналы подключать к VCC, GND. Я делал подобным образом. +1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serg_Fry 0 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба Quote Вытаскивать из SheetSimbol'а отдельные биты (не в виде единой шины) очень бы не хотелось - некрасиво и займет очень много места. Дело в том, что в каждом блоке по 2 таких микросхемы и получается очень не эстетично. Если "правильного" решения с шиной не найдется. придется так и сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 93 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба Шина передается вся на все блоки. Вы хотите в блоках по разному использовать сигналы шины. Это не получится. Да и вопрос "эстетики" весьма субъективен. Так как на рисунке, с моей точки зрения, только запутывает других пользователей вашей схемы. "Правильного" решения по вашему пути не будет. Вам предложили верный путь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dee2mon 3 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба Я использовал жгут (AD16 и AD17). 1. Внутри блока разворачивал шину, заводил ее в жгут, на шину внутри ставил метку NO ERC на Dublicate Nets. 2. Снаружи разворачивал жгут от нужного блока к нужным цепям. 3. Чтоб все имена цепей в топологии именовались однозначно, в настройках Project Options - Options - галка Higer Level Names Take Priority, а то у меня в экспериментах некоторые цепи брали имена из базового блока, а некоторые с верхнего уровня, системы здесь я не уловил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serg_Fry 0 12 ноября, 2018 Опубликовано 12 ноября, 2018 · Жалоба to dee2mon: Боюсь я не понял пример. Первый фрагмент находится внутри блока Single_Chan_SchDoc, верно? Вместо шины вы используете harness, но где собственно переименование цепей? Цепи в результате получили названия вида BITB_x из верхнего уровня иерархии? Поясните, пожалуйста, хочу разобраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dee2mon 3 13 ноября, 2018 Опубликовано 13 ноября, 2018 (изменено) · Жалоба Да, первая картинка внутри блока Single_Chan_SchDoc. На верхнем уровне блок Single_Chan_SchDoc вставлен два раза его выводы подключены как BITA_x и BITB_x. Если открыть схему блока в скомпилированном проекте, то видно, что для каждого вхождения блока цепи переименовалисть из Bx в BITA_x и BITB_x. Определение harness это просто перечисление, скажем так, проводов (красный, зеленый, желтый и т.д.), он просто соединяет одну цепь из верхнего уровня в соответствующей цепью блока. Например, для блока A1 провод жгута BIT0 соединяет внутри B0 снаружи BIT_A0, т.к. у меня стоит галка Project Options - Options - галка Higer Level Names Take Priority, то имя объединенной цепи становиться BIT_A0. И т.д. для всех остальных. С просто шиной через жгут (без разбора ее на отдельные цепи) или просто без жгута при нескольких каналах у меня так не получилось, шина переименоваться для каждого канала не захотела, может я не разобрался. Могу выложить проект, он был чисто учебный. Картинки, это скомпилированные имена цепей в блоках A1 и A2. Изменено 13 ноября, 2018 пользователем dee2mon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serg_Fry 0 14 ноября, 2018 Опубликовано 14 ноября, 2018 · Жалоба Собрал тестовый проект. Дословно так же получилось сделать. Переворачивать биты можно. И имена наследуются с верхнего уровня: А вот при попытке один из битов в Top'е подключить к земле компилятор выдает ошибку "Net input0 has only one pin (Pin J7-1)": Пробовал разные комбинации настроек - никак не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 93 14 ноября, 2018 Опубликовано 14 ноября, 2018 · Жалоба Не надо было и пробовать. Harness вам не поможет. Все равно возврат на то, чтобы убрать Repeat с этих сигналов. А сигнала у вас вполне попадают под Bus/ Зачем куча лишней графики. Тогда уж проще 3 SheetSymbol раздельно поставить и вообще не Юзать Repeat. В вашем случае это самое то, так как будет достигнута связь при минимуме ненужно графики Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serg_Fry 0 14 ноября, 2018 Опубликовано 14 ноября, 2018 · Жалоба В данном случае вынужден согласиться. Чтобы не терять время уже оформил отдельными входами MUX_A2, MUX_A1, MUX_A0, как вы предложили выше. Время не ждет, нужно двигаться дальше. Но в целом вопрос остался открытым. Если в следующий раз будет больше нескольких блоков или сигналов для выбора будет существенно больше чем 3, то решения пока нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 93 15 ноября, 2018 Опубликовано 15 ноября, 2018 · Жалоба Нет нерешаемых проблем в этом направлении. Просто их начинают решать в достаточно сложных проектах И не всегда одним и тем же способом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lninio 1 11 мая, 2019 Опубликовано 11 мая, 2019 · Жалоба Писали, что решения нет, но оно есть. Исходя из опыта рекомендую следующее: сделайте в библиотеке элемент типа Net Tie и соединяйте "вытащенные" комопненты групповой линии связи с землёй или питанием через такие компоненты. В документации на Altium Designer указано, что этот тип комопнентов как раз предназначен для решения подобных задач, позволяя соединять разноимённые цепи. Единственной проблемой станет то, что компоненты могут располагаться только на слоях Top и Bottom, что принуждает выводить компонент "шины" со внутренноего слоя на поверхностный для выполнения соединения с цепью питания. Проблема не актуальна на платах с малым количеством слоёв. Немного оффтопа, просто наболело: ответил на сообщение через полгода потому, что ящик буквально завален реклмой от electronix и среди неё сложно сразу найти сообщения по подписанным темам форума. А на реклам мозг уже не реагирует - за годы развилась защитная реакция. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Myron 0 11 мая, 2019 Опубликовано 11 мая, 2019 · Жалоба 2 hours ago, Lninio said: сделайте в библиотеке элемент типа Net Tie и соединяйте "вытащенные" комопненты групповой линии связи с землёй или питанием через такие компоненты. Единственной проблемой станет то, что компоненты могут располагаться только на слоях Top и Bottom, что принуждает выводить компонент "шины" со внутренноего слоя на поверхностный для выполнения соединения с цепью питания. У меня набор Net Tie со стандартными размерами падов разных резисторов (0201, 0402, 0603, 0805), но с медной перемычкой между площадками и полностью открытые (без силкскрина). Это позволяет лего найти их, если надо порезать перемычку, припять пермычку к другим цепям или порезать и припаять стандартный резистор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться