Analizor logic de casă. Îmbunătățirea analizorului logic din China. Procesul de captare a datelor și software

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ă circuitul, 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 folosite pentru a testa funcționarea dispozitivului asamblat. O posibilitate este de a genera frecvențe diferite pe pinii XP3. Chiar 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 de 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. Driverele nu vor fi instalate în modul automat. Î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).

15 ianuarie 2013 la 13:59

LogicDiscovery - un simplu analizor logic

  • DIY sau Do It Yourself

Destul de des, în meșteșugurile electronice de acasă, este nevoie să se uite la acest sau acel semnal, iar reprezentarea sa digitală este suficientă - ce transmite MK prin I2C, dacă PWM este configurat corect etc. Dacă aveți un osciloscop bun la serviciu, atunci cumpărarea unuia pentru casa dvs. este prea costisitoare, mai ales când nevoia apare doar ocazional.
Recent, au apărut analizoare logice ieftine (în jur de 50 de dolari), dar un gând m-a împiedicat mereu să le cumpăr: treaba este extrem de simplă, de ce să nu o faci singur din materiale vechi?
În acest articol vă voi spune cum să faceți un analizor logic simplu cu costuri financiare minime - tot ce aveți nevoie este placa de depanare Stm32F4Discovery.

Analizor logic (denumit în continuare LA)– un dispozitiv conceput pentru înregistrarea, vizualizarea și analizarea semnalelor în circuite digitale. La fel ca un osciloscop, un LA este conectat cu una sau mai multe sonde la circuitul analizat, dar spre deosebire de un osciloscop, acesta înregistrează doar două stări de semnal „0” și „1”. O funcție importantă a aeronavei este capacitatea de a descifra automat semnalele înregistrate, de exemplu, pentru a analiza schimbul de date pe magistrala I2C sau SPI. De asemenea, LA se disting printr-un număr mai mare de linii analizate în comparație cu osciloscoapele: de la 8 în analizoare simple la sute în probe industriale.
Proiectul descris aici - LogicDiscovery - este un analizor logic compatibil SUMP, realizat în formatul unui set-top box USB pentru un PC. Are caracteristici destul de modeste: 20MHz, 16 canale, 24kB de memorie. Cu toate acestea, acest lucru este suficient pentru o gamă foarte largă de sarcini: analiza liniilor UART, I2C, SPI (în mai multe megaherți), magistrale paralele, măsurarea caracteristicilor de sincronizare a semnalului etc.

Să începem

Deci, tot ce ne trebuie este:
  • Placă de dezvoltare Stm32F4Discovery. De la 500 de ruble în comerțul cu amănuntul de la Moscova, sau poate este deja în coșul de gunoi? Orice altă placă bazată pe STM32F4 sau STM32F2 va face, dar apoi va trebui să corectați sursele.
  • Mai multe fire de conectat la circuitul analizat.
  • Firmware-ul gata de utilizare este disponibil pe Google.Code. Sursele sunt și ele acolo.
  • În plus, ai nevoie de un client pentru PC, recomand OLS.
Clientul este scris în Java, astfel încât soluția rezultată este independentă de OS. Teoretic, puteți utiliza orice client compatibil SUMP, dar mai jos voi descrie lucrul cu acest program special.
Stm32F4Discovery este alimentat de un port mini-USB, prin care este flash. Pentru a utiliza funcțiile aeronavei, placa este conectată la un PC printr-un port micro-USB. Pentru a alimenta placa de la același port, conectați pinii cu un jumper PA9Şi 5V. PA9 este conectat direct la Vbus-ul portului micro-USB, iar 5V este intrarea stabilizatorului care generează putere pentru placă. Pentru a verifica funcționarea, conectați porturile PA2Şi PD0. Un semnal de testare este generat la PA2, iar PD0 este prima intrare a aeronavei.

Placa este recunoscută de PC ca port COM pentru Linux, driverele sunt standard și ar trebui să fie deja în kernel, driverele sunt descărcate de pe site-ul ST; Odată ce placa a fost identificată, puteți lansa clientul și vă puteți pune la treabă.
Dar mai întâi, o muscă în unguent.

Restricții

Proiectul folosește protocolul deschis SUMP. Acest protocol a fost dezvoltat inițial pentru aeronavele bazate pe FPGA și, deoarece microcontrolerele sunt încă inferioare lor în ceea ce privește înregistrarea semnalelor de intrare și analiza fluxului de date, nu toate funcțiile implementate în client ne vor fi disponibile:
  • Frecvența maximă de înregistrare – 20 MHz, în original până la 200 MHz
  • Compresia RLE și filtrarea zgomotului nu sunt acceptate.
  • Nu puteți selecta grupuri de canale arbitrare, doar primul (8 canale) sau primul + al doilea (16 canale).
  • Declanșatorii funcționează nu prin valoare, ci prin margine (totuși, în opinia mea, acesta este deja un avantaj).
  • Nu există suport pentru declanșatoarele avansate (complexe).
Aceste restricții trebuie reținute atunci când configurați clientul. El nu știe nimic despre aceste restricții și vă va permite să alegeți orice setări. Rezultatul obținut în acest caz va fi incorect.

Noi folosim

Lansăm clientul prin fișierul run.bat sau run.sh, în funcție de sistemul de operare utilizat. Puteți citi despre funcțiile clientului pe pagina acestuia, aici voi descrie procesul de obținere a primelor mostre și acele setări care sunt supuse restricțiilor.

Pe meniu "Capta", selectând un articol „Începe capturarea”, deschideți fereastra de setări de înregistrare. Pe prima pagină din câmp ""Portul analizorului" selectăm portul pe care se află aeronava noastră, nimic altceva nu trebuie schimbat. Buton „Afișați metadatele dispozitivului” Puteți verifica conexiunea:

Pe a doua pagină indicăm parametrii de captare. Nu atingem primele două puncte,
„Rata de eșantionare” nu mai mare de 20 MHz (dacă specificați mai mult, placa folosește în continuare 20 MHz, dar clientul va crede că se folosește valoarea specificată, în general, va fi o prostie).
„Grupuri de canale”: 0 – folosim un grup de canale, acestea sunt liniile PD0-PD7, sau 0 și 1 – folosim două grupuri de canale - liniile PD0-PD15.
„Dimensiunea înregistrării”: pentru un grup de canale – orice valoare, pentru două grupuri – nu mai mult de 12 kB (clientul va avertiza dacă în acest câmp este selectată o valoare incorectă).
Nu atingem casetele de selectare de pe această pagină, acestea nu sunt acceptate:

Pagină „Declanșatoare”- cel mai interesant lucru. Bifăm prima casetă pentru a activa pur și simplu declanșatoarele.
„Raportul înainte/după” vă permite să specificați, în termeni procentuali, câte date trebuie salvate înainte de declanșarea tamponului. După ce faceți clic "Capta" Aeronava începe imediat înregistrarea datelor, adăugându-le într-un buffer ciclic, iar când declanșatorul este declanșat, numără procentul de timp specificat în câmpul După și trimite datele către computer.
"Tip"- Numai „Simplu”, „Complex” - nu este acceptat.
"Modul"- Numai „paralel”.
"Masca"- acestea sunt liniile pe care declanșatorul va aștepta o scădere a semnalului plasați steagul în poziția zero pentru a se declanșa pe linia PD0;
"Valoare"- marginea semnalului la care va fi declanșat declanșatorul. Steagul este bifat – marginea anterioară. Nebifat – spate:

Pentru a verifica funcționarea, conectați porturile PD0 și PA2 (semnalul de testare UART este scos pe acest port) cu un jumper.

Asta e tot, click "Capta"și uitați-vă la semnalul primit (Ctrl+F - scară generală):

Dacă nu se întâmplă nimic, înseamnă că ați setat declanșatorul să tragă pe linii greșite sau nu există niciun semnal - verificați setările și conexiunile plăcii. Declanșatorul poate fi lansat manual apăsând butonul Utilizator (buton albastru).

Măsuri de siguranță

Amintiți-vă: te conectezi direct la porturile microcontrolerului! Nu există altă protecție decât diodele încorporate în MK de pe placă. Prin urmare, asigurați-vă mai întâi că semnalul studiat are o tensiune maximă de 3,3V, în cazuri extreme 5V, dar apoi este indicat să adăugați o rezistență de protecție între sursa semnalului și aeronave.

Când vă conectați la circuitul analizat, nu uitați să conectați mai întâi împământările și abia apoi liniile de semnal. Mai ales când circuitul analizat este alimentat de la propria sursă de alimentare, și nu de la același PC la care este conectată aeronava.

0

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, puteți studia semnalul digital de la receptorul demodulator IR TSOP-1736, semnalele de ieșire și de intrare ale cipului MAX232, precum și magistrala I2C (linia de ceas și linia 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 un telefon mobil Nokia 5110/3110. Baza designului este microcontrolerul Atmel ATmega8, 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. Diagrama 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.
Click pentru a mari Atentie!!! 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 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, deci circuitul conține trei 1N4007 diode conectate în serie (D1-D3) prin linia de alimentare cu iluminare de fundal a afișajului. 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-ul 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 mediul de dezvoltare integrat AVR Studio 4.18, dar apoi autorul a recompilat codul sursă 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 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ă - deplasaț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

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 diferite 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 o veche placă de bază de computer, este folosit ca sursă de ceas pentru FPGA. Î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.

Un cip RAM extern de mare viteză este folosit pentru a stoca mostre.

Pentru alimentarea dispozitivului este utilizată o 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 circuite 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.

Comentariu.Î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 un computer personal prin 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 microcircuit combină funcționalitatea a două microcircuite 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 și driverele 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ă, de asemenea, o versiune B 1.0 a adaptorului de interfață USB (Figura 5). Această versiune se distinge prin absența unui conector JTAG și a unei plăci de circuit imprimat, care este proiectată pentru a fi integrată în corpul conectorului CANNON 25 Aspectul adaptoarelor asamblate este prezentat în Figura 6.

o) 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.

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, puteți studia semnalul digital de la un receptor-demodulator IR tip TSOP-1736, semnalele de ieșire și de intrare ale microcircuitului, precum și magistrala I2C (linia de ceas și linia 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 un 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.

Diagrama 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 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, deci circuitul are trei diode conectat în serie (D1-D3) linii de alimentare cu iluminare de fundal a afișajului. 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 mediul de dezvoltare integrat AVR Studio 4.18, dar apoi autorul a recompilat codul sursă 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 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ă - deplasaț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 poate fi configurat/schimbat 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 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ț. +dati de iesire intr-un program de pe un calculator sub forma unei diagrame de timp/linie.. O sa o iau de la el.. O sa fac softul.. Am inceput sa fac chestia asta pentru ca arata atat de frumos si pretentios 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). Multumesc.
  • 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ă facem 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ările 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.
  • 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 să le smulgă 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. Mult succes tuturor! Izmerenie.txt POSTEZ O VERSIUNE NOUĂ (versiunea a 3-a) A UNUI ANALIZOR MAI PUTERN, ȘI VERSIUNEA ANTERIORĂ CU ADULTE ȘI LINK FIȘIER PROTEUS LA 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 nu. ... :(Multumesc pentru surse! O sa arunc o privire peste un minut.....
  • Ma bucur sa ajut! :D
  • Firmware-ul cu adăugiri (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 transmiterea prin UART?
  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva