Jste zde

SensorPath - jednovodičová sběrnice

Jednovodičová sběrnice SensorPath umožňuje sériový přenos dat nenáročným pulsně-šířkovým kódováním a tak ji lze jednoduše využít i k malých MCU bez hardwarové podpory sériové komunikace. Často ji využívají inteligentní senzory teploty.

SensorPath je jednovodičová sběrnice pro sériový přenos dat převážně z integrovaných inteligentních senzorů teploty do nadřazeného PC nebo MCU. Tento standard byl definován firmou National Semiconductor, pro které dodává i integrované převodníky (SuperI/O controller - PC8374x apod.) na jiné standardy (RS-232,LPT, PS/2 apod.). Nejčastěji se lze se SensorPath setkat v inteligentních teplotních senzorech firem National Semiconductor a Texas Instruments.

Vlastnosti sběrnice

  • Jednoduchá jednovodičová sběrnice
  • Sériový přenos dat metodou blízkou PWM
  • Až 7 senzorů na jedné sběrnici - 3bitová adresa
  • Broadcast komunikace
  • Signálové napěťové úrovně 3.3 V (log. 0) a 0 V (log. 1)
  • Přenos bitu log. ‘0’ = 15µs, přenos bitu log. '1' = 42µs.
  • Min. přenosová rychlost 3 kb/s (přenos dat tvořené samými log. 1)
  • Max. přenosová rychlost 8.4 kb/s (přenos dat tvořené samými log. 0)
  • Sběrnici vždy budí master i při přenosu z jednotky slave do masteru.
  • Standard definuje přenos 8 a 16bitových dat v jednom rámci
  • Zabezpečení přenosu lichou paritou.

Použití

  • Přenos dat z inteligentních senzorů
  • Monitorování teploty zařízení (šasi, CPU)
  • Komunikace s jednoduchými MCU bez sériových rozhraní a ADC
  • Řízení větráků, chladičů přímo dle teploty
  • Výpočetní technika
  • Vzduchotechnika, klimatizace

Obr. 1. Příklad propojení senzoru teploty TMP141 s MCU

Stručný popis sběrnice a protokolu

Fyzická vrstva

Data (rámce) jsou přenášeny sériově na principu pulsně-šířkovém kódování (Pulse Width Encoding) po jednovodičové sběrnici, někdy označované jako Single-Wire Data (SWD). SensorPath sběrnice využívá napájení 3.3 V, což tvoří jednu napěťovou signálovou úroveň. Druhá je 0 V. Všechny signály jsou tvořeny stažením napěťové úrovně na sběrnici do napěťové úrovně 0 V, která je držena po určitou dobu. Délka této doby definuje typ signálu (START bit, RESET), resp. hodnotu přenášeného bitu (log. 0 nebo 1) - viz. obrázek 3. a 4. Obvykle i při komunikaci od jednotky slave k masteru je signálová úroveň stažena master jednotkou a slave jednotka pouze nízkou úroveň 0V přidrží na dobu definující logickou hodnotu daného bitu nebo daný signál.


 

Z hardwarového pohledu je SensorPath rozhraní tvořené pull-up rezistorem a open-drain tranzistorem (viz. obrázek 2.). Pro správné časování na sběrnici by zátěžová kapacita sběrnice neměla překročit 400pF.

Z pohledu komunikace, SensorPath rozhraní definuje 5 typů přenášených signálů identifikovatelné podle délky doby, kdy je na lince nízké signálová úroveň (0 V).

Obr. 2. Definice hardwarového rozhraní SensorPath bus

  • Data 0: Vyslání bitu log. ‘0’ (trvání 15µs)
  • Data 1: Vyslání bitu log. ‘1’ (trvání 42µs)
  • Start bit: Užívá ji master na začátku transakce (komunikace - přenášení rámce) (trvání 95µs)
  • Attention Request: Může být použit pro žádost o službu (request service) (trvání 196µs)
  • Reset: Musí být vyslán master i slave jednotkou po zapnutí napájení. Samozřejmě může být vyslán i jiných případech, když je vyžadován reset (trvání minimálně 348µs).

Pozn. Sběrnice musí být v neaktivním režimu, tj. min. 11µs před vysláním libovolného signálu.

START bit - před zahájením komunikace všechny slave i master jednotka sleduje aktivitu na sběrnici, v době bez aktivitu může master zahájit komunikaci Start bitem (viz. obr. ) - tzn. držený nízký napěťový stav sběrnice po dobu okolo 95µs. Delší doba již definuje bit Attention Request, kratší pak datový bit log. 1.

Attention Request - před vysláním slave jednotka sleduje, zda je sběrnice neaktivní (neprobíhá komunikace). V případě kolize s datovým signálem nebo signálem START má vyšší prioritu (slave jednotka déle nechá sběrnici staženou do nízkého stavu než by uvedeným signálům odpovídalo). Při takové kolizi pak master, v případě vlastního vysílání, vyšle znovu bit, který byl přerušen, nebo inicializuje nový přenos novým start bitem v případě vysílání dat slave jednotkou.

Obr. 3. Časové průběhy signálů komunikace MASTER-SLAVE (detail)

Obr. 4. Souhrný časový přehled signálů definované standardem SensorPath (detail)

Linková vrstva

Celou komunikaci a přenášení dat lze rozdělit do dvou zpráv:

  • Read Transaction (obr. ) - přenos dat od SLAVE k MASTER, komunikaci inicializuje MASTER start bitem
  • Write Transaction (obr. ) - přenos dat od MASTER k SLAVE, komunikaci inicializuje MASTER start bitem

Obr. 5. Rámec přenosu dat od Slave k Master (M - nastavuje Master, S - nastavuje Slave)

Obr. 6. Rámec přenosu dat od Master k Slave (M - nastavuje Master, S - nastavuje Slave)

Každý přenos (transakce) je inicializovaná jednotkou Master, která vyšle START bit, dále adresu daného zařízení (DEVICE NUMBER), s kterým se komunikuje, a číslo registru (REGISTER NUMBER) adresovaného zařízení, z kterého nebo do kterého se mají přenášet data. Následuje označení zda jde o čtení/zápis (R/W) a samotný přenos dat. Blok dat může být 8 nebo 16bitový, dle velikosti adresovaného registru zařízení (senzoru). Nakonec je tu paritní bit (EP) - lichá parita, která se počítá z celé předchozí posloupnosti bitů, a Acknowledge bit (ACK) označující úspěšnost nebo neúspěšnost doručení zprávy. V případě přenosu dat z jednotky master do jednotky slave jsou všechny bity, mimo potvrzení přijetí (ACK), nastavovány masterem (obr. 6.), v případě opačného přenosu (z slave do master) jsou slave jednotkou nastavovány pouze datové bity (obr. 5.).

Na sběrnici může komunikovat s jednou jednotkou master až 7 slave jednotek (zařízení - device), jejichž adresa může být definována softwarově nebo hardwarově. Někdy se u teplotních senzorů využívá nastavení adresy jen pomocí dvou bitů. Třetí MSB bit je pak pevně nastaven na log. 1. Tím je samozřejmě omezený počet senzorů na sběrnici na čtyři. Adresa 000 je vždy vyhrazena pro broadcast, tedy vyslání informace paralelně všem slave jednotkám.

Závěr

SensorPath, původně vyvinutá firmou National Semiconductor, je zajímavou jednovodičovou sběrnicí, která na straně masteru (MCU, CPU) nevyžaduje žádné zvláštní hardwarové požadavky. Díky sériovému přenosu dat na principu PWM kompatibilní s TTL je možné jako master jednotky využít i velmi malé mikrokontroléry v 8pinových pouzdrech jako jsou řady PIC12xxx nebo Motorola HC08. Detailnější popis k sběrnici lze nalézt v datasheetech teplotních senzorů.

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

Hodnocení článku: