. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Klon logického analyzátoru Saleae
8. června 2011 - 6:54 | Pandatron | Klon logického analyzátoru Saleae | Komentářů: 36  

Klon logického analyzátoru Saleae

Před časem jsme zde představili logické analyzátory značky Saleae. Jelikož se jedná o zajímavý produkt, využívající jediného, 8-bitového mikrokontroléru a přenosovou kapacitu rozhraní USB 2.0, přinášíme nyní jeho klon, určený i pro amatérskou výrobu.

Není tomu tak dávno, co jsme článkem Logický analyzátor Saleae představili zajímavé produkty této firmy. V současné době jsou k dispozici dvě varianty logického analyzátoru a to pro osm nebo šestnáct kanálů se vzorkovací frekvencí až 100 MHz (při dvou kanálech). Na konci článku byly uvedeny nejen zdroje dalších informací, ale také odkazy na amatérské konstrukce a klony jeho jednodušší, osmibitové verze. Jelikož článek vzbudil velký zájem o dostupnost desek s plošnými spoji či kompletní sady součástek, přináším zde kompletní stavební návod na analyzátor i s dostupnou deskou s plošnými spoji.


Obr. 1: Klon logického analyzátoru Saleae

Základní vlastnosti:
  • Počet kanálů: 8
  • Maximální vzorkovací frekvence: 24 MHz (pouze při připojení přes USB 2.0)
  • Připojení k PC přes USB port, ze kterého se i napájí
  • Podpora USB 1.1 a USB 2.0
  • Podpora 1,8 až 5 V úrovní na vstupech
  • Odolnost až vůči 12 V na vstupech
  • Možnost záznamu až 10 GS, tedy 10 000 000 000 vzorků
  • Čtyři triggery pro libovolný kanál
  • Volitelný pre-trigger až 1 GS
  • Propracovaná analýza komunikačních protokolů
  • Možnost použití krabičky USET1
Analyzovaná rozhraní:
  • CAN
  • I2C
  • I2S / PCM
  • 1-Wire
  • UART (RS232 TTL)
  • SPI
  • UNI I/O
  • Manchester

Jedná se tedy o osmi kanálovou verzi, která je na internetu dostupná včetně kompletního schéma a dalších informací. Maximální vzorkovací frekvence je 24 MHz, samozřejmě pouze při připojení přes USB 2.0 a dostupnosti uvedené kapacity a díky tomu, že se veškeré zpracování provádí pomocí software, je jeho konstrukce velice jednoduchá. Obvod ve funkci vyrovnávací paměti využívá pouze interní paměť procesoru a maximální délka záznamu je závislá na dostupném paměťovém prostoru PC.

Schéma zapojení
Na následujícím obrázku je uvedeno schéma zapojení analyzátoru PLA8-1.


Obr. 2: Schéma zapojení analyzátoru

Schéma vychází jak z obvodu zveřejněného v článku Hodně jednoduchý Logický Analyzátor, tak i technologie, použité v profesionálních logických analyzátorech, jako je například SIGMA firmy ASIX.

Vlevo nahoře je na schématu klasický Micro-USB konektor (J1), doplněný o piny (J3, J4), určené pro pevné připojení USB kabelu. R1 tvoří ochranu proti zkratu 5V napětí z USB portu a je velikosti 0805. Naprostá většina základních desek a notebooků má USB porty proti proudovému přetížení chráněny velice dobře, přesto i tak zde doporučuji osadit buď tavnou, nebo tzv. resetovatelnou pojistku (PTC), například typu MC36210 (uvedenou i v seznamu součástek). Naproti tomu obvod IO5 chrání datové piny mikroprocesoru před účinky ESD. Obvod splňuje IEC 61000-4-2 (Level 4) a zvládá proud až do 2,5 A. Avšak základní ochrana datových pinů je i uvnitř mikrokontroléru, takže obvod IO5 není nutné osazovat.

Vstupní napájecí napětí je regulováno na 3,3 V, o což se stará obvod IO2 typu TC1015. Spotřeba analyzátoru se pohybuje kolem 20 mA, v klidovém stavu klesá až na 10 mA, takže jeho chlazení není potřeba.


Obr. 3: Vnitřní blokové schéma obvodu CY7C68013A-56PVXC

Největší část schématu zabírá hlavní mikrokontrolér – IO1. Jedná se o obvod společnosti Cypress, typ CY7C68013A-56PVXC - osmibitový mikrokontrolér s jádrem z řady 8051 a integrovaným rozhraním USB 2.0 (High-speed) a to včetně PHY. Obvod se od klasických mikrokontrolérů liší tím, že v sobě neobsahuje obvyklou programovou paměť Flash, ale pouze SRAM. Jeho programování tedy probíhá vždy po připojení k PC a spuštění ovládacího software. Jedinou podmínkou je připojení malé paměti EEPROM pro uložení konfigurace a VID&PID. Obvod IO3je obvykle typu 24C16, avšak není podmínkou a je možné použít i větší. Obvod IO1 je taktován krystalem Q1 na frekvenci 24 MHz a jako resetovací obvod byl s úspěchem použit jednoduchý RC člen (R2 – C3).

Ošetření a především ochrana osmi vstupů analyzátoru vychází z koncepce profesionálních produktů. Na vstupech jsou tedy použity rezistory s hodnotou 100 R a obvod z řady 74x245. Při typické kapacitě vstupů obvodů zhruba 10 pF vzniká na RC členech zpoždění zhruba 1 ns, což stále výrazně pod rozlišovací schopností analyzátoru a obvod nijak neovlivňuje. Naopak, díky maximálnímu proudu na vstupech obvodu, který může být až 50 mA, zvládá obvod i přímé připojení vstupů na 12 V. Použití Zenerových diod, jak je tomu u některých amatérských konstrukcí, není vhodné především z důvodu jejich nízké strmosti. Klasickými Zenerovými diodami protéká poměrně velký proud i při napětí pod jejich nominální hodnotou. Ten pak zbytečně zatěžuje vstupy a tvoří další zpoždění signálových hran.

Měřicí piny nebo háčky se připojují ke konektoru J2 nebo J5, podle provedení.

Konstrukce
Na následujících obrázcích je uveden motiv desky s plošnými spoji a rozmístění součástek.


Obr. 4: Rozmístění součástek PLA8-1
TOP

Obr. 5: Plošný spoj PLA8-1 (pro originál 600dpi klikněte)
TOP

Obr. 6: Rozmístění součástek PLA8-1
BOTTOM

Obr. 7: Plošný spoj PLA8-1 (pro originál 600dpi klikněte)
BOTTOM

Deska je oboustranná s nepájivou maskou a potiskem. Pokud máte zájem o vlastní výrobu, mohu vám vygenerovat výrobní podklady přesně podle požadavku. Pouze upozorňuji, že se jedná o 6. třídu přesnosti s dvěma typy prokovů, přičemž ty menší mají průměr pouze 300 um.

Vyjma konektorů a krystalu jsou všechny součástky typu SMD, obvykle velikosti 0603 s dostatečně velkými piny a mezerami i pro ruční osazení.

Seznam součástek
R2                              100k   0603
R3,R4                           10k    0603
R5,R6,R7,R8,R9,R10,R11,R12      100R   0603
R1                              0R (lépe MC36210) 0805
C1                              1u     0603
C2                              1u     TAN A
C4,C5                           12p    0603
C6                              1n     0603
C3,C7,C8,C9,C10,C11,C12,C13,C14 100n   0603
IO1                             CY7C68013A-56PVXC
IO2                             TC1015-3.3VCT713  SOT23
IO3                             24C16  SOIC
IO4                             74LVC245P  SSOP
IO5                             TPD4S009DBVR  SOT23
Q1                              24MHz
J1                              47590-0001  (v případě J2)
J2                              CON10W      (J2 nebo J5)
J5                              CAN 9V      (J2 nebo J5)
J3,J4                           USET1       (v případě J5)

Varianty analyzátoru
Deska je navržena pro dvě možná provedení analyzátoru. V případě, kdy se osadí konektory J1 a J2, jedná se o klasický modul, který je možné vestavět do vhodné krabičky.


Obr. 8: Varianta s osazením konektorů J1 a J2

Druhou možností je vynechání konektoru J1 a připájení USB kabelu k pinům J3 a J4. V tom případě je rovněž nutné vynechat J2 a osadit pouze J5. Tak je analyzátor možné umístit přímo do konstrukční sady USET1, dodávané například firmou ASIX.


Obr. 9: Varianta s konstrukční sadou USET1

Oživení analyzátoru
Jelikož použitý mikrokontrolér obsahuje programovou paměť pouze typu SRAM, není nutné jej programovat. Jeho naprogramování probíhá automaticky, vždy po připojení k PC a spuštění obslužného programu.

Jediné co je třeba zajistit, je uložení konfigurace do paměti EEPROM (IO3), především hodnot VID&PID. K tomu je možné použít buď konfigurační nástroj výrobce, tedy software Cypress Suite USB, nebo opět nechat konfiguraci na obslužném software k analyzátoru. Druhá varianta je samozřejmě jednodušší, takže bych ji popsal krok za krokem:

1) Stáhněte si a nainstalujte aktuální verzi Logic Software z webu Saleae – zatím ho nespouštějte
2) Stáhněte si a rozbalte ovladače pro defaultní VID&PID
3) Připojte analyzátor k PC
4) Po vyzvání o vhodné ovladače zvolte možnost instalace z daného umístění a vyberte ovladače s bodu 2
5) Spusťte Logic Software z bodu 1, který automaticky provede konfiguraci EEPROM paměti analyzátoru a přidělí mu vhodné VID&PID. Následně automaticky do procesoru naprogramuje i firmware.

Tím je dokončeno jak oživení, tak i úvodní konfigurace paměti analyzátoru a je možné jej začít používat.

Použití a zkušenosti s analyzátorem
Jak bylo uvedeno již v předchozím článku, použití logického analyzátoru Saleae je velice jednoduché. Zemní háček se připojí k zemnímu potenciálu analyzovaného zařízení a libovolné datové vstupy se propojí s konkrétními signálovými linkami, které chceme analyzovat. Ze specifikace obvodu, který si osadíte na pozici IO4, vyplývá i rozsah vstupního napětí. V případě použití LVC varianty jsou akceptovatelné úrovně logického signálu od 1V8 až po 5V, nicméně analyzátor vydrží i krátkodobé připojení na 12V (v tom případě teče do vstupu cca. 20 mA).


Obr. 10: Klasické měřicí háčky

Veškeré funkce zajišťuje software firmy Saleae, který je poměrně dobře propracovaný. Kromě základního zobrazení zachycených průběhů umožňuje i dekódování celé řady sériových rozhraní s bohatými možnostmi konfigurace.


Obr. 11: Příklad konfigurace pro dekódování rozhraní I2S / PCM

Základní konfigurace spočívá pouze ve volbě kanálů, vzorkovací frekvence a počtu zaznamenávaných vzorků. Jelikož analyzátor na své desce neobsahuje žádný větší buffer, je vzorkovací frekvence omezena především průchodností USB portu a závisí tedy i na tom, kolik dalších zařízení v tu chvíli port aktivně sdílí. Maximální vzorkovací frekvence je 24 MHz a maximální počet zaznamenaných vzorků je až 10 GS (zde klade omezení pouze dostupná paměťová kapacita počítače).

Každý logický analyzátor by měl samozřejmě umožňovat nastavení spouštění (triggeru). Zde jsou u libovolného vstupu na výběr celkem čtyři možnosti – dvě hrany a dvě trvalé úrovně signálu. Tím je možné nastavit čekání až na okamžik, kdy se například povolovací signál (-CS) překlopí do aktivní úrovně a zahájí se přenos dat. Samozřejmostí je i možnost nastavení velikosti bufferu pre-triggeru a to až do 1 GS.


Obr. 12: Ověřit si chování software analyzátoru je možné i díky funkci simulace měření

Pro ověření funkce a bezproblémového měření jsme samozřejmě několik desek osadili a vyzkoušeli je na několika různých počítačích. Co se týče hardware a komunikace analyzátoru s počítačem, zde jsme nezaznamenali žádný problém. Komunikace nikdy „nespadla“ a ani v režimu spánku PC nebyl s připojeným analyzátorem žádný problém.

Co se týče měření a analýzy (dekódování) sériové komunikace, zde je možné vše vyzkoušet díky tzv. demo módu, který software Saleae podporuje i bez připojeného analyzátoru. Stačí nastavit požadované vlastnosti měření, případně zvolit analýzu fiktivních rozhraní a stisknout tlačítko Start Simulation.

Při praktickém měření se pak software chová naprosto shodně. Vzorkovací frekvence 24 MHz umožňuje bezproblémové měření až do jednotek MHz a zobrazené časové údaje odpovídají skutečnosti. Na následujících obrázcích je srovnání výřezu záznamu 1 MHz signálu tímto analyzátorem PLA8-1 a SIGMOU firmy ASIX. Celý obraz je pak dostupný po kliknutí na výřez.


Obr. 13: Záznam 1 MHz signálu uvedeným analyzátorem


Obr. 14: Záznam 1 MHz signálu SIGMOU firmy ASIX

Naopak se zde jako výhoda ukázal přímý přenos dat do PC. V případě měření 8 kanálů SIGMOU je sice vzorkovací frekvence až 100 MHz, ovšem maximální délka záznamu je omezena velikostí paměti na desce analyzátoru a to zhruba jen na 0,5 s (při maximální frekvenci). S tímto analyzátorem je možné zaznamenat více než 5 minut!

Analýza komunikačních rozhraní pak podporuje například funkci exportu zachycených dat do souboru a jejich zobrazení v decimálním, hexadecimálním, binárním, ASCII a jiném formátu.


Obr. 15: Klon logického analyzátoru Saleae s měřicími háčky

Závěr:
Originální analyzátory Saleae je možné objednat přímo u výrobce a to v ceně 129 + 15 EUR. Uvedenou desku klonu analyzátoru Saleae je možné získat prostřednictvím našeho eShopu v ceně 56 Kč a to na adrese PLA8-1 - PCB. Řídicí mikrokontrolér CY7C68013A-56PVXC je skladem dostupný například v Digi-Key za zhruba 250 Kč, nebo ve Farnellu za 430 Kč (228 Kč při 10 ks). Všechny ceny jsou uvedeny bez DPH (20 %).

Kompletní a oživené moduly Logického analyzátoru pro USB, stejně jako varianta Logický analyzátor pro USB verze USET1, samostatné desky s plošnými spoji a uvedené měřicí háčky, jsou skladem dostupné prostřednictvím našeho eShopu.

Odkazy & Download:
Domovská stránka výrobce
Přehled distributorů a kontaktů
Logický analyzátor 8-kanálů

Logický analyzátor Saleae
Software Logic Software
Informace o obvodu CY7C68013A-56PVXC
Konstrukční sada pro USB - USET1
Ovladače pro defaultní VID&PID
PLA8-1 - PCB v eShopu







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (36):

Zobrazit starší 30 dnů (36)...



Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PGSM-SIM900: GSM/GPRS modul SIM900
Čtyřpásmový GSM/GPRS modul s SIM900 firmy SIMCom a podporou SMS, MMS, GPRS Class 10, TCP/IP, FTP a dalších.
Skladem od 790 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007