![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation UNLK Q2 Q3 Q1-Q2-Q3-X у Q1 \-, 53 \ 00 оД 11 10 ![]() Q2-Q3-X
Q1Q2Q3X Q2Q3X Q2Q3X Рис. 7. 59. Карты Карно для выходных функций UNLK и HINT в автомате, управляющем кодовым замком 7.5. Проектирование конечных автоматов с помощью диаграмм состояний Помимо планирования структуры цифровой системы в целом, построение конечных автоматов, возможно, является самой творческой задачей, какую приходится решать конструкторам цифровых устройств. Большинству из них нравится фафи-ческий подход. Вам, наверное, приходилось решать многие задачи, рисуя эскиз. По этой причине при проектировании небольших конечных автоматов и устройств средних размеров часто пользуются диафаммами состояний. В этом парафафе мы приведем примеры разработки с использованием диафамм состояний и опишем простую процедуру синтеза схем на их основе. Эта процедура лежит в основе метода, реализуемого средствами автоматизированного проектирования, которые могут создавать логическую сфуктуру из фафического представления или даже из текстового представления диафамм состояний. Составление диафамм состояний во многом подобно составлению таблицы состояний, которое, в свою очередь, очень похоже на написание профаммы, как мы видели это в разделе 7.4.1. Однако имеется одно принципиальное различие между диафаммой состояний и таблицей состояний, которое делает составление диаграммы состояний проще, хотя при этом риск допустить ошибку увеличивается: Таблица состояний представляет собой исчерпывающий список следующих состояний для каждой комбинации состояние/вход. Никакая неоднозначность не возможна. В диафамме состояний имеется множество стрелок, у которых надписаны выражения переходов. Даже при наличии многих входов с каждой стрелкой связано только одно выражение перехода. Однако при составлении диаграммы состояний нет гарантии, что выражениями переходов у стрелок, выходящих из данного состояния, все комбинации входных сигналов покрываются точно по одному разу. ![]() LC IB U RA RB RC Рис. 7.60. Задние фонари автомобиля марки Ford Thunderbird чей это вид сзади? То, что изображено на рис. 7.60, на самом деле больше похоже на вид сзади у автомобиля марки Mercuri Capri, который тоже имеет бегущие задние огни. В неоднозначной диаграмме состояний {ambiguous state diagram), то есть в диаграмме состояний, составленной ненадлежащим образом, для некоторых комбинаций входных сигналов следующее состояние может оказаться не заданным, что в общем случае нежелательно, тогда как для других комбинаций входных сигналов может быть указано несколько следующих состояний, что, очевидно, неправильно. Таким образом, составление диаграмм состояний необходимо осуществлять с большой осторожностью. Приведем несколько примеров. Нашим первым примером будет конечный автомат, управляющий задними огнями в автомобиле марки Ford Thunderbird вьшуска 1965 года (рис. 7.60). С каждой стороны имеется по три фонаря, и при поворотах они зажигаются последовательно, как показано нарис. 7.61, чтобы наглядно демонстрировать направление поворота. У конечного автомата два входных сигнала LEFT и RIGHT, которые несут поступающую от водителя информацию о его намерении совершить левый или правый поворот. Имеется также вход аварийного мигания НА2; при поступлении сигнала на этот вход задние огни должны работать в аварийном режиме: все шесть фонарей мигают одновременно, включаясь и выключаясь. Мы предположим также, что есть автономный источник тактового сигнала, частота которого равна желаемой частоте мигания. (а) LC (Ь) RA ч> о о W :ш ш ч ✓ ч / Рис. 7.61. Последовательность переключения задних огней у автомобиля марки Ford Thunderbird (а) при повороте налево, (Ь) при повороте направо При перечисленных требованиях мы можем построить тактируемый синхронный конечный автомат для управления задними огнями этого автомобиля. Мы создадим автомат Мура, так что только от состояния будет зависеть, какие огни окажутся зажженными, а какие - погашенными. При левом повороте автомат циклически должен проходить через четыре состояния, в каждом из которых правые огни не горят, а слева включены 0,1,2 или 3 фонаря. Аналогично, при правом повороте должны циклически повторяться четыре состояния с погашенными левыми огнями и с числом горящих фонарей справа О, 1, 2 или 3. В аварийном режиме необходимы только два состояния, когда все огни включены и все огни выключены. На рис. 7.62 показан первый набросок диафаммы состояний для такого автомата. Введено общее состояние IDLE, в котором все огни погашены. Когда включен левый поворот, автомат проходит три состояния с 1, 2 и 3 зажженными левыми огнями, а затем возвращается в состояние IDLE; то же происходит при правом повороте. В аварийном режиме автомат периодически переключатся из состояния IDLE в состояние со всеми шестью зажженными огнями и обратно. Поскольку в данном случае выходов много, мы не стали указывать значения выходных сигналов на диафамме состояний, а составили отдельную таблицу выхода. Глядя на эту таблицу, можно написать уравнения выхода, даже не прибегая к представлению состояний с именами в виде двоичных комбинаций, если допустить, что каждое имя состояния является логическим выражением, принимающим единичное значение только в этом состоянии: LA = L1 + L2 + L3 + LR3 LB = L2 + L3 + LR3 LC = L3 + LR3 RA=R1 + R2 + R3+ LR3 RB = R2 + R3 + LR3 RC = R3 + LR3 ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |