Пять тайм-аутов оперируют с целыми числами, кратными интервалу ответа, и не используются одновременно. Рассмотрим их:
- Тайм-аут неактивности шины используется для инициализации логического кольца, т.е. для создания маркера. Он управляет интервалом времени в течение которого станция прослушивает среду передачи до выдачи кадра “Запрос маркера”. в станциях с наименьшим номером он равен 6 интервалам ответа, а в остальных станциях 7 интервалам ответа. Запуск таймера производится в момент предыдущей передачи маркера следующей станции.
- Тайм-аут заявки маркера управляет длительностью интервалов времени между передачами кадров “Запрос маркера”. Его длительность – 1 интервал ответа. Запускается таймер при выдаче кадра “Запрос маркера”.
- Тайм-аут окна ответа используется в режиме передачи данных. Он управляет интервалами времени между передачами КД станций, имеющих открытое окно ответа (т.е. передающей станции нужен ответ на ее передачу ). Длительность тайм-аута - 1 интервал ответа. Запускается таймер при выдаче станцией очередного кадра.
- Тайм-аут соперничества управляет интервалом времени в течение которого станция прослушивает среду передачи после опознавания кадра “Разрешение соперничества”, “Запрос преемника” или “Кто следующий”. Запуск производится после опознавания соответствующего кадра и составляет 0, 1, 2, 3, 4 интервала ответа в зависимости от вида кадра и его отправителя.
- Тайм-аут передачи маркера управляет интервалом времени в течение которого станция прослушивает среду передачи после передачи маркера своему преемнику сцелью обнаружения его активности. Длительность тайм-аута - 1 интервал ответа. Запуск производится при выдаче маркера.
Кроме перечисленных тайм-аутов используется ряд тайм-аутов, кратна октетному (байтовому ) интервалу :
- Тайм-аут удержания маркера ( ТУМ ) определяет время, в течение которого станция может передавать КД соответствующего приоритета. Число таких тайм-аутов определяется типом станции.
- Тайм-аут циркуляции маркера ( ТЦМ ) ( класс доступа ) определяет минимальный интервал времени, за который должен быть получен маркер для передачи кадров соответствующего класса доступа. Число таких тайм-аутов определяется типом станции.
2. ОПИСАНИЕ МИКРОПРОЦЕССОРНОГО КОМПЛЕКТА PIC16C64
Американская фирма MicrochipTechnologyInc в течении 2-х последних десятилетий является одной из ведущих фирм по разработке и производству 8-разрядных КМОП МК. Помимо МК фирма выпускает также МС электрически перепрограммируемой последовательной памяти емкостью от 1 до 64К, а также целый ряд ПУ и прикладных продуктов, как например, кодеры с динамическим кодом серии HCS300, микросхемы управления ЖКИ дисплеями AY0438 и многое другое [5].
МК PIC (Peripheral Interface Controller) имеют RISC - архитектуру. Использовать эти МК рекомендуется во всех случаях, когда критично энергопотребление, габариты и стоимость устройства.
В зависимости от производительности и функциональных возможностей МК серии PIC16/17 подразделяются на 3 семейства:
-PIC16C5X - базовое семейство с 12- разрядными командами;
-PIC16C6X / 7X / 8X - расширенное семейство с 14- разрядными командами.
-PIC17CXX - высокопроизводительное семейство с 16- разрядными командами.
В данном курсовом проекте разработка станции ЛВС ведется на микропроцессорном комплекте PIC16C64.
Условное графическое изображение микроконтроллера PIC16C64 приведено на рис.2.1.
Описание выводов PIC16C64 приведено в табл. 2.1.
2.1 Описание команд PIC16C64
Каждая команда PIC16C64 представляет собой четырнадцати битное слово, состоящее из кода команды, который соответствует типу команды и одного или более операндов [5].
Общий формат команд
Байт-ориентированные операции
13 8 | 7 | 6 0 |
Код операции | d | f (файл #) |
Таблица 2.2
Описание поля кода команды
Значение | Описание |
f | Адрес файлового регистра |
w | Аккумулятор |
b | Адрес бита в регистре |
k | Литерал, константа или метка |
x | Ассемблер сгенерирует код, когда x = 0. Это рекомендуемая форма использования для совместимости со всеми программными средствами. |
d | D=0 результат хранится в регистре WD=1 результат хранится в регистре fПо умолчанию d=1 |
label | Имя метки |
TOS | Вершина стека |
PC | Программный счетчик команд |
PCLATH | Программный счетчик |
GIE | Общее разрешение прерываний |
WDT | Сторожевой счетчик времени |
TO | Тайм-аут |
PD | Выключение питания |
Описание системы команд МК PIC16C64 приведено в табл.2.3.
Таблица 2.3
Описание команд PIC16C64
Мнемоника команды | Описание | Цик-лы | Код команды | Прим | |
ADDWF f, d | сложение W c f | 1 | 00 0111 dfff ffff | C,DC, Z | 1,2 |
ANDWF f, d | логическое И Wи f | 1 | 00 0101 dfff ffff | Z | 1,2 |
CLRF f | сброс регистра f | 1 | 00 0001 lfff ffff | Z | 2 |
CLRW - | сброс регистра W | 1 | 00 0001 0xxx xxxx | Z | |
COMF f, d | инверсия регистра f | 1 | 00 1001 dfff ffff | Z | 1,2 |
DECF f, d | декремент регистра f | 1 | 00 0011 dfff ffff | Z | 1,2 |
DECFSZ f, d | декремент f, пропустить команду, если 0 | 1(2) | 00 1011 dfff ffff | 1,2,3 | |
INCF f, d | инкремент регистра f | 1 | 00 1010 dfff ffff | Z | 1,2 |
INCFSZ f, d | инкремент регистра f, пропустить, если 0 | 1(2) | 00 1111 dfff ffff | 1,2,3 | |
IORWF f, d | логическое ИЛИ Wи f | 1 | 00 0100 dfff ffff | Z | 1,2 |
MOVF f, d | пересылка регистра f | 1 | 00 1000 dfff ffff | Z | 1,2 |
MOVWF f | пересылка W в f | 1 | 00 0000 lfff ffff | ||
NOP - | холостая команда | 1 | 00 0000 0xx0 0000 | ||
Мнемоника команды | Описание | Цик-лы | Код команды | Прим | |
RLF f, d | сдвиг fвлево через перенос | 1 | 00 1101 dfff ffff | C | 1,2 |
RRF f, d | сдвиг fвправо через перенос | 1 | 00 1100 dfff ffff | C | 1,2 |
SUBWF f, d | вычитание W из f | 1 | 00 0010 dfff ffff | C, DC,Z | 1,2 |
SWAPF f, d | обмен тетрад в f | 1 | 00 1110 dfff ffff | 1,2 | |
XORWF f, d | Исключающее ИЛИ Wи f | 1 | 00 0110 dfff ffff | Z | 1,2 |
Команды работы с битами регистров (бит-ориентированные) | |||||
BCF f, b | сброс бита в регистре f | 1 | 00 00bb bfff ffff | 1,2 | |
BSF f, b | Установка бита в регистре f | 1 | 01 01bb bfff ffff | 1,2 | |
BTFSC f, b | Пропустить команду, если бит равен 0 | 1(2) | 01 10bb bfff ffff | 3 | |
BTFSS f, b | Пропустить команду, если бит равен 1 | 1(2) | 01 11bb bfff ffff | 3 | |
Команды работы с константами и операции перехода | |||||
ADDLW k | Сложение константы с W | 1 | 11 111x kkkk kkkk | C, DC, Z | |
ANDLW k | Логическое И Wи f | 1 | 11 1001 kkkk kkkk | Z | |
CALL k | вызов подпрограммы | 2 | 10 0kkk kkkk kkkk | ||
CLRWDT - | сброс сторожевого таймера WDT | 1 | 00 0000 0110 0100 | TO, PD | |
GOTO k | переход по адресу | 2 | 10 1kkk kkkk kkkk | ||
IORLW k | Логическое ИЛИ константы и W | 1 | 11 1000 kkkk kkkk | Z | |
MOVLW k | пересылка константы в W | 1 | 11 00xx kkkk kkkk | ||
RETFIE - | возврат из прерывания | 2 | 00 0000 0000 1001 | ||
RETLW k | возврат из подпрограммы с загрузкой константы в W | 2 | 11 01xx kkkk kkkk | ||
RETURN - | возврат из подпрограммы | 2 | 00 0000 0000 1000 | ||
SLEEP - | переход в режим SLEEP | 1 | 00 0000 0110 0011 | TO, PD | |
SUBLW k | вычитание W из константы | 1 | 11 110x kkkk kkkk | C,DC, Z | |
XORLW k | Исключающее ИЛИ конс-танты и W | 1 | 11 1010 kkkk kkkk | Z |
Примечание:
1. Во всех командах операнд fпринимает значения от 0 до 127, а операнд dзначения 0 или 1.
2. В бит-ориентированных операциях операнд bпринимает значения от 0 до 7.
3. В литеральных операциях и операциях управления, кроме оговоренных случаев, операнд k принимает значения от 0 до 255.
Обозначения:
С: Carrybit - бит переноса / заема (для команд ADDWF, ADDLW, SUBLW, SUBWF)
(для заема полярность инверсная):
1 - в результате операции имеет место выход переноса из наиболее значащего бита результата;
0 - нет переноса из наиболее значащего бита результата.
DC: DigitCarrybit - бит десятичного переноса /заема (для команд ADDWF, ADDLW,SUBLW, SUBWF) (для заема полярность инверсная ) :
1 - выход переноса из 4-го младшего бита при образовании результата;
0 - выход переноса из 4-го младшего разряда результата
Z- Zerobit- бит результата:
1 - результат арифметической или логической операции есть 0;
0 - результат арифметической или логической операции есть не 0;
\ - инверсия
W/f - результат помещается в регистр W, если d=0, и в регистр f, если d=1
3. ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ СТАНЦИИ ЛВС
Структурная схема станции ЛВС представлена на рис.3.1.[1]
В состав станции входят следующие устройства:
- центральный процессорный элемент (ЦПЭ);
- постоянное запоминающее устройство (ПЗУ);
- системное ОЗУ;
- контроллеры прерываний (Прер);
- контроллер прямого доступа к памяти (КПДП);
- ОЗУ для приема (ОЗУ ПР) и выдачи пакетов (ОЗУ ПД);
- схема синхронизации (СИ);
- коммутатор-мультиплексор (КМ);
- схема сравнения адресов (Ср.А);
- буферный регистр принимаемой информации (БРПИ);
- буферный регистр выдаваемой информации (БРВИ);
- схема дешифрации манчестерского кода (ДМК);
- схема формирования манчестерского кода (ФМК);
- формирователь-усилитель (ФУ);
- порт ввода-вывода информации;
- схема выделения ограничителей кадра (ВОК);
- схема формирования ограничителей кадра (ФОК);
- магистральный усилитель приема (МПР);
- магистральный усилитель передачи (МПД);
- регистр состояния блока сопряжения с физической средой (РСБС);
- схема управления блоком сопряжения с физической средой.