3 января 2012 г.

Делаем курсач по VMEbus. Часть 11. Импорт микросхемы из P-CAD в SchemaGee с последующим допиливанием

В прошлой статье мы разобрались, как нарисовать свою микросхему с SchemaGee. А бывает так, что нужная нам микросхема уже нарисована буржуазными электронщиками в P-CADе и нам быстрее взять ее из готовой библиотеки и чуть-чуть подкорректировать для сходства с российским ГОСТом.


P-CAD 

P-CAD - это система автоматизированного проектирования электроники, разрабатывавшаяся компанией Altium. В 2008 году компания прекратила поддержку этой программы, выпустив Altium Designer, однако от P-CAD остался огромный багаж библиотек компонентов. P-CAD в России очень любят любили, мы тоже попытаемся проникнуться любовью к нему, воспользовавшись экспортом библиотек.

Я нашел пакет, который называется P-CAD 2006 + SP2 + библиотеки, и радостно себе поставил все, что в нем лежало. Сам P-CAD версии 2006-го года, а либы от версии 2004. 


Экспорт библиотеки из P-CAD


Сначала определимся, какой элемент нам нужен, кто его произвел, и какое у него назначение. Вспомним, мы что-то там говорили про программируемый компаратор ALS526. В его даташите мы видим производителя - Texas Instruments - и то, что он присутствует в сериях 54ALS и 74ALS. Эти две серии элементов (аналоги 1533) различаются разве что выходными токами логических 0 и 1.

Пускаем Library Executive из той пачки программ, которую наставил нам P-CAD. Получаем окно:




Жмем Library -> Translate,
  • Source format выбираем P-CAD binary,
  • Destignation format выбираем P-CAD ASCII,
  • в Source Library выбираем Program Files\P-CAD 2004\Lib\Texas Instruments\TI LOGIC COMPARATOR.LIB,
  • в Destignation Library выбираем Program Files\GeeTeeSoft\Schemagee\Examples\Libraries\ и обзываем как хотим, например TI-logic-comparators.lia.


Жмакаем Сохранить, Translate, Close. Закрываем прогу.

Импорт библиотеки в SchemaGee

Запускаем SchemaGee. Жмакаем Файл -> Создать библиотеку. Потом Файл -> Импорт.... Меняем тип файлов на *.lia, выискиваем, где мы сохранили библиотеку (у меня получилось Program Files\GeeTeeSoft\Schemagee\Examples\Libraries\TI-logic-comparators.lia), жмем ОК. Получаем окно выбора компонентов для импорта:


Нам не жалко импортировать все, Поэтому жмакаем Выделить все, >> и ОК. Библиотеку можно сохранить для будущего использования под любым именем (Файл -> Сохранить).

Добавление компонента в свою библиотеку

Найдем в импортированной библиотеке интересующий нас компонент:


Жмем на компонент правой кнопкой, выбираем Копировать.

Возвращаемся в режим редактирования схемы, выбираем на правой панели нашу библиотеку ASNI, жмем на нее правой кнопкой, выбираем Открыть библиотеку:



Когда библиотека откроется, жмем Правка -> Вставить. Элемент появится в библиотеке:


Редактируем элемент

Жмем на элемент правой кнопкой мыши, выбираем Редактировать. Видим не очень красивый такой элемент:


Ну ничего, мы его щас причешем! TO DO:

  1. убрать VCC и GND, 
  2. нарисовать вертикальные разделительные линии
  3. нарисовать горизонтальную разделительную линию, 
  4. изменить номера выводов в соответствии с даташитом,
  5. написать COMP посередине,
  6. {RefDes} поместить над элементом, 
  7. {Type} поместить под элементом.
Хинт: чтобы сделать красиво названия входов по центру блока, выделите их все разом, нажмите на один из них правой кнопкой, выберите Свойства, сделайте выравнивание по центру и потом сместите названия вправо:


Жмем на проводки входов по два раза - вызываем вот такие окна, в которых меняем номера выводов:


Меняем номера в соответствии с даташитом:
  • OE это 1;
  • GND это 10;
  • VCC это 20;
  • P=Q это 19 (инверсный статический);
  • P0-P7 это 2-9;
  • P8-P16 это 11-18.
Получаем что-то вот такое:



Довольно прилично выглядит! Жмем Файл -> Сохранить. Переходим в режим редактирования библиотеки, выбираем компонент SN74ALS526N, жмем по нему правой кнопкой мыши, выбираем Редактировать. Приводим в соответствие номера выводов компонента с номерами выводов элемента:


Добавляем выводы VCC (20) и GND (10):


Жмем ОК, Файл -> Сохранить.

Вроде все. Переходим в режим рисования схемы, обновляем нашу библиотеку, ставим наш новый компонент в схему, жмакаем по нему правой кнопкой, выбираем Свойства, делаем видимым атрибут названия компонента:


Жмем ОК. Радуемся.

P.S. 

В ряде случаев импорт готового компонента из существующей библиотеке может оказаться быстрее и удобнее, чем рисование с нуля. Импорт связан со своими трудностями, да хотя бы требованием наличия P-CAD. Импорт позволяет избежать некоторых рутинных операций, но добавляет другие. Наше дело уметь пользоваться всеми доступными инструментами и выбирать, в каком случае какой применить, ведь так? ;)

Список статей

Часть 1. Введение. Евромеханика
Часть 2. Шины и устройства
Часть 3. Шина DTB
Часть 4. Slave-устройство на шине DTB. Циклы записи и чтения
Часть 5. Чтение адреса slave-устройством. Типы адресации. Регистр-защелка и компаратор
Часть 6. Программное управление slave-устройством. Дешифратор, D-триггер и свичи
Часть 7. Прерывания, прерыватели, шина приоритетных прерываний,вектор прерывания
Часть 8. Шинные формирователи
Часть 9. Рисуем схему по ЕСКД. Schemagee. Автоматическое создание списка элементов
Часть 10.Добавляем собственную микросхему в Schemagee
Часть 11. Импорт микросхемы из P-CAD в SchemaGee с последующим допиливанием

4 комментария:

  1. Очень по нраву ваш бложик. Тепло, по теме и с юморком. Вы делаете интернет лучше.
    Вышел случайно, в поисках информации о EUR 4100 (КАМАК). На родной кафедре куча барахла, работающего на них, да и давно пора прибрать к рукам кучу модулей, лежащих в закромах бесполезным грузом. Поэтому я взялся организовать контроллер all-in-one.
    У меня вопрос концептуального толка -- насколько употребимой в среде экспериментаторов является шина VME (вы в начале цикла пишете про ФТФ НГТУ)? Я, кажется, видел крейты в новосибирском ИЯФе, но как-то бегло, в полумраке и не уверен, что правильно их опознал.

    ОтветитьУдалить
    Ответы
    1. Спасибо за добрые слова. ФТФ НГТУ я только что закончил, разработка VME -модуля была темой курсовой работы. Кому-то достался КАМАК, кстати. В Новосибирском ИЯФе ОЧЕНЬ много крейтов, в основном они заполнены КАМАКовской начинкой, более того, не только ИЯФ имеет большой зоопарк подобной техники, зайдите в институт Лазерной физики, Неорганической химии, Автоматики и Электрометрии, да практически в любой институт СО РАН - там вы встретите много этого добра. На счет употребимости можно привести пример из того же ИЯФа, там на VME и КАМАК построена система сбора данных EPICS. Список производителей VME модулей впечатляет, и они продают далеко не старое барахло. Небезызвестная LabVIEW имеет библиотеки для работы с VME, что сильно упрощает работу с ней. Вообще, об этом можно долго говорить :)

      Удалить
    2. О, я бы с удовольствием поговорил об этом. Я скоро понаеду в Новосибирск коллаборантом. Мне предстоит практически вмешиваться в работающий эксперимент, добавлять туда собственную измерительную аппаратуру, а представления о том, как функционирует автоматика ВЭПП-3 у меня смутные. И коллеги пока не горят энтузиазмом меня на этот счёт просвещать.
      Сейчас я конструирую КАМАК-контроллер на базе STM32 с Ethernet-интерфейсом. Хочу навернуть туда ОСРВ и рулить с него нашими кафедральными стендами. Да и кажется весьма пользительно в лаборатории держать под рукой крейт с прецезионной измерительной аппаратурой, которым можно без лишних хлопот управлять через обыкновенные сокеты на высоком уровне абстракции. Всякие плюшки вроде хранилища на SD-карте, внутрисхемного программирования МК, ПЛИС, триггерных схем... Но меня не отпускает чувство, что я изобретаю велосипед. Почти уверен, что подобные решения существуют, только вот где их искать?

      Удалить
    3. Модулей полно, например: http://www.testequipmentexpo.com/lecroy_camac.html
      http://beta.globalspec.com/industrial-directory/camac_module и
      и даже есть список модулей со схемами, которые используются в Fermilab на теватроне:
      http://www-ad.fnal.gov/controls/hardware_vogel/modules.htm
      Однако контроллер крейта на STM32 я не видел. Если у вас получится его соорудить - будет классно!

      Удалить