29.6. Описание регистров инструкции и адресации интерфейса PDI
Все данные регистры являются внутренними и участвуют в дешифрации инструкции или адресации PDIBUS. Ни один из этих регистров не доступен как регистр в пространстве регистров.
29.6.1. Регистр инструкции
После успешного приема инструкции в сдвиговый регистр, она копируется в регистр инструкции. Инструкция остается в нем вплоть до приема другой инструкции. Это необходимо для того, чтобы команда REPEAT смогла инициировать многократное выполнение принятой вслед за ней инструкции.
29.6.2. Регистр указателя
Регистр указателя предназначен для хранения адреса ячейки памяти в пространстве PDIBUS. При выполнении доступа по прямому адресу регистр указателя обновляется определенным числом байт адреса, принятых как операнды инструкции. Если же используется косвенная адресация, регистр указателя необходимо заранее инициализировать значением адреса и только затем выполнить сам доступ. Косвенный доступ к данным при необходимости можно совместить с операцией последующего инкрементирования регистра указателя. Режим косвенной адресации предоставляет опциональную возможность чтения или записи регистра указателя без доступа к каким-либо другим регистрам. Обновление любого регистра происходит по схеме "little-endian". Это означает, что загрузка одного байта регистра адреса всегда будет обновлять младший байт, а старшие байты останутся неизменными. Регистр указателя не участвует в адресации регистров в пространстве регистров управления и статуса PDI (пространство CSRS).
29.6.3. Регистр счетчика повторов
Инструкция REPEAT всегда дополняется одним или большим числом операндов, которые задают, сколько раз необходимо выполнить следующую инструкцию. Данные байты операндов копируются в регистр счетчика повторов во время приема. При каждом повторном выполнении инструкции происходит декрементирование счетчика повторов, т.о. по равенству этого счетчика нулю определяется необходимость завершения повторов. Счетчик повторов также участвует в приеме ключа.
29.6.4. Регистр счетчика операндов
Любая инструкция, кроме LDCS и STCS, сопровождается определенным числом операндов или байт данных (задается полем SIZE в коде инструкции), а регистр счетчика операндов позволяет проконтролировать, сколько байт было фактически передано.
29.7. Описание регистров управления и статуса интерфейса PDI
Данные регистры доступны в пространстве регистров управления и статуса PDI (CSRS) с использованием инструкций LDCS и STCS. В пространство CSRS включены те регистры, которые позволяют настроить и проконтролировать состояние PDI.
29.7.1. STATUS - регистр статуса интерфейса PDI
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x00 |
|
STATUS |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:2 - Res: резервные биты
Данные биты являются резервными и всегда считываются с нулевыми значениями. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 1- NVMEN: разрешение энергонезависимой памяти
Данный бит статуса равен единице, когда в результате ввода верного ключа разрешается работа интерфейса программирования энергонезависимой памяти. Внешний программатор может опросить данный бит, чтобы убедиться в успешности разрешения программирования. Запись бита NVMEN отключит интерфейс энергонезависимой памяти.
- Бит 0 - Res: резервный бит
Данный бит является резервным и всегда считывается с нулевым значением. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
29.7.2. RESET - регистр сброса
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x01 |
|
CTRLB |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - RESET[7:0]: сигнатура сброса
Когда в регистр RESET записывается сигнатура сброса (0x59), МК переходит в состояние сброса. МК будет удерживаться в состоянии сброса то тех пор, пока в этот регистр не будет записано любое другое, отличное от сигнатуры сброса, значение (рекомендуется 0x00). Опросом младшего бита можно оценить статус сброса. При опросе 7 старших бит регистра всегда возвращаются нули, независимо от того в состоянии сброса или нет находится МК.
29.7.3. CTRL - регистр управления интерфейсом PDI
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x02 |
|
CTRL |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:3 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 2:0 - GUARDTIME[2:0]: защитный интервал
Данные биты предназначены для задания защитного интервала в виде дополнительных бит IDLE, которые вставляются перед изменением направления передачи интерфейса PDI. По умолчанию, защитный интервал равен 128 битам IDLE, а возможные его настройки показаны в таблице 29.1. Для ускорения связи, величина защитного интервала должна быть как можно более меньшей, но и не ухудшающей надежность передачи. Необходимо обратить внимание, что защитный интервал вставляется при переключении из режима передачи в режим приема.
Таблица 29.1. Настройка защитного интервала
GUARDTIME |
Количество бит IDLE |
000 |
+128 |
001 |
+64 |
010 |
+32 |
011 |
+16 |
100 |
+8 |
101 |
+4 |
110 |
+2 |
111 |
+0 |
29.8. Обзор регистров
Адрес |
Наименование |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
+0x00 |
STATUS |
- |
- |
- |
- |
- |
- |
NVMEN |
- |
+0x01 |
RESET |
RESET[7:0] |
+0x02 |
CTRL |
- |
- |
- |
- |
- |
GUARDTIME[2:0] |
+0x03 |
(резерв) |
|
|
|
|
|
|
|
|
+0x04 |
(резерв) |
|
|
|
|
|
|
|
|
+0x05 |
(резерв) |
|
|
|
|
|
|
|
|
+0x06 |
(резерв) |
|
|
|
|
|
|
|
|
+0x07 |
(резерв) |
|
|
|
|
|
|
|
|
+0x08 |
(резерв) |
|
|
|
|
|
|
|
|
+0x09 |
(резерв) |
|
|
|
|
|
|
|
|
+0x0A |
(резерв) |
|
|
|
|
|
|
|
|
+0x0B |
(резерв) |
|
|
|
|
|
|
|
|
+0x0C |
(резерв) |
|
|
|
|
|
|
|
|
+0x0D |
(резерв) |
|
|
|
|
|
|
|
|
+0x0E |
(резерв) |
|
|
|
|
|
|
|
|
+0x0F |
(резерв) |
|
|
|
|
|
|
|
|
+0x10 |
(резерв) |
|
|
|
|
|
|
|
|
|