Читаем Искусство схемотехники. Том 3 полностью

Мы не без основания подозреваем, что дальнейшие абстрактные обсуждения системы команд и режимов адресации заставляет вас закрыть эту книгу навсегда. Поэтому давайте рассмотрим прострой пример программирования, после чего перейдем к сигналам магистрали МП 68008. После этого мы сможем выполнить полное проектирование микропроцессорного устройства на базе МП 68008, включая его программное обеспечение.

Иллюстрация команд и режимов адресации МП 68000 дана в программе 11.1, где показаны два способа копирования таблицы из 100Н байт, начинающейся в ячейке $8000, в непосредственно прилегающую область памяти (с адреса $8100).



В первом варианте для пересылки из памяти в память мы использовали косвенную адресацию со смещением (удобное средство, отсутствующее в МП 8086), а также инкремент указателя, декремент счетчика и условный переход. При частоте генератора 10 МГц цикл занимает 6,2 мкс, и вся таблица пересылается за 1,6 мс. Во втором варианте в программу введен второй адресный регистр, указывающий на приемник. В этом случае можно использовать постинкрементную адресацию и отказаться от команды ADDQ, что увеличивает скорость пересылки. Анализ на выход из цикла мы выполняем с помощью более эффективной (но рискованной) команды «декремент и условный переход» DBcc. В результате цикл выполняется почти в два раза быстрее (3,4 мкс на шаг, 0,87 мс на всю пересылку).

Упражнение 11.2. Напишите программу для вычисления суммы 16-разрядных слов в таблице, начинающейся с адреса $10000. Пусть длина таблицы в словах хранится в качестве первого элемента таблицы (он не должен входить в сумму); предположите также, что суммирование не приведет к переполнению.

Упражнение 11.3.

Напишите программу для изменения порядка байтов в таблице, имеющей длину $100 байт и начинающуюся с адреса $1000.


Прямолинейный (но медленный) способ решения задачи заключается в изменении порядка байтов в процессе копирования во вспомогательный массив, который затем копируется на место исходного. Более быстрый способ предполагает изменение порядка байтов «на месте» (следите только, чтобы, шагая по таблице, не наступить себе же на ноги). Запрограммируйте оба метода.


11.04. Сигналы магистрали

Если вы усвоили взаимодействие сигналов на магистрали IBM PC, то разобраться с сигналами МП 68008 не составит труда — они схожи. Мы описали их в табл. 11.4 (имеющей тот же формат, что и табл. 10.1) и на рис. 11.3.



Рис. 11.3.Сигналы МП 68008.


Лучше всего воспользоваться уже испытанной последовательностью изучения и рассмотреть сначала программно-управляемую передачу данных («программно-управляемый ввод-вывод»), затем прерывания и, наконец, ПДП. Это не займет много времени.

Программно-управляемая передача данных. Программно-управляемая передача данных показана на рис. 11.4; мы также изобразили сигналы (CLK и AS'), которые в процессе проектирования схемы обычно можно игнорировать.



Рис. 11.4.Циклы чтения/записи МП 68008 (8 МГц, без состояний ожидания).


В МП 68008 используется один сигнал, стробирующий данные (DS'), а также линия направления чтения-записи (R/W) в отличие от IBM PC, где предусмотрены два стробирующих сигнала (IOR', IOW'

). В цикле записи ЦП переводит сигнал R/W в низкое состояние, устанавливает адрес и данные и, выждав некоторое время, переводит в низкое состояние сигнал DS'. Приемник (память или устройство ввода-вывода) фиксирует данные, которые (в отличие от IBM PC) гарантированно установлены еще перед фронтом сигнала DS', и подтверждает прием, устанавливая в низкое состояние сигнал DTACK'. ЦП завершает цикл, снимая сигнал DS' и затем (выждав некоторое время на случай использования приемником Прозрачных фиксаторов) снимает адрес и данные. Таким образом, достоверность данных гарантируется в течение DS' плюс короткие интервалы до и после сигнала. Цикл чтения отличается лишь тем, что ЦП поддерживает линию R/W' в высоком состоянии (указывая тем самым, что выполняется чтение) и, к тому же, устанавливает сигнал DS' на один такт раньше, чтобы дать возможность источнику данных отозваться на требование данных. Данные должны быть установлены до окончания сигнала DS'; детали взаимодействия показаны на рис. 11.4.

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки