Одиннадцать бит

В режимах 2 и 3 передаваемый кадр содержит одиннадцать бит ( 1.17,в), причем функции девятого бита D8 зависят от режима обмена. В режиме 2 контроль четности не производится. В случае передачи данных в режиме 2 в качестве бита D8 выдается значение бита ТВ8 в регистре SP CON. При этом необходимое значение ТВ8 должно быть установлено перед загрузкой передаваемых данных в регистр SBUF ТХ. В случае приема данных в режиме 2 устанавливается признак RI = 1 в регистре SP CON и формируется запрос на прерывание, если в принятых данных значение D8 = 1. В режиме 3 функции бита D8 определяются значением бита PEN в регистре SP CON. Если PEN = 1 (контроль четности разрешен), то принятый бит D8 воспринимается как контрольный бит принимаемых данных. В этом случае устанавливается значение бита RPE = 1 при обнаружении ошибки четности в принимаемых данных. Если PEN = 0 (контроль четности запрещен), то принятый бит D8 вводится в регистр SP STAT в качестве бита RB8. При передаче данных в режиме 3 в качестве бита D8 выдается значение бита ТВ8 из регистра SP CON. При PEN = 1 бит D8 — ТВ8 определяет четность или нечетность передаваемых данных в зависимости от значения бита PAR в регистре SP CON. В режиме 2 запрос на прерывание приема RI = 1 формируется только при значении D8 = 1. В режиме 3 запрос на прерывание RI * 1 формируется при любом значении D8.

Режимы 2 и 3 используются для обмена информацией в многоконтроллерных системах. При этом ведущий микроконтроллер программируется для работы в режиме 3, а ведомые — в режиме 2. Перед началом обмена ведущий микроконтроллер выдает адресный кадр, имеющий значение бита D8 e 1. Этот кадр вызывает прерывание работы всех ведомых микроконтроллеров, которые переходят к выполнению программ анализа поступившего адреса. Микроконтроллер, имеющий адрес аналогичный поступившему, переключается в режим 3. После этого ведущий микроконтроллер выдает кадр данных, имеющий значение бита D8 в 0. Адресованный ранее ведомый микроконтроллер, переведенный в режим 2, прерывает свою работу и переходит на выполнение программы последовательного приема данных, поступающих от ведущего микроконтроллера. Остальные ведомые микроконтроллеры, работающие в режиме 3, продолжают выполнение своей программы.

Скорость последовательного обмена определяется заданной частотой синхросигналов передачи. Работа генератора синхросигналов БПО определяется содержимым 16-разрядного регистра SP BAUD ( 1.18). Старший разряд этого регистра задает источник формирования синхросигналов: если в этом разряде записана «1», то источником служат тактовые импульсы с частотой Ft, поступающие на вход XTAL1, если записан «0», то источником служат синхроимпульсы, подаваемые на вход T1CLK, частота которых Fc не должна превышать Ft/4. Остальные пятнадцать разрядов содержимого SP BAUD указывают коэффициент деления частоты Bv, который определяет значение скорости последовательного обмена Вг. Максимальная величина Bv составляет 7FFFH (десятичное число 32767). Минимальная величина Bv в режиме 0 составляет 0002Н. В режимах 1, 2, 3 минимальная величина Bv должна быть 0000Н при использовании тактовых сигналов на входе XTAL1 и 0001Н при использовании синхросигналов на входе T1CLK.

При заданном значении Вг в режиме 0 коэффициент Bv определяется выражениями: Bv e (Ft/2Br) — 1, если используются тактовые импульсы на входе XTAL1 («1» в старшем разряде регистра SP BAUD), Bv e Fc/Br, если используются синхроимпульсы на входе T1CLK («0» в старшем разряде регистра SP BAUD).

Comments are closed.