Скачиваний:
28
Добавлен:
01.05.2014
Размер:
7.32 Mб
Скачать

4.16.3.1. Пример Режима Поблочной Пересылки

PTSCB на рис.15 определяет три PTS цикла, каждый из которых будет передавать байты из ячеек памяти 20H-24H в один из следующих блоков: 6000H-6004H, 6005H-6009H, или 600AH-600EH. Каждый цикл PTS требует пакета из пяти передач. Источник и приёмник увеличиваются после каждой передачи, но только приёмник модифицируется после каждого цикла. Первый байт каждого цикла всегда читается из ячейки 20H.

Рис.15 PTSCB для режима Поблочной Пересылки

4.16.4. Краткий Обзор Режима Сканирования

Аналого-Цифрового Преобразователя (A/D;АЦП)

В Режиме Сканирования АЦП, PTS заставляет АЦП выполнять многократные преобразования на одном или нескольких каналах и затем сохраняет результаты. Чтобы использовать Режим Сканирования АЦП, Вы должны сначала установить в памяти таблицу команд / данных ( см. рис.16 ).

Таблица команд / данных содержит команды АЦП, которые чередуются с пустыми ячейками памяти. В этих пустых ячейках PTS сохраняет результаты преобразования. Чтобы инициализировать Режим Сканирования АЦП, разрешите прерывание по завершению А/Ц Преобразования(A/D Conversion Complete interrupt) и назначьте его ослуживание PTS, затем запустите программу начала первого преобразования.

Когда АЦП заканчивает первое преобразование и генерирует прерывание по завершению A/Ц Преобразования, инициализируется цикл PTS. В течение каждого цикла PTS, PTS сохраняет результаты из предыдущего преобразования и затем выполняет следующую команду преобразования. Так как результаты преобразования не сохраняются до следующего цикла PTS, последняя ячейка команды(Unused) должна содержать все нули, для того, чтобы предотвратить от повторного старта последнее преобразование.

Обычно, команды АЦП загружаются в таблицу из внешнего ROM. Размер таблицы ограничивается только количеством доступной памяти; она может постоянно находиться во внутреннем или внешнем ОЗУ.

Рис.16 Таблица команд/данных для режима Сканирования АЦП

В Режиме Сканирования АЦП, PTSCOUNT определяет общее число циклов А/Ц преобразования .

Регистр PTS_S/D указывает на таблицу команд/данных преобразования. Установка бита UPDT в регистре PTSCON (PTSCON.3) заставляет регистр PTS_S/D сохранять свое последнее значение в конце передачи PTS. Очистка этого регистра заставляет регистр возвращаться к значению, которое существовало в начале цикла PTS.

PTS_REG указывает на адрес 02H в HWindow 0. При чтении, эта ячейка содержит регистр AD_RESULT; при записи она содержит регистр AD_COMMAND. Режим Сканирования АЦП также использует два временных регистра, которые являются недоступными для пользователя.

4.16.4.1. Pts Циклы в Режиме Сканирования ацп

Первое A/Ц преобразование должно начинать Программное Обеспечение(A/D Command 0). Прерывание по завершению A/Ц Преобразования инициирует цикл PTS. После того, как начинается цикл PTS, происходят следующие действия:

1. PTS читает первую команду(A/D Command 1), сохраняет её во временной ячейке, и затем дважды увеличивает регистр PTS_S/D. PTS_S/D теперь указывает на первую пустую ячейку в таблице команд / данных ( чтобы адресовать xxx +2 ).

2.PTS читает регистр AD_RESULT, сохраняет результаты первого преобразования в ячейке xxx + 2 в таблице команд / данных(A/D Result 0), и дважды увеличивает регистр PTS_S/D. PTS_S/D теперь указывает на xxx + 4.

3. PTS загружает команду из временной ячейки в регистр AD_COMMAND. Это начинает следующий цикл A/Ц преобразования.

4. Если UPDT (PTSCON.3) сброшен, регистр PTS_S/D повторно инициализируется первоначальным значением. Следующая передача будет использовать ту же самую команду и запишет новые данные поверх предыдущих данных. Если UPDT установлен, PTS сохраняет новое содержимое PTS_S/D и она указывает на следующую команду.

5. PTSCOUNT уменьшается и CPU возвращается к выполнению программы. Когда PTSCOUNT достигнет нуля, аппаратные средства очищают соответствующий бит PTSSEL и устанавливает бит PTSSRV, который запрашивает прерывание “end-of-PTS”.

Когда преобразование, начатое циклом PTS, завершается и AЦП генерирует прерывание по завершению АЦП Преобразования , начинается новый цикл PTS. Шаги 1-5

повторяются.

Так как младшие шесть битов регистра AD_RESULT содержат информацию о состоянии, программа обработки “end -of-PTS” прерывания может сдвигать данные результатов вправо на шесть разрядов, чтобы оставить в памяти только результаты преобразования .

Пример 1 Режима Сканирования АЦП

Таблица команд / данных, показанная в табл.7 устанавливает ряд АЦП преобразований, начинающихся в канале 7 и заканчивающихся в канале 0. Каждый вход таблицы - слово ( два байта ). На рис.17 приведён соответствующий PTSCB.

Программное Обеспечение начинает преобразование в канале 7. После завершения преобразования, прерывание по завершению A/Ц Преобразования инициирует первый цикл PTS.

Шаг 1 запоминает команду Канала 6 во временной ячейке и увеличивает PTS_S/D до 102H.

Шаг 2 запоминает результат преобразования Канала 7 в ячейке 102H и увеличивает PTS_S/D до 104H.

Шаг 3 загружает команду Канала 6 из временной ячейки в регистр AD_COMMAND , для того, чтобы начать следующее преобразование.

Шаг 4 модифицирует PTS_S/D ( PTS_S/D указывает на 104H )и

Шаг 5 уменьшает PTSCOUNT до 7.

Следующий цикл начинается с сохранения команды канала 5 во временной ячейке . В течение восьмого цикла ( PTSCOUNT = 1) в регистр AD_COMMAND загружается фиктивная команда и никакое преобразование не выполняется.PTSCOUNT уменьшается до нуля и запрашивается “end-of-PTS” прерывание.

Таблица 7. Таблица команд/данных ( Пример 1 )

Адрес Содержание

Соседние файлы в папке Лабораторные работы по МПС