![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation
mclk R1 l R2 l R3 l R4 l R5 l R6 L STATE Рио. 8.72. Временные диаграммы для видоизмененных многофазных колебаний Эту проблему можно решить многими способами. Одна из идей состоит в том, чтобы выбрать в качестве отправной точки исходный проект (табл. 8.26), используя фазовые сигналы P1 L, P2 L и хд. только в качестве указателей на внутренние состояния. Тогда можно считать, что каждый фазовый сигнал RiL является комбинационным выходом автомата Мура, принимающим активное значение, когда соответствующий сигнал Pi L имеет активный уровень и схема находится на втором такте в пределах данной фазы. Для реализации этого первого подхода профамму на языке ABEL нужно дополнить строками, приведенными в табл. 8.28. Табл. 8.28. Добавления в программу содержащуюся в табл. 8.26, для модифицированного генератора шестифазных колебаний module TIMEG12K R1 L, R2 L, R3 L, R4 L, R5 L, R6 L pm istype com; OUTPUTS = [R1 L, R2 L, R3 L, R4 L, R5 L, R6 L]; equations OUTPUTS = PHASES к !T1; end TIMEG12K Этот первый подход легко реализовать и он дает прекрасные результаты, если мы собираемся использовать сигналы RiL только в качестве сигналов разрешения или других управляющих входных сигналов. Но это плохая идея в том случае, когда данным сигналам предстоит играть роль тактовых сигналов, поскольку, как мы сейчас объясним, у них могут быть паразитные импульсы. Сигналы PLL и Т1 являются выходными сигналами триггеров, переключающихся одним и тем же основным тактовым сигналом MCLK. Хотя сигналы изменяются на выходах триггеров примерно в одно и то же время, это никогда не происходит точно одновременно. Один из них может изменяться быстрее, а другой - медленнее; это обстоятельство называется расхождением выходных сигналов по времени {output timing sicew). Предположим, например, что при переходе из состояния 1 в состояние 2 на рис. 8.71 низкий уровень появляется в сигнале P2 L раньше, чем уровень сигнала Т1 становится высоким. В этом случае в выходном сигнале R2 L может возникнуть короткий паразитный импульс. Чтобы обеспечить отсутствие паразитных импульсов, мы должны разработать схему, у которой каждый фазовый сигнал был бы регистровым выходным сигналом. Один из способов достичь этого заключается в применении 12-разрядного кольцевого счетчика; для получения сигналов желаемого вида используются выходы только каждого второго триггера. Программа на языке ABEL, реализующая этот подход, приведена в табл. 8.29. Табл. 8.29. Программа на языке ABEL для модифицированного генератора шестифазных колебаний Bodine TIFEG12 title Modified six-phase Master Timiag Generator Input and Output pms .MCLK, RESET, RON, RESTART pm; P1 L, P2 L, P3 L, P4 L, P5 L, ?6 L pin istype reg; PiA. Р2Л, РЗА, Р4Л, PSA, Р6Л pm istype reg; State definitxonfc PHASES - [PIA, P1 L, Р2Л, P2.L, РЗА, P3 L, Р4Л, P4.L, P5A, P5J P6A, P6 L]; KEXTPH = [P6 L, PIA, P1 L, P2A, P2 L, P3A, P3 L, P4A, P4 L, PSA, P5.L, P6A3; SRESET = [1, 1, 1, 1, 1, 1, 1, 1, 1, i, i, 1]; PI = [0, 1, 1, 1, i, 1, 1, 1, 1, i, i, 1]; equations PH4SES.CLK = MCLK; WHES RESET THEK PHASES := SRESET; ELSE WHE.V RESTART # (PHASES == SRESET) THEK PHASES = PI; ELSE ШЕМ ROS THES PHASES .ЧЕХТРН; ELSE PHASES := PHASES; end TIKEG12 Еще один очевидный возможный путь - с учетом того, что в пределах цикла совокупность колебаний проходит через 12 состояний, - это построение двоичного счетчика по модулю 12 и дешифратора состояний такого счетчика. В табл. 8.30 представлена программа на языке ABEL, в которой использован данный подход. Состояниям счетчика соответствуют значения переменной STATE на рис. 8.72. Поскольку фазовые выходные сигналы объявлены как регистровые, в них нет паразитных импульсов. Заметьте, что для компенсации задержки при декодировании на один такт предусмотрено декодирование на один период тактового сигнала раньше. Кроме того, при сбросе счетчик переводится в состояние 15, а ffiodule TIMEG12A title Counter-based six-phase master timing generator Input and Output pins MCLK, RESET, RUN, RESTART pin; Pl-L, P2 L, P3 L, P4 L, PS L, P6 L pin istype reg; СЫТЗ..СКТ0 pin istype reg; Definitions CKT = [CNT3..CNTO]; P L = [P1 L, P2 L, P3 L, P4 L, P5.L, P6 L3; equations CNT.CLK = .MCLK; P.L.CLK = MCLK; WHEN RESET THEN CNT := 15 ELSE WHEN RESTART THEN CNT ;= 0 ELSE WHEN (RUN к (CNT < 11)) THEN CNT := CNT + 1 ELSE WHEN RUN THEN CNT := 0 ELSE CNT := CKT;
end TIMEG12A 8.5.10. Описание регистров сдвига на языке VHDL На языке VHDL регистры сдвига можно задавать структурно и в поведенческом стиле; мы рассмотрим несколько поведенческих описаний и их применение. Табл. 8.31 представляет собой описание работы 8-разрядного регистра сдвига с расширенным набором функций. Помимо хранения, загрузки и сдвига, выполняемых ИС 74x194 и 74x299, в данном регистре осуществляются операции циклического и арифметического сдвига. При циклическом сдвиге {circular shift) бит, теряющийся в результате сдвига с одного конца регистра, поступает на другой его конец. При арифметическом сдвиге {arithmetic shift) значение бита, заталкиваемого в регистр, устанавливается из соображений умножения или деления на 2: при сдвиге влево на правый вход подается О, а при сдвиге вправо повторяется крайний левый (знаковый) бит не в состояние О, чтобы при осуществлении сброса не возникло активное значение сигнала P1 L. Табл. 8.30. Программа для генератора шестифазных колебаний на основе счетчика ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |