Статья опубликована в рамках: Научного журнала «Студенческий» № 10(30)
Рубрика журнала: Технические науки
Секция: Радиотехника, Электроника
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
ПРИМЕНЕНИЕ MATLAB SIMULINK И VERILOG HDL ДЛЯ ЗНАКОМСТВА С ПЛИС
Введение
Программируемая логическая интегральная схема (ПЛИС, англ. programmable logic device, PLD) — электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программатор и IDE (отладочная среда), позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др.
Современный арсенал инженера-электроника состоит из множества цифровых микросхем и блоков. Часто для изготовления какого-либо преобразователя используется либо микроконтроллер, либо специализированная микросхема. Данный подход имеет преимущества по многим критериям. Например, специализированные микросхемы являются достаточно надёжными, которая обеспечивается многолетней разработкой и отладкой, исправлением ошибок, дополнением защитными функциями. При использовании микроконтроллеров в разработке преобразователя программист имеет возможность выполнять последовательно каждую команду своего кода, что может упростить отладку в некоторых местах программы.
Однако, ПЛИС имеют собственную нишу со специализированными задачами. Например, гигабитные интерфейсы передачи данных или системы цифровой фильтрации. Для разработчиков микросхем и микроконтроллеров важно проверить и отладить работу системы до изготовления в кремнии. ПЛИС является их основным инструментом.
Для повышения интереса студентов к данному инструменту описан пример простейшей лабораторной работы. Идея заключается в создании простого DC-DC преобразователя и знакомством с инструментами разработки.
Simulink-модель
С целью изучения процесса разработки преобразователя на плис, рассмотрим создание управления на CPLD EPM240 фирмы Altera. Для примера взята схема понижающего преобразователя, которая представлена на рис. 1
Рисунок 1. Схема понижающего преобразователя
Для того, чтобы понять, что необходимо для написания алгоритма, создадим модель в Matlab Simulink. Simulink-модель представлена на рис. 2.
Рисунок 2. Simulink-модель понижающего преобразователя
Силовая цепь в данной модели собрана с использованием библиотеки SimPowerSystems. Параметры данного преобразователя представлены в таблице 1.
Таблица 1.
Наименование |
Simulink-компонент |
Параметры |
Назначение |
E1 |
DC Voltage Source |
Amplitude (V): 12 |
Источник питания |
VT1 |
Mosfet |
Ron (Ohms): 0.1 Rd (Ohms) : 0.01 Vf (V): 1 Rs (Ohms): 1e5 Cs (F): inf |
Силовой транзистор накачки |
VD1 |
Diode |
Ron (Ohms): 0.01 Vf (V): 0.8 Rs (Ohms): 500 Cs (F): 250e-9 |
Обратный диод для сброса энергии |
L1 |
Series RLC Branch |
Branch type: L Inductance (H): 100e-3 |
Индуктивность для запасания энергии |
C1 |
Series RLC Branch |
Branch type: C Capacitance (F): 100e-6 |
Выходной конденсатор |
R1 |
Series RLC Branch |
Branch type: R Resistance (Ohms): 5 |
Сопротивление нагрузки |
Const1 |
Constant |
Constant value: 9 Sample time: inf |
Опорное значение выходного напряжения |
Const2 |
Constant |
Constant value: 0.1 Sample time: inf |
Задание размера импульса генератора |
U_C1(feedback) |
Multimeter |
Selected measurement: Ub: C1 |
Обратная связь по напряжению на C1 |
Compare |
Relational Operator |
Relational Operator: > |
Сравнение обр. связи с опорным напряжением |
Clock |
PWM Generator (DC-DC) |
Switching frequency (Hz): 5000 |
Задаёт интервалы переключения состояний триггера |
Trigger |
D Latch |
- |
Триггер управления транзистором |
I_L1 |
Multimeter |
Selected measurement: Ib: L1 |
Ток индуктивности |
U_C1 |
Multimeter |
Selected measurement: Ub: C1 |
Напряжение выходного конденсатора |
I_R1 |
Multimeter |
Selected measurement: Ib: R1 |
Ток сопротивления нагрузки |
Scope |
Scope |
Number of input ports: 4 |
Виртуальный осциллограф |
Управление состоит из обратной связи по напряжению выходного конденсатора, оператора сравнения, значения опорного напряжения, D-триггера с генератором синхронизации. Значение обратной связи сравнивается с опорным значением и, при превышении опорного значения, подаётся логическая единица на вход D-триггера. Синхронизация в данном случае даёт возможность моделировать более приближенную к реальному поведению картину, т.к. в ПЛИС триггеры не могут иметь бесконечно быструю реакцию на изменения обратной связи. Но самым важным моментом, который необходимо учесть, является время переключения транзистора.
Осциллограммы работы данной модели представлены на рис. 3.
Рисунок 3. Осциллограммы работы Simulink-модели
Работоспособность модели наглядно продемонстрирована. Следующим этапом является разработка алгоритма для плис.
Разработка алгоритма
Для разработки алгоритма на CPLD EPM240 используется Quartus II и библиотека семейства MAXII. Код описан на языке Verilog HDL:
module Main (
input wire clk, vin,
output reg PWMout);
reg[15:0] div = 0;
reg strobe;
//divider block
always @(posedge clk)
begin
if (div == 10000)
begin
strobe <= 1;
div <= 0;
end
else
begin
strobe <= 0;
div <= div + 1'b1;
end
end
//D-trigger block
always @(posedge strobe) PWMout <= ~vin;
endmodule
После сборки и компиляции проекта Quartus выдаёт сообщение о использованных ресурсах, которые представлены в таблице 2.
Таблица 2.
Revision Name |
ConverterDC |
Top-level Entity Name |
Main |
Family |
MAX II |
Device |
EPM240T100C5 |
Timing Models |
Final |
Total logic elements |
34 / 240 ( 14 % ) |
Total pins |
3 / 80 ( 4 % ) |
Total virtual pins |
0 |
UFM blocks |
0 / 1 ( 0 % ) |
Проверка работы
Для проверки работы алгоритма используем простую схему RC-цепи, которая показана на рис. 4.
Рисунок 4. Схема RC-цепи
В качестве источника E используем выход порта EPM240 в режиме LVTTL 3.3V, напряжение конденсатора заводим на входной порт микросхемы. К Uвх и Uвых подключаем 1 и 2 каналы осциллографа соответственно. RC-цепь состоит из номиналов: R = 10 кОм, C = 0.1 мкФ.
Таким образом, чтобы напряжение на конденсаторе держалось на заданном уровне, требуется увеличить частоту путём уменьшения значения div до 200. Осциллограмма работы алгоритма представлена на рис. 5:
Рисунок 5. Осциллограмма работы RC-цепи
Напряжение на конденсаторе не превышает 1.4В, что соответствует порогу переключения порта микросхемы. Алгоритм показал работоспособность при простой проверке, можно перейти к полной сборке схемы.
Заключение
Данный пример разработки простейшего управления преобразователем предназначен для ознакомления с принципом построения лабораторной работы к курсу изучения плис. Лабораторные работы можно расширить генерацией кода с помощью Simulink-библиотеки HDL Coder, а также разработать специальный печатный модуль преобразователя.
Список литературы:
- Шипулин С.Н., Храпов В.Ю. Особенности проектирования цифровых схем на ПЛИС // Chip News, № 5. 1996
- Altera MAX II Device handbook MII5V1-3.3, 2009г. [Электронный ресурс] URL: https://www.altera.com/en_US/pdfs/literature/hb/max2/max2_mii5v1.pdf (дата обращения 10.05.18)
- И.В.Черных. Моделирование электротехнических устройств в MATLAB, SimPowerSystems и Simulink. 1-е издание, 2007 год, 288 стр., формат 17x24 см, мягкая обложка.
Оставить комментарий