Përmbajtje:
- Hapi 1: Asambleja
- Hapi 2: Karakteristikat e Përdorura - Server
- Hapi 3: Qarku i përdorur
- Hapi 4: Kodi burimor: Master
- Hapi 5: Kodi burim: Skllav
- Hapi 6: Analyzer: Hardware
- Hapi 7: Instalimi i Softuerit Saleae
- Hapi 8: Konfigurimi i Mjedisit për Testet Tona
- Hapi 9: Konfigurimi i Mjedisit për Testet Tona
- Hapi 10: Konfigurimi i Mjedisit për Testet Tona
- Hapi 11: Konfigurimi i Mjedisit për Testet Tona
- Hapi 12: Konfigurimi i Mjedisit për Testet Tona
- Hapi 13: Regjistrimi: Vështrim i përgjithshëm
- Hapi 14: Kapja: Rezultati i Analizës së Protokollit
- Hapi 15: Regjistrimi: Kanali 0 dhe të dhënat (SDA)
- Hapi 16: Regjistrimi: Kanali 1 dhe Ora (SCL)
- Hapi 17: Regjistrimi: Kanali 2 dhe Seriali (TX0)
- Hapi 18: Konfigurimi i Mjedisit për Testet Tona
- Hapi 19: Regjistrimi: Osciloskopi dhe Analizuesi
- Hapi 20: Kapja: Vëzhgimi i një Dështimi (shembull i Dështimit Serial)
- Hapi 21: Shkarkoni skedarët
Video: Hapi sytë! Analizues logjik: 21 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
Analizuesi logjik lehtëson vizualizimin tuaj të trenit të pulsit, të cilat janë copat që udhëtojnë në një linjë komunikimi. Kështu, hap sytë për të identifikuar një problem të mundshëm. Pse është e rëndësishme kjo? Shtë një mjet shumë efikas i zhvillimit dhe zbulimit të defekteve që mund t’ju kursejë kohë. Në këtë video sot, ne do të vlerësojmë rëndësinë e analizuesit logjik, do të vëzhgojmë disa protokolle të praktikave të zakonshme gjatë përdorimit të kësaj pajisjeje dhe do të japim shembull një dështim zbulimi pa ndihmën e një analizuesi logjik.
Në këtë video, kam përdorur një model relativisht të lirë (rreth 35 dollarë) dhe efikas, me një ndërfaqe grafike dhe softuer falas.
Hapi 1: Asambleja
Hapi 2: Karakteristikat e Përdorura - Server
• Kërcyesit për lidhje
• 2 Arduinos (kemi përdorur 2 Mega Arduinos 2560)
• Analizues Logjik (ne përdorim Saleae)
• Kabllot e lidhjes USB për Arduino dhe analizues.
• Osciloskopi (opsional)
• Protoboard
Hapi 3: Qarku i përdorur
Këtu kemi skemën, e cila tregon monitorimin e tre kunjave: TX0, SDA dhe SCL. Ne kemi dy Arduino: një mjeshtër dhe një skllav.
Hapi 4: Kodi burimor: Master
Në Setup, ne do të përfshijmë bibliotekën për komunikim i2c. Ne hymë në rrjet si Master dhe filluam serialin 0. Në Loop, ne kërkuam skedarë të të dhënave për komunikim me numrin tonë Arduino 8, siç e përcaktuam në shembullin. Ne shtypim në serial, i cili do të vlerësohet me analizuesin logjik, bajtët e marrë.
#include // includi a biblioteca para comunicação I2C void setup () {Wire.begin (); // Entra na redde como Mestre (endereço é opcional para o mestre) Serial.filloni (115200); // inicia një serial 0} void loop () {Wire.requestFrom (8, 6); // requisita 6 bytes de dados do escravo de endereço 8 while (Wire.available ()) {// enquanto houver bytes para receber. Me Me char c = Wire.read (); // recebe cada byte e armazena como caracter Serial.print (c); // envia o caracter pela serial (në verdade vai para o buffer)} vonesë (500); // aguarda meio segundo}
Hapi 5: Kodi burim: Skllav
Në këtë kod skllav, unë përsëri përfshij bibliotekën për komunikim i2c. Unë hyj në rrjet si skllav me adresën 8. Ne regjistrojmë ngjarjen e kërkesës dhe e lidhim atë me funksionin "kërkesë". Nuk keni nevojë të bëni asgjë në lak, thjesht jepni një vonesë prej 0.1 sekondash.
Së fundi, ne kemi funksionin e kërkesës që do të ekzekutohet kur ndodh ngjarja e kërkesës nga Master, e cila është regjistruar në Setup. Ne përgjigjemi, më në fund, me një mesazh prej 6 bajtësh.
#include // includi a biblioteca para comunicação I2C void setup () {Wire.begin (8); // entra na rede como escravo com endereço 8 Wire.onRequest (requestEvent); // regjistrimi i ngjarjes së kërkesës // e shoqatës à função requestEvent} lak i pavlefshëm () {vonesë (100); // nuk do të ketë një lak, nuk do të jetë e qartë 0, 1 muaj më parë} // do të përdorë një ekzekutim të shpejtë ose të ngjarjes për të kërkuar një kërkesë // të regjistrojë një ngjarje të çastit pa konfigurim void requestEvent () {Wire.write ("teste"); // pergjigju com uma mensagem de 6 bytes}
Hapi 6: Analyzer: Hardware
Shkalla e mostrës deri në: 24 MHz
Logjika: 5 V deri në 5.25 V
Pragu i nivelit të ulët 0.8 V
Pragu i nivelit të lartë 2.0 V
Pengesa e hyrjes prej rreth 1 Mohm ose më shumë
Hapi 7: Instalimi i Softuerit Saleae
Programi që merr të dhënat e kapura nga analizatori logjik dhe deshifron bitët mund të shkarkohet në lidhjen e mëposhtme:
Hapi 8: Konfigurimi i Mjedisit për Testet Tona
Unë tregoj ndërfaqen këtu, e cila më pëlqeu veçanërisht sepse ishte e pastër.
Hapi 9: Konfigurimi i Mjedisit për Testet Tona
Këtu janë disa opsione konfigurimi:
• Duke klikuar mbi emrin e kanalit, ne mund ta ndryshojmë atë.
• Ne mund të përcaktojmë nëse një nga kanalet do të shërbejë si shkas për kapjen dhe formën e zbulimit.
• Duke klikuar dhe mbajtur numrin e kanalit, mund të ndryshoni pozicionin tuaj në listë.
• Duke klikuar mbi ingranazhin, ne mund të konfigurojmë vizualizimin e kanalit, duke zgjeruar…
•… ose fshehja e kanalit. Ne do të fshehim të gjitha kanalet që nuk do të përdorim.
Hapi 10: Konfigurimi i Mjedisit për Testet Tona
Duke klikuar në shigjetat e butonit "Fillimi", ka opsionet e Shkallës së Kampionimit dhe kohëzgjatjes së regjistrimit.
Për disa arsye, nëse softueri zbulon se norma nuk mund të mbahet, një mesazh do të shfaqet dhe automatikisht norma do të ulet derisa të arrihet një vlerë funksionale.
Hapi 11: Konfigurimi i Mjedisit për Testet Tona
Ne gjithashtu do të përfshijmë analizuesit e protokollit. Së pari është I2C, duke ndjekur përkufizimet e bibliotekës WIRE dhe duke i lidhur kanalet në mënyrë korrekte. Së fundi, ne do ta prezantojmë analizuesin me serialin asinkron. Duhet të jemi të kujdesshëm për të konfiguruar saktë parametrat sipas asamblesë.
Hapi 12: Konfigurimi i Mjedisit për Testet Tona
Në skedën "Protokollet e Dekoduara", ne duhet të kontrollojmë se cilët analizues të protokollit janë të aktivizuar. Atje, të dhënat do të shfaqen. Në skedën "Shënimet", ne mund të shtojmë disa nga rezultatet për një vizualizim më të mirë. Thjesht klikoni në ikonën "shto matje".
Hapi 13: Regjistrimi: Vështrim i përgjithshëm
Në ekranin e kapjes, programi shfaq trenin e pulsit të të dhënave të SDA, SCL dhe TX0.
Hapi 14: Kapja: Rezultati i Analizës së Protokollit
Këtu, ne shohim rezultatin e kapjes. Në skedën "Protokollet e Dekoduara", ne kemi:
• Kërkesa e serverit për skllavin me id 8.
• Përgjigja e skllavit, gjashtë karaktere: "t", "e", "s", "t", "e" dhe një hapësirë.
• Secili ndiqet nga një bit ACK (Prano) që tregon marrjen e saktë të bajtit, përveç karakterit të hapësirës NACK (Nuk pranon).
• Më tej, ne shohim rezultatin e deshifrimit të serialit TX0, duke treguar personazhet e marra dhe të dërguara në terminalin serik Arduino IDE.
Hapi 15: Regjistrimi: Kanali 0 dhe të dhënat (SDA)
Në këtë imazh, ne kemi trenin e pulsit të linjës SDA. Vini re se çdo bajt i transmetuar mund të shihet.
Hapi 16: Regjistrimi: Kanali 1 dhe Ora (SCL)
Tani, ne kemi këtu trenin e pulsit të linjës SCL. Ju mund të kontrolloni më shumë detaje thjesht duke vendosur miun mbi sinjal, siç shihni në imazh. Ne mund të shohim se frekuenca e orës ishte në 100 kHz.
Hapi 17: Regjistrimi: Kanali 2 dhe Seriali (TX0)
Sa i përket trenit të pulsit të linjës TX0, ne mund të shohim bitin Start dhe pikat e inkuadrimit të secilit bit. Ne kemi një bajt që përfaqëson karakterin "e".
Hapi 18: Konfigurimi i Mjedisit për Testet Tona
Këtu kemi disa mundësi për leximin e të dhënave.
Hapi 19: Regjistrimi: Osciloskopi dhe Analizuesi
Shikoni këtu ekranin që kam kapur nga oshiloskopi im. Sinjali i analizuesit logjik përfaqëson vetëm zbulimet e larta dhe të ulëta, por nuk përfaqëson cilësinë e sinjalit. Kjo mund të vërehet më së miri në një oshiloskop.
Hapi 20: Kapja: Vëzhgimi i një Dështimi (shembull i Dështimit Serial)
Tani, unë do të tregoj një shembull të një dështimi serik, i cili në fakt më ndodhi mua. Isha me një modem GPRS, lloji i përdorur në një celular, kartën SIM, duke u përpjekur të lidhesha me ESP32. Por thjesht nuk u lidh. Pastaj kontrollova furnizimin me energji elektrike, instalimet elektrike dhe ndryshova tabelën. Kam bërë gjithçka, por asgjë nuk e ka rregulluar. Vendosa të bëj një analizë logjike: zbulova se sinjali ESP në UART 115200 filloi të mos përputhej. Kjo do të thotë, ESP32 po luante atë që duhet të jetë 115, 200 me një shpejtësi të ndryshme nga kjo.
Ky gabim, i cili u identifikua nga analizuesi, u shfaq me një X në të kuqe. Sipas kuptimit tim, programi thotë se pika që ka një grimë të tillë është gjysmë e zhvendosur në kohë. Me rritjen e këtij ndryshimi, mund të vijë një kohë kur gjithçka nuk përputhet, në mënyrë që informacioni të mos arrijë në anën tjetër. Zakonisht arrin, por SIM800 është i ndjeshëm dhe nëse nuk është i saktë, informacioni nuk arrin në skajin tjetër.
Unë nuk e di nëse kjo është diçka që ndodh shpesh apo jo, por më ndodhi mua, dhe kështu vendosa ta trajtoj këtë temë këtu. Pra, çfarë bëra? E ngadalësova. Nëse vendosni 9, 600, 19, 200, deri në 38, 400, funksionon, gjë që nuk ndodh me 115, 200.
Hapi 21: Shkarkoni skedarët
INO
Recommended:
Bëni një analizues logjik dixhital për më pak se 1 dollarë: 5 hapa
Bëni një analizues logjik dixhital për më pak se 1 dollarë: Një sensor i nivelit logjik është një pajisje që ndjen nëse prodhimi i një komponenti është 1 ose 0 (pozitiv ose negativ). I njihni ata sensorë të nivelit të këndshëm me ekranet LCD që kushtojnë rreth 25 dollarë? Ky është për të qeshur më lirë dhe dhe bën të njëjtën gjë (ishtë
Konvertues i thjeshtë logjik DIY për pajisjet 3.3V: 4 hapa
Konvertues i thjeshtë logjik DIY për pajisjet 3.3V: Në këtë postim, unë do t'ju tregoj se si mund të bëni konvertuesin tuaj logjik 5V në 3.3V për lidhjen e sensorëve 5V me tabelat e reja Arduino dhe Raspberry Pi. Pse na duhet një IC i Konvertuesit të Nivelit Logjik ? Shumica prej jush duan të luajnë me Arduino dhe Raspberry Pi duri
Analizues logjik me ndërfaqen e përdoruesit Android: 7 hapa
Analizues Logjik me Ndërfaqen e Përdoruesit Android: Bota tashmë është përmbytur me kaq shumë analizues logjikë. Në hobin tim elektronik, më duhej një për zgjidhjen e problemeve dhe korrigjimin. Kam kërkuar në internet, por nuk mund ta gjej atë që po kërkoj. Pra, këtu jam duke ju prezantuar … " POR Një Lo Lo
Zhvendosës i nivelit logjik DIY 5v në 3.3v: 3 hapa
DIY 5v në 3.3v Ndërruesi i Nivelit Logjik: Një ndërrues i nivelit logjik përdoret për të zhvendosur një nivel tensioni në një tjetër, i cili është thelbësor për funksionimin e disa çipave dixhitalë. Le të marrim një shembull kur duam të ngarkojmë një skicë në esp8266-01 duke përdorur arduino ne duhet të zhvendosim logjikën tx të arduino në 3.3v
Portat e Transistorit Logjik të Dyfishtë: 10 hapa
Portat e Transistorit Logjik të Dyfishtë: Unë ndërtoj porta tranzistori pak më ndryshe se shumica e inxhinierëve të tjerë elektronikë. Shumica e njerëzve kur ndërtojnë porta tranzistori; ndërtoni ato me logjikën pozitive në mendje, megjithatë portat në IC kanë dy logjika, logjikë pozitive dhe logjikë negative. Një