Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разработка УГО на МК с реконфигурируемыми пинами
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Goofy
Разрабатываю устройство на базе iMX53, у которого 30% ножек могут конфигурироваться под различные выводы внутренней периферии.
Для гармонии с собой и внешним миром хочется группировать выводы периферии в УГО по назначению: SPI с SPI, UARTы c UARTами и т.д.

Изначально все пины в документации однозначно обозваны и в первой итерации рисования УГО уже распределены.

В реальном дизайне далеко не факт что конкретный модуль (пусть будет I2C) будет использоваться, при этом как его пин SDA будут задействованы на, например, UARTе TX. А UART RX, допустим, подключается к пину с дефолтной принадлежностью к пину шины адреса модуля внешней памяти (EMI).
Если ничего не предпринимать, то получим размазанную по куче листов схему подключения UARTа. Абсолютно не читаемо.

Конечно же можно цеплять название цепи, писать коментарии и т.д.
В идеале хотелось бы прорисовать дублированные пины, но уже с желаемым названием и подписью номера конфигурации пина, пример - UART0_RX (alt3).
В реальности имеем дело с дублированными десигнаторами, причитанием компилятора и не рабочим экспортом схематика в пцб.

Есть соображения как обойти ситуацию? Можно бы иметь виртуальные дополнительные пины в схематике, не ссылающиеся на футпринт, но совмещённые в одну цепь с пинами оригинальными. Однако это возможно только если совмещаемый пин скрыть.
Goofy
Мутно описал проблему?
TOREX
Цитата(Goofy @ Oct 26 2011, 07:17) *
Мутно описал проблему?


Да уж сложно как-то.
Если Вам нужно для каждого
случая другое имя пина, то вариантов может несколько:
1 менять имена прямо в схеме
2 использовать параметры пинов, т.е. гасите имя и делаете видимым параметр, нужный Вам
3 делаете альтернативные УГО и в схеме выбираете нужное.
Владимир
Ну это если приспосабливать обычную схемотехнику.
В алтиуме есть большой раздел создания FGPA проектов.
Именно там динамически назначаются ноги (сооответсвенно имена вы ставите сами)
Но здесь мало работающих в данном направлении
Goofy
Цитата(Владимир @ Oct 26 2011, 13:29) *
Ну это если приспосабливать обычную схемотехнику.
В алтиуме есть большой раздел создания FGPA проектов.
Именно там динамически назначаются ноги (сооответсвенно имена вы ставите сами)
Но здесь мало работающих в данном направлении


Да в том то и дело что это не FPGA, а iMX53 от фрискейла.

Цитата
Да уж сложно как-то.
Если Вам нужно для каждого
случая другое имя пина, то вариантов может несколько:
1 менять имена прямо в схеме
2 использовать параметры пинов, т.е. гасите имя и делаете видимым параметр, нужный Вам
3 делаете альтернативные УГО и в схеме выбираете нужное.


Кроме смены имени (что меньшее из проблем) хотелось бы группировать пины.
А тут годиться только 3й вариант.

(Альтернативный имеется ввиду просто другой компонент?)

Но и с этим вариантом можно нарваться, контроль коррекности распиновки усложняется. Объясню почему.
В убогой неудобной документации фрискейла все реконфигурируемые пины в привязке к футпринту обозначены однозначно: дефолтный вариант конфигурации.
Если мы меняем это название, то проверять останется только через таблицы или их утилиту IOmux. И это явно слабое звено.
Можно конечно прописать через слэш нужную альтернативную конфигурацию, но схема будет читаться хуже.

А вот со скрытым названием и высвеченным параметром может получиться.
Печалит только то, что УГО выходит не универсальным.
Пуще этого печалит то, что процесс итерационный и то самое УГО придётся править по мере оптимизации трассировки, меняя конечную конфигурацию пинов: один пин выдернуть откуда-то, другой куда-то вернуть.
В этот момент кто-то позвонил, позвал и появляется шанс вложить 1000$ в никуда.

Большинство нестыковок конечно же всплывёт до запуска в печать, но хотелось бы построить процесс с минимумом ненужных и непрозрачных операций.
TOREX
Цитата(Goofy @ Oct 27 2011, 09:54) *
(Альтернативный имеется ввиду просто другой компонент?)


Нет, альтернативный это тот же компонент, но с другой графикой и (или) располжением выводов и т.д.
Например диодный мост можно сделать в виде диагонально расположенного квадрата с выводами от вершин или это прямоугольник с выдами от двух (четырех) сторон.
В схеме переключается выпадающим списком Mode в поле Grapfical свойств компонента.

Нажмите для просмотра прикрепленного файла
Владимир
Это так. но красиво работает при малом числе выводов и гейтов.
У автора топика у микросхемы выводов не меряно, число гейтов за десяток вылезает, а уж число видов--гейтов уму не постижимо.
Соответственно за всеми видами не уследить
Объем библиотечного компонента поднимается до невероятного размера, а в схеме еще и умнажается на число гейтов

и так остается лучший выход :
Цитата
печалит то, что процесс итерационный и то самое УГО придётся править по мере оптимизации трассировки, меняя конечную конфигурацию пинов: один пин выдернуть откуда-то, другой куда-то вернуть.
Буратино
Я пару раз делал так:
На схеме разлочивал УГО (снимаем галочку с "Lock Pins" в свойствах компонента), двигал ножки, менял названия и т.п. а потом копировал информацию о модифицированном компоненте в буфер (используя List и выделяя только информацию о УГО) и переносил в редактор УГО, где удалял все старое и вставлял новое. Таким образом перед тем как передавать на плату данные со схемы актуализировал УГО.
Владимир
Так лучше проектную библиотеку саздать одним движением левого пальца правой ноги sm.gif, чем мучатся с каждым элементом
Буратино
Цитата(Владимир @ Oct 27 2011, 12:15) *
Так лучше проектную библиотеку саздать одним движением левого пальца правой ноги sm.gif, чем мучатся с каждым элементом


Не понял. Речь идет об одном компоненте ,а точнее о его УГО?
Я предлагаю (как мне кажется) хорошее решение: человек создает такой УГО как ему нужен прямо на схеме, называет выводы так как ему нужно, группирует (я так понимаю переставляет так как нужно) после чего один раз сливает все что получилось в библиотечный УГО. Никаких итераций и последовательных приближений. Более того, по сути даже не нужно следить за красотой и однозначным совпадением расположения выводов в редакторе УГО и на схеме.
Master of Nature
Цитата(Goofy @ Oct 27 2011, 09:54) *
Да в том то и дело что это не FPGA, а iMX53 от фрискейла.



Кроме смены имени (что меньшее из проблем) хотелось бы группировать пины.
А тут годиться только 3й вариант.

(Альтернативный имеется ввиду просто другой компонент?)

Но и с этим вариантом можно нарваться, контроль коррекности распиновки усложняется. Объясню почему.
В убогой неудобной документации фрискейла все реконфигурируемые пины в привязке к футпринту обозначены однозначно: дефолтный вариант конфигурации.
Если мы меняем это название, то проверять останется только через таблицы или их утилиту IOmux. И это явно слабое звено.
Можно конечно прописать через слэш нужную альтернативную конфигурацию, но схема будет читаться хуже.

А вот со скрытым названием и высвеченным параметром может получиться.
Печалит только то, что УГО выходит не универсальным.
Пуще этого печалит то, что процесс итерационный и то самое УГО придётся править по мере оптимизации трассировки, меняя конечную конфигурацию пинов: один пин выдернуть откуда-то, другой куда-то вернуть.
В этот момент кто-то позвонил, позвал и появляется шанс вложить 1000$ в никуда.

Большинство нестыковок конечно же всплывёт до запуска в печать, но хотелось бы построить процесс с минимумом ненужных и непрозрачных операций.

Пытался заниматься подобным, но пришел к выводу - лучше одну конфигурацию пинов, самую дефолтную.
А уж распределять по функциям лучше потом, с помощью NetLabel, например.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.