Перейти к содержимому


AT89LP2052. Перевод некоторых фрагментов даташита.

Написано opengl , в Переводы с английского.

перевод даташита русская документация AT89LP2052 AT89LP4052 микроконтроллер
Переводил только моменты которые были нужны вовремя выполнения проекта, поэтому вот так вот.
Нумерация глав и разделов в тексте соответствует родной документации.
Использовать перевод можете как угодно, но ссылка на меня обязательна.
Родной даташит доступен для скачивания.Прикрепленный файл  AT89LP2052_4052.pdf (1.45МБ)


7.7 Порты ввода/вывода
~~~~~~~~~~~~~~~~~~~~~~
Порты ввода-вывода AT89LP2052/LP4052 могут быть сконфигурированы в четыре различных
режима. По сбросу все выводы настраиваются как входы с высокоимпедансным состоянием.
Этот режим отличается от стандартного 8051 режима, где все выводы подтянуты к
плюсу питания через встроенные резисторы. В этой мс для получения совместимости с 8051,
порты следует перевести в квази-двунаправленый режим. Для этого следует обнулить
регистры P1M0 и P3M0.

15.7 Альтернативные функции порта.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Большинство цифровых выводов ввода/вывода общего назначения микросхемы AT89LP2052/LP4052
могут использоваться как выводы встроенной периферии. Настройки вывода перечислены ниже:

Таблица 15-3. Конфигурация вывода Y порта X
+========+========+======+==================================================+
| PxM0.y | PxM1.y | Px.y | режим ввода/вывода |
+--------+--------+------+--------------------------------------------------+
| 0 | 0 | 1 | двунаправленный (внутр.резистор к плюсу питания) |
| 0 | 1 | 1 | Выход |
| 1 | 0 | X | Вход |
| 1 | 1 | 1 | двунаправленный (внешн.резистор к плюсу питания) |
+========+========+======+==================================================+


Таблица 15-4. Альтернативные функции выводов
+=======+====================+===============+=======================================+
| вывод | биты конфигурации | Алтернативная | |
| порта +----------+---------+ функция | примечания |
| | PxM0.y | PxM1.y | | |
+=======+==========+=========+===============+=======================================+
| P1.0 | P1M0.0 | P1M1.0 | AIN0 | вход |
+-------+----------+---------+---------------+---------------------------------------+
| P1.1 | P1M0.1 | P1M1.1 | AIN1 | вход |
+-------+----------+---------+---------------+---------------------------------------+
| P1.4 | P1M0.4 | P1M1.4 | SS | |
+-------+----------+---------+---------------+ |
| P1.5 | P1M0.5 | P1M1.5 | MOSI | |
+-------+----------+---------+---------------+ Смотри раздел 19.4 |
| P1.6 | P1M0.6 | P1M1.6 | MISO | "конфигурация выводов SPI" |
+-------+----------+---------+---------------+ на стр.47 |
| P1.7 | P1M0.7 | P1M1.7 | SCK | |
+-------+----------+---------+---------------+---------------------------------------+
| P3.0 | P3M0.0 | P3M1.0 | RXD | |
+-------+----------+---------+---------------+---------------------------------------+
| P3.1 | P3M0.1 | P3M1.1 | TXD | |
+-------+----------+---------+---------------+---------------------------------------+
| P3.2 | P3M0.2 | P3M1.2 | INT0 | |
+-------+----------+---------+---------------+---------------------------------------+
| P3.3 | P3M0.3 | P3M1.3 | INT1 | |
+-------+----------+---------+---------------+---------------------------------------+
| P3.4 | P3M0.4 | P3M1.4 | T0 | Смотри раздел 16.6 стр.29 |
| P3.5 | P3M0.5 | P3M1.5 | T1 | настройка выводов таймеров/счётчиков |
+-------+----------+---------+---------------+---------------------------------------+
| P3.6 | не конфигурируется | CMPOUT | вывод привязан к выходу компаратора |
+-------+----------+---------+---------------+---------------------------------------+

16. Улучшеные таймеры/счётчики.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Микросхема AT89LP2052/LP4052 содержит два 16-разрядных таймера/счётчика. В режиме таймера
регистр инкрементируется с частотой задающего генератора. В режиме счётчика регистр
инкрементируется во время перехода с 1 в 0 на соответствующем выводе T0 или T1. Состояние
вывода проверяется каждый такт, и если в одном такте на выводе зарегистрировано высокое
состояние а в следующем такте низкое, то счётчик инкрементируется. Новое значение регистра
будет в такте в котором была определена необходимость изменения регистра.(или в следующем?)
Из этого выходит, что максимальная частота счёта в два раза меньше, чем тактовая частота.
Для исключения ошибок счёта, входной сигнал должен сохранять своё состояние в течение
одного цикла для уверенной регистрации контроллером.
Таймер или счётчик может работать в четырёх режимах:
1. таймер/счётчик с переменной длиной регистра
2. 16-разрядный таймер/счётчик с автоперезагрузкой
3. 8-разрядный таймер/счётчик с автоперезагрузкой
4. разделённый (split???) таймер/счётчик
Управляющий бит C/T в регистре TMOD определяет назначение регистра таймер или счётчик.
Два бита (M1, M0) в том-же регистре TMOD определяют режим работы.

16.1 Режим 0.
~~~~~~~~~~~~~
Оба таймера в режиме 0 являются 8-разрядными счётчиками с переменным предделителем.
Разрядность предделителя варьируется от 1 до 8 бит и зависит от группы бит PSC в
регистре TCONB. Как результат мы имеем таймер длиной от 9 до 16 разрядов.
По умолчанию таймер сконфигурирован как 13-разрядный для совместимости со стандартным
режимом 0 для MCS51.


19. SPI -- последовательный периферийный интерфейс.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SPI позвол¤ет синхронно передавать данные между AT89LP2052/LP4052 и периферийными
устройствами или между несколькими микроконтроллерами. Ётот интерфейс обладает
следующими возможност¤ми:
-- полный дуплекс по 3-м проводам
-- работа в качестве Ведущего или Ведомого
-- максимальная частота тактирования = f/4
-- выбор какой стороной передавать байт, младшим или старшим битом вперёд.
-- четыре бита программирования скорости в режиме ведущего???(Four Programmable Bit Rates in Master Mode)
-- установка флага прерывания по концу передачи байта
-- защитный флаг от колиизии при записи
-- двойная буферизация принимаемых данных
-- двойная буферизация передаваемых данных (только в улучшенном режиме)
-- пробуждение из дремотного режима (доступно только в режиме ведомого)

Бит MSTR в регистре SPCR определяет направление данных MISO и MOSI. Потому, что при
соединении устройств между собой MOSI соединяется с MOSI и MISO к MISO. В режиме ведущего
вывод SS/P1.4 не влияет на канал и его можно использовать как обычный вывод ввода-вывода.
В режиме ведомого, SS используется для активации микросхемы низким уровнем. Если же на
выводе SS высокий уровень, то порт SPI неактивен и вывод MOSI/P1.5 может быть использован
для других целей.

19.1 Нормальный режим.
~~~~~~~~~~~~~~~~~~~~~~
SPI может работать в двух режимах: в нормальном (без буферизации операции записи) и
в улучшенном (с буферизацией операции записи). В нормальном режиме, запись байта в
регистр данных (SPDR) приводит к запуску цикла предачи методом последовательных сдвигов.
В начале цикла выдерживается небольшая задержка, величина которой определяется выбранной
скоростью обмена через порт. После передачи байта, задающий генератор SPI останавливается,
устанавливается флаг окончания передачи (SPIF) и принятый байт помещается буфер для
чтения (SPDR). Если флаги SPIE и ES установлены, то возможно прерывание. Заметьте, что
SPDR используется как для чтения, так и для записи данных. В нормальном режиме запись
производится непосредственно в сдвиговый режим, поэтому попытка записать байт во время
предачи приведёт к возникновению коллизии с установкой WCOL. Тем не менее передача
текущего байта выполнится нормально, однако новый бит будет проигнорирован и нужно ещё
раз осуществить попытку записи во избежание потери данных.

19.2 Улучшеный режим.
~~~~~~~~~~~~~~~~~~~~~
Этот режим подобен нормальному за исключением возможности буфера записи хранить следующий
байт в то время как передаётся предыдущий. При этом устанавливается WCOL для обозначения
того, что буфер заполнен и последующая запись в него может привести к переполнению.
WCOL очищается после загрузки содержимого буфера в сдвиговый регистр.
Для определения возможности записи, можно использовать флаг LDEN (Load Enable).
Ведущий процессор перед началом записи должен убедиться, что флаг LDEN == 1 и
флаг WCOL == 0.
В улучшенном режиме, если WCOL установлен когда передача завершена, т.е. следующий
байт доступен, SPI немедленно загружает байт из буфера в сдвиговый регистр, сбрасывает
WCOL, и продолжает предачу без остановки и рестарта тактового генератора.
Таким образом своевременно пополняя буфер можно передавать массивы данных с минимальными
задержками между байтами.

SPCR - управляющий регистр для SPI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7 - бит SPIE разрешает прерывание от SPI. Этот бит должен быть установлен
одновременно с битом ES в регистре IE, только тогда прерывание
будет разрешено.
6 - бит SPE разрешает работу аппаратного порта SPI. Если SPE = 1, то выводы SS,
MOSI, MISO и SCK подключаются к выводам P1.4, P1.5, P1.6, и P1.7.
SPE = 0 выключает SPI канал.
5 - бит DORD порядок следования данных. Если DORD = 1, то первым передаётся
младший бит, если DORD = 0, то превым передаётся старший бит.
4 - бит MSTR выбор режима master/slave. MSTR = 1 для режима Master_SPI. MSTR = 0
выбирает режим slave_SPI.
3 - бит CPOL полярность сигнала синхронизации. Если CPOL = 1, сигнал SCK
установлен в 1 во время ожидания. Если CPOL = 0, мастер на выводе
SCK удерживает в состоянии 0 пока нет передачи данных.
2 - бит CPHA фазировка сигнала синхронизации. Этот бит(CPHA) вместе с битом CPOL
определяют организацию синхронизации передачи данных между мастером
и слейвом.
1 - бит SPR1
0 - бит SPR0 эти два бита определяют скорость канала SPI для мастера и не влияют
на слейв. Соотношение частоты кварца к частоте SCK следующая:

+======+======+======+
| SPR1 | SPR0 | SCK |
+------+------+------+
| 0 | 0 | f/4 |
| 0 | 1 | f/8 |
| 1 | 0 | f/32 |
| 1 | 1 | f/64 |
+======+======+======+


SPSR - регистр статуса SPI
~~~~~~~~~~~~~~~~~~~~~~~~~~
7 - бит SPIF флаг прерывания от SPI. Устанавливается по окончании передачи данных.
Прерывание возникает если одновременно установлены флаги SPIF и ES.
Флаг SPIF сбрасывается при чтении регистра статуса SPI следующим за
опрерацией чтения/записи регистра данных SPI.
6 - бит WCOL если ENH == 0: флаг переполнения при записи.
Если ENH == 1: WCOL в улучшенном режиме признак полного передающего
буфера.
5 - бит LDEN Признак возможности загрузки данных на прередачу в улучшенном режиме.
4,3,2 - биты зарезервированы.
1 - бит DISSO отключает выход ведомого. При этом вывод MISO переводится в тристабильное
состояние т.к. более одного ведомого устройства может быть на шине.
Обычно первый байт передаваемой последовательности содержит адрес
ведомого и только устройство с выбранным адресом сбрасывает бит DISSO.
0 - бит ENH выбор улучшенного режима SPI.


19.4 Настройка выводов порта SPI.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Перед использованием SPI следует настроить выводы SCK, MISO, MOSI и SS в соответствии
с требуемой функциональностью. См. раздел 15.7 "Альтернативные функции портов" на стр. 22.
Для работы в качестве ведущего, SCK и MOSI должны быть сконфигурированы как двунаправленные
выводы или как выходы предварительно установленные в 1. MISO должен быть только входом или
двунаправленным выводом установленым в 1.
Для работы в качестве ведомого, SCK, MOSI и SS должны быть сконфигурированы как
входы, или как двунаправленные выводы предварительно предустановленные в 1.
MISO должен быть двунаправленным или выходом предустановленым в 1.
Если все выводы настроены как двунаправленные выводы и все предустановлены в 1, то
контроллер может переключаться из ведущего в ведомый и назад без реконфигурации выводов.