Časové priebehy #

Súčasťou mnohých elektronických zapojení sú priebehy signálov v elektronickom obvode závislé od času. Pre tvorbu časových priebehov môžeme využiť niektoré z dostupných programov ako napríklad plantuml, v CircuitMacros môžeme využiť jednoduchú knižnicu lib_time.

Použitie #

Pri kreslení diagramov s časovými priebehmi je vhodné použiť mriežku Grid(x,y), ktorá zjednodušuje orientáciu pri zadávaní časových priebehov a relácií medzi nimi.

Hodnota amplitúdy logických úrovní pre príkazy kreslenia elementov časového priebehu je prednastavená na hodnotu 0.7, pre kreslenie priebehu je začiatkom zadaný stred logickej stopy. Parametre priebehov je možné modifikovať globálnymi premennými:

pulse_level = 0.7     - amplitúda logických hodnôt
pulse_slope = 0.0     - doba nábehu / odbehu signálu 
pulse_width = 0.5     - šírka pwm pulzu
pulse_edge = .05      - hrana pre signál data 

Statické úrovne a prechody medzi úrovňami #

level(d, L|H|X, D)     - vykreslenie logických úrovní
pulse(d, delay, LH|HL) - vykreslenie prechodov medzi logickými úrovňami

  parametre:
    d                  - dĺžka stavu
    L|H|X              - úroveň L, H, X-neurčitý stav 
    D                  - čiarkovaný priebeh
    delay              - 0..1, oneskorenie zobrazenia prechodu, d*delay
_images/cm_0150a.png

Obr. 53 Statické úrovne signálov a prechody medzi úrovňami.#

Každý element časového priebehu je “orámovaný” neviditeľným boxom označeným ako B, tento je možné využiť v prípade potreby ako referenciu pre umiestnenie popisu časového okamžiku priebehu.

_images/cm_0150g.png

Obr. 54 Referencie pre umiestnenie popisného textu k časovému priebehu.#

_images/cm_0150f.png

Obr. 55 Referencie pre popis časových parametrov časových priebehov.#

Dáta #

V časových diagramoch dáta reprezentujú binárny vektor, hodnota alebo symbolické označenie vektora je zvyčajne súčasťou zobrazenia dát.

data(d, text, L|R|X)    - vykreslenie dát

  parametre:
    d                  - dĺžka stavu
    text               - hodnota alebo označenie dát, text v úvodzovkách 
    L|R|X              - typ dát, otvorené zľava, zprava, neučité / opakované dáta
_images/cm_0150b.png

Obr. 56 Vykreslenie dát s popisom.#

Hodinové impulzy #

Hodinové impulzy sú zvyčajne sekvenciou opakujúcich sa impulzov so striedou 1:1.

clock(d, HL|LH)        - vykreslenie hodinového impulzu

  parametre:
    d                  - dĺžka stavu
    HL|LH              - fáza hodinového impulzu
_images/cm_0150c.png

Obr. 57 Hodinove impulzy.#

Pre zobrazenie sekvencie hodinovým impulzov môžeme použiť príkaz cyklu

for i=0 to 5 do { clock(1, HL); }

Časové relácie #

Pre zobrazenie súvislostí medzi časovými priebehmi (závislosti, oneskoreni) môžeme využiť konštrukcie z CircuitMacros. Pre vykreslenie vzniku a časových súvislostí zaviazaných s udalosťou (event) je v knižnici definované makro event()

event(p1, p2, offset)  - vykreslenie závislosti medzi dvoma časovými okamžikmi

  parametre:
    p1,p2              - počiatočný a koncový okamžik udalosti
    offset             - tvar krivky, kladná alebo záporná hodnota
_images/cm_0150k.png

Obr. 58 Zobrazenie časových relácií medzi priebehmi.#

Pre znázornenie volania prerušenia (interrupt) môžeme využiť makro irq()

irq(name)              - vykreslenie volania prerušenia

  parametre:
    name               - pomenovanie preušenia
_images/cm_0150j.png

Obr. 59 Zobrazenie volania prerušenia.#

Jednoduchý diagram #

Na diagrame je znázornený priebeh generovania PWM signálu časovačom procesora STM32L476 v móde 1.

_images/cm_0150d.png

Obr. 60 Generovanie PWM signálu.#