Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [ 16 ] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

Чт./зап. Нач. знач.

1 -

EEAR6

EEAR5

EEAR4

EEAR3

EEAR2

EEAR1

EEARO

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

Рис. 2.36. Регисф адреса EEPROM - EEAR

Бит 7 - в AT90S2313 зарезервирован и всегда читается как 0.

Биты 6...0 - EEAR6...0 - адрес EEPROM. Адресный регистр EEPROM задает адрес в 128-байтовом пространстве EEPROM. Байты данных EEPROM адресуются липснпо в лиапаюне 0...127.

2.7. Чтение и запись в энергонезависимую

память

Регистры доступа к энергонезависимой памяти (EEPROM) расположены в пространстве ввода/вывода.

Время записи лежит в диапазоне 2,5...4 мс и зависит от напряжения питания. Если программа пользователя производит запись в энергонезависимую память, должны быть предприняты некоторые меры предосторожности. При использовании в источнике питания конденсаторов большой емкости напряжение питания нарастает и спадает достаточно медленно. Это приводит к тому, что процессор некоторое время работает при напряжении питания ниже минимума, достаточного для нормальной работы схем тактирования. При этом он может совершать нежелательные переходы, попадая на части программы, производящие запись в EEPROM. В таких случаях для защиты содержимого EEPROM необходимо использовать внешние схемы, формирующие сигнал сброса при уменьшении напряжения питания. При использовании внешнего супервайзера питания (например, К1171СП47 - для него граница срабатывания составляет 4,7 В), подающего на вывод Reset напряжение низкого уровня при напряжении питания ниже допустилюго, практически можно быть уверенным в том, что содержимое памяти EEPROM не будет портиться независимо от емкости конденсатора на выходе источника питания.

При записи или чтении EEPROM процессор приостанавливается на 2 машинных цикла до начала выполнения следующей команды.



Бит 76S4321 О

$10 ($ЗС) I - I - I - I - I - EEMWE EEWE I EERE EECR

Чт7зап. R R R R RRWVRWVRWV

Нач. знач. 00000000

Рис. 2.38. Регистр управления EEPROM - EECR

Биты 7...3 - В AT90S2313 зарезервированы и всегда читаются как 0.

Бит 2 - EEMWE - управление разрешением записи. Этот бит определяет, будут ли записаны данные при установке EEWE. Если бит EEMWE установлен, при установке EEWE данные записываются по выбранному адресу EEPROM. Если этот бит сброшен, установка EEWE не имеет эффекта. После программной установки этот бит сбрасывается аппаратно через четыре такта процессора.

Бит 1 - EEWE - разрешение записи в EEPROM. Сигнал EEWE является стробом записи в EEPROM. После установки правильных адреса и данных для записи в EEPROM необходимо установить бит EEWE. При записи 1 в бит EEWE должен быть установлен бит EEMWE, тогда происходит запись в EEPROM. Для записи в EEPROM должна соблюдаться следующая последовательность:

1. Ждать обнуления EEWE.

2. Записать адрес в EEAR.

3. Записать данные в EEDR.

4. Установить в 1 бит EEMWE.

5. Не позже чем через 4 такта после установки EEMWE установить EEWE.

Бит 76543210

$10 ($30) I MSB I I I I I I I LSB I EEDR

Чт./зап. ВЛ¥ ВЛ¥ R/W R/W ВЛ¥ R/W R/W R/W

Нач. знач. 00000000

Рис. 2.37. Регистр данных EEPROM - EEDR

Биты 7...0 - EEDR7...0 - Данные EEPROM. При записи регистр EEDR содержит данные, которые должны записываться в EEPROM по адресу, находящемуся в регистре EEAR. После операции чтения в этот регистр записываются данные, прочитанные из EEPROM, по адресу, заданному в регистре EEAR.



2.8. Универсальный асинхронный приемопередатчик

Микроконтроллер AT90S2313 имеет встроенный универсальный асинхронный приемопередатчик (UART). Основные характеристики UART:

• генерация произвольных значений скорости;

• высокая скорость даже при низких тактовых частотах;

• 8 или 9 битов данных;

• фильтрация шума;

• определение переполнения;

• детектирование ошибки кадра;

• определение неверного стартового бита;

• три раздельных прерывания - завершение передачи, очистка регистра передачи и завершение приема.

После того, как время записи истечет (примерно 2,5 мс для Vcc = = 5 В и 4 мс для Vcc = 2,7 В), бит EEWE очищается аппаратно. Программист может проверять этот бит и ожидать его установки в ноль перед тем, как записывать следующий байт. При установке EEWE микроконтроллер останавливается на два цикла перед исполнением следующей команды.

Бит О - EERE - разрешение чтения из EEPROM. Сигнал EERE является стробом чтения из EEPROM. После установки нужного адреса в регистре EEAR должен быть установлен бит EERE. После того как бит EERE будет аппаратно очищен, затребованные данные будут находиться в регистре EEDR. Чтение EEPROM занимает одну команду и не требует отслеживания бита EERE. После установки бита EERE микроконтроллер останавливается на 4 цикла перед тем, как будет выполнена следующая команда. Перед чтением пользователь должен проверить состояние бита EEWE. Если изменять содержимое регистров EEPROM во время операции записи в EEPROM, запись в ячейку памяти прерывается и результат операции записи становится неопределенным.



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [ 16 ] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.001