Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 507

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 501 502 503 504 505 506 < 507 > 508 509 510 511 512 513 .. 528 >> Следующая

устройства, отвечающий сформулированным выше требованиям, может
приобрести вид, соответствующий граф-схеме переходов автомата,
приведенной на рис. 8.18. Граф-схема переходов при помощи графического
редактора программы StateCAD Version 3.2 пакета Workview Office фирмы
"Viewlogic" была занесена в соответствующий диаграммный файл, что, как
будет показано далее, существенно упрощает не только отладку и возможные
корректировки алгоритма, но и создание соответствующих программных
текстов.
Перейдем к анализу автомата CntRAM, управляющего записью и считыванием
данных в буферное ОЗУ и поддерживающего для этих обменов требуемое
взаимодействие квитирующими сигналами.
893
894
Рис. 8.17. Структурная схема устройства в САПР MAX+PLUSII
ПРОЕКТИРОВАНИЕ МПС
ПРИМЕР АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ЦИ(r)РОВОГОУСТРОЙСТВАС
ИСПОЛЬЗОВАНИЕМ ЯЗЫКОВ ОПИСАНИЯ АППАРАТУРЫ
Основу алгоритма составляют два последовательно выполняемых блока.
Первый блок по сигналу запроса на преобразование ReqADC от внешнего
устройства обеспечивает циклическое выполнение следующей
последовательности действий. В состоянии автомата (StartWr) выставляется
ситал запуска преобразователя (StartADC), дождавшись сигнала готовности
данных от АЦП (ReadyADC), считывает Юбитданныхизапи-сывает их (в
состоянии WrData) в память (формируя сигнал WE). Об окончании приема
данных АЦП узнает благодаря сбросу запроса на преобразование, затем
автомат наращивает адрес ОЗУ (формируя в состоянии IncWrсигнал IncAdr).
Признаком завершения приема блока данных является ситал Мах, формируемый
на основании анализа состояния счетчика адреса ОЗУ.
По завершении записи блока данных автомат в состоянии Pausel выставляет
сигнал о заполнении ОЗУ данными ReadyData и сбрасывает счетчик адреса ОЗУ
(сигнал ResAdr), подготавливая его тем самым к циклу считывания данных в
МК. Этот цикл и составляет
not RegADC
О
О
IX
ю
A.I

;! J ;и Ah
'38
ПРОЕКТИРОВАНИЕ МПС
основу второго блока выполняемых автоматом действий. Поскольку
формирование сигналов открытия выходных буферов CsADCH и CsADCL
выполняется внешними относительно автомата цепями, основной задачей блока
является выполнение последовательности действий, которая, обнаружив два
последовательно выставленных внешних сигнала автомата Rd, формирует
сигнал IncAdr, обеспечивающий переход к следующему адресу. Число
требуемых итераций цикла, как и в первом блоке, подсчитывает счетчик
адреса. Следует обратить внимание на петли ожидания в состояниях WaitRd,
RdBytel, Pause2 и RdByte2, наличие которых обеспечивает требуемую
синхронизацию.
Для правильной работы автомата асинхронные сигналы ReqADC, ReadyADC и Rd
требуют их предварительного запоминания в дополнительно введенных в схему
D-триггерах. Тактирование D-триггеров сигналами nClock, т. е. задним
фронтом сигнала (при условии, что автомат тактируется передним фронтом
сигнала Clock), гарантирует четкую работу автомата. Для устранения
паразитных врезок у выходного сигнала автомата ReadyData (которые могут
вызывать ошибочные действия системы прерываний микроконтроллера) также
используется D-триггер, тактируемый сигналом nClock.
Дадим некоторые пояснения к синтаксису VHDL-программы устройства
упрааления. Для автомата приведенного примера с помощью программы
StateCAD Version 3.2 пакег та Workview Office фирмы "Viewlogic" была
выполнена трансляция диаграммы (для разных вариантов языкового описания).
Был создан вариант, ориентированный на возможности языка описания
аппаратуры на языке высокого уровня VHDL (листинг 1).
При компиляции из графической формы в текстовую программа StateCAD
учитывает, для компилятора какой фирмы предполагается использовать
описание автомата (соответствующим образом выбирая используемые
синтаксические конструкции). Аналогичные соображения должны приниматься
во внимание и при ручном написании программ. Это ограничение возникает
из-за того, что набор допустимых синтаксических конструкции языка для
различных фирм существенно отличается от стандартного. Для примера
выбрана ориентация на САПР Synopsys (как имеющую меньшие ограничения).
Листинг 1
- VHDL code created by Visual Software Solution's StateCAD Version 3.2
- This VHDL code (for use with Synopsys) was generated using: -
enumerated state assignment with structured code format.
- Minimization is enabled, implied else is enabled,
- and outputs are manually optimized.
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY synopsys;
USE synopsys.attributes.all; ;
ENTITY CntRAM IS
PORT (CLK,Max,Rd,ReadyADC,ReqADC,Reset: IN stdjogic;
IncAdr, ReadyData,ResAdr.StartADC,We: OUT stdjogic);
END;
ARCHITECTURE BEHAVIOR OF CntRAM IS
TYPE type_sreg IS (AdrNew,EndLoop,Idle,IncWr,Pausel
,Pause2,Pause3,RdBytel,
RdByte2,StartWr,WaitRd,WrData);
SIGNAL sreg, next_sreg : type_sreg;
ATTRIBUTE sync_set_reset OF Reset: signal is "true";
BEGIN
PROCESS (CLK)
BEGIN
IF CLK=' 1' AN D CLK'event THEN
896
ПРИМЕР АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ЦИФРОВОГО УСТРОЙСТВА С
Предыдущая << 1 .. 501 502 503 504 505 506 < 507 > 508 509 510 511 512 513 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed