Информационные технологии при проектировании высокомоментного линейного привода с цифровым программным управлением

дипломная работа

2.4 Разработка блока управления для высокомоментного линейного привода с цифровым программным управлением

В блоке управления высокомоментным линейным приводом с цифровым программным управлением одна из функций управления будет осуществляется при помощи ПЛИС Xilinx. Программирование ПЛИС осуществляется в бесплатном САПР XILINX ISE 5.1 поскольку для реализации требуемой функции управления достаточно микросхемы CPLD серии 9500. При создании нового проекта File/New Progect система предлагает определить тип и серию микросхемы. В данном конкретном случае достаточно серии XC95108. Как уже ранее упоминалось проект можно описывать несколькими способами:

- с помощью диаграмм-состояний;

- с помощью стандартных библиотечных блоков(примитивов);

- на языке VHDL.

Проект будет иметь иерархическую структуру, поскольку схема будет постепенно усложняться, простые блоки будут входить в состав более сложных. Окно имеет вид Рис 2.11

Рисунок 2.11. - Общий вид проекта в САПР XILINX ISE 6.0

Для того чтобы задать, каким методом будет выполняться задача необходимо в выпадающем меню, при нажатии левой клавишей мыши по названию проекта выбрать New Sourse и определить способ. Расширение VHD будут иметь файлы, написанные на языке VHDL, SCH- файлы схемного редактора, DIA- файл с диаграммами-состояний.

На Рис. 2.11. 468339016- имя проекта, xc95108-20pq160- тип кристалла, причем 9500- серия, 108-ми выводной корпус, температурный предел -20, pq160- тип корпуса.

Mure_2.vhd- два работающих независимо друг от друга автомата Мура, на восемь состояний каждый.

Работа автоматов по сигналам CLK/DIR(частота/ направление).

Граф-схема для данного автомата представлена на Рис 2.12.

Переход между состояниями осуществляется по заднему фронту сигнала CLK1, по часовой стрелке: при UP1=1; где UP= DIR1 and L1R and EN1; против часовой стрелки: при DOWN1=1; где DOWN1= not DIR1 and L1L and EN1.

PHA10- фаза А , первого автомата, низкий уровень;

PHA11- фаза А , первого автомата, высокий уровень;

PHB10- фаза В, первого автомата, низкий уровень;

PHВ11- фаза АВ, первого автомата, высокий уровень;

L1L-граница слева;

L1R-граница справа;

Аналогично для второго автомата.

В данном проекте этот метод не использовался. Был сгенерирован VHDL код, который использовался при описании автоматов в файлах с расширением *.vhd

Рисунок 2.12.- Пример задания автомата Мура с помощью диаграмм-состояний.

Если в данном проекте часть требуемых функций была реализована путем описания на языке VHDL. Соответствующее окно открывается следующим образом: при нажатии правой клавишей мыши по названию проекта появляется меню, в котором выбираем VHDL Module, затем система предлагает ввести имя и входные и выходные. При написании проекта использовались примеры описания на языке VHDL стандартных элементов (триггера, компаратора, мультиплексора и т.д.) из вложенной библиотеки, активизируя окно Library View. Одна из функций, реализуемая этим способом представлена на Рис. 2.13.

Однако реализация всего проекта при описании на языке VHDL, весьма затруднительна. Поскольку требует не только хорошего владения схемотехникой, но и высокого уровня владения языком VHDL. Поэтому довольно много функций реализуется в схемном редакторе, т.к. он более простой и наглядный. Вызов его осуществляется, нажатием правой клавишей мыши по названию проекта и в появившемся меню, выбираем Schematic.

Рисунок 2.13. -Окно для реализации проекта на языке VHDL

Меню Symbols имеет обширную библиотеку элементов из которой выбираем необходимые просто перетаскивая мышью. Соединяем элементы между собой, выбрав на панели инструментов соответствующую функцию или Add/ Add Wire, где это необходимо подписываем сигналы Add/ Add New Name, в появившемся меню записываем имя сигнала и нажатием мыши надписываем над соответствующей линией. В готовой схеме назначаем входные и выходные порты(сигналы) Add/ Add I/O Marker. Одна из схем в этом редакторе приведены на Рис 2.14.

Реализация проекта осуществляется снизу вверх, т.е. "от простого к сложному". После каждой ступени необходимо синтезировать проект, нажатием Synthesize, для своевременной диагностики ошибок. Окно полного проекта было приведено на Рис. 2.11.

Рисунок 2.14.-Реализация проекта в схемном редакторе.

Пакет имеет возможность моделирования поведения по средствам ModelSim,(подробно описываться не будет) что бы посмотреть реализуется ли требуемая функция. Вызываем Test Bench Waveform, задаем уровень входных сигналов, частоту и время отработки. Пример окна с временными диаграммами приведен на Рис. 2.15

Рисунок 2.14.-Окно временных диаграмм.

Делись добром ;)