Îmbunătățirea analizorului logic din China. Rafinamentul unui analizor logic din China Analizor logic miniatural cu 4 canale pe avr

Vassilis Serasidis

Un analizor logic este un instrument care vă permite să vedeți și să analizați secvența de 0 și 1 logice într-un semnal digital. De exemplu, poți studia semnal digital de la un receptor-demodulator IR tip TSOP-1736, semnalele de ieșire și de intrare ale microcircuitului, precum și magistrala I2C (linie de ceas și linie de date) în multe dispozitive electronice.

În acest articol ne vom uita la designul unui analizor logic miniatural cu 4 canale cu un afișaj LCD de la telefon mobil Nokia 5110/3110. Baza designului este un microcontroler, pe lângă acesta, mai multe componente discrete.

Principalele caracteristici ale dispozitivului:

  • Analizor logic cu 4 canale;
  • capacitatea de a studia semnale cu o frecvență de până la 400 kHz;
  • tensiune de intrare până la +5 V;
  • display LCD cu o rezoluție de 84 × 48 pixeli;
  • alimentat de 4 baterii 1,2 V, tensiune maximă de alimentare 4,8 V;
  • memorie: de la 3,7 ms pentru semnale de mare viteză la 36 s pentru semnale de viteză mică;
  • butoane de control;
  • design simplu.

Diagramă schematică

Figura 1 prezintă o diagramă schematică a dispozitivului. Trebuie remarcat imediat că dispozitivul este alimentat de 4 baterii cu o tensiune de 1,2 V fiecare.

Atenţie!!!

Alimentarea de la 4 baterii cu o tensiune de 1,5 V este inacceptabilă pentru acest circuit al dispozitivului, deoarece o tensiune de 6 V poate deteriora microcontrolerul și afișajul LCD.

Comutatorul S1 este proiectat pentru a furniza energie. Rezistoarele de tragere R2-R5 sunt instalate pentru a preveni apariția datelor false la intrările digitale ale dispozitivului din cauza influenței câmpurilor electromagnetice sau când degetele ating sondele de semnal. LED1 este conceput pentru a indica prezența unui semnal la intrările digitale ale dispozitivului și, prin urmare, începerea înregistrării semnalelor în memorie.

Circuitul folosește un indicator LCD de la un telefon mobil telefon Nokia 3310/5510, este proiectat să funcționeze cu o tensiune de alimentare de 3,3 V - 5,0 V, totuși, tensiunea maximă pentru iluminarea de fundal a afișajului este de 3,3 V, așa că circuitul are trei diode conectate în serie (D1-D3) de-a lungul afișajului linie de iluminare din spate. Datorită diodelor, tensiunea va scădea la 2,7 V și va fi suficient pentru a alimenta lumina de fundal.

Procesul de captare a datelor și software

Trebuie remarcat faptul că autorul a pregătit două versiuni ale firmware-ului microcontrolerului. Inițial, pentru versiunea 1.00 a analizorului logic, a fost folosit un mediu de dezvoltare integrat AVR Studio 4.18, dar apoi autorul a recompilat sursăși pentru AVR Studio 5 - versiunea 1.01. După recompilare pentru versiunea 5 a mediului de dezvoltare și testarea ulterioară a dispozitivului, s-a observat o îmbunătățire a stabilității semnalelor captate.

Semnalele sunt înregistrate în memoria tampon internă RAM, care este proiectată pentru 290 de mostre. Bufferul de date este format din 870 de octeți (pentru versiunea 1 a programului de microcontroler), dintre care 2 octeți sunt utilizați pentru contor și 1 octet pentru informarea despre canalul de intrare. În versiunea 1.01, tamponul de date a fost redus la 256×3=768 octeți pentru a crește viteza de captare a datelor, deoarece Variabila de dimensiune a tamponului este de 8 biți, în loc de 16 biți, care a fost folosită în prima versiune a software-ului.

După ce este aplicată alimentarea, microcontrolerul intră în modul de așteptare a impulsului la oricare dintre cele 4 intrări ale dispozitivului. Când este detectat un impuls de intrare, microcontrolerul începe să numere timpul până când următorul impuls ajunge la oricare dintre cele 4 intrări. Durata probei este stocată în variabila de 16 biți „contor”. După depășirea acestei variabile, informațiile despre starea celor 4 intrări și valoarea contorului sunt stocate într-un buffer și valoarea adresei acesteia este mărită cu trei (2 octeți pentru contor și 1 octet pentru informații despre linia de intrare). Acest proces se repetă până când microcontrolerul umple întregul tampon (870/3=290 de probe sau impulsuri). Procesul de înregistrare a semnalelor în memoria microcontrolerului este prezentat în Figura 2.

După umplerea tamponului, toate datele acumulate sunt afișate pe afișajul LCD sub forma unei oscilograme. Utilizatorul poate controla forma de undă - mutați-o la stânga (butonul S3) sau la dreapta (butonul S4) pentru a vizualiza întreaga secvență de puls salvată. Dacă au fost înregistrate semnale de viteză mică, utilizatorul poate schimba scala cu 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 sau 8192 apăsând butonul S2.

Când programați microcontrolerul, trebuie să setați biții Fuse în conformitate cu figură.

Tipul plăcii de circuit imprimat și locația componentelor

Demonstrarea funcționării dispozitivului

Descărcări

Schema schematică, desenul plăcii de circuit imprimat, codul sursă și fișierul pentru firmware-ul microcontrolerului (v1.0, AVR Studio 4.18) -

Cod sursă și fișier pentru firmware-ul microcontrolerului (v1.01, AVR Studio 5) -

  • După cum am înțeles, afișajul dvs. are o bandă de cauciuc și este instalat pe o eșarfă de casă, de exemplu. banda de cauciuc conductivă atinge urmele pe care le tăiați pe eșarfă. Dacă da, atunci rețineți - acesta este cel mai slab punct al designului... Ați verificat (citit) biții Fuse? Sunt instalate corect? Nu exclud problema din afișajul în sine. O sa arunc o privire la codul sursa, poate exista ceva acolo care se poate configura/schimba in ceea ce priveste display-ul...
  • Vadzz, da, înțeleg că, cel mai vulnerabil loc.. Am găsit un fel de telefon mobil cu o distanță între contacte similară cu ecranul meu. Când am timp, voi încerca să o fac.. Întrebarea este dacă ecranul funcționează, dacă i-am ars controlerul (dacă este posibil). Între timp, voi renunța la această idee. Este foarte dificil să obțineți acest ecran gata făcut și costă mai mult decât este necesar acest dispozitiv.. Aș prefera să fac același dispozitiv, trimițând doar date către un computer prin USB. (conform manualului http://eldigi.ru/site/comp/18.php). Încă lucrez la un computer și fac totul prin USB Sau un prieten face o teză pe un osciloscop USB în miniatură. Circuit bazat pe un singur element AtTiny și cuarț. + date de ieșire la un program de pe un computer sub forma unei diagrame de timp/linie.. o voi lua de la el.. o să fac softul.. am început să fac chestia asta pentru că arată atât de frumos și pretențios de la exterior;) Și mai ales funcționează.. ei bine, nimic, o să încep să lucrez cu transmițătoare chineze, va trebui să o fac.. Acolo trebuie deja să te uiți la impulsuri și să le analizezi.. Și mulțumesc pentru Ajutor)
  • Băieți, verificați) Totuși, nu am putut rezista... Încă mă gândesc să termin panoul frontal.
  • Ma bucur ca totul a iesit si a functionat, pare normal. Spuneți-ne mai detaliat care a fost problema (probabil că afișajul nu a funcționat până la urmă), informațiile dvs. vor fi utile pentru mulți (dacă nu este un secret, desigur). Mulțumesc.
  • Ei bine, problema era pe afișaj. Și apoi am cumpărat nu roșu, ci albastru, așa că contactele încă nu sunt de acord cu locația, iar numele diferă ușor. Conexiune (pe diagramă\afișaj albastru): Vcc-Vcc GND-GND Rst-Rst SCE-CE D\C-DC DN-Din SKLK-CLK LED-BL Dacă există o dorință, voi încerca să introduc\pornirea mea display vechi. O sa vad daca s-a ars... altfel am avut atat de multe probleme cu el.
  • Un mic test al dispozitivului, câteva erori. 1) Când derulăm înapoi, înaintăm mult timp, apoi înapoi, iar la un moment dat refuză să se întoarcă înapoi și se blochează la o anumită valoare. Puteți derula înainte și înapoi din nou și după aceea se blochează la o valoare diferită.. Iată o fotografie, deși nimic nu va fi vizibil aici http://s017.radikal.ru/i433/1306/57/cf1dfbd2f106.jpg 2) La derulare, diagrama temporară http://s60.radikal.ru/i169/1306/33/1c23e0d9815c.jpg http://i066.radikal.ru/1306/9f/c894839ca1fd.jpg 3) La schimbarea măririi, derulează înapoi este resetat la poziția 0 (dar nu întotdeauna). Trebuie să reparăm ceva... Cred că am putea adăuga câteva bunătăți la proiect: Butoane tactile (implementate într-un mod simplu, doar trei rezistențe MOM) Voltmetru (GND este conectat în mod constant, așa că ar fi bine să faci ceva pe ADC, pentru că nu este același lucru să conectezi un multimetru de fiecare dată, dar acesta măsoară până la 5V, doar pentru o cameră digitală). Osciloscop (nu știu cum, dar ar fi foarte frumos. Cred că principala problemă va fi cu afișajul). Conexiune prin USB la PC. Afișarea unei diagrame de timp într-un program este sacră. Dacă faceți un osciloscop, atunci va fi mai ușor să afișați totul în program.. Va arăta cam așa (programul meu) http://s48.radikal.ru/i119/1306/eb/9c25ff0d3d7b.png Puteți de asemenea, schimba ceva în setări cu dispozitivul de program..
  • Apropo, acest lucru este simulat destul de bine în Proteus.
  • Am asamblat aparatul. Se aprinde și arată. Dacă există rezistențe de 33k (și nicio sursă de semnal), atunci când îl porniți, puteți vedea tot felul de piepteni. Cu rezistențe și o sursă (dispozitiv TSOP IR și spi) - toate liniile sunt uniforme. Nicio reacție. Unde ar trebui să săpăm?
  • Intrările sunt scurtcircuitate la + și nu la masă, astfel încât să apară. A trebuit să inversez ieșirea TSOP.
  • A funcționat și indicatorul de pe telefon. La început nu a arătat nimic, am instalat divizoare de rezistență pe intrările afișajului de la MK și totul a funcționat. 1 com de la MK la afișaj și 3.3 com de la afișaj la masă
  • inversarea nu ajută
  • Firmware cu erori corectate și cu adaosuri (UART, Frecvency meter, Gap editor înainte de măsurare, precum și un alt program pentru calculator. Analizator.exe Descriere: Analizator_PC V2.1 Analizator.exe 4-channel logic analyzer. DSN Descriere: Analizator_proteus http :// www.fayloobmennik.net/4274643 Analizator.hex Descriere: Analizator_Atmega8 http://www.fayloobmennik.net/4291611 Analizor logic cu 4 canale Descriere: Analizator_shema http://www.fayloobmennik.net/4285824 A doua opțiune http: //radikal.ru /fp/SURSE PENTRU ANALIZORUL CARE ESTE INTERESAT AnalizatorKSA.zip Nu vă îndoiți că totul funcționează așa cum ar trebui acum, veți avea ocazia să îl verificați în simulator, precum și să vă aprofundați în codul sursă Te voi salva de la munca de rutină, nu mă judeca pentru comentariile mele orice cu ei, chiar le smulge inima. Și a existat un singur obiectiv - să fie convenabil, mai precis și mai fiabil. Puteți citi tot ce am făcut în cele 2 programe ale mele pentru PC în secțiunea „Ajutor” Pentru a analiza și compara rezultatele obținute, postez textul sursă al programului principal de măsurare Vasilisa Serasidisa. Uită-te și compara câte cicluri de ceas sunt cheltuite pentru măsurare pentru mine și pentru el. Si asigura-te ca cei mai buni programatori sunt RUSII!!! Voi adăuga: Deoarece am proiectat 2 versiuni ale analizoarelor, am rezolvat multe probleme legate de schimbul digital prin magistrala CAN și consolele I2C etc. Versiunea ATmega48 este chiar de preferată cu protocoale de mare viteză. De exemplu, CAN de 140 Kbit a fost analizat simplu cu un bang! spre deosebire de binecunoscutul analizor Digan. Și el însuși are dimensiunea unei unități flash. Noroc tuturor! Izmerenie.txt POSTEZ O VERSIUNE NOUĂ (versiunea a 3-a) A UNUI ANALIZOR MAI PUTERN, ȘI VERSIUNEA ANTERIORĂ CU ADULTE ȘI LINK DE FIȘIER PROTEUS CĂTRE ARHIVĂ http://www.fayloobmennik.net/5569369
  • 1. Cine a repetat versiunea originală - de la Serads, există erori grave care fac dispozitivul inaplicabil deloc - ca și cum primul octet este întotdeauna sărit, etc.? Mai sus scriu despre „afișarea diagramelor”, dar mi-ar plăcea să fie de încredere :). 2. Sergey7 nu postează codul sursă, ceea ce nu ne permite să evaluăm pe deplin funcționalitatea acestuia. Dacă faceți mai întâi originalul, vor fi necesare modificări ale hardware-ului pentru dezvoltarea ulterioară a dispozitivului pentru a finaliza Sergei7?
  • Ți-am trimis un mesaj și niciun răspuns. A sosit?
  • probabil ca nu. ... :(Multumesc pentru surse! O sa arunc o privire peste un minut.....
  • Ma bucur sa ajut! :D
  • Firmware-ul cu adaosuri (UART, frecvențămetru, editor Gap înainte de măsurare nu este în AnalizatorKSA.zip
  • Poate cineva are un sigiliu?
  • Uită-te la noua versiune pe care am postat-o. Și precedentul, modificat și el (cu firmware, fișier proteus și program suplimentar).
  • în ce au scris ei și pot avea o diagramă completă. Încă nu înțeleg ce să colectez și câte alte procente își scrie pentru transmitere prin UART?

Acest articol prezintă un analizor logic simplu care funcționează cu shell-urile USBee v1.1.57 și Logic v1.1.15. Asamblat pe un microcircuit comun CY7C68013A de la Cypress. Aveam o placă gata făcută cu acest cip, comandată de pe site-ul Aliexpress. Cam asa arata ea:

Am vrut să-i fac un port LPT, dar apoi nevoia a dispărut și așa a rămas nerevendicat. Aveam nevoie de un simplu analizor logic. S-a decis să o facă pe această placă. Există multe circuite bazate pe acest cip pe Internet. A fost necesar să se adauge un buffer pentru transferul de date, să ofere protecție de intrare și posibilitatea de a alege cu ce shell să lucrezi. Placa de expansiune este plasată deasupra plăcii principale. Voi spune imediat că schema circuitului, placa, firmware-ul și tot ceea ce este necesar pentru a lucra cu acest analizor logic se află în partea de jos a articolului. Cipul 74LVC4245 a fost folosit ca tampon, puteți folosi 74LVC8T245A; Funcția de protecție la intrare este realizată de ansamblurile de diode BAV99. Și așa s-a născut această schemă:


Utilizați jumperul J1 pentru a selecta direcția de transfer de date. În stare închisă pentru recepție de date, în stare deschisă pentru transmisie. Există un astfel de shell precum USBee AX Test Pod. Conține multe utilități de testare care pot fi utilizate pentru a testa funcționarea dispozitivului asamblat. O posibilitate este de a genera frecvențe diferite pe pinii XP3. Adevărat, nu le poți întreba singur. 8 frecvențe diferite sunt afișate simultan. De asemenea, puteți seta ieșirile la 0 sau 1 și multe alte teste. Utilizați jumperul XP5 pentru a selecta cu ce shell vom lucra USBee v1.1.57 sau Logic v1.1.15. Firmware-ul pentru diferite shell-uri este încărcat în U2 și, respectiv, U3. Jumper-ul XP4 este protejat la scriere. Va fi necesar la pornirea shell-ului Logic. Jumperul J2 stabilește tensiunea nivelurilor de intrare. Dacă este închis, atunci nivelul semnalului de intrare ar trebui să fie de 3,3 V. Este, de asemenea, posibil să setați nivelul semnalului la aceeași tensiune ca și tensiunea furnizată dispozitivului diagnosticat, dar nu mai mult de 5V. Pentru a face acest lucru, deschideți J2 și aplicați tensiunea de alimentare plăcii diagnosticate la pinul 10 al XP3. De asemenea, nu uitați să conectați firul comun al analizorului cu placa diagnosticată. În primul rând, trebuie să modificăm placa principală, adică să scoatem cipul de memorie 24C128.

De asemenea, placa mea nu avea o conexiune GND între conectorul USB și GND CY7C68013A a trebuit să fie conectat împreună.


Nu mai trebuie făcute modificări.

Acum ne facem eșarfa care măsoară 41 mm x 58 mm. Ca rezultat, obținem următorul rezultat:



Conectăm două plăci:



Pentru a începe, trebuie să flashăm cipurile de memorie. Pentru a face acest lucru, instalați utilitarul de la Cypress CySuiteUSB_3_4_7_B204. Scoatem jumperul XP5 de pe placă și conectăm placa la PC, un dispozitiv necunoscut va apărea în managerul de dispozitive.


Instalați driverele din fișierul Driver_Cypress_win7 win8. Îi spunem dispecerului să caute drivere în acest folder. Sistemul va instala singur driverul necesar. Un nou dispozitiv va apărea în controlerele USB:


Lansați programul instalat Control Center. Se va deschide o fereastră în fața noastră, unde dispozitivul nostru ar trebui să fie în partea de sus.

Selectați fila Opțiuni, apoi Interfața EZ-USB:

Se va deschide următoarea fereastră:


Nu schimbam nimic aici. Avem nevoie doar de butonul S EEPROM. Utilizați jumperul XP5 pentru a selecta unul dintre cipurile de memorie. Faceți clic pe S EEPROM și indicați unde este stocat firmware-ul nostru. Selectați firmware-ul în funcție de tipul de memorie și faceți clic pe „Deschidere”. Numerele de la sfârșitul numelui firmware-ului indică pentru ce tip de memorie este firmware-ul. Pentru 24C01 trebuie să selectați USBeeAX_01, iar pentru 24C02 USBeeAX_01.


Procesul de încărcare a informațiilor va începe. Dacă firmware-ul este instalat cu succes, ar trebui să existe un mesaj ca în captura de ecran. Numărul de octeți poate varia în funcție de firmware-ul selectat.


Apăsăm butonul de resetare de pe placă și vedem un nou dispozitiv neidentificat în managerul de dispozitive. Instalarea driverelor. ÎN mod automat driverele nu vor fi instalate. În modul manual, indicăm ce să instalăm de pe disc și selectăm driverul din folderul Driver Cypress win7_win8. A funcționat pentru mine pe Windows 8.1 cu driverul EZ-USB FX1 No EEPROM (3.4.5.000).

Când cumpăr tot felul de electronice chinezești pentru „meșteșugurile” mele, întâmpin adesea problema unei descrieri proaste a lucrării,

Subiectul articolului de astăzi este utilizarea unui analizor logic chinezesc ieftin achiziționat de pe Aliexpress.

Ce este un analizor logic? Acesta este un astfel de dispozitiv... pentru analiză logică))) Imediat îmi vine în minte un film cu Robert De Niro

De ce este nevoie? Ei bine, desigur, angajați-vă în analiză logică))). Sau, mai degrabă, prin analiza nivelurilor logice ale diferitelor microcontrolere și periferice ale acestora. Ceea ce se numește în mod obișnuit inginerie inversă.

Caracteristici

  • Compatibilitate software cu Saleae Logic 8
  • Număr de intrări digitale - 8
  • Doi indicatori - putere și starea intrării logice
  • Impedanță de intrare 100KOhm, capacitate de intrare 5pF
  • Alimentat prin USB
  • Rate de eșantionare acceptate:
  • 24MHz,16MHz, 12MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500KHz, 250KHz, 200KHz, 100KHz, 50KHz, 25KHz;
  • Numărul de valori stocate ale unei măsurători - 10000

Pe o parte există un conector cu 10 pini și un pinout pe corp

Cu altul Mini USB pentru alimentare și conectare la un computer

Intestine

În interiorul carcasei există o placă care conține un microprocesor cu o interfață USB de mare viteză CY7C68013A de la CYPRESS, o EEPROM ATMLH432 și un driver de magistrală LVC245A de la NXP.

La intrarea analizorului există rezistențe de limitare a curentului de 100 Ohm, rezistențe pull-up de 100 KOhm și condensatoare de 5 pF. Totul este sincer, ca in descriere.

Conexiune

Pentru a conecta analizorul, kitul include 10 fire de conectare pentru contactele cu pin. Am cumpărat imediat aceste clipuri clip-on.

Calitatea clemelor este foarte mediocră, dar clemele bune vor costa mai mult decât analizorul în sine

Software

Acesta este poate cel mai interesant lucru despre acest analizor. Vine cu software nativ de la Saleae Logic.

Sunt disponibile versiuni pentru OSX, Linux și Windows pe 32 și 64 de biți.
Saleae Logic 1.2.3 sub Windows 7 a funcționat cu o jumătate de lovitură, software-ul a pornit, hardware-ul a fost recunoscut, în ciuda versiunii „Beta”.

Caracteristici interesante în software-ul de la Saleae Logic

Trigger pentru înregistrarea unei secvențe logice pe fiecare canal

  • Pentru a schimba nivelul logic la „0”
  • Pentru a schimba nivelul logic la „1”
  • Pentru un impuls pozitiv de o durată dată
  • La un puls negativ de o durată dată

Calculul citirilor statistice pe baza măsurătorii curente

Protocoale de decodare: Async Serial, I2C, SPI, Hide, 1-Wire, Atmel SWI, BISS C, CAN, DMX-512, HD44780, HDLC, HGMI CEC, I2S/PCM, JTAC, LIN, MDIO, Manchester, Midi, Modbus , Tastatură/Mouse PS/2, SMBus, SWD, Paralel simplu, UNI/O, USB LS și FS

Înregistrare folosind protocolul decodabil

În plus, acest analizor poate fi flash cu software de la USBee

Hai să facem niște analize

Tocmai mă gândeam să conectez senzorii cu ultrasunete DYP-ME007Y, care arată absolut identici, dar funcționează complet diferit.

Dacă se lucrează exact conform fișei de date: un impuls scurt pe „declanșator” declanșează un impuls ultrasonic și distanța este măsurată pe baza duratei ecoului. Apoi, al doilea și al treilea (cu un LED intermitent) aproximativ o dată la 100 ms, fără nicio lovitură externă, măsoară distanța și o trimit cu o viteză de 9600 sub formă de patru octeți (inclusiv suma de control). Saleae Logic vă permite să activați decodarea semnalului magistrala serialîntr-o secvență de octeți. Senzorii de al doilea tip funcționează perfect cu ieșirea „TRIG” dezactivată, deși este posibil să aștepte un fel de comandă la această intrare, dar nici măcar un dispozitiv magic nu va arăta acest lucru.

Apoi, ați vrut să vă uitați la semnalul PWM al lui Atmegi 168? Am pornit toate cele șase canale care acceptă PWM la niveluri diferite și am fost surprins să constat că frecvența a două canale PWM diferă de celelalte 4. Sunt implicați cronometre diferite?

Ce este pe magistrala mea de date?

Dispozitivul magic și programul decodificau în mod normal ieșirea secvenței către LED-uri. Au apărut chiar și culorile LED-urilor.

Nu există probleme nici cu analizarea magistralei I2C. Software-ul a făcut față decodării în mod normal. Puteți vedea pachetele de scriere în registre când driverul de afișare TM1637 rulează

Un receptor RF de 315 MHz conectat direct la analizor a primit un semnal de la comutatoarele radio și a emis un cod Manchester. După selectarea vitezei, codul Manchester este convertit de un program inteligent într-o secvență de octeți.

Mă întreb, cum rămâne cu acuratețea măsurării intervalelor de timp? Nu aveam un generator de impulsuri exact la îndemână, dar tonul Arduino (1000) la 1000Hz

iar tonul (20000) la 20KHz dau un rezultat destul de precis.

Pentru a testa frecvența înaltă, am asamblat rapid un generator bazat pe NE555. Am reușit să strângem 8 MHz din ea. Analizorul a absorbit această frecvență în mod normal. Nu a fost posibil să-l testăm la 20 MHz, dar 8 este și un rezultat foarte bun pentru un hardware atât de ieftin.

Un scurt rezumat

Un analizor logic este un lucru foarte necesar și util pentru cei care sunt angajați să dezgroape periferice chinezești pentru microcontrolere (să-i spunem frumos - inginerie inversă)
Printre avantajele acestei piese de fier aș dori să remarc:

  • Pret atractiv
  • Compatibil cu software-ul Saleae Logic destul de convenabil
  • Protecție de intrare sub formă de driver de magistrală LVC245A
  • Dimensiuni mici

Nu am găsit deficiențe evidente în această piesă hardware. Mi-aș fi dorit să fi achiziționat mai devreme un analizor logic - cât timp aș fi economisit la atâtea proiecte. Fără îndoială, pentru unii, capacitățile acestei piese hardware nu vor fi suficiente. Există o mulțime de modele mai sofisticate, dar prețul de 100-200 de dolari face ca aceste dispozitive să fie mult mai puțin accesibile pentru radioamatorii.

Să mai analizăm ceva?

Pentru a lucra în circuite digitale complexe, un analizor logic chinezesc este un lucru extrem de necesar. Prețul său scăzut și software-ul convenabil sunt, de asemenea, captivante. Și mi-a potrivit destul de bine până când a apărut nevoia de a vizualiza simultan funcționarea diferitelor noduri de circuit, alimentate din surse diferite și neavând o masă comună. Inițial, analizorul are 8 canale decuplate de putere cu o amplitudine a impulsului la intrare de 5 volți. Această modificare face posibilă ca intrările analizorului să fie izolate galvanic și să funcționeze cu impulsuri cu o amplitudine de la 3 volți la 25 volți. Poziția comutatoarelor pentru biscuiți este selectată în funcție de intervalul impulsurilor de intrare. Dar circuitul de proiectare va rămâne operațional până la 65 de volți.

Circuitul folosește optocuple de mare viteză concepute pentru a funcționa în rețele de fibră optică. Caracteristicile de frecvență ale optocuplerului sunt mai mari decât poate rata analizorul, deoarece durata minimă a impulsului pe care o poate înregistra analizorul este de aproximativ 42 de nanosecunde. Curentul LED al optocuplerului este selectat în regiunea 6-7,5 mA. Optocuplul permite creșterea curentului cu până la 15mA. Și un astfel de curent va apărea la o tensiune de intrare de 65 volți când comutatorul este în poziția „25v”.

Mai exact, placa mea conține 4 canale izolate galvanic și 4 neizolate cu intrări de 5 volți. Alimentarea este furnizată de la placa analizorului. În acest caz, este necesar să efectuați câteva modificări: scoateți placa analizorului din carcasă, tăiați pista care merge la pinul 9 al conectorului și aplicați tensiune de la pinul drept al LM1117 la acest pin printr-un rezistor de 10 ohmi.

Aspectul și designul s-au dovedit a fi destul de simple, iar posibilitățile de utilizare au fost semnificativ crescute.
La testarea intrărilor izolate galvanic, pentru puritatea experimentului, intrările au fost conectate în paralel. Adică, 4 intrări IN A,B,C,D și, în consecință, Gnd A,B,C,D au fost conectate reciproc. Comutatoarele au fost setate în aceeași poziție. Impulsurile au fost create prin răsărirea artificială a contactelor și o sursă de alimentare externă la tensiunea corespunzătoare.

În timpul asamblarii, au fost utilizate optocuple 6N137 și întrerupătoarele MPN-1, divizoarele conțin rezistențe smd0805, dar 1206 se va potrivi și la lipirea cablului pentru conectarea la analizor, secvența a fost parțial schimbată, dar totul este etichetat pe placă.

În loc de comutatoare MPN-1, puteți folosi oricare altele, deși va trebui să reglați placa de circuit imprimat sau să utilizați fire. Autor - Dubovitsky Nikolay.

Principalele caracteristici ale dispozitivului:

  • până la 32 de canale de intrare;
  • memorie 128 KB pe canal;
  • frecvența de eșantionare până la 100 MHz;
  • intrare ceas extern;
  • toate intrările sunt compatibile cu logica de 3,3 V și 5 V;
  • dimensiunea configurabilă a bufferului prefetch/postfetch este un multiplu de 8 KB;
  • generator de ceas intern pe 16 biți;
  • mai multe moduri de sincronizare internă;
  • întârziere programabilă de sincronizare;
  • contor de evenimente de sincronizare programabil;
  • intrare de sincronizare externă;
  • comunicare cu PC-ul prin LPT (mod EPP) sau interfață USB;
  • Mai multe versiuni de aplicații PC pentru diverse sisteme de operare.

Elementul principal al analizorului logic este FPGA, produs de companie, care îndeplinește toate funcțiile principale. Schema schematică a dispozitivului este prezentată în figura 1.

Oscilatorul IC4 (IC6), împrumutat de la cel vechi, este folosit ca sursă de ceas pentru FPGA placa de baza calculator. În ciuda faptului că oscilatorul este proiectat să funcționeze la o tensiune de 5 V, nu au fost identificate probleme în funcționarea dispozitivului atunci când este alimentat cu o tensiune de 3,3 V.

Pentru a stoca probe, se folosește o memorie RAM externă de mare viteză - un microcircuit.

Pentru alimentarea dispozitivului este folosit sursă externă cu o tensiune de ieșire de până la 15 V. FPGA și RAM au o tensiune de alimentare de 3,3 V, deci este instalat un regulator de tensiune de 3,3 V din seria LD1117DT33.

Conectorul portului paralel K7 este situat pe placa analizorului logic și este conectat direct la FPGA. Placa de circuit a analizorului logic este cu două fețe, folosind componente de montare pe suprafață și componente convenționale cu plumb. O vedere a plăcii de circuit imprimat este prezentată în Figura 2.

Cometariu.În loc de pinul 40 (Vss) al cipului SRAM, pinul 39 al acestui cip este conectat la masă. Soluție: Conectați pinii 39 și 40 împreună pe PCB (pinul 39 nu este utilizat în cipul SRAM).

Pentru a vă conecta la calculator personal Pentru interfața USB, trebuie să utilizați un adaptor special, a cărui diagramă este prezentată în Figura 3.

Adaptorul de interfață USB pentru analizorul logic este asamblat pe un cip din seria FT2232C fabricat de FTDI. Acest cip combină funcționalitatea a două cipuri separate FT232BM și FT245BM. Are două canale I/O care sunt configurate separat. Principalele puncte ale configurației FT2232C pentru utilizare ca parte a dispozitivului sunt alimentarea de la interfața USB și modul de emulare a magistralei microcontrolerului (modul de emulare a magistralei gazdă MCU). Acest mod este convertit la protocolul EPP utilizând multiplexorul IC3 74HCT4053D. Deoarece decodificarea directă a semnalelor /DST, /AST și RD/WR poate provoca conflicte de sincronizare, este utilizat un semnal suplimentar A8, care este utilizat ca semnal RD/WR (citire/scriere) în perioadele de transmisie a datelor prin protocolul EPP .

Conectorul JTAG (CON2) este folosit pentru a configura FPGA - acesta este pentru dezvoltare viitoare, momentan această interfață nu este utilizată.

Seria 93LC56 EEPROM (IC2) stochează datele de configurare pentru FT2232C și este necesară pentru ca interfața programabilă să funcționeze corect. Pentru a programa acest cip, se folosește utilitarul FT_Prog (anterior se numea MProg). Acest utilitar driverele și FT2232C sunt disponibile pentru descărcare pe site-ul web FTDI.

Placa de circuit imprimat adaptor este proiectată pe o singură față, ceea ce simplifică fabricarea acesteia.

Există și versiunea B 1.0 adaptor USB interfață (Figura 5). Această versiune diferă în absenţa unui conector JTAG şi placă de circuit imprimat, care se realizeaza tinand cont de integrarea sa in corpul conectorului CANNON 25. Aspect adaptoarele asamblate în figura 6.

A) b)
Figura 6. Aspectul adaptorului de interfață USB versiunea A 1.1 (a) și versiunea B 1.0 (b)

Există, de asemenea, o altă versiune a circuitului analizorului logic (Figura 7), în care sunt deja integrate interfețele USB și LPT. Autorul acestei opțiuni este Bob Grieb și la dezvoltarea circuitului a fost folosit mediul TinyCAD, placa de circuit imprimat pentru acesta a fost dezvoltată în editorul FreePCB.




Top