Protože v dnešní době jsou mechaniky CD ROM velmi levné,zbyla mi po upgrade mého počítače volná mechanika CD. Jistě nejsem sám, koho napadlo, co dál s ní. Pak přišel nápad na její využití v automobilu. K normálnímu ovládání CD mechaniky, která měla pouze tlačítko EJECT však bylo nutno postavit smysluplné ovládací rozhraní. Po hledání na internetu a listování staršími ročníky Praktické elektroniky jsem narazil na audiopanel firmy Papouch, ale zdál se mi zbytečně složitý. Proto jsem navrhl vlastní konstrukci, ve které jsem se snažil o rozumný komfort obsluhy, co nejjednodušší zapojení i pro začátečníky a také o nízkou pořizovací cenu.

Vestavba do Škody 130 - ke zvětšení obrázku klikněte na náhled   Vestavba do Škody 130 - detail


Ovladač má tyto funkce

Displej zobrazuje tyto informace




  přehrávání
  stop
  skok vpřed
  skok vzad
  pause
  vysunutí/zasunutí CD disku
po načtení CD disku jeho celkovou délku v minutách a sekundách
počet skladeb na CD
číslo navolené skladby a její délku
informaci o stavu mechaniky - hraje, pauza, otevřená dvířka, zavřená dvířka a nevložený disk, chybová zpráva hardware, chybová zpráva media, ostatní chyby (výpis čísla chyby dle ATAPI specifikace)


Celkový pohled   Pohled na panel




Technické parametry:
Napájení:   5V a 12V ss (ve verzi se spínaným zdrojem jen jedno napájení v rozmezí 8,5 až 13 V)
Zobrazení:   LCD podsvícený displej 2x16 znaků
Typ media:   CD DA (digital audio), lisovaná CD, vypalovaná CD-R a CD RW
Ovládání:   4 tlačítka




Popis zapojení
      Schéma zapojení není složité. Celý audiopanel je řízen 8 bitovým mikroprocesorem ATMEL AT89C51 s taktovacím kmitočtem 12 MHz. Porty procesoru P0 a P3 slouží jako datová sběrnice. Port P0 je připojen přes ošetřovací rezistorové pole R2 na +5V. Vzhledem k jednoduššímu plošnému spoji je brána P0 zapojena zrcadlově (tj. P0.0 na D7 atd.) a převrácení se provádí programově. Pro ovládání řídících signálů CD ROM (WR,RD,CS3 a adresové vodiče A0,A1 a A2) je použita brána P2. Veškeré signály jsou vyvedeny na konektor IDE ATAPI , který je připojen přes klasický 40 pinový kabel k CD mechanice. Displej je 2x16 znaků s řadičem HD44780 je připojen přes lámací konektor JP1, který má 14 pinů. Je použit displej s podsvětlením LED. Toto podsvětlení je připojeno k napájení jumpery umístěnými na desce displeje (jumpery a předřadný rezistor již na desce displeje byli). Samozřejmě je možno použít i displej bez podsvětlení. Trimr R5 slouží k nastavení kontrastu displeje.
     Pro zjednodušení konstrukce bylo zvoleno toto mechanické nastavování kontrastu. Resetovací obvody jsou dva, C3 a R1 slouží k resetu pro procesor a C4 a R4 slouží pro reset CD ROM. Brána P1 je využita ke komunikaci s displejem a ke čtení stavu tlačítek. Diody D1 až D4 slouží k oddělení tlačítek, aby nebyla ovlivňována data posílaná do displeje, protože tlačítka jsou připojena na stejné vodiče. Ke čtení stavu tlačítek a správnému zapisování dat do displeje je port ošetřen rezistorovým polem R3 připojeným na +5V.

      Pro použití CD ROM mechaniky v automobilu (k tomuto účelu jsem ji využil já) je vhodné použít spínaný zdroj (upravená konstrukce dle AR 12/98). Zdroj je poněkud upraven oproti původnímu zapojení. Je sestaven na desce s plošnými spoji o rozměrech 140x40 mm. Je umístěn za mechanikou vzadu, jeho vstup je na svorkovnici CON1, na výstup je připojen klasický počítačový napájecí konektor, který je zasunut do mechaniky. Navíc je z napětí 5V odbočeno napájení pro audiopanel. Oba stabilizátory a spínací tranzistor jsou osazeny ze strany spojů kvůli chladiči. Podrobnosti uvidíte na detailním obrázku zdroje.



Funkce tlačítek
STOP/EJECT má dva významy. Při funkci PLAY zastaví přehrávání a vrátí se na začátek přehrávané skladby. Pokud při funkci PLAY podržíme tlačítko déle než asi 1 sekundu, zastaví se přehrávání disku a provede se příkaz EJECT (otevření dvířek mechaniky). Pokud se CD nepřehrává a stiskne se STOP, provede se EJECT. Když jsou dvířka mechaniky otevřena, pak po stisku tlačítka dojde k jejich zasunutí a následuje načtení CD (o tom audiopanel informuje na displeji).
PLAY/PAUSE při stisku se začne přehrávat CD od navolené skladby. Pokud stiskneme PLAY při přehrávání, provede se příkaz PAUSE. Po opětovném stisku se začne CD opět přehrávat od místa pauzy.
VPŘED slouží o posuv o 1 skladbu vpřed. Pokud stiskneme toto tlačítko během přehrávání dojde k posuvu okamžitě. Jestliže se disk nepřehrává a stiskneme VPŘED zvýší se o jednu číslo aktuální skladby (tj. skladby,která začne být po stisku PLAY přehrávána).
VZAD má stejný význam jako VPŘED, ale provádí skok o jednu skladbu vzad. Toto tlačítko má navíc ještě jedno využití. Pokud jej podržíme stisknuté déle než 1 sekundu, provede se návrat na 1. skladbu na disku. Pokud je tento skok vyvolán při funkci PLAY, pak se začne první skladba ihned přehrávat.

Zobrazení na displeji
      Displej zobrazuje při funkci PLAY číslo přehrávané skladby, uplynulý čas od začátku skladby a nápis HRAJI. Při funkci PAUZA se místo nápisu HRAJI zobrazuje nápis PAUZA, který bliká. Při funkci EJECT se zobrazuje nápis "Dveře mechaniky otevřeny". Při zavřených dvířkách mechaniky a nevloženém CD se zobrazuje nápis "Není vložen disk". Pokaždé, když se načítá disk (po výměně CD nebo po resetu) se zobrazuje "Moment prosím načítám CD disk".

Konstrukce
     Panel je postaven na jednostranné desce s plošnými spoji o rozměrech 123x50 mm. Displej je připojen k desce procesoru lámací konektorem se 14 vývody a v předvrtaných otvorech je k základní desce upevněn čtyřmi distančními sloupky. Pro konečnou montáž byla zvolena krabička K33, v jejíž zadní stěně byl vyříznut otvor pro CD ROM. Mechaniku zbavíme předního panelu a nasuneme do krabičky. Pak je mechanika upevněna v zadní stěně krabičky šrouby. V čelní stěně krabičky je otvor pro dvířka na CD disk, otvory pro displej a pro tlačítka. Tlačítka jsou osazena tak, že každé je připájeno na 4 měděné smaltované vodiče o průměru cca 1 mm. Tyto vodiče jsou následně zapájeny do desky panelu tak, aby po sesazení s čelní částí krabičky šla tlačítka dobře stlačovat a nikde "nedrhla". Vodiče tedy plní částečně funkci distančních sloupků s tím, že i po zapájení lze polohu tlačítek v rozumných mezích upravit.
      Aby dvířka mechaniky lícovala s čelní stěnou krabičky, byl sejmut panel dvířek, který byl na výsuvné plotně dvířek nasunut a "zacvaknut" a byl přilepen na distanční sloupky , které byly zamontovány do zbývající části "šuplíku". Panel dvířek byl před přilepením přestříkán na černou barvu. Popis panelu je natištěn laserovou tiskárnou na bílou samolepicí fólii, která je navíc pro zvýšení trvanlivosti přestříkána bezbarvým akrylátovým lakem . Panel je napájen odbočkou z 5V napájení mechaniky.

Oživení
      Po osazení desky a kontrole, zda nejsou někde nežádoucí cínové propoje vložíme procesor do objímky a připojíme kabel k mechanice CD ROM. Musíme dát pozor na správné propojení kabelu. POZOR - jumper pro výběr master/slave musí být v pozici MASTER, jinak mechanika nekomunikuje. Poté nad procesor zasuneme do konektoru displej a upevníme jej přes distanční sloupky k základní desce. Připojíme sluchátka nebo nf zesilovač do konektoru na zadní stěně mechaniky CD ROM. Potom připojíme napájecí napětí, nejprve 12 V k mechanice, potom 5V k mechanice a k audiopanelu. Pokud stavíme celý panel i se zdrojem, tato manipulace odpadá a připojíme jen 12V do desky zdroje (samozřejmě musí být předem propojeno napětí 5V dopředu do panelu).
      To by se již mělo rozsvítit podsvětlení displeje a mělo by se vypsat úvodní logo . Pokud se neobjeví nic je třeba zkontrolovat nastavení kontrastu. Pak panel testuje připojení CD mechaniky. Jestliže procesor do 10 sekund nenajde CD ROM nebo je chyba v komunikaci vypíše se chybová zpráva. Když je vše v pořádku, vypíše se zpráva, že CD ROM čte data z disku (pokud je vložen). Jinak již následuje výpis hlavní zprávy, která je rozdělena na dvě části, které se cyklicky opakují po 1,5 sekundě. V první části zprávy je zobrazen počet skladeb na CD disku a celková délka záznamu na CD. Ve druhé části je zobrazena momentálně navolená skladba a její délka.

Protože měli někteří problém s oživením, zařadil jsem postřehy tazatelů pro ostatní.

FAQ:    po mensiej kontrole som nasiel skrat v kabli IDE medzi 2 a 3 pinom, ktory som odstranil, no ani napriek tomu nefunguje(mohlo sa tym skatom nieco poskodit?) skusim este ine cd rom. nakolko displej nie je zapojeny chybove hlasenie precitat neviem. mohli by ste mi nejak poradit?
uz som prisiel na chybu, bola to taka elementarna, skoda ze mi to nenapadlo hned, cd rom bola najumprovana na single, prehodil som jumper na master a uz to funguje
Vsechno jsem pozapojoval ale vypisuje mne to jenom chyby (11, 4 atd.). Je mozne, ze tento typ CD mechaniky nebude fungovat
tak jsem vymenil mechaniku a uz to slape. Vse je v poradku. Jinak je opravdu dobre si nekdy precist vas navod cely. Po zapojeni se stale nic nezobrazovalo ackoliv displej svitil. Stacilo tak malo - v navodu upozornujete na nastaveni jasu displeje. A ejhle uz se to zacalo zobrazovat. Hlasky typu Chyba pripojeni a CD nekomunikuje se taky zobrazily pri pouziti nahradniho zdroje. Potom jsem prisel na to, ze 12V vystup dava mekke napeti a mechanika se netocila.


Řídící program
      Délka programu je 2494 byte. Procesor zajišťuje vysílání paketových příkazů do CD ROM, čtení ERROR registru a informací SUBCHANNEL během přehrávání. Dále vypočítává délku nastavené skladby a obsluhuje displej. V přerušení od časovače 1 (2x za sekundu) se čte klávesnice. Čtení klávesnice je řešeno tak, že společný vodič tlačítek z P1.7 je uveden do úrovně log. L a čte se stisknuté tlačítko. Ošetření zákmitů tlačítek je řešeno programově. Ještě než se začne číst stav tlačítek, je uložen stav portu P1, aby se zachovala data při eventuálním zápisu dat do displeje. Pak se testuje stav bitu P1.4 (signál Enable pro displej). Pokud je v úrovni log. H, znamená to, že se přerušení právě "trefilo" do zápisu dat do displeje. V tomto případě se čtení klávesnice neuskuteční a jsou obnovena data na portu P1 ze zálohy. Komunikace s displejem je čtyřvodičová. Popis inteligentních displejů a komunikace s nimi je popsána na jiné stránce.

      Po resetu se nejprve provede sekvence nastavení displeje (zapnutí, nezobrazení kurzoru, nastavení interface na čtyřvodičovou komunikaci atd.) a potom následuje sekvence uložení českých znaků použitých v aplikaci do paměti CG RAM displeje. Procesor komunikuje s CD ROM prostřednictvím protokolu IDE ATAPI. Detailní specifikaci tohoto protokolu najdeme v normě SFF-8020i . Většina komunikace probíhá pomocí tzv. paketových příkazů. Další část komunikace probíhá přes ATA registry. Pomocí těchto registrů se čte např. ERROR registr, stav mechaniky, zda pracuje, jsou-li otevřena dvířka, jakého typu je cd disk apod. Detailnější údaje jako např. přesné číslo chyby, stav přehrávání, číslo přehrávané skladby atd. se čtou opět pomocí paketových příkazů.
      Komunikace se odehrává zhruba takto: Vyslání paketového příkazu musíme mechanice oznámit. Vyšleme příkaz A0H a čteme příznak BUSY ve STATUS registru. Až mechanika nastaví tento příznak do log. L, indikuje tím, že je připravena přijmout paketový příkaz. Paketový přenos je realizován 16bitově, každý paketový příkaz je složen z 12 byte. První byte vždy obsahuje instrukci příkazu, ostatních 11 byte obsahuje parametry. K přehrávání je použit příkaz PLAY AUDIO MSF. K jeho provedení je třeba znát adresu začátku skladby (tracku), který zjistíme pomocí příkazu READ TOC (Table Of Contens) a následným načtením dat. Z tohoto příkazu zjistíme také počet tracků na CD disku. Pozici konce CD (tzv. Lead Out) zjistíme též příkazem READ TOC s parametrem pro číslo tracku 0AAH. Délka tracku se vypočítává tak, že načteme startovací adresu následujícího tracku za trackem aktuálním. Od té odečteme startovací adresu aktuálního tracku a výsledek po převodu z hexa do bcd je zobrazen na displeji jako délka skladby.
     Dále se během přehrávání čtou informace ze subkanálových stop pomocí příkazu READ SUBCHANNEL. Toto načtení se opakuje 3x za sekundu. Informace obsahují mimo jiné uplynulý čas od začátku tracku, chyby během přehrávání, zda bylo přehrávání úspěšně dokončeno apod. Pokud se vyskytne nějaká chyba, vypíše se na displej. Pokud je chyba v mediu nebo hardware, je vypsána odpovídající zpráva. Pokud nastane jiná chyba, je vypsán kód této chyby. Popis chyby lze pak nalézt v normě ATAPI. Detailnější informace o komunikaci lze nalézt na Internetu nebo v Praktické elektronice 5/99. Dle PE 5/99 se plně ztotožňuji s názorem, že napsat plně univerzální program je nemožné, protože výrobci mechanik nedodržují některé základní věci dle ATAPI SFF-8020i hlavně co se týká nestandardních inicializačních rutin mechanik. Tento panel byl úspěšně vyzkoušen s těmito mechanikami: CREATIVE 24x model CD2426E, SONY 52x CDU5211, ACER 8x 685A (r.výroby 1996), ARTEC 54x, Toshiba 36x, Toshiba 8x, VUEGO 8x, nově BTC 24x, Cyberdrive 24x z r.1997, TEAC 52x, Mitsumi 24x model SRMT SX 240 S. POZOR s mechanikami s datem výroby před rokem 1996 Vám audiopanel nebude fungovat, neboť nejsou kompatibilní s ATAPI IDE.


Rozpiska součástek

Audiopanel: Zdroj:
R1 rezistor 8k2 C1,C2 keramický kondenzátor 1n
R2,R3 rezistorové pole 10k C3 keramický kondenzátor 10n
R4 rezistor miniaturní 5k6 C4,C5,C6,C7 keramický kondenzátor 100n
R5 trimr PIHER ležatý 2k2 C8,C9 elektrolytický kondenzátor 1000uF/50V
C1,C2 keramický kondenzátor 33p C10 keramický kondenzátor 100p
C3 tantalový kondenzátor 6u8/15V C11 elektrolytický kondenzátor 220uF/35V
C4 tantalový kondenzátor 10uF/15V C12 elektrolytický kondenzátor 47uF/35V
D1-D4 dioda 1N4004 CON1 svorkovnice ARK500/2 ( GM electronic )
IC1 procesor AT89C51 DIL40 D1 dioda Schottky 1N5821
IDE_ATAPI konektor 40 pin F1 držák na trubičkovou pojistku + pojistka
JP1 lámací konektor s protikusem 14 pinů IC1 UC 3843 DIL8
TL1-TL4 tlačítko P-DT6 L1 tlumivka cca 40uH (20záv. prům. 1mm do hrníčkového jádra H22, AL 400)
X1 krystal miniaturní 12MHz HC49U70 R1 rezistor miniaturní 150k
Patice DIL 40 precizní R2,R7 rezistor miniaturní 10k
Displej 2x16 znaků podsvětlený EL1602 B-FL -YBW ( HW SHOP,HW server ) R3 rezistor miniaturní 15k
Distanční sloupky a spojovací materiál R4 rezistor miniaturní 22R
Krabička KP 33 ( Antonín Atanašovský - Petřvald ) R5 rezistor výkonový 0,5R
  R6 rezistor miniaturní 1k
  R8 rezistor miniaturní 68k
  U1 stabilizátor 7805
  U2 stabilizátor 78S12
  T1 tranzistor BUZ10



      Software audiopanelu do procesoru ATMEL je od 10.6.2005 uvolněn pro bezplatné stažení i se zdrojovými kódy. Pro případné zájemce, kteří nemají možnost si procesor sami naprogramovat mohu zaslat naprogramovaný procesor. Plošné spoje, procesor, popřípadě celou konstrukci je možno si objednat na mojí e-mailové adrese. POZOR - jsou k dispozici také verze v angličtině a slovenštině. Požadovanou verzi prosím označte v objednávce.

Ke stažení jsou tyto soubory:


Velikost 77 kByte   Kompletní software Audiopanelu i se zdrojovými kódy, různé jazykové verze (čtěte popis)
 
Velikost 360 kByte   Další fotografie panelu
 
Velikost 560 kByte   Zabalená norma ATAPI SFF 8020i
 
Velikost 264 kByte   Plošné spoje ve formátu *.jpg
 
Velikost 41 kByte   Plošné spoje ve formátu EAGLE 4.01


Pohled na osazení displeje   Pohled na desku procesoru


Vytisknout stránku


Jste návštěvníkem této stránky.

Zpátky Zpátky
© DH servis 2002 -