Orodha ya maudhui:

Fungua Macho Yako! Analyzer ya kimantiki: 21 Hatua
Fungua Macho Yako! Analyzer ya kimantiki: 21 Hatua

Video: Fungua Macho Yako! Analyzer ya kimantiki: 21 Hatua

Video: Fungua Macho Yako! Analyzer ya kimantiki: 21 Hatua
Video: Счастливая история слепой кошечки по имени Нюша 2024, Novemba
Anonim
Image
Image
Mkutano
Mkutano

Mchanganuzi wa mantiki huwezesha taswira yako ya treni ya kunde, ambazo ni bits zinazosafiri kwenye mstari wa mawasiliano. Kwa hivyo, inafungua macho yako kutambua shida inayowezekana. Kwa nini hii ni muhimu? Ni zana bora sana ya maendeleo na utambuzi wa makosa ambayo inaweza kukuokoa wakati. Katika video hii leo, tutagundua umuhimu wa mchanganuzi wa kimantiki, tazama baadhi ya itifaki za mazoea ya kawaida wakati wa kutumia kifaa hiki, na tuonyeshe kutofaulu kwa kugundua bila msaada wa mchambuzi wa mantiki.

Katika video hii, nilitumia gharama nafuu (karibu $ 35) na mfano mzuri, na kielelezo cha picha na programu ya bure.

Hatua ya 1: Mkutano

Hatua ya 2: Vipengele vilivyotumika - Seva

Vipengele vilivyotumika - Seva
Vipengele vilivyotumika - Seva

• Rukia kwa unganisho

• 2 Arduinos (tulitumia 2 Mega Arduinos 2560)

• Analyzer ya kimantiki (tunatumia Saleae)

• nyaya za unganisho la USB kwa Arduino na analyzer.

• Oscilloscope (hiari)

• Kitabu cha ulinzi

Hatua ya 3: Mzunguko Umetumika

Mzunguko Umetumika
Mzunguko Umetumika

Hapa tuna skimu, ambayo inaonyesha ufuatiliaji wa pini tatu: TX0, SDA, na SCL. Tuna Arduino mbili: bwana na mtumwa.

Hatua ya 4: Msimbo wa Chanzo: Mwalimu

Katika Usanidi, tutajumuisha maktaba ya mawasiliano ya i2c. Tuliingia mtandao kama Mwalimu na tukaanzisha serial 0. Katika Kitanzi, tuliomba ka data za watumwa kwa mawasiliano na nambari yetu ya Arduino 8, kama tulivyoelezea katika mfano. Tunachapisha kwenye safu, ambayo itathaminiwa na analyzer ya mantiki, ka zilizopokelewa.

# pamoja na // inclui a biblioteca para comunicação I2C batili kuanzisha () {Wire.begin (); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicia serial 0} batili kitanzi () {Wire.requestFrom (8, 6);.. char c = Wire.read (); // kupokea cada byte na armazena como caracter Serial.print (c); // envia o caracter pela serial (na verdade vai para o buffer)} kuchelewesha (500); // aguarda meio segundo}

Hatua ya 5: Nambari ya Chanzo: Mtumwa

Katika nambari hii ya mtumwa, ninajumuisha tena maktaba ya mawasiliano ya i2c. Ninaingia kwenye mtandao kama mtumwa na anwani ya 8. Tunasajili hafla ya ombi na kuihusisha na kazi ya "ombi". Huna haja ya kufanya chochote kwenye kitanzi, toa ucheleweshaji wa pili wa 0.1.

Mwishowe, tuna kazi ya ombi ambayo itatekelezwa wakati hafla ya ombi na Mwalimu inatokea, ambayo ilisajiliwa katika Usanidi. Tunajibu, mwishowe, na ujumbe wa ka 6.

# pamoja na // inclui a biblioteca para comunicação I2C batili kuanzisha () {Wire.begin (8); // entra na rede como escravo com endereço 8 Wire.onRequest (ombiEvent); // usajili wa tukio linalotakiwa // e associa à função requestEvent} kitanzi batili () {kuchelewesha (100); // não faz nada no loop, apenas aguarda 0, 1 segundo} // função que será executada quando ocorrer o evento de requisição pelo mestre // fori registrada como evento no setup void requestEvent () {Wire.write ("teste"); // responde com uma mensagem de 6 ka}

Hatua ya 6: Analyzer: Vifaa

Analyzer: Vifaa
Analyzer: Vifaa

Kiwango cha mfano hadi 24 MHz

Mantiki: 5 V hadi 5.25 V

Kizingiti cha kiwango cha chini 0.8 V

Kizingiti cha kiwango cha juu 2.0 V

Ingiza impedance ya Mohm 1 au zaidi

Hatua ya 7: Ufungaji wa Programu ya Saleae

Ufungaji wa Programu ya Saleae
Ufungaji wa Programu ya Saleae

Mpango ambao hupokea data iliyonaswa na analyzer ya mantiki na kuamua bits inaweza kupakuliwa kwenye kiunga kifuatacho:

Hatua ya 8: Kusanidi Mazingira ya Majaribio Yetu

Kusanidi Mazingira ya Majaribio Yetu
Kusanidi Mazingira ya Majaribio Yetu

Ninaonyesha interface hapa, ambayo nilipenda haswa kwa sababu ilikuwa safi.

Hatua ya 9: Kusanidi Mazingira ya Majaribio Yetu

Kusanidi Mazingira ya Majaribio Yetu
Kusanidi Mazingira ya Majaribio Yetu

Hapa kuna chaguzi kadhaa za usanidi:

• Kwa kubonyeza jina la kituo, tunaweza kuibadilisha.

• Tunaweza kubaini ikiwa moja ya vituo vitatumika kama kichocheo cha kukamata na aina ya utambuzi.

• Kwa kubonyeza na kushikilia nambari ya kituo, unaweza kubadilisha msimamo wako kwenye orodha.

• Kwa kubonyeza gia, tunaweza kusanidi taswira ya kituo, kupanua…

•… au kuficha kituo. Tutaficha njia zote ambazo hatutatumia.

Hatua ya 10: Kusanidi Mazingira ya Majaribio Yetu

Kusanidi Mazingira ya Majaribio Yetu
Kusanidi Mazingira ya Majaribio Yetu

Kwenye mishale ya kitufe cha "Anza", kuna chaguzi za Kiwango cha Sampuli na muda wa kurekodi.

Kwa sababu fulani, ikiwa programu itagundua kuwa kiwango hakiwezi kudumishwa, ujumbe utaonyeshwa na kiatomati kiwango hicho kitapunguzwa hadi kufikia thamani ya utendaji.

Hatua ya 11: Kusanidi Mazingira ya Majaribio Yetu

Kusanidi Mazingira ya Majaribio Yetu
Kusanidi Mazingira ya Majaribio Yetu

Tutajumuisha pia wachambuzi wa itifaki. Kwanza ni I2C, kufuata ufafanuzi wa maktaba ya WIRE, na kuhusisha njia kwa usahihi. Mwishowe, tutatambulisha analyzer kwa serial asynchronous. Tunahitaji kuwa makini kusanidi kwa usahihi vigezo kulingana na kusanyiko.

Hatua ya 12: Kusanidi Mazingira ya Majaribio Yetu

Kusanidi Mazingira ya Majaribio Yetu
Kusanidi Mazingira ya Majaribio Yetu

Katika kichupo cha "Itifaki zilizosimbwa", tunapaswa kuangalia ni vichambuzi vipi vya itifaki vinavyowezeshwa. Huko, data itaonekana. Katika kichupo cha "Annotations", tunaweza kuongeza zingine za taswira bora. Bonyeza tu kwenye ikoni ya "ongeza kipimo".

Hatua ya 13: Kukamata: Muhtasari

Piga picha: Muhtasari
Piga picha: Muhtasari

Katika skrini ya kukamata, programu inaonyesha treni ya kunde ya data ya SDA, SCL, na TX0.

Hatua ya 14: Kukamata: Matokeo ya Uchambuzi wa Itifaki

Kukamata: Matokeo ya Uchambuzi wa Itifaki
Kukamata: Matokeo ya Uchambuzi wa Itifaki

Hapa, tunaona matokeo ya kukamata. Katika kichupo cha "Itifaki zilizotengwa", tuna:

Ombi la seva ya mtumwa na id 8.

• Jibu la mtumwa, herufi sita: "t", "e", "s", "t", "e" na nafasi.

• Kila moja inafuatwa na kitita cha ACK (Kubali) kinachoonyesha mapokezi sahihi ya baiti, isipokuwa herufi ya NACK (Sio Kukubali) ya nafasi.

• Ifuatayo, tunaona matokeo ya usimbuaji wa safu ya TX0, ikionyesha wahusika walipokea na kutumwa kwa kituo cha serial cha Arduino IDE.

Hatua ya 15: Kukamata: Idhaa 0 na Takwimu (SDA)

Piga picha: Channel 0 na Takwimu (SDA)
Piga picha: Channel 0 na Takwimu (SDA)

Katika picha hii, tuna treni ya kunde ya laini ya SDA. Kumbuka kuwa kila byte inayoambukizwa inaweza kutazamwa.

Hatua ya 16: Kukamata: Channel 1 na Saa (SCL)

Piga: Channel 1 na Saa (SCL)
Piga: Channel 1 na Saa (SCL)

Sasa, hapa tunayo treni ya kunde ya laini ya SCL. Unaweza kuangalia maelezo zaidi kwa kuweka panya juu ya ishara, kama unavyoona kwenye picha. Tunaweza kuona kwamba mzunguko wa saa ulikuwa kwa 100 kHz.

Hatua ya 17: Kukamata: Channel 2 na Serial (TX0)

Piga: Channel 2 na Serial (TX0)
Piga: Channel 2 na Serial (TX0)

Kwa treni ya kunde ya laini ya TX0, tunaweza kuona Anza kidogo na alama za kutunga za kila kidogo. Tunayo baiti inayowakilisha mhusika "e."

Hatua ya 18: Kusanidi Mazingira ya Majaribio Yetu

Kusanidi Mazingira ya Majaribio Yetu
Kusanidi Mazingira ya Majaribio Yetu

Hapa tuna chaguzi kadhaa za kusoma data.

Hatua ya 19: Kukamata: Oscilloscope na Analyzer

Kukamata: Oscilloscope na Analyzer
Kukamata: Oscilloscope na Analyzer

Angalia hapa kwenye skrini niliyoinasa kutoka kwa oscilloscope yangu. Ishara ya uchambuzi wa mantiki inawakilisha tu upelelezi wa hali ya juu na chini, lakini haionyeshi ubora wa ishara. Hii inaweza kuzingatiwa vizuri kwenye oscilloscope.

Hatua ya 20: Kukamata: Kuchunguza Kushindwa (mfano wa Kushindwa kwa Serial)

Piga picha: Kuchunguza Kushindwa (mfano wa Kushindwa kwa serial)
Piga picha: Kuchunguza Kushindwa (mfano wa Kushindwa kwa serial)

Sasa, nitaonyesha mfano wa kutofaulu kwa serial, ambayo kwa kweli ilinitokea. Nilikuwa na modem ya GPRS, aina inayotumiwa kwenye simu ya rununu, SIM kadi, nikijaribu kuungana na ESP32. Lakini haikuunganisha tu. Kisha nikaangalia usambazaji wa umeme, wiring, na kubadilisha bodi. Nilifanya kila kitu, lakini hakuna kitu kilichotengeneza. Niliamua kuweka uchambuzi wa kimantiki: Niligundua kuwa ishara ya ESP kwenye UART 115200 ilianza kutofanana. Hiyo ni, ESP32 ilikuwa ikicheza kile kinachopaswa kuwa 115, 200 kwa kasi tofauti na hii.

Kosa hili, ambalo liligunduliwa na mtangulizi, lilionyeshwa na X iliyo nyekundu. Kwa uelewa wangu, programu inasema kwamba hatua ambayo ina kidogo ni nusu ya makazi yao kwa wakati. Kadiri mabadiliko haya yanavyoongezeka, kunaweza kuja wakati ambapo kila kitu hakijalinganishwa, ili habari isifike upande mwingine. Kawaida inafika, lakini SIM800 ni nyeti na ikiwa sio sahihi, habari haifiki mwisho mwingine.

Sijui ikiwa hii ni kitu kinachotokea mara nyingi au la, lakini ilinitokea, na kwa hivyo niliamua kushughulikia mada hii hapa. Kwa hivyo nilifanya nini? Nikapunguza mwendo. Ikiwa utaweka 9, 600, 19, 200, hadi 38, 400, inafanya kazi, ambayo haifanyiki na 115, 200.

Hatua ya 21: Pakua faili

PDF

INO

Ilipendekeza: