реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Разработка УГО на МК с реконфигурируемыми пинами
Goofy
сообщение Oct 24 2011, 15:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 169
Регистрация: 17-09-07
Из: Красноярск
Пользователь №: 30 600



Разрабатываю устройство на базе iMX53, у которого 30% ножек могут конфигурироваться под различные выводы внутренней периферии.
Для гармонии с собой и внешним миром хочется группировать выводы периферии в УГО по назначению: SPI с SPI, UARTы c UARTами и т.д.

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

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

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

Есть соображения как обойти ситуацию? Можно бы иметь виртуальные дополнительные пины в схематике, не ссылающиеся на футпринт, но совмещённые в одну цепь с пинами оригинальными. Однако это возможно только если совмещаемый пин скрыть.
Go to the top of the page
 
+Quote Post
Goofy
сообщение Oct 26 2011, 03:17
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 169
Регистрация: 17-09-07
Из: Красноярск
Пользователь №: 30 600



Мутно описал проблему?
Go to the top of the page
 
+Quote Post
TOREX
сообщение Oct 26 2011, 05:14
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 839
Регистрация: 31-01-10
Из: Санкт-Петербург
Пользователь №: 55 187



Цитата(Goofy @ Oct 26 2011, 07:17) *
Мутно описал проблему?


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


--------------------
Кто ясно мыслит - тот ясно излагает.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Oct 26 2011, 05:29
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Ну это если приспосабливать обычную схемотехнику.
В алтиуме есть большой раздел создания FGPA проектов.
Именно там динамически назначаются ноги (сооответсвенно имена вы ставите сами)
Но здесь мало работающих в данном направлении
Go to the top of the page
 
+Quote Post
Goofy
сообщение Oct 27 2011, 05:54
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 169
Регистрация: 17-09-07
Из: Красноярск
Пользователь №: 30 600



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


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

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


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

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

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

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

Большинство нестыковок конечно же всплывёт до запуска в печать, но хотелось бы построить процесс с минимумом ненужных и непрозрачных операций.
Go to the top of the page
 
+Quote Post
TOREX
сообщение Oct 27 2011, 06:34
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 839
Регистрация: 31-01-10
Из: Санкт-Петербург
Пользователь №: 55 187



Цитата(Goofy @ Oct 27 2011, 09:54) *
(Альтернативный имеется ввиду просто другой компонент?)


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

Прикрепленное изображение


--------------------
Кто ясно мыслит - тот ясно излагает.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Oct 27 2011, 07:25
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



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

и так остается лучший выход :
Цитата
печалит то, что процесс итерационный и то самое УГО придётся править по мере оптимизации трассировки, меняя конечную конфигурацию пинов: один пин выдернуть откуда-то, другой куда-то вернуть.
Go to the top of the page
 
+Quote Post
Буратино
сообщение Oct 27 2011, 08:01
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Я пару раз делал так:
На схеме разлочивал УГО (снимаем галочку с "Lock Pins" в свойствах компонента), двигал ножки, менял названия и т.п. а потом копировал информацию о модифицированном компоненте в буфер (используя List и выделяя только информацию о УГО) и переносил в редактор УГО, где удалял все старое и вставлял новое. Таким образом перед тем как передавать на плату данные со схемы актуализировал УГО.


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Oct 27 2011, 09:15
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Так лучше проектную библиотеку саздать одним движением левого пальца правой ноги sm.gif, чем мучатся с каждым элементом
Go to the top of the page
 
+Quote Post
Буратино
сообщение Oct 27 2011, 09:45
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(Владимир @ Oct 27 2011, 12:15) *
Так лучше проектную библиотеку саздать одним движением левого пальца правой ноги sm.gif, чем мучатся с каждым элементом


Не понял. Речь идет об одном компоненте ,а точнее о его УГО?
Я предлагаю (как мне кажется) хорошее решение: человек создает такой УГО как ему нужен прямо на схеме, называет выводы так как ему нужно, группирует (я так понимаю переставляет так как нужно) после чего один раз сливает все что получилось в библиотечный УГО. Никаких итераций и последовательных приближений. Более того, по сути даже не нужно следить за красотой и однозначным совпадением расположения выводов в редакторе УГО и на схеме.


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Master of Nature
сообщение Nov 1 2011, 06:39
Сообщение #11


Мыслящий
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270



Цитата(Goofy @ Oct 27 2011, 09:54) *
Да в том то и дело что это не FPGA, а iMX53 от фрискейла.



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

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

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

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

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

Пытался заниматься подобным, но пришел к выводу - лучше одну конфигурацию пинов, самую дефолтную.
А уж распределять по функциям лучше потом, с помощью NetLabel, например.


--------------------
FAQ по AD
Форум по AD
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью.
...стоит запомнить ...вернее задуматься.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 21:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01463 секунд с 7
ELECTRONIX ©2004-2016