Учебник - Процессоры цифровой обработки сигналов (Круг П.Г.) (1086865), страница 9
Текст из файла (страница 9)
4.5.5). Уровень приоритета данногопрерывания равен 8;· прерывание приема (RINT) вызывает переход по адресу 0008h впрограммной памяти, если выполнено условие срабатываниятриггера прерывания приема. Это условие задается битами FR0 иFR1 управляющего регистра SSPCRпоследовательного порта.Уровень приоритета данного прерывания – 7.Для маскирования прерываний XINT и RINT используются биты №4и 3 регистра масок прерываний IMR соответственно. Определение статусаобработки этих прерываний может быть осуществлено с помощьюустановки/сброса битов №4 и №3 регистра флагов прерываний IFR. Приэтом бит №4 отвечает за прерывание передачи, а №3 – за прерываниеприема. Подробнее об обработке прерываний смотрите п. 4.6.Примечание.
Для предотвращения повторных прерываний приема и передачи от SSP,необходимо сбросить соответствующие биты регистра масок прерываний IFR всоответствующей подпрограмме обработки прерываний перед возвратом в основнуюпрограмму.4.5.5. Регистр SSPCRРегистр управления последовательным портом SSPCR представляетсобой отображаемый в пространство ввода/вывода по адресу FFF1hрегистр, выполняющий следующие функции:установки режимов работы последовательного порта;индикации состояния процесса обмена данными;установки условий срабатывания триггеров приема и передачи;индикации возникающих в ходе обмена ошибок;сброса порта.Подробнее структура этого управляющего регистра представлена втабл.
4.3.52PDF created with pdfFactory trial version www.pdffactory.comТаблица 4.3. Назначение битов управляющего регистра SSPCR№НазваниеВиддоступаПослесбросаНазначение1514FREE,SOFTЧтение/Запись0Представляют собой специальные эмулирующие биты,которые определяют состояние процесса передачи данныхпоследовательного порта при достижении точки останова вотладчике верхнего уровня: если FREE = 1, то состояниебита SOFT не имеет значения и процесс передачипоследовательных данных продолжается; если FREE = 0, топри SOFT = 0 процесс обмена прекращается немедленно.При SOFT = 1 прекращение обмена инициируется лишь поокончании передачи последнего слова данных13TCOMPЧтение0Бит сбрасывается, если все слова из передающего FIFOбуфера переданы; если передающий буфер не пуст, тоданный бит установлен12RFNEЧтение0Бит сбрасывается, если приемный FIFO-буфер пуст; еслисодержит данные, то данный бит установлен0Определяет условие срабатывания триггера прерыванияпередачи в зависимости от содержимого передающегоFIFO-буфера.
Если условие выполняется, то происходитгенерация прерывания XINT и данные могут быть переданыв соответствующий FIFO-буфер с использованиеминструкции OUT. Если оба бита сброшены, то прерываниегенерируется при полном передающем буфере. Присброшенном (установленном) FR1 и установленном(сброшенном) FT0 генерация происходит при заполнениипередающего буфера на 75% (50%). Если оба управляющихбита установлены, то прерывание генерируется при 25%ном заполнении передающего буфера0Определяет условие срабатывания триггера прерыванияприема в зависимости от содержимого принимающегоFIFO-буфера.
Если это условие выполняется, то происходитгенерация прерывания RINT и данные могут быть считаныиз соответствующего FIFO-буфера с использованиеминструкции IN. Если оба управляющих бита сброшены, топрерывание генерируется при непустом приемном буфере.При сброшенном (установленном) FR1 и установленном(сброшенном) FR0 генерация происходит при заполненииприемного буфера по меньшей мере на 50% (75%). Если обауправляющих бита установлены, то прерываниегенерируется при полном буфере111098FT1,FT0FR1,FR0Чтение/ЗаписьЧтение/Запись7OVFЧтение0Устанавливается всякий раз, когда принимающий FIFOбуфер полон и в регистр RSR по линии последовательногоприема пришло очередное слово данных. Содержимоебуфера не переписывается. При первой операции чтения изпорта этот бит сбрасывается6IN0Чтение0Позволяет использовать вывод CLKR как вход. IN0отражает текущий уровень на этом выводе53PDF created with pdfFactory trial version www.pdffactory.comОкончание таблицы 4.3.
Назначение битов управляющего регистра SSPCR№НазваниеВиддоступаПослесбросаНазначение5XRSTЧтение/Запись0Сброс этого бита вызывает сброс передающей логикипоследовательного интерфейса. Для ее вывода из состояниясброса необходимо установить бит XRST4RRSTЧтение/Запись0Сброс этого бита вызывает сброс принимающей логикипоследовательного интерфейса. Для ее вывода из состояниясброса необходимо установить бит RRST0Определяет источник импульсов кадровой синхронизации.Если этот бит сброшен, то выбирается внешний источник иFSX конфигурируется как вход для приемасоответствующих импульсов.
В противном случае кадровуюсинхронизацию передачи осуществляет микропроцессор,вывод FSX конфигурируется как выход, который посылаетимпульсы кадровой синхронизации в начале каждойпередачи. Импульсы синхронизируются по отношению ксигналу CLKX. При работе последовательного порта врежиме цифровой “закольцовки” данный бит следуетустановить0Определяет источник импульсов синхронизации передачиотдельных бит слов данных для последовательного порта.Если этот бит сброшен, то выбран внешний источниксинхронизации и вывод CLKX конфигурируется как входдля приема соответствующего сигнала.
В противном случаеисточником синхронизирующего сигнала является самПЦОС, и вывод CLKX конфигурируется как выход. Частотасоответствующего сигнала определяется при этом какполовина частоты сигнала CLKOUT10Задает режим передачи последовательных данных. Приустановленном бите выбран дискретный режим передачи иимпульс кадровой синхронизации необходим дляпоследовательной передачи/приема каждого слова данных.В противном случае инициируется непрерывный режимпередачи, при котором единственный импульс кадровойсинхронизации необходим для передачи последовательногопотока слов данных.0Включает/отключает режим цифровой “закольцовки”.
Присброшенном бите упомянутый режим работыпоследовательного порта деактивирован и выводы DR, FSRи CLKR соединены с соответствующими выводами другогоустройства. В противном случае порт работает в режимецифровой “закольцовки”, при котором выводы DR и FSRвнутренне соединены с выводами DX и FSX соответственно3210TXMMCMFSMDLBЧтение/ЗаписьЧтение/ЗаписьЧтение/ЗаписьЧтение/Запись54PDF created with pdfFactory trial version www.pdffactory.com4.5.6. Порядок работы с последовательным портомЗапись в последовательный порт осуществляется по следующейсхеме:1) В начале процесса последовательной передачи необходимопроизвести инициализацию последовательного порта записьюсоответствующего управляющего слова в регистр SSPCR.2) Процессор может записать до четырех слов данных в передающийFIFO-буфер через регистр SDTR.3) Если регистр XSR пуст (завершена последовательная передачапредыдущего слова данных), то первое из записанных в передающийFIFO-буфер слов данных копируется в XSR.4) Регистр XSR побитно выдвигает данные (начиная со старшегоразряда) через вывод DX.5) После завершения процесса последовательной передачи регистрXSR дает сигнал передающему буферу и процесс продолжается поодному из двух путей:· если FIFO-буфер пуст, процесс повторяется с шага 2;· если выполнены условия, определяемые битами FT0 и FT1 регистраSSPCR, генерируется прерывание XINT с целью запроса дальнейшихданных для последовательной передачи и процесс останавливается.Чтение из последовательного порта осуществляется по следующейсхеме:1) В начале процесса последовательного приема необходимоосуществить инициализацию последовательного порта записьюсоответствующего управляющего слова в регистр SSPCR;2) Последовательные данные по выводу DR побитно вдвигаются(начиная со старшего разряда) в регистр RSR;3) По завершении сдвигового процесса RSR копирует данные впринимающий FIFO-буфер;4) Далее процесс продолжается по одному из двух путей:· если приемный FIFO-буфер не полон, процесс повторяется с шага 1;· в противном случае, если выполнены условия, определяемые битамиFR0 и FR1 регистра SSPCR, буфер генерирует прерывание RINT,запрашивая обработку;5) При получении запроса на обработку процессор может считатьданные из приемного FIFO-буфера через регистр SDTR.4.6.
Прерывания ПЦОС TMS320С2xx4.6.1. Обзор системы прерыванийПрерываниями называются имеющие аппаратное или программноепроисхождение сигналы, которые заставляют процессор прерватьпоследовательное выполнение инструкций пользовательской программы и55PDF created with pdfFactory trial version www.pdffactory.comперейти к выполнению специальной подпрограммы, называемойподпрограммой обработки прерывания (Interrupt Service Routine).Как вытекает из определения, прерывания разделяются нааппаратные и программные.