Передатчик
Передатчик формирует сигнал прерывания при наступлении одного из следующих событий:
безуспешная 4-х кратная передача пакета из-за неготовности приемника;
безуспешная 2-х кратная передача пакета из-за ошибок на стороне приемника;
безуспешная 2-х кратная передача пакета из-за отсутствия приемника;
Во всех перечисленных выше случаях работа передатчика временно прекращается. При этом возможные действия со стороны процессора могут быть такими:
продолжить передачу данного пакета (при этом в автоматическом режиме будет поддерживаться повторная передача при сбоях);
удалить данный пакет из очереди и возобновить работу передатчика (возможно также удаление следующих за ним пакетов из очереди, но только в строгом соответствии с порядком их записи);
сбросить передатчик. При этом все пакеты будут удалены, а передача будет прекращена до первой записи нового пакета.
Адресное пространство передатчика
Address A[5..0] |
Operation |
Name |
Description |
00h |
Write |
First Write |
Запись первого байта в ОЗУ передатчика. Используется 8 мл. разрядов шины данных. |
01h - 1Ch |
Next Write |
Запись следующего байта в ОЗУ передатчика. Фактически все адреса из данного диапазона равнозначны, т.е. запись данных (с 2-го по последний байт) можно выполнить, не меняя адреса. Используется 8 мл. разрядов шины данных. | |
20h |
End Of Packet |
Запись пакета завершена (переход к следующему пакету). Шина данных не задействована. | |
24h |
Read |
Get Info |
Состояние передатчика и передаваемого пакета |
28h |
Write |
Continue |
Продолжить работу (повторить попытку передачи, учитывая автоматические повторы). Шина данных не задействована. |
30h |
Delete Of Packet |
Удаление из ОЗУ передатчика пакета, который должен в данный момент передаваться. Шина данных не задействована. | |
38h |
Reset |
Сброс передатчика. Удаление всех пакетов из ОЗУ передатчика. |
Возможный алгоритм записи пакета
Регистр "Состояние передатчика и передаваемого пакета "
№ бита |
Описание |
2…0 |
Кол-во пакетов в передатчике (мин. число - 0; макс. число - 4). |
2 |
Состояние буфера по передаче (старший бит кол-ва пакетов): 1 - буфер полный; 0 - есть место хотя бы для одного пакета. |
3 |
Статус передатчика: 0 - Нормальная работа; 1 - Аварийная ситуация. Передача приостановлена. Требуется вмешательство процессора. |
4 |
Осуществлено три неудачных передачи пакета (причина – неготовность приемника). |
5 |
Осуществлено две неудачных передачи пакета (причина – ошибки в контрольной сумме). |
6 |
Осуществлено две неудачных передачи пакета (причина – приемник не отвечает). |
Приемник
Приемник формирует сигнал прерывания процессора всякий раз, когда принят очередной пакет. Минимальное время между двумя сигналами прерывания (случай, когда два пакета приходят сразу друг за другом) составляет один цикл передачи пакетов - 64 такта частоты синхронизации блока (4 МГц) или 15,6 мкс.
Адресное пространство приемника
Address A[5..0] |
Operation |
Name |
Description |
00h |
Read |
First Read |
Чтение первого байта из ОЗУ приемника. Используется 8 мл. разрядов шины данных. |
01h - 1Ch |
Next Read |
Чтение следующего байта из ОЗУ приемника. Фактически все адреса из данного диапазона равнозначны, т.е. чтение данных (с 2-го по последний байт) можно выполнить, не меняя адреса. Используется 8 мл. разрядов шины данных. | |
20h |
Write |
Next Packet |
Переход к следующему пакету. Шина данных не задействована. |
24h |
Read |
Get Info |
Состояние приемника |
30h |
Read/ Write |
Low Byte |
Младший адресный байт |
38h |
High Byte |
Старший адресный байт |
Алгоритм чтения данных аналогичен алгоритму записи
Регистр "Состояние приемника"
№ бита |
Описание |
2…0 |
Кол-во пакетов в приемнике (мин. число - 0; макс. число - 4). |