Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Компоненты > Микроконтроллеры > MSP430 > Архитектура MSP430x1xx

реклама

 




Мероприятия:




Периферийный интерфейс USART, режим SPI

Универсальный синхронно/асинхронный приемопередающий (USART) периферийный интерфейс поддерживает два последовательных режима в одном аппаратном модуле. Этот раздел описывает работу синхронного периферийного интерфейса или режима SPI. USART0 реализован в устройствах MSP430x12xx, MSP430x13xx и MSP430x15x. В дополнение к USART0, в устройствах MSP430x14x и MSP430x16x реализован второй идентичный USART модуль – USART1.

14.1 Введение в USART: режим SPI

В синхронном режиме USART подключает MSP430 к внешней системе через три или четыре вывода: SIMO, SOMI, UCLK и STE. Режим SPI выбирается, когда бит SYNC установлен, а бит I2C очищен.

Режим SPI имеет следующие возможности:

  • 7-ми или 8-разрядные данные
  • Работа SPI с 3-мя или 4-мя выводами
  • Режимы ведущий или ведомый
  • Независимые сдвиговые регистры передачи и приема
  • Раздельные буферные регистры передачи и приема
  • Выбираемая полярность UCLK и управление фазой
  • Программируемая частота UCLK в режиме ведущего
  • Независимая возможность прерывания для приема и передачи

На рис.14-1 показан USART, сконфигурированный в режиме SPI.

msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-1. Блок-схема USART в режиме SPI
Рис.14-1. Блок-схема USART в режиме SPI

14.2 Функционирование USART: режим SPI

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

Три или четыре сигнала используются для обмена данными через SPI:

  • SIMO
  • Вход ведомого, выход ведущего
    Режим ведущего: SIMO – линия вывода данных
    Режим ведомого: SIMO – линия ввода данных
  • SOMI
  • Выход ведомого, вход ведущего
    Режим ведущего: SOMI – линия ввода данных
    Режим ведомого: SOMI – линия вывода данных
  • UCLK
  • Тактирование USART SPI
    Режим ведущего: UCLK – выход
    Режим ведомого: UCLK – вход
  • STE
  • Разрешение передачи ведомого. Используется в 4-выводном режиме, когда на одной шине может быть много ведущих. Не применяется в 3-выводном режиме.
    4-х выводной режим ведущего:
    Когда STE имеет высокий уровень, SIMO и UCLK работают как обычно.
    Когда STE имеет низкий уровень, SIMO и UCLK устанавливаются на направление ввода.
    4-х выводной режим ведомого:
    Когда STE имеет высокий уровень, функционирование RX/TX ведомого отключено и SOMI принудительно устанавливается на направление ввода.
    Когда STE имеет низкий уровень, функционирование RX/TX ведомого разрешено и SOMI работает как обычно.

    14.2.1 Инициализация USART и сброс

    USART сбрасывается сигналом PUC или битом SWRST. После PUC бит SWRST автоматически устанавливается, оставляя USART в состоянии сброса. Когда он установлен, бит SWRST сбрасывает биты URXIEx, UTXIEx, URXIFGx, OE, FE и устанавливает флаг UTXIFGx. Бит USPIEx не изменяется битом SWRST. Для работы USART необходимо очистить SWRST. См. также раздел «Модуль USART, режим I2C» для USART0, когда он реконфигурируется из режима I2C в режим SPI.

    Примечание: Инициализация и реконфигурирование модуля USART
    Для инициализации/реконфигурирования USART необходим следующий процесс:
    1. Установить SWRST (BIS.B #SWRST,&UxCTL)
    2. Инициализировать все регистры USART установкой SWRST=1 (включая UxCTL)
    3. Включить модуль USART через MEx SFRs (USPIEx)
    4. Программно очистить SWRST (BIC.B #SWRST,&UxCTL)
    5. Разрешить прерывания (если необходимо) через IEx SFRs (URXIEx и/или UTXIEx)
    Невыполнение этих действий может привести к непредсказуемому поведению USART.

    14.2.2 Режим ведущего

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-2. USART – ведущий, внешнее устройство - ведомое
    Рис.14-2. USART – ведущий, внешнее устройство - ведомое

    На рис.14-2 показан USART в качестве мастера в обеих 3-х и 4-х выводных конфигурациях. USART инициализирует передачу данных, когда данные перемещаются в буфер передачи данных UxTXBUF. Данные UxTXBUF перемещаются в сдвиговый регистр TX, когда сдвиговый регистр TX пуст, инициируя передачу данных на SIMO, начиная со старшего разряда. Данные на SOMI сдвигаются в сдвиговый регистр приема по противоположному тактовому фронту, начиная со старшего разряда. Когда символ принят, принятые данные перемещены из сдвигового регистра RX в буфер принятых данных UxRXBUF, флаг прерывания приема URXIFGx установлен, указывая завершение операции RX/TX.

    Установка флага прерывания передачи UTXIFGx указывает, что данные перемещены из UxTXBUF в сдвиговый регистр TX и UxTXBUF готов для поступления новых данных. Это не указывает на завершение операции RX/TX.

    Чтобы принимать данные в USART в режиме ведущего, данные должны быть записаны в UxTXBUF, поскольку операции приема и передачи выполняются одновременно.

    4-х выводной режим ведущего SPI

    В 4-х выводном режиме ведущего STE используется для предотвращения конфликтов с другим ведущим. Ведущий функционирует нормально, когда STE имеет высокий уровень. Когда у STE низкий уровень:

    • SIMO и UCLK установлены на ввод и более не управляют шиной
    • Установлен бит ошибки FE, что указывает на нарушение целостности связи, которое будет обработано пользователем
    • Сигнал STE низкого уровня не сбрасывает модуль USART. Входной сигнал STE не используется в 3-х выводном режиме ведущего.

    14.2.3 Режим ведомого

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-3. USART – ведомый, внешнее устройство - ведущее
    Рис.14-3. USART – ведомый, внешнее устройство - ведущее

    На рис.14-3 показан USART в качестве ведомого в обеих 3-х и 4-х выводных конфигурациях. UCLK используется как вход для тактирования SPI и должен управляться внешним ведущим. Скорость передачи данных определяется этим тактовым сигналом и не зависит от внутреннего генератора скорости передачи. Данные записываются в UxTXBUF и перемещаются в сдвиговый регистр TX до старта передачи UCLK на SOMI. Данные на SIMO сдвигаются в сдвиговый регистр приема по противоположному фронту UCLK и перемещаются в UxRXBUF, когда принято заданное количество бит. Когда данные перемещаются из сдвигового регистра RX в UxRXBUF, устанавливается флаг прерывания URXIFGx, указывая, что данные были приняты. Бит ошибки переполнения OE устанавливается, когда предыдущие принятые данные не были прочитаны из UxRXBUF до перемещения новых данных в UxRXBUF.

    4-х выводной режим ведомого SPI

    В 4-х выводном режиме ведущего STE используется ведомым для разрешения операций передачи и приема и управляется ведущим SPI. Когда STE имеет низкий уровень, ведомый работает нормально. Когда у STE высокий уровень:

    • Любая выполняющаяся операция приема на SIMO останавливается
    • SOMI устанавливается на направление ввода
    • Высокий уровень сигнала STE не сбрасывает модуль USART. Входной сигнал STE не используется в 3-х выводном режиме ведомого.

    14.2.4 Включение SPI

    Бит включения USPIEx передачи/приема SPI включает или отключает USART в режиме SPI. Когда USPIEx=0, USART останавливает работу после завершения текущей передачи или немедленно, если действий не выполнялось. Сигнал PUC или установка бита SWRST отключают USART немедленно, при этом любая выполняющаяся передача прерывается.

    Разрешение передачи

    Когда USPIEx=0, любая последующая запись в UxTXBUF не приводит к передаче. Данные, записанные в UxTXBUF начнут передаваться, когда USPIEx=1 и активен источник BRCLK. На рис.14-4 и рис.14-5 показаны диаграммы состояний при разрешении передачи.

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-4. Разрешение передачи в режиме ведущего
    Рис.14-4. Разрешение передачи в режиме ведущего

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-5. Диаграмма состояний разрешения передачи ведомого
    Рис.14-5. Диаграмма состояний разрешения передачи ведомого

    Разрешение приема

    Диаграммы состояний разрешения приема SPI показаны на рис.14-6 и рис.14-7. Когда USPIEx=0, UCLK не сдвигает данные в сдвиговый регистр RX.

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-6. Диаграмма состояний разрешения приема в режиме ведущего SPI
    Рис.14-6. Диаграмма состояний разрешения приема в режиме ведущего SPI

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-7. Диаграмма состояний разрешения приема ведомым SPI
    Рис.14-7. Диаграмма состояний разрешения приема ведомым SPI

    14.2.5 Управление последовательным тактированием

    Сигнал UCLK на шине SPI обеспечивается ведущим. Когда MM=1, BITCLK обеспечивается генератором скорости передачи USART на выводе UCLK, как показано на рис.14-8. Когда MM=0, тактирование USART на выводе UCLK обеспечивается ведущим, генератор скорости передачи не используется, а значения битов SSELx не учитываются. Приемник и передатчик SPI работают параллельно и используют одинаковый источник тактирования для передачи данных.

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-8. Генератор скорости передачи SPI
    Рис.14-8. Генератор скорости передачи SPI

    16-разрядное значение UxBR0+UxBR1 представляет собой коэффициент деления источника тактирования USART – BRCLK. Максимальная скорость передачи, генерируемая в режиме ведущего равна BRCLK/2. Модулятор в генераторе скорости передачи USART не используется в режиме SPI, рекомендуется устанавливать его значение равным 000h. Частота UCLK определяется так:

    Скорость передачи = BRCLK / UxBR, где UxBR = [UxBR1, UxBR0]

    Полярность и фаза последовательного тактирования

    Полярность и фаза UCLK раздельно конфигурируются через управляющие биты CKPL и CKPH модуля USART. Синхронизация для каждого случая показана на рис.14-9.

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-9. Синхронизация USART SPI
    Рис.14-9. Синхронизация USART SPI

    14.2.6 Прерывания SPI

    SPI имеет один вектор прерывания для передачи и один вектор прерывания для приема.

    Работа прерывания SPI при передаче

    Флаг прерывания UTXIFGx устанавливается передатчиком для указания, что UxTXBUF готов к приему другого символа. Запрос прерывания генерируется, если также установлены флаги UTXIEx и GIE. UTXIFGx автоматически сбрасывается, если запрос прерывания обработан или если символ записан в UxTXBUF.

    UTXIFGx устанавливается после PUC или когда SWRST=1. UTXIEx сбрасывается после PUC или когда SWRST=1. Это показано на рис.14-10.

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-10. Функционирование  прерывания при передаче
    Рис.14-10. Функционирование прерывания при передаче

    Примечание: запись в UxTXBUF в режиме SPI
    Запись данных в UxTXBUF, когда UTXIFGx=0 и USPIEx=1 может привести к ошибочной передаче данных.

    Работа прерывания SPI при приеме

    Флаг прерывания URXIFGx устанавливается каждый раз, когда символ принят и загружен в UxRXBUF, как показано на рис.14-11 и 14-12. Запрос прерывания генерируется, если также установлены флаги URXIEx и GIE. URXIFGx и URXIEx сбрасываются сигналом системного сброса PUC или когда SWRST=1. URXIFGx сбрасывается автоматически, если ожидаемое прерывание обработано или когда UxRXBUF прочитан. Это показано на рис.14-11 и рис.14-12.

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-11. Функционирование прерывания при приеме
    Рис.14-11. Функционирование прерывания при приеме

    msp430 Микроконтроллеры семейства MSP430 фирмы Texas Instruments Рис.14-12. Диаграмма состояний прерывания при приеме
    Рис.14-12. Диаграмма состояний прерывания при приеме



    <-- Предыдущая страница Оглавление Следующая страница -->
        Получить консультации и преобрести компоненты вы сможете у официальных поставщиков фирмы Texas Instruments,

    поставщики электронных компонентов






     
    Впервые? | Реклама на сайте | О проекте | Карта портала
    тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
    ©1998-2023 Рынок Микроэлектроники