[an error occurred while processing this directive]
Написал на AHDL простой код, который должен управлять шаговыми двигателями. Двигателей четыре, и работать они должны независимо. Так вот (+)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Виноградов Алексей 13 ноября 2002 г. 13:43

ИМС - EPM3032A. Компилирую и получаю сообщение о том, что нельзя тактировать объявленные мной счетчики от каких попало пинов, а только от глобальных. Так что на одной ИМС реально управлять лишь двумя двигателями. А может, можно что-то придумать, ведь куча ресурсов ПЛИС свободны ? Вот мой код (2 двигателя):

SUBDESIGN Optima_motors
(
clk_1, clk_2, clear : INPUT;
motor_1 [3..0], motor_2 [3..0] : OUTPUT;
)
variable counter_1 [1..0] : dff;
counter_2 [1..0] : dff;

BEGIN
counter_1 [].clk = clk_1;
counter_1 [].clrn = clear;
counter_1 [].prn = vcc;
counter_1 [].d = counter_1 [].q + 1;

counter_2 [].clk = clk_2;
counter_2 [].clrn = clear;
counter_2 [].prn = vcc;
counter_2 [].d = counter_2 [].q + 1;

case counter_1 [] is
when 0 => motor_1 [] = b"0001";
when 1 => motor_1 [] = b"0010";
when 2 => motor_1 [] = b"0100";
when 3 => motor_1 [] = b"1000";
end case;

case counter_2 [] is
when 0 => motor_2 [] = b"0001";
when 1 => motor_2 [] = b"0010";
when 2 => motor_2 [] = b"0100";
when 3 => motor_2 [] = b"1000";
end case;
END;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru