Režim 2 a 3 časovačů je vybaven prostředky,které umožňují realizovat multiprocesorovou komunikaci. V těchto režimech se přijímá devět datových bitů, z nichž devátý bit se ukládá do bitu RB8 v řídícím registru sériového kanálu SCON. Sériový kanál lze naprogramovat pomocí bitu SM2 z registru SCON tak, aby se při příjmu stop bitu aktiviovalo přerušení od sériového kanálu jedině tehdy, je-li logická hodnota bitu RB8=1. Této možnosti lze využít v klasické multiprocesorové komunikaci (MASTER-SLAVE) podle obrázku 1.
     Chce-li nadřízený procesor (MASTER) přenášet do jednoho z podřízených procesorů (SLAVE) blok dat, vyšle nejdříve adresový byte, který identifikuje cílový procesor. Adresový byte se liší od datového bytu logickou hodnotou právě devátého bitu. U adresového bytu je v devátém bitu log.1, zatímco datový byte obsahuje v devátém bitu log.0. Je-li logická hodnota SM2=1, pak nebude žádný procesor přerušován datovým bytem, avšak adresový byte přeruší všechny podřízené procesory.
      Testováním přijatého byte může každý procesor zjistit, zda je adresován a následující datové údaje jsou určeny pro jeho činnost. Adresovaný podřízený procesor vynuluje bit SM2 a připraví se k příjmu datových bytů. Ten podřízený procesor, který nebyl adresován, ponechá svůj bit SM2 nastaven a pokračuje v původní činnosti před přerušením a ignoruje přicházející datové byty. Formát takové zprávy, která se přenáší mezi procesory, je tvořen adresou následovanou vlastní informací s délkou n bytů takto:

[adresa ] , [1.byte dat] , [2.byte dat] , .....[n byte dat]


Obr. 1 Jedna z možností multiprocesorových konfigurací s procesory 8051


     Například přenos hodnot 55H a AAH z procesoru MASTER do procesoru SLAVE1 bude vypadat následovně (devátý bit je zvýrazněn):

10001010 110101010 001010101 0
adresa55HAAH


     Komunikace z podřízeného do řídícího mikroprocesoru bude probíhat obdobným způsobem s tím, že například jinou adresou vyzve nadřízený procesor jeden z podřízených procesorů k přenosu dat. Ten zajistí připojení výstupu TxD na vstup RxD nadřízeného procesoru a realizuje přenos. V konfiguraci z obr.1 by takový přenos nemusel být uveden adresou. Vzhledem k tomu, že výstupy brány 3 (kde je vývod TxD) jsou realizovány s otevřeným kolektorem, mohou být jednotlivé výstupy TxD paralelně spojeny a připojeny na vstup RxD nadřízeného procesoru. Podmínkou takového uspořádání je, že vysílání bude realizováno jen a pouze jedním podřízeným procesorem v jednom okamžiku.

Vytisknout stránku
Zpátky Zpátky
© DH servis 2002 -