Ako hľadať chyby v logických obvodoch

Publikoval Stanislav Jochman

Určite poznáš ten pocit, keď si kúpiš nový senzor, prípadne inú súčiastku, stiahneš si example kód a senzor nefunguje. Hľadanie chyby bez pomôcok na to určených je zložité. Kto má osciloskop už doma, vačšinou použije ten aby sa pozrel aké signály sú na komunikačných pinoch. To mu však ukáže iba či tam nejaký signál je a rozkódovať si ho musí sám. Dá sa to, ale iba pri kratších signáloch a jednoduchých protokoloch. Navyše nie každý má doma osciloskop a kúpa jedného hoci len pre začiatočníkov je finančne náročná (150-200€). Logický analizátor sa na tento účel hodí, nakoľko má nízku cenu. Bez problémov s ním dekóduješ signály na ASCII, Hex, Decimal, Bin, Global a to dokáže robiť až na 8 kanáloch súčasne. Vďaka tomu je možné ho použiť aj na dekódovanie SPI protokolu. Podporované protokoly sú :

  1. Async Serial
  2. I2C
  3. SPI
  4. 1-Wire
  5. Atmel SWI
  6. BiSS C
  7. CAN
  8. DMX-512
  9. HD44780
  10. HDLC
  11. HDMI
  12. HDMI CEC
  13. JTAG
  14. PS2
  15. USB LS and FS
  16. MIDI

A mnohé ďalšie.


Ako používať Logický analyzér

Pri kúpe logického analyzéru odporúčam zakúpiť aj prívodové háčiky, ktoré zjednodušujú prácu s logickým analyzátorom. K použitiu analyzátoru je potrebné stiahnuť si program zo stránky (https://www.saleae.com/downloads). Po otvorení programu a pripojení analyzátoru nastavíme Sample rate. Ten udáva ako často sa majú robiť záznamy o zmene na pinoch. 

Nastavenia sample rate

Mne sa osvedčil 12 MS/s po dobu 2s. Je to univerzálne nastavenie, ktoré funguje stále. Pokiaľ potrebuješ merať dlhší čas je potrebné zmenšit sample rate. Po nastavení prichádza zapojenie do obvodu. To je veľmi jednoduché nakoľko analyzér má na sebe napísané vstupy.

8 kanálový logický analyzér kompatibilný so Saleae

GND pripojíme k GND na Arduine alebo inej vývojovej platforme a potom pripojíme ku komunikačným pinom ľubovoľný vstup na analyzéry.

Zapojenie logického analyzéra

Nezáleží, ktorý vstup zvolíme nakoľko si to vieme potom v programe zmeniť. Po pripojení si v programe Logic, ktorý sme si nainštalovali a kde sme si už nastavili sample rate pridáme analyzér.

Zvolíme si komunikačný protokol a v menu, ktoré sa nám otvorí

Voľba komunikačného kanála

si zvolíme kanál na, ktorý sme si pripojili komunikačné drôty na arduine a nastavíme zvyšné parametre podľa zvoleného protokolu. V prípade, že je to potrebné tak si môžme nastavit trigering na nábežnú/zbežnú hranu/pozitívny pulz/negatívny pulz.

Ten sa dá nastaviť pre každý kanál samostatne. Stlačíme save a potom tlačidlo štart. Malo by sa nám zobraziť niečo ako je na obrázku.

Po ukončení zbierania Samplov by sme mali dostať rozkódovaný signál


Zdieľať tento článok



← Staršie príspevky Novšie príspevky →