Სარჩევი:
- ნაბიჯი 1: შეკრება
- ნაბიჯი 2: გამოყენებული მახასიათებლები - სერვერი
- ნაბიჯი 3: წრე გამოიყენება
- ნაბიჯი 4: კოდის კოდი: ოსტატი
- ნაბიჯი 5: წყაროს კოდი: მონა
- ნაბიჯი 6: ანალიზატორი: აპარატურა
- ნაბიჯი 7: Saleae პროგრამული უზრუნველყოფის ინსტალაცია
- ნაბიჯი 8: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
- ნაბიჯი 9: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
- ნაბიჯი 10: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
- ნაბიჯი 11: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
- ნაბიჯი 12: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
- ნაბიჯი 13: გადაღება: მიმოხილვა
- ნაბიჯი 14: გადაღება: პროტოკოლის ანალიზის შედეგი
- ნაბიჯი 15: გადაღება: არხი 0 და მონაცემები (SDA)
- ნაბიჯი 16: გადაღება: არხი 1 და საათი (SCL)
- ნაბიჯი 17: გადაღება: არხი 2 და სერიული (TX0)
- ნაბიჯი 18: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
- ნაბიჯი 19: გადაღება: ოსცილოსკოპი და ანალიზატორი
- ნაბიჯი 20: გადაღება: წარუმატებლობის დაკვირვება (სერიული წარუმატებლობის მაგალითი)
- ნაბიჯი 21: ჩამოტვირთეთ ფაილები
ვიდეო: Გაახილე თვალები! ლოგიკური ანალიზატორი: 21 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ლოგიკური ანალიზატორი აადვილებს პულსის მატარებლის ვიზუალიზაციას, რომელიც არის ბიტი, რომელიც მოძრაობს საკომუნიკაციო ხაზში. ამრიგად, ის გახსნის თვალებს შესაძლო პრობლემის იდენტიფიცირებისთვის. რატომ არის ეს მნიშვნელოვანი? ეს არის ძალიან ეფექტური განვითარება და ხარვეზის გამოვლენის საშუალება, რომელსაც შეუძლია დაზოგოს თქვენი დრო. დღეს ამ ვიდეოში ჩვენ შევაფასებთ ლოგიკური ანალიზატორის მნიშვნელობას, დავაკვირდებით ამ მოწყობილობის გამოყენებისას ჩვეულებრივი პრაქტიკის ზოგიერთ პროტოკოლს და გამოვყოფთ აღმოჩენის წარუმატებლობას ლოგიკური ანალიზატორის დახმარების გარეშე.
ამ ვიდეოში გამოვიყენე შედარებით იაფი (დაახლოებით $ 35) და ეფექტური მოდელი, გრაფიკული ინტერფეისით და უფასო პროგრამული უზრუნველყოფით.
ნაბიჯი 1: შეკრება
ნაბიჯი 2: გამოყენებული მახასიათებლები - სერვერი
• მხტუნავები კავშირებისათვის
• 2 არდუინო (ჩვენ გამოვიყენეთ 2 მეგა არდუინოს 2560)
• ლოგიკური ანალიზატორი (ჩვენ ვიყენებთ Saleae- ს)
• USB კავშირის კაბელები Arduino და ანალიზატორი.
• ოსცილოსკოპი (სურვილისამებრ)
• პროტობორდი
ნაბიჯი 3: წრე გამოიყენება
აქ ჩვენ გვაქვს სქემა, რომელიც აჩვენებს სამი ქინძისთავის მონიტორინგს: TX0, SDA და SCL. ჩვენ გვყავს ორი არდუინო: ბატონი და მონა.
ნაბიჯი 4: კოდის კოდი: ოსტატი
Setup– ში ჩვენ ჩავრთავთ ბიბლიოთეკას i2c კომუნიკაციისთვის. ჩვენ შევედით ქსელში როგორც Master და დავიწყეთ სერიული 0. მარყუჟში, ჩვენ მოვითხოვეთ მონა მონაცემების ბაიტი ჩვენს Arduino ნომერ 8 -თან კომუნიკაციისთვის, როგორც ეს განვიხილეთ მაგალითში. ჩვენ ვბეჭდავთ სერიალში, რომელიც შეფასდება ლოგიკური ანალიზატორით, მიღებული ბაიტებით.
#მოიცავს // მოიცავს ბიბლიოთეკას კომუნიკაციისთვის I2C void setup () {Wire.begin (); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicia სერიული 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. რა რა char c = Wire.read (); // Recebe cada byte e armazena como caracter Serial.print (c); // envia o caracter pela სერიული (na verdade vai para o buffer)} დაგვიანებით (500); // აგუარდა მეიო სეგუნდო}
ნაბიჯი 5: წყაროს კოდი: მონა
ამ მონა კოდში მე კვლავ შევიტან ბიბლიოთეკას i2c კომუნიკაციისთვის. მე შევდივარ ქსელში, როგორც მონა მისამართი 8. ჩვენ ვარეგისტრირებთ მოთხოვნის მოვლენას და ვაკავშირებთ მას "მოთხოვნის" ფუნქციასთან. თქვენ არ გჭირდებათ არაფრის გაკეთება მარყუჟზე, უბრალოდ დააყოვნეთ 0,1 წამი დაგვიანებით.
დაბოლოს, ჩვენ გვაქვს მოთხოვნის ფუნქცია, რომელიც შესრულდება მასტერის მიერ მოთხოვნის მოვლენის დადგომისას, რომელიც დარეგისტრირებულია Setup– ში. ჩვენ ვპასუხობთ, საბოლოოდ, შეტყობინებით 6 ბაიტი.
#მოიცავს // მოიცავს ბიბლიოთეკას კომუნიკაციისთვის I2C void setup () {Wire.begin (8); // entra na rede como escravo com endereço 8 Wire.onRequest (requestEvent); // რეგისტრაცია მოვლენის მოთხოვნით // ელ ასოციაცია à função requestEvent} ბათილი მარყუჟი () {დაგვიანებით (100); // არ არის დაგეგმილი მარყუჟის გარეშე, აცხადებს, რომ ეს არის 0, 1 ჯერ} // ფუნქცია, რომელიც შეიძლება განხორციელდეს როგორც ოკორერი, ასევე საჭიროებისამებრ.; // რეაგირება com uma mensagem de 6 ბაიტი}
ნაბიჯი 6: ანალიზატორი: აპარატურა
ნიმუშის სიხშირე: 24 MHz
ლოგიკა: 5 V to 5.25 V
დაბალი დონის ბარიერი 0.8 ვ
მაღალი დონის ბარიერი 2.0 V
შეყვანის წინაღობა დაახლოებით 1 მოჰმ ან მეტი
ნაბიჯი 7: Saleae პროგრამული უზრუნველყოფის ინსტალაცია
პროგრამა, რომელიც იღებს ლოგიკური ანალიზატორის მიერ დაფიქსირებულ მონაცემებს და ამუშავებს ბიტებს, შეგიძლიათ გადმოწეროთ შემდეგ ბმულზე:
ნაბიჯი 8: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
მე აქ ვაჩვენებ ინტერფეისს, რომელიც განსაკუთრებით მომეწონა, რადგან ის სუფთა იყო.
ნაბიჯი 9: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
აქ არის კონფიგურაციის რამდენიმე ვარიანტი:
• არხის სახელზე დაჭერით, ჩვენ შეგვიძლია მისი შეცვლა.
• ჩვენ შეგვიძლია განვსაზღვროთ იქნება თუ არა რომელიმე არხი აღმძვრელი ფაქტორი აღსაკვეთად და გამოვლენის ფორმა.
• არხის ნომრის დაჭერით და დაჭერით შეგიძლიათ შეცვალოთ თქვენი პოზიცია სიაში.
• გადაცემათა კოლოფზე დაწკაპუნებით, ჩვენ შეგვიძლია არხის ვიზუალიზაციის კონფიგურაცია, გაფართოება…
•… ან არხის დამალვა. ჩვენ დავმალავთ ყველა არხს, რომელსაც არ გამოვიყენებთ.
ნაბიჯი 10: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
ღილაკზე "დაწყება" ღილაკზე დაჭერით არის შერჩევის მაჩვენებელი და ჩაწერის ხანგრძლივობა.
რატომღაც, თუ პროგრამული უზრუნველყოფა აღმოაჩენს, რომ განაკვეთის შენარჩუნება შეუძლებელია, გამოჩნდება შეტყობინება და ავტომატურად განაკვეთი შემცირდება ფუნქციური მნიშვნელობის მიღწევამდე.
ნაბიჯი 11: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
ჩვენ ასევე შევიტანთ პროტოკოლის ანალიზატორებს. ჯერ ეს არის I2C, WIRE ბიბლიოთეკის განმარტებების შემდეგ და არხების სწორად ასოცირება. დაბოლოს, ჩვენ ანალიზატორს გავაცნობთ ასინქრონული სერიალს. ჩვენ ფრთხილად უნდა ვიყოთ პარამეტრების სწორად კონფიგურაციისთვის ასამბლეის მიხედვით.
ნაბიჯი 12: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
"დეკოდირებული პროტოკოლების" ჩანართში ჩვენ უნდა შევამოწმოთ რომელი პროტოკოლის ანალიზატორი არის ჩართული. იქ, მონაცემები გამოჩნდება. "ანოტაციების" ჩანართში ჩვენ შეგვიძლია დავამატოთ რამდენიმე შედეგი უკეთესი ვიზუალიზაციისთვის. უბრალოდ დააჭირეთ ღილაკს "გაზომვის დამატება".
ნაბიჯი 13: გადაღება: მიმოხილვა
გადაღების ეკრანზე პროგრამა აჩვენებს SDA, SCL და TX0 მონაცემების პულსის მატარებელს.
ნაბიჯი 14: გადაღება: პროტოკოლის ანალიზის შედეგი
აქ ჩვენ ვხედავთ დაჭერის შედეგს. "დეკოდირებული პროტოკოლების" ჩანართში ჩვენ გვაქვს:
• სერვერის მოთხოვნა მონაზე id 8 -ით.
• მონის პასუხი, ექვსი სიმბოლო: "t", "e", "s", "t", "e" და სივრცე.
• თითოეულს მოყვება ACK ბიტი (აღიარება), რომელიც მიუთითებს ბაიტის სწორ მიღებაზე, გარდა NACK (არ აღიარებს) სივრცის სიმბოლოს.
• შემდეგი, ჩვენ ვხედავთ TX0 სერიის დეკოდირების შედეგს, რომელიც მიუთითებს Arduino IDE სერიულ ტერმინალში მიღებულ და გაგზავნილ სიმბოლოებს.
ნაბიჯი 15: გადაღება: არხი 0 და მონაცემები (SDA)
ამ სურათზე ჩვენ გვაქვს SDA ხაზის პულსის მატარებელი. გაითვალისწინეთ, რომ თითოეული გადაცემული ბაიტი შეიძლება ნახოთ.
ნაბიჯი 16: გადაღება: არხი 1 და საათი (SCL)
ახლა ჩვენ გვაქვს SCL ხაზის პულსის მატარებელი. თქვენ შეგიძლიათ შეამოწმოთ მეტი დეტალი უბრალოდ მაუსის სიგნალზე პოზიციონირებით, როგორც ხედავთ სურათზე. ჩვენ ვხედავთ, რომ საათის სიხშირე იყო 100 kHz.
ნაბიჯი 17: გადაღება: არხი 2 და სერიული (TX0)
რაც შეეხება TX0 ხაზის პულსის მატარებელს, ჩვენ შეგვიძლია დავინახოთ საწყისი ბიტი და თითოეული ბიტის ჩარჩოების წერტილები. ჩვენ გვაქვს ბაიტი, რომელიც წარმოადგენს სიმბოლოს "e".
ნაბიჯი 18: გარემოს კონფიგურაცია ჩვენი ტესტებისთვის
აქ ჩვენ გვაქვს მონაცემების წაკითხვის რამდენიმე ვარიანტი.
ნაბიჯი 19: გადაღება: ოსცილოსკოპი და ანალიზატორი
შეხედეთ აქ ეკრანს, რომელიც გადავიღე ჩემი ოსცილოსკოპიდან. ლოგიკური ანალიზატორის სიგნალი წარმოადგენს მხოლოდ მაღალ და დაბალ გამოვლენას, მაგრამ ის არ წარმოადგენს სიგნალის ხარისხს. ეს საუკეთესოდ შეიძლება შეინიშნოს ოსცილოსკოპზე.
ნაბიჯი 20: გადაღება: წარუმატებლობის დაკვირვება (სერიული წარუმატებლობის მაგალითი)
ახლა, მე ვაჩვენებ სერიული წარუმატებლობის მაგალითს, რაც რეალურად მომივიდა. მე ვიყავი GPRS მოდემით, რომელიც გამოიყენება მობილურ ტელეფონში, SIM ბარათზე და ვცდილობდი დაკავშირება ESP32– თან. მაგრამ ის უბრალოდ არ დაუკავშირდა. შემდეგ შევამოწმე კვების ბლოკი, გაყვანილობა და შევცვალე დაფა. მე ყველაფერი გავაკეთე, მაგრამ არაფერი გამოასწორა. მე გადავწყვიტე ლოგიკური ანალიზი ჩამეტარებინა: აღმოვაჩინე, რომ UART 115200– ზე ESP სიგნალმა შეუსაბამობა დაიწყო. ანუ, ESP32 თამაშობდა იმას, რაც უნდა იყოს 115, 200 განსხვავებული სიჩქარით, ვიდრე ეს.
ეს შეცდომა, რომელიც გამოვლენილი იყო ანალიზატორის მიერ, გამოსახული იყო X წითელი ფერით. ჩემი გაგებით, პროგრამა ამბობს, რომ წერტილი, რომელსაც აქვს ასეთი ცოტა, ნახევრად გადაადგილებულია დროში. როდესაც ეს ცვლა იზრდება, შეიძლება დადგეს დრო, როდესაც ყველაფერი შეუსაბამოა, ისე რომ ინფორმაცია არ მიაღწევს მეორე მხარეს. ის ჩვეულებრივ ჩამოდის, მაგრამ SIM800 მგრძნობიარეა და თუ ის ზუსტი არ არის, ინფორმაცია არ აღწევს მეორე ბოლომდე.
არ ვიცი ეს ხშირად ხდება თუ არა, მაგრამ ეს მოხდა ჩემთან და ამიტომ გადავწყვიტე ამ საკითხის აქ განხილვა. მაშ რა გავაკეთე? მე შენელებული ვარ. თუ თქვენ დააყენებთ 9, 600, 19, 200, 38 -მდე 400 -მდე, ის მუშაობს, რაც არ ხდება 115, 200 -ით.
ნაბიჯი 21: ჩამოტვირთეთ ფაილები
ინო
გირჩევთ:
ჰელოუინის გოგრა მოძრავი ანიმატიური თვალით - ამ გოგრას შეუძლია თვალები აახახუნოს !: 10 ნაბიჯი (სურათებით)
ჰელოუინის გოგრა მოძრავი ანიმატიური თვალით | ამ გოგრას შეუძლია თვალები დაახუჭოს!: ამ ინსტრუქციაში თქვენ ისწავლით როგორ გააკეთოთ ჰელოუინის გოგრა, რომელიც ყველას აშინებს, როდესაც მისი თვალი მოძრაობს. დაარეგულირეთ ულტრაბგერითი სენსორის გამშვები მანძილი სწორ მნიშვნელობაზე (ნაბიჯი 9) და თქვენი გოგრა გაქვავდება ყველას, ვინც გაბედავს სანთლის აღებას
TFT ანიმაციური თვალები: 3 ნაბიჯი
TFT ანიმაციური თვალები: ეს პროექტი იყენებს დაბალი ღირებულების ნაწილებს, რათა შექმნას წყვილი ანიმაციური თვალი TFT ეკრანებზე. პროექტი ეფუძნება ადაფრუტის " უცნაურ თვალებს " პროექტი. ორი ST7735 128x128 პიქსელიანი ეკრანი და ESP32 დაფა, როგორც წესი, ინტერნეტით იყიდება დაახლოებით
Spooky Fading LED თვალები: 5 ნაბიჯი (სურათებით)
საშინელი ჩამქრალი LED თვალები: მიკროკონტროლის გამოყენება, როგორც არდუინო, LED- ის გასაქრობად ყოველთვის არ არის საუკეთესო ვარიანტი. ხანდახან, თქვენ გსურთ მარტივი, დაბალი ენერგიის წრე, რომელიც შეიძლება ჩაიდოს პირდაპირ საყრდენში, ბატარეიდან რამდენიმე კვირის განმავლობაში გაშვებისას. ტესტირების შემდეგ
შექმენით ციფრული ლოგიკური ანალიზატორი 1 დოლარზე ნაკლებ ნაბიჯზე
შექმენით ციფრული ლოგიკური ანალიზატორი 1 დოლარზე ნაკლებ ფასად: ლოგიკური დონის სენსორი არის მოწყობილობა, რომელიც გრძნობს კომპონენტის გამომავალს 1 ან 0 (დადებითი ან უარყოფითი). იცით ის კარგი დონის სენსორები LCD ეკრანებით, რომლებიც 25 დოლარი ღირს? ეს არის სასაცილოდ იაფი და იგივეს აკეთებს (ეს მე
ლოგიკური ანალიზატორი Android მომხმარებლის ინტერფეისით: 7 ნაბიჯი
ლოგიკური ანალიზატორი Android მომხმარებლის ინტერფეისით: სამყარო უკვე დატბორილია ამდენი ლოგიკური ანალიზატორებით. ჩემი ელექტრონიკის ჰობი, მე მჭირდებოდა ერთი პრობლემების მოსაგვარებლად და გამართვისთვის. ინტერნეტში ვეძებე მაგრამ ვერ ვიპოვე ის რასაც ვეძებ. აი, მე წარმოგიდგენთ … " კიდევ სხვა Lo