Stránka 1 z 2

Přenos signálů

Napsal: 29 bře 2012, 09:36
od paveltl
Zdravím,
rozšiřujeme jednu časomíru o externí displej a bohužel jsme narazili na dost podstatný problém.
Mám v podstatě dvě možnosti:
1. využít hodiny a povely a vnější displej udělat autonomní, což ze zkušenosti vím že nemá dostatečnou přesnost a lže o pár setin sekundy.
2. kamarád by raději vyvedl BCD kódy pro sedmisegmentovky, ale to je moře drátů.

Takže napadá vás někoho jak přenést 15 BCD kódů elagantním způsobem?
Ideální by bylo použít nějakou průmyslovou sběrnici na 3 dráty a vzdálenost 10m. Bohužel s mikroprocesory si neruzumíme, ale kdyby to někdo byl schopen to vyřešit za rozumnou cenu, i to by byla možnost.

Pro představu je to charita pro hasiče, 3 časy 1:00,00.
Nějaká stokoruna se vždycky najde, ale pár tisícovek už ne.

Napsal: 29 bře 2012, 09:39
od Andrea
A ta stávající časomíra není řízená mikroprocesorem?

Napsal: 29 bře 2012, 13:01
od paveltl
Bohužel, to je už pár let starý a vypadá to že je dělaná podle nějaký konstrukce z amára, klasickou TTL logikou. Jsou to v podstatě 3 nezávislý časomíry, propojený všelijak dohromady.
Bohužel tehdejší stavitel je už po smrti a tak to zbylo na nás jestli by jsme nezkusili.

Napsal: 29 bře 2012, 20:41
od Banda
Určitě bych šel cestou menší počet vodičů a posílat data.
Přečíst informace v hlavní jednotce a poslat je do externího displeje.
Avšak bez mikroprocesoru bych se do toho ani nepouštěl - což vás nemusí trápit, s tím bych pomohl, jen je potřeba mít aspoň nějakou dokumentaci k původní časomíře.
Když tak pošlete mi SZ a pobavíme se o tom přes SKYPE.

Napsal: 30 bře 2012, 12:25
od mtajovsky
Pokud budete přenášet celá data po nějaké sériové lince, stejně tam bude diference a to větší, než nějaká setina sekundy. Nešly by přenášet jen synchronizační impulsy? Myslím tím mít vzdáleně samostatné hodiny a například při přeskoku minuty přenést impuls a tím zkorigovat čas.

Napsal: 30 bře 2012, 14:54
od Hill
Snad nejde o souhlas aktuálně zobrazovaného údaje za chodu časomíry, ty setiny by stejně nikdo nestihl přečíst.
Důležité budee zobrazení zastaveného (mezi)času, v podstatě zkopírování stavu buď BCD výstupů před dekódováním (a dekódovat v obou displejích) nebo rovnou zkopírování stavu budičů segmentů, tím odpadne u podružných displejů dekodér, ale pro přečtení výstupů a jejich aktivaci u podřízených displejů bude vyžadovat vícebitový čítač s pamětí, než pro BCD.
Přenos může být pak klidně sériovou linkou, údaj bude stejný, jen se na ostatních displejích objeví o desetiku sekundy později.

Napsal: 30 bře 2012, 16:57
od jasin
Nejede ten displej v multiplexu? To by dost zredukovalo počet drátů.

Napsal: 31 bře 2012, 12:02
od Atlan
4021 a 4094, na skopirovanie stavu BCD a teoreticky 2-3 vodice pre clk a data. 4021 nacitava stav posiela cez data a na vystupoch 4094 sa to vystavi...

Napsal: 31 bře 2012, 13:11
od frpr666
Jestli jsem dobře pochopil, jde o to zobrazovat čas na "displeji" 10m od boxu "časomíry".
Pokud by bylo zpoždění sér. přenosu dat např. 100ms, tak to přeci pro pozorovatele nevadí, že hodnota na displeji se "ustálí" až za 100ms, nebo se pletu?
Tenhle princip se používá např. pro spojení PLC a Operátor. panelu. Na PLC běží úloha a data se sér. přenáší na panel a zpět. Panel zde plní jen funkci "terminálu". Podstatné je, že číslo, které vidí operátor odpovídá číslu v PLC. To že je tam malé zpoždění nehraje roli.

Napsal: 31 bře 2012, 13:40
od paveltl
Je to přesně jak píše Hill.
Zpoždění přenosu nehraje sebemenší roli, protože je nikdo nestihne odečítat, důležité jsou jen výsledné zobrazované 3 (mezi)časy.
Nejsnazší by právě bylo číst asi ty BCD kódy, proč číst 7 informací když stačí jen 3.

jasin: bohužel je to klasická technologie TTL čítačů s BCD děličkami a klasickým výstupem.

mtajovsky: princip přenosu hodin jsme už jednou použily, vlastní časomíra je řízena PLCčkem, vyhodnocuje se na PC (pěknej prográmek rovnou vše vyhodnocuje a řadí výsledky) a displej pro diváky je řízen hodinami. Divil by ses jak jsou lidi schopní se hádat že displej ukázal čas o 0,02s jiný než časomíra, přestože bylo předem řečeno že displej je pouze informativní. Právě tomu se teď chceme vyhnout.

Napsal: 31 bře 2012, 18:09
od kevin_mitnick
A co ridit externi displej az z PC??

Napsal: 01 dub 2012, 11:21
od paveltl
kevin_mitnick: Tahle časomíra co upravujeme je klasika TTL. Ta s PC byla jiná.

Napsal: 01 dub 2012, 13:16
od kevin_mitnick
paveltl píše: princip přenosu hodin jsme už jednou použily, vlastní časomíra je řízena PLCčkem, vyhodnocuje se na PC (pěknej prográmek rovnou vše vyhodnocuje a řadí výsledky) a displej pro diváky je řízen hodinami.


Ja vychazel z tohoto postu. Proto jsem navrhoval displej z PC...

Napsal: 01 dub 2012, 14:48
od Hill
Jsou tam dekodéry s latch nebo jsou tam mezi čítačem a holými dekodéry ještě zvlášť latche např. s MH7475? Pak by snad nebyl problém vyvést výstupy těch 75, multiplexerem periodicky číst stavy jednotlivých míst v kódu BCD.

Pokud by se data přenášela čistě sériově, pak bych volil snímání stavu jednotlivých výstupů BCD multiplexerem adresovaným z jednočipu, který si stav každé BCD číslice uloží do paměti a po dokončení čtecího cyklu všech míst ho odešle po vedení na podřízené displeje, které budou fungovat opačně: procesor přijatá data rozstrká do jednotlivých dekodérů s latchem.
Rutiny pro sériový přenos pro různé jednočipy jsou dostupné už hotové.
Asi bych to čtení výstupů řešil postaru se Z80SIO (U851D), když už tam jsou pažravá TTLka: umí 8 datových vstupů a umí udělat paket ve formátu RS232 a ještě si poklepat rukou s protějším zařízením, když se mu to dobře vysvětlí.
Jde navíc hardwarově jen o to, multiplexovat do těch 8 bitů všechny výstupy z čítačů a na konci je zase rozhodit do těch správných latchů před dekodéry v displejích.

Napsal: 01 dub 2012, 15:04
od Andrea
Než takový orloj, to už radši rovnou předělat tu časomíru na jednočip, který by posílal aktuální časy po sériové lince ven do slave jednočipu, který by je zobrazoval.