Převodník RS-232 na sběrnici IBIS

Pokud budete chtít ovládat informační panely dopravních prostředků (BUSE panely), je vhodné použít příslušný palubní počítač, např. BS 100. Pokud jej ale nemáte kam nainstalovat, možná vám bude stačit ovládání z počítače prostřednictvím převodníku RS-232.

Převodník využijete i pro nahrávání fontů a názvů zastávek do panelů, případně pro změnu zobrazovaných informací z nahrané databáze. Protože na plošném spoji bylo místo, umístil jsem na něj i mikrořadič ATtiny85, který můžete naprogramovat na posílání vlastních příkazů bez potřeby používat počítač. Pokud zapojení použijete jen jako převodník, mikrořadič IC3 neosazujte. A opačně, pokud budete vysílat signály z mikrořadiče, neosazujte budič sériové linky IC1. 

Plošný spoj verze 1 jsem využil i pro blok kondenzátorů (C11 až C25) ke zdroji, tak se nelekněte...

U verze 2 již může mít trvale osazen mikrořadič ATtiny85 i budič RS-232, navíc má volné piny mikrořadiče vyvedeny na jumpery JP1, pomocí kterých lze volit nápis na panelech (linku, apod.). JP2 slouží pro přepínání umístění signálů Tx a Rx na pinech konektoru Canon 9. Podle toho, jaký máte kabel (křížený či normální) se propojí buď 1-2 a 3-4 anebo 1-3 a 2-4. Piny 5-6 není potřeba osazovat - jsou určeny pro smyčku v případě řízení toku. 

Verze 2 má jinak zapojené kontrolní LED diody stavu IBIS sběrnice - v závislosti na typu připojeného zařízení svítí Tx LEDka, i když ne tak intenzivně, i v klidu. Je to způsobené proudem, který teče linkou (budí se optočlen). Napětí na lince tudíž není plné (24V), ale okolo 17V (záleží na počtu připojených panelů). Verze 1 tento nedostatek nemá, protože používá pro buzení LEDek volná hradla HC04/14.


Důležité příkazy sběrnice IBIS

l xxx - linka (l979 používám pro výpis textu Dopravní podnik Poděbrady)
zC xxxx - cílová stanice
zD xxxx - přiští stanice (2. řádek) 
aA xx text - vypsání textu na zařízení s adresou xx (aA20Vesele Vanoce)
u xxxx - nastavení času (u1855 = hodina, minuta)
e xxxxxx - tarifní zóna (e000001)
a x - stavové hlášení (a2) -> správná odpověď je potom a0
aV x - nahlášení verze (aV2)

Označovač NJ24C

Označovač je založen na osvědčeném mikroprocesoru 8051, přičemž používá verzi bez vnitřní paměti programu (ROM less = 80C31). Jako externí paměť a expander portů je využit Xicor X88C75, 8KB EEPROM paměti a dva vstupně/výstupní porty. Tento čip podle katalogu umí programování pomocí zavaděče (říkají tomu SLIC), takže lze pravděpodobně přeprogramovat přímo v označovači. To je asi jediné rozumné vysvětlení, proč do zařízení nedali verzi s vnitřní pamětí, třeba Atmel 89C51 (ten nelze naprogramovat ve vlastní konstrukci, to umí až vyšší verze, které se ale v té době ještě nevyráběly). Pro nás je toto použité řešení výhodnější, protože X88C75 nemá žádnou ochranu proti vyčtení obsahu paměti a ani vlastní program není chráněn proti modifikaci kontrolním součtem. Takže jej můžeme podle libosti modifikovat a upravovat!

Z dalších obvodů je použit známý hodinový obvod PCF8583P, který se připojuje přes I2C sběrnici realizovanou porty P1.6 (SCL) a P1.7 (SDA). Pro buzení jehliček se využívá budič MTA001M. Napájení elektroniky z 24V obstarává spínaný zdroj s LM2575T-5.0. Sběrnice IBIS je oddělena optickými oddělovači PC817 a má ochranu proti přepětí a asi i přepólování (přesné označení součástky jsem nepřečetl, ale je to asi nějaká zenerova dioda anebo transil).

Na desce je šestice DIP switchů a jeden konektor Canon 9. Využívají se rovněž zbývající čtyři piny připojovacího konektoru s IBIS sběrnicí, které určují adresu označovače. Toto je nejslabší část řešení, protože kontakty připojovacího konektoru jsou přímo přivedeny do X88C75, takže při chybném zapojení konektoru anebo výboji statické elektřiny dojde k destrukci tohoto exotického obvodu - čert vem procesor, ale tenhle Xicor se bude shánět hodně těžko !!

V normálním stavu jsou první 3 switche v poloze On, zbývající 4-6 v Off. Switch č. 1 zásadně ovlivňuje chování označovače, protože po Resetu je testován a buď (On) se pokračuje v normálním provozu se sběrnicí nastavenou na 1200 Bd anebo v pravděpodobně testovacím provozu se sériovou sběrnicí nastavenou na 9600 Bd. Možná to souvisí s programováním, v každém případě označovač reaguje jen na znaky R (vrátí na sběrnici znak D) a X (vrátí řetězec "X88C75: 3.0"). Switche 2 a 3 hardwarové odepínají IBIS sběrnici, takže je k sériové lince TxD a RxD připojen pouze Canon 9 (přes invertory HCT14, úrovně 5V = nikoliv RS-232 !!). Switche 4 a 5 se mi nijak neprojevovaly a dál jsem je nezkoumal. Switch 6 způsobí, že hlava tiskárničky jezdí mnohem delší dobu a označování není funkční. Taky jsem to více nezkoumal.

Níže popsané chování vychází z pražské verze 5.4I, kterou jsem měl k dispozici.

Po zapnutí označovač načte adresu z připojovacího konektoru a zvolí typ tisku. Není-li žádný pin připojen, zvolí se formát tisku jako v metru. Pokud je nějaká adresa nastavena (3 piny určují adresu, čtvrtý je zem), používá se formát pro dopravní prostředek = s číslem vozu a linky. Důležitá je skutečnost, že u režimu "metro" nejste schopni změnit úvodní logo metra, jeho tisk je pevně zakódován v programu - jen pro zajímavost : jsou to dva znaky ;-) V režimu "vozidlo" nelze změnit druhý tištěný znak, který je určován adresou na připojovacím konektoru a znamená číslo označovače ve vozidle. Ostatní změnit lze a to pomocí příkazů přes IBIS sběrnici ! 

Pokud chcete změnit rozložení tištěných informací, tak jedině změnou kódu programu. Xicor X88C75 umí programovat třeba programátory Elnec, ale pozor : pouzdro je DIL48. 

Příkazy pro konfiguraci tištěné informace :

Metro : dA21 d16051 u1325 l96 e900001 e8 eA9PDY 

"Znak metra" ED PDY 968 - 16 V 21 13:25  

Vozidlo : dA21 d16051 u1325 l950 e009011 eA0968

ED 06 (číslo označovače) 0968 (číslo vozu) 950 (číslo linky) P (pásmo) 16 V 21 13:25            


V případě potřeby jsem k dispozici na mailu kaspar(taková zatočená věc)pk.cz

Program pro ATtiny85 - Postupně pošle na IBIS sběrnici příkazy pro nastavení všech linek = 0..999