Forbedring av logikkanalysator fra Kina. Forfining av en logikkanalysator fra Kina Miniatyr 4-kanals logikkanalysator på avr

Vassilis Serasidis

En logisk analysator er et verktøy som lar deg se og analysere sekvensen av logiske 0-er og 1-ere i et digitalt signal. Du kan for eksempel studere digitalt signal fra en IR-mottaker-demodulator type TSOP-1736, utgangs- og inngangssignaler til mikrokretsen, samt I2C-bussen (klokkelinje og datalinje) i mange elektroniske enheter.

I denne artikkelen vil vi se på utformingen av en miniatyr 4-kanals logikkanalysator med en LCD-skjerm fra mobiltelefon Nokia 5110/3110. Grunnlaget for designet er en mikrokontroller i tillegg til det, brukes flere diskrete komponenter.

Hovedegenskapene til enheten:

  • 4-kanals logikkanalysator;
  • evnen til å studere signaler med en frekvens på opptil 400 kHz;
  • inngangsspenning opp til +5 V;
  • LCD-skjerm med en oppløsning på 84 × 48 piksler;
  • drevet av 4 batterier 1,2 V, maksimal forsyningsspenning 4,8 V;
  • minne: fra 3,7 ms for høyhastighetssignaler til 36 s for lavhastighetssignaler;
  • kontrollknapper;
  • enkel design.

Skjematisk diagram

Figur 1 viser et skjematisk diagram av enheten. Det bør umiddelbart bemerkes at enheten drives av 4 batterier med en spenning på 1,2 V hver.

Merk følgende!!!

Strømforsyning fra 4 batterier med en spenning på 1,5 V er uakseptabel for denne enhetskretsen, siden en spenning på 6 V kan skade mikrokontrolleren og LCD-skjermen.

Bryter S1 er designet for å levere strøm. Pull-up motstander R2-R5 er installert for å forhindre at det vises falske data ved de digitale inngangene til enheten på grunn av påvirkning av elektromagnetiske felt eller når fingrene berører signalprobene. LED1 er designet for å indikere tilstedeværelsen av et signal ved de digitale inngangene til enheten og dermed starten på opptak av signaler i minnet.

Kretsen bruker en LCD-indikator fra en mobiltelefon Nokia telefon 3310/5510, den er designet for å fungere med en forsyningsspenning på 3,3 V - 5,0 V, men maksimal spenning for skjermens bakgrunnsbelysning er 3,3 V, så kretsen har tre seriekoblede dioder (D1-D3) langs skjermen bakgrunnsbelysning kraftlinje. Takket være diodene vil spenningen falle til 2,7 V, og det vil være ganske nok til å drive bakgrunnsbelysningen.

Datafangstprosess og programvare

Det skal bemerkes at forfatteren har utarbeidet to versjoner av mikrokontrollerens fastvare. Opprinnelig, for versjon 1.00 av logikkanalysatoren, ble et integrert utviklingsmiljø brukt AVR Studio 4.18, men så kompilerte forfatteren på nytt kilde og for AVR Studio 5 - versjon 1.01. Etter rekompilering for versjon 5 av utviklingsmiljøet og ytterligere testing av enheten, ble det lagt merke til en forbedring i stabiliteten til de fangede signalene.

Signaler registreres i den interne RAM-minnebufferen, som er designet for 290 prøver. Databufferen er dannet av 870 byte (for versjon 1 av mikrokontrollerprogrammet), hvorav 2 byte brukes til telleren og 1 byte for å informere om inngangskanalen. I versjon 1.01 ble databufferen redusert til 256×3=768 byte for å øke datafangsthastigheten, fordi Bufferstørrelsesvariabelen er 8-bit, i stedet for 16-bit, som ble brukt i den første versjonen av programvaren.

Etter at strømmen er tilkoblet, går mikrokontrolleren inn i pulsventemodus ved en av de 4 inngangene til enheten. Når en inngangspuls oppdages, begynner mikrokontrolleren å telle tiden til neste puls kommer til en av de 4 inngangene. Samplingens varighet lagres i 16-bits variabelen "teller". Etter at denne variabelen renner over, lagres informasjon om tilstanden til de 4 inngangene og tellerverdien i en buffer, og verdien til adressen økes med tre (2 byte for telleren og 1 byte for informasjon om inngangslinjen). Denne prosessen gjentas til mikrokontrolleren fyller hele bufferen (870/3=290 prøver eller pulser). Prosessen med å registrere signaler i mikrokontrollerminnet er vist i figur 2.

Etter å ha fylt bufferen, vises alle akkumulerte data på LCD-skjermen i form av et oscillogram. Brukeren kan kontrollere bølgeformen - flytt den til venstre (S3-knapp) eller til høyre (S4-knapp) for å se hele den lagrede pulssekvensen. Hvis lavhastighetssignaler ble registrert, kan brukeren endre skalaen med 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 eller 8192 ved å trykke på S2-knappen.

Ved programmering av mikrokontrolleren må du stille inn sikringsbitene i samsvar med figuren.

Type kretskort og plassering av komponenter

Demonstrasjon av enhetens drift

Nedlastinger

Skjematisk diagram, kretskorttegning, kildekode og fil for fastvare for mikrokontroller (v1.0, AVR Studio 4.18) -

Kildekode og fil for fastvare for mikrokontroller (v1.01, AVR Studio 5) -

  • Slik jeg forstår det har skjermen din en gummistrikk og er montert på et hjemmelaget skjerf, dvs. det ledende gummibåndet berører sporene du klipper på skjerfet. Hvis ja, så husk - dette er det svakeste punktet i designet... Har du sjekket (lest) sikringsbitene? Er de riktig installert? Jeg utelukker ikke problemet i selve skjermen. Jeg skal ta en titt på kildekoden, kanskje det er noe der som kan konfigureres/endres angående skjermen...
  • Vadzz, ja, jeg forstår det, det mest sårbare stedet.. Jeg fant en slags mobiltelefon med en kontaktavstand som ligner på skjermen min. Når jeg har tid, skal jeg prøve å gjøre det. Spørsmålet er om skjermen fungerer, om jeg brente kontrolleren (hvis dette er mulig). I mellomtiden vil jeg forlate denne ideen. Det er veldig vanskelig å få tak i denne ferdiglagde skjermen og den koster mer enn denne enheten er nødvendig.. Jeg vil heller lage den samme enheten, bare sende ut data til en datamaskin via USB. (ifølge læreboken http://eldigi.ru/site/comp/18.php). Jeg jobber fortsatt på en datamaskin og gjør alt via USB. Eller en venn gjør en avhandling om et miniatyr usb-oscilloskop. Krets basert på ett enkelt AtTiny-element og kvarts. + utdata til et program på en datamaskin i form av et tidsdiagram/linje.. Jeg tar det fra ham.. Jeg skal lage programvaren.. Jeg begynte å lage denne tingen fordi den ser så vakker og pretensiøs ut fra utsiden;) Og det fungerer spesielt.. vel, ingenting, jeg skal begynne å jobbe med kinesiske sendere, jeg må gjøre det.. Der må du allerede se på impulsene og analysere dem.. Og takk for hjelp)
  • Gutter, sjekk det ut) Likevel kunne jeg ikke motstå... Jeg tenker fortsatt på å fullføre frontpanelet.
  • Jeg er glad for at alt gikk og fungerte, det ser normalt ut. Bare fortell oss mer detaljert hva problemet var (sannsynligvis fungerte ikke skjermen tross alt), informasjonen din vil være nyttig for mange (hvis det ikke er en hemmelighet, selvfølgelig). Takk skal du ha.
  • Vel, problemet var i displayet. Og så kjøpte jeg ikke rød, men blå, så kontaktene er fortsatt ikke enige om plasseringen, og navnene varierer litt. Tilkobling (på diagrammet\blått display): Vcc-Vcc GND-GND Rst-Rst SCE-CE D\C-DC DN-Din SKLK-CLK LED-BL Hvis det er ønske, vil jeg prøve å sette inn\starte min gammel skjerm. Får se om den er utbrent... ellers har jeg hatt så mye trøbbel med den.
  • En liten test av enheten, et par feil. 1) Når vi spoler tilbake, beveger vi oss lenge fremover, så tilbake, og på et tidspunkt nekter den å gå tilbake og setter seg fast til en viss verdi. Du kan bla forover og tilbake igjen og etter det blokkeres det med en annen verdi.. Her er et bilde, selv om ingenting vil være synlig her http://s017.radikal.ru/i433/1306/57/cf1dfbd2f106.jpg 2) Ved tilbakespoling, det midlertidige diagrammet http://s60.radikal.ru/i169/1306/33/1c23e0d9815c.jpg http://i066.radikal.ru/1306/9f/c894839ca1fd.jpg 3) Når du endrer zoom, spoler du tilbake er tilbakestilt til 0. posisjon (men ikke alltid). Vi må fikse noe... Jeg tror vi kan legge til et par godbiter til prosjektet: Berøringsknapper (implementert på en enkel måte, kun tre MOM-motstander) Voltmeter (GND er konstant tilkoblet, så det ville vært fint å gjøre noe på ADC, fordi det ikke er det samme å koble til et multimeter hver gang, men denne vil hjelpe den måler opp til 5V, bare for et digitalkamera. Oscilloskop (jeg vet ikke hvordan, men det ville vært veldig fint. Jeg tror hovedproblemet vil være med skjermen). Tilkobling via USB til PC. Å vise et tidsdiagram i et program er hellig. Hvis du lager et oscilloskop, vil det være lettere å vise alt i programmet.. Det vil se omtrent slik ut (mitt program) http://s48.radikal.ru/i119/1306/eb/9c25ff0d3d7b.png Du kan endre også noe i innstillingene med programenheten..
  • Forresten, denne tingen simuleres ganske bra i Proteus.
  • Jeg satte sammen enheten. Slår på og viser. Hvis det er 33k motstander (og ingen signalkilder), så når du slår den på kan du se alle slags kammer. Med motstander og en kilde (TSOP IR og spi-enhet) - alle linjer er jevne. Ingen reaksjon i det hele tatt. Hvor skal vi grave?
  • Inngangene er kortsluttet til + og ikke til jord slik at det vises. Jeg måtte invertere TSOP-utgangen.
  • Indikatoren fra telefonen fungerte også. Først viste det ingenting, jeg installerte motstandsdelere på skjerminngangene fra MK og alt fungerte. 1 com fra MK til skjermen og 3,3 com fra skjermen til bakken
  • invertering hjelper ikke
  • Firmware med korrigerte feil og med tillegg (UART, Frequency meter, Gap editor før måling, samt et annet program for datamaskinen. Analizator.exe Beskrivelse: Analizator_PC V2.1 Analizator.exe 4-kanals logikkanalysator. DSN Beskrivelse: Analizator_proteus http :// www.fayloobmennik.net/4274643 Analizator.hex Beskrivelse: Analizator_Atmega8 http://www.fayloobmennik.net/4291611 4-kanals logikkanalysator Beskrivelse: Analizator_shema http://www.fayloobmennik.net/4285824 http: Andre alternativ //radikal.ru /fp/KILDER FOR ANALYSATOREN SOM ER INTERESSERT. Tvil ikke på at alt fungerer som det skal Du vil nå ha muligheten til å sjekke det i simulatoren, samt fordype deg i kildekoden . Jeg vil redde deg fra rutinearbeid. Ikke døm meg for mine kommentarer. Dessuten er dette utkast alt med dem, til og med rive ut hjertet deres. Og det var bare ett mål - å gjøre det praktisk, mer nøyaktig og pålitelig. Du kan lese alt jeg har gjort i mine 2 programmer for PC i delen "Hjelp" For å analysere og sammenligne resultatene som er oppnådd, legger jeg ut kildeteksten til hovedmåleprogrammet Vasilisa Serasidisa. Se og sammenlign hvor mange klokkesykluser som brukes på måling for meg og for ham. Og sørg for at de beste programmererne er RUSSISK!!! Jeg legger til: Siden jeg designet 2 versjoner av analysatorene, har jeg løst mange problemer knyttet til digital utveksling via CAN-bussen og I2C-konsoller osv. ATmega48-versjonen er til og med å foretrekke med høyhastighetsprotokoller. For eksempel ble CAN på 140 Kbit analysert med et brak! i motsetning til den velkjente Digan-analysatoren. Og selv er han på størrelse med en flash-stasjon. Lykke til alle sammen! Izmerenie.txt JEG LEGGER UT EN NY VERSJON (3. versjon) AV EN KRAFTIGERE ANALYSER, SAMT DEN FORRIGE VERSJONEN MED ADDES OG PROTEUS FILLINK TIL ARKIV http://www.fayloobmennik.net/5569369
  • 1. Hvem gjentok den originale versjonen - fra Serads, er det noen alvorlige feil som gjør enheten ubrukelig i det hele tatt - som at den første byten alltid hoppes over, osv.? Ovenfor skriver de om "visning av diagrammer", men jeg skulle ønske at de var pålitelige :). 2. Sergey7 legger ikke ut kildekoden, noe som ikke lar oss evaluere funksjonaliteten fullt ut. Hvis du lager originalen først, vil det kreves endringer i maskinvaren for videre utvikling av enheten for å fullføre Sergei7?
  • Jeg sendte deg en melding og ingen svar. Har den kommet?
  • sannsynligvis ikke. ... :(Takk for kildene! Jeg skal ta en titt om et øyeblikk.....
  • Glad for å hjelpe! :D
  • Fastvare med tillegg (UART, Frekvensmåler, Gap-editor før måling er ikke i AnalizatorKSA.zip
  • Kanskje noen har signet i lay?
  • Se på den nye versjonen jeg la ut. Og den forrige, modifisert også (med fastvare, proteus-fil og tilleggsprogram).
  • Hva skrev de i og kan jeg ha et komplett diagram. Jeg forstår fortsatt ikke hva jeg skal samle inn og hvor mange andre prosenter det skriver til seg selv for overføring via UART

Denne artikkelen presenterer en enkel logikkanalysator som fungerer med USBee v1.1.57 og Logic v1.1.15-skallene. Montert på en vanlig mikrokrets CY7C68013A fra Cypress. Jeg hadde et ferdig brett med denne brikken, bestilt fra Aliexpress-nettstedet. Slik ser hun ut:

Jeg ville lage en LPT-port på den, men så forsvant behovet for den og så ble den liggende uavhentet. Jeg trengte en enkel logikkanalysator. Det ble besluttet å gjøre det på dette styret. Det er mange kretser basert på denne brikken på Internett. Det var nødvendig å legge til en buffer for dataoverføring, gi inngangsbeskyttelse og muligheten til å velge hvilket skall de skulle jobbe med. Utvidelseskortet plasseres på toppen av hovedkortet. Jeg vil si med en gang at kretsen, kortet, fastvaren og alt nødvendig for å jobbe med denne logiske analysatoren er nederst i artikkelen. 74LVC4245-brikken ble brukt som en buffer du kan bruke 74LVC8T245A de er helt identiske. Beskyttelsesfunksjonen ved inngangen utføres av BAV99 diodesammenstillinger. Og så denne ordningen ble født:


Bruk jumper J1 for å velge retningen for dataoverføring. I lukket tilstand for datamottak, i åpen tilstand for overføring. Det er et slikt skall som USBee AX Test Pod. Den inneholder mange testverktøy som kan brukes til å teste driften av den sammensatte enheten. En mulighet er å generere forskjellige frekvenser på XP3-pinnene. Du kan virkelig ikke spørre dem selv. 8 forskjellige frekvenser vises samtidig. Du kan også sette utganger til 0 eller 1 og mange andre tester. Bruk XP5-jumperen til å velge hvilket skall vi skal jobbe med USBee v1.1.57 eller Logic v1.1.15. Firmware for forskjellige skall lastes inn i henholdsvis U2 og U3. XP4-jumperen er skrivebeskyttet. Det vil være nødvendig når du starter Logic-skallet. Jumper J2 stiller inn spenningen til inngangsnivåene. Hvis den er lukket, bør inngangssignalnivået være 3,3 V. Det er også mulig å sette signalnivået til samme spenning som spenningen som tilføres enheten som diagnostiseres, men ikke mer enn 5V. For å gjøre dette, åpne J2 og tilfør forsyningsspenningen til kortet som blir diagnostisert til pinne 10 på XP3. Ikke glem å koble den vanlige ledningen til analysatoren med kortet som blir diagnostisert. Først må vi endre hovedkortet, det vil si fjerne 24C128-minnebrikken.

Brettet mitt hadde heller ikke en GND-forbindelse mellom USB-kontakten og GND CY7C68013A måtte kobles sammen.


Ingen ytterligere endringer trenger å gjøres.

Nå lager vi skjerfet vårt som måler 41mm x 58mm. Som et resultat får vi følgende resultat:



Vi kobler sammen to brett:



For å komme i gang må vi flashe minnebrikkene. For å gjøre dette, installer verktøyet fra Cypress CySuiteUSB_3_4_7_B204. Vi fjerner XP5-jumperen fra brettet og kobler brettet til PC-en, en ukjent enhet vil dukke opp i enhetsbehandlingen.


Installer drivere fra filen Driver_Cypress_win7 win8. Vi ber koordinatoren se etter drivere i denne mappen. Systemet vil selv installere den nødvendige driveren. En ny enhet vil vises i USB-kontrollerne:


Start det installerte programmet Control Center. Et vindu åpnes foran oss, der enheten vår skal være øverst.

Velg fanen Option og deretter EZ-USB Interface:

Følgende vindu åpnes:


Vi endrer ingenting her. Vi trenger bare S EEPROM-knappen. Bruk XP5-jumperen til å velge en av minnebrikkene. Klikk på S EEPROM og angi hvor fastvaren vår er lagret. Velg fastvaren avhengig av typen minne og klikk "Åpne". Tallene på slutten av fastvarenavnet indikerer hvilken type minne fastvaren er for. For 24C01 må du velge USBeeAX_01, og for 24C02 USBeeAX_01.


Prosessen med å laste opp informasjon vil begynne. Hvis fastvaren er vellykket installert, bør det være en melding som på skjermbildet. Antall byte kan variere avhengig av valgt fastvare.


Vi trykker på tilbakestillingsknappen på brettet og ser en ny uidentifisert enhet i enhetsbehandlingen. Installere drivere. I automatisk modus driverne vil ikke bli installert. I manuell modus angir vi hva som skal installeres fra disken og velger driveren fra Driver Cypress win7_win8-mappen. Det fungerte for meg på Windows 8.1 med EZ-USB FX1 No EEPROM-driveren (3.4.5.000).

Når jeg kjøper all slags kinesisk elektronikk for mitt "håndverk", møter jeg ofte problemet med en dårlig beskrivelse av arbeidet,

Temaet for dagens artikkel er bruken av en billig kinesisk logikkanalysator kjøpt på Aliexpress.

Hva er en logikkanalysator? Dette er en slik enhet... for logisk analyse))) En film med Robert De Niro dukker umiddelbart opp

Hvorfor trengs det? Vel, selvfølgelig, delta i logisk analyse))). Eller rettere sagt, ved å analysere de logiske nivåene til forskjellige mikrokontrollere og deres periferiutstyr. Det som vanligvis kalles reverse engineering.

Kjennetegn

  • Programvarekompatibilitet med Saleae Logic 8
  • Antall digitale innganger - 8
  • To indikatorer - strøm og status for logiske innganger
  • Inngangsimpedans 100KOhm, inngangskapasitans 5pF
  • USB-drevet
  • Støttede samplingsfrekvenser:
  • 24MHz, 16MHz, 12MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500KHz, 250KHz, 200KHz, 100KHz, 50KHz, 25KHz;
  • Antall lagrede verdier for en måling - 10000

På den ene siden er det en 10-pinners kontakt og pinout på kroppen

Med en annen Mini USB for strømforsyning og tilkobling til en datamaskin

Innmat

Inne i kabinettet er det et kort som inneholder en mikroprosessor med et høyhastighets USB-grensesnitt CY7C68013A fra CYPRESS, en EEPROM ATMLH432 og en bussdriver LVC245A fra NXP.

Ved analysatorinngangen er det 100 Ohm strømbegrensende motstander, 100 KOhm pull-up motstander og 5 pF kondensatorer. Alt er ærlig, som i beskrivelsen.

Forbindelse

For å koble til analysatoren inkluderer settet 10 tilkoblingsledninger for pin-kontakter. Jeg kjøpte umiddelbart disse clip-on klippene.

Kvaliteten på klemmene er veldig middelmådig, men gode klemmer vil koste mer enn selve analysatoren

Programvare

Dette er kanskje det mest interessante med denne analysatoren. Den leveres med innebygd programvare fra Saleae Logic.

Versjoner er tilgjengelige for OSX, Linux og Windows i 32 og 64 bit.
Saleae Logic 1.2.3 under Windows 7 fungerte med et halvt spark, programvaren startet, maskinvaren ble gjenkjent, til tross for "Beta"-versjonsskiltet.

Interessante funksjoner i programvare fra Saleae Logic

Trigger for opptak av en logisk sekvens på hver kanal

  • For å endre det logiske nivået til "0"
  • For å endre det logiske nivået til "1"
  • For en positiv impuls av en gitt varighet
  • Til en negativ puls av en gitt varighet

Beregning av statistiske avlesninger basert på gjeldende måling

Dekodingsprotokoller: 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 , PS/2 tastatur/mus, SMBus, SWD, Simple Parallel, UNI/O, USB LS og FS

Logging ved hjelp av dekodbar protokoll

I tillegg kan denne analysatoren flashes med programvare fra USBee

La oss gjøre litt analyse

Jeg fant bare ut å koble til DYP-ME007Y ultralydsensorene, som ser helt identiske ut, men fungerer helt annerledes.

Hvis man jobber nøyaktig i henhold til dataarket: en kort puls på "triggeren" utløser en ultralydpuls og avstanden måles basert på varigheten av ekkoet. Deretter måler den andre og tredje (med en blinkende LED) omtrent en gang hver 100 ms uten eksterne spark avstanden og sender den med en hastighet på 9600 i form av fire byte (inkludert sjekksum). Saleae Logic lar deg aktivere signaldekoding seriebuss i en sekvens av byte. Sensorer av den andre typen fungerer perfekt med "TRIG"-utgangen deaktivert, selv om de kanskje venter på en kommando ved denne inngangen, men selv en magisk enhet vil ikke vise dette.

Deretter ønsket du å se på PWM-signalet til Atmegi 168? Jeg slo på alle seks kanalene som støtter PWM på forskjellige nivåer og ble overrasket over å finne at frekvensen til to PWM-kanaler er forskjellig fra de andre 4. Er forskjellige tidtakere involvert?

Hva er på databussen min?

Den magiske enheten og programmet dekodet normalt sekvensutgangen til LED-ene. Til og med fargene på lysdiodene dukket opp.

Det er heller ingen problemer med å analysere I2C-bussen. Programvaren taklet dekoding godt. Du kan se skrivepakker til registre når TM1637-skjermdriveren kjører

En 315 MHz RF-mottaker koblet direkte til analysatoren mottok et signal fra radiobryterne og ga en Manchester-kode. Etter å ha valgt hastighet, konverteres Manchester-koden av et smart program til en sekvens av byte.

Jeg lurer på, hva med nøyaktigheten av å måle tidsintervaller? Jeg hadde ikke en eksakt pulsgenerator for hånden, men Arduino-tone (1000) ved 1000Hz

og tone(20000) ved 20KHz gir et ganske nøyaktig resultat.

For å teste høyfrekvensen satte jeg raskt sammen en generator basert på NE555. Vi klarte å presse 8 MHz ut av det. Analysatoren absorberte denne frekvensen normalt. Det var ikke mulig å teste den på 20 MHz, men 8 er også et veldig bra resultat for en så billig maskinvare.

En kort oppsummering

En logikkanalysator er en veldig nødvendig og nyttig ting for de som er engasjert i å grave opp kinesisk periferiutstyr for mikrokontrollere (la oss kalle det pent - reverse engineering)
Blant fordelene med dette jernstykket vil jeg nevne:

  • Attraktiv pris
  • Kompatibel med ganske praktisk Saleae Logic-programvare
  • Inngangsbeskyttelse i form av LVC245A bussjåfør
  • Små dimensjoner

Jeg fant ingen åpenbare mangler i denne maskinvaren. Jeg skulle ønske jeg hadde kjøpt en logikkanalysator tidligere - hvor mye tid jeg ville ha spart på så mange prosjekter. Utvilsomt, for noen, vil ikke egenskapene til denne maskinvaren være nok. Det er mange mer sofistikerte modeller, men prisen på $100-200 gjør disse enhetene mye mindre rimelige for radioamatører.

Skal vi analysere noe annet?

For å jobbe i komplekse digitale kretser er en kinesisk logikkanalysator en ekstremt nødvendig ting. Den lave prisen og den praktiske programvaren er også fengslende. Og det passet meg ganske bra inntil behovet oppsto for samtidig å se driften til forskjellige kretsnoder, drevet fra forskjellige kilder og uten felles jord. I utgangspunktet har analysatoren 8 strømfrakoblede kanaler med en pulsamplitude ved inngangen på 5 volt. Denne modifikasjonen gjør det mulig å gjøre analysatorinngangene galvanisk isolerte og arbeide med pulser med en amplitude fra 3 volt til 25 volt. Posisjonen til kjeksbryterne velges avhengig av rekkevidden til inngangspulsene. Men designkretsen vil forbli operativ opp til 65 volt.

Kretsen bruker høyhastighets optokoblere designet for å operere i fiberoptiske nettverk. Frekvensegenskapene til optokobleren er høyere enn analysatoren kan overse, siden den minste pulsvarigheten som analysatoren kan registrere er omtrent 42 nanosekunder. Optokoblerens LED-strøm velges i området 6-7,5mA. Optokobleren lar strømmen øke opp til 15mA. Og en slik strøm vil oppstå ved en inngangsspenning på 65 volt når bryteren er i "25v" -posisjon.

Nærmere bestemt inneholder kortet mitt 4 galvanisk isolerte kanaler og 4 ikke isolerte med 5-volts innganger. Strøm tilføres fra analysatorkortet. I dette tilfellet er det nødvendig å utføre noen modifikasjoner: fjern analysatorkortet fra dekselet, kutt sporet som går til pinne 9 på kontakten og påfør spenning fra høyre pinne på LM1117 til denne pinnen gjennom en 10 Ohm motstand.

Oppsettet og designet viste seg å være ganske enkelt, og bruksmulighetene ble betydelig økt.
Ved testing av galvanisk isolerte innganger, for forsøkets renhet, ble inngangene koblet parallelt. Det vil si at 4 innganger IN A,B,C,D og følgelig Gnd A,B,C,D var gjensidig forbundet. Bryterne ble satt i samme posisjon. Pulsene ble skapt ved kunstig sprett av kontakter og en ekstern strømkilde ved riktig spenning.

Under monteringen ble det brukt 6N137 optokoblere og MPN-1 brytere som inneholder smd0805 motstander, men 1206 vil også passe Ved lodding av kabelen for tilkobling til analysatoren ble sekvensen delvis endret, men alt er merket på brettet.

I stedet for MPN-1-brytere kan du bruke alle andre, selv om du må justere kretskortet eller bruke ledninger. Forfatter - Dubovitsky Nikolay.

Hovedegenskapene til enheten:

  • opptil 32 inngangskanaler;
  • minne 128 KB per kanal;
  • samplingsfrekvens opptil 100 MHz;
  • ekstern klokkeinngang;
  • alle innganger er kompatible med 3,3 V og 5 V logikk;
  • konfigurerbar bufferstørrelse for forhåndshenting/posthenting er et multiplum av 8 KB;
  • 16-bits intern klokkegenerator;
  • flere interne synkroniseringsmoduser;
  • programmerbar synkroniseringsforsinkelse;
  • programmerbar synkroniseringshendelseteller;
  • ekstern synkronisering input;
  • kommunikasjon med PC via LPT (EPP-modus) eller USB-grensesnitt;
  • Flere versjoner av PC-applikasjoner for ulike operativsystemer.

Hovedelementet i logikkanalysatoren er FPGA, produsert av selskapet, som utfører alle hovedfunksjonene. Det skjematiske diagrammet av enheten er vist i figur 1.

Oscillator IC4 (IC6), lånt fra den gamle, brukes som en klokkekilde for FPGA hovedkort datamaskin. Til tross for at oscillatoren er designet for å fungere ved en spenning på 5 V, ble det ikke identifisert problemer i driften av enheten når den ble drevet av en spenning på 3,3 V.

En ekstern høyhastighets RAM-brikke brukes til å lagre prøver.

For å drive enheten brukes den ekstern kilde med en utgangsspenning på opptil 15 V. FPGA og RAM har en forsyningsspenning på 3,3 V, så en 3,3 V spenningsregulator av LD1117DT33-serien er installert.

K7 parallellportkontakten er plassert på logikkanalysatorkortet og er koblet direkte til FPGA. Logikkanalysatorens kretskort er dobbeltsidig, og bruker overflatemonterte komponenter og konvensjonelle blyholdige komponenter. En visning av det trykte kretskortet er vist i figur 2.

Kommentar. I stedet for pinne 40 (Vss) på SRAM-brikken, er pinne 39 til denne brikken koblet til jord. Løsning: Koble pinne 39 og 40 sammen på PCB (pinne 39 brukes ikke i SRAM-brikken).

For å koble til personlig datamaskin For USB-grensesnittet må du bruke en spesiell adapter, diagrammet som er vist i figur 3.

USB-grensesnittadapteren for logikkanalysatoren er satt sammen på en brikke i FT2232C-serien produsert av FTDI. Denne brikken kombinerer funksjonaliteten til to separate brikker FT232BM og FT245BM. Den har to I/O-kanaler som er separat konfigurert. Hovedpunktene i FT2232C-konfigurasjonen for bruk som en del av enheten er strømforsyning fra USB-grensesnittet og mi(MCU Host Bus Emulation-modus). Denne modusen konverteres til EPP-protokollen ved hjelp av IC3 74HCT4053D multiplekseren. Siden direkte dekoding av /DST-, /AST- og RD/WR-signalene kan forårsake tidskonflikter, brukes et ekstra signal A8, som brukes som et RD/WR (lese/skrive)-signal i perioder med dataoverføring via EPP-protokollen .

JTAG-kontakten (CON2) brukes til å konfigurere FPGA - dette er for fremtidig utvikling, for øyeblikket brukes ikke dette grensesnittet.

93LC56-serien EEPROM (IC2) lagrer konfigurasjonsdata for FT2232C og er nødvendig for at det programmerbare grensesnittet skal fungere skikkelig. For å programmere denne brikken brukes FT_Prog-verktøyet (tidligere ble det kalt MProg). Dette verktøyet og FT2232C-drivere er tilgjengelige for nedlasting på FTDI-nettstedet.

Adapterens trykte kretskort er utformet ensidig, noe som forenkler produksjonen.

Det er også versjon B 1.0 USB-adapter grensesnitt (Figur 5). Denne versjonen skiller seg i fravær av en JTAG-kontakt og trykt kretskort, som er laget under hensyntagen til dens integrering i huset til CANNON 25-kontakten. Utseende sammensatte adaptere i figur 6.

en) b)
Figur 6. Utseendet til USB-grensesnittadapteren versjon A 1.1 (a) og versjon B 1.0 (b)

Det er også en annen versjon av den logiske analysatorkretsen (figur 7), der USB- og LPT-grensesnitt allerede er integrert. Forfatteren av dette alternativet er Bob Grieb, og under utviklingen av kretsen ble TinyCAD-miljøet brukt, det trykte kretskortet for det ble utviklet i FreePCB-editoren.




Topp