Mục lục:
- Bước 1: Lắp ráp
- Bước 2: Các tính năng được sử dụng - Máy chủ
- Bước 3: Mạch được sử dụng
- Bước 4: Mã nguồn: Master
- Bước 5: Mã nguồn: Slave
- Bước 6: Trình phân tích: Phần cứng
- Bước 7: Cài đặt phần mềm Saleae
- Bước 8: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
- Bước 9: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
- Bước 10: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
- Bước 11: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
- Bước 12: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
- Bước 13: Chụp: Tổng quan
- Bước 14: Chụp: Kết quả phân tích giao thức
- Bước 15: Chụp: Kênh 0 và Dữ liệu (SDA)
- Bước 16: Chụp: Kênh 1 và Đồng hồ (SCL)
- Bước 17: Chụp: Kênh 2 và Nối tiếp (TX0)
- Bước 18: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
- Bước 19: Chụp: Máy hiện sóng và máy phân tích
- Bước 20: Chụp: Quan sát lỗi (ví dụ về Lỗi nối tiếp)
- Bước 21: Tải xuống tệp
Video: Mở mắt ra! Trình phân tích lôgic: 21 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Bộ phân tích logic tạo điều kiện thuận lợi cho bạn hình dung về tàu xung, là các bit di chuyển trong một đường truyền thông. Vì vậy, nó giúp bạn mở rộng tầm mắt để xác định một vấn đề có thể xảy ra. Tại sao nó quan trọng? Đây là một công cụ phát triển và phát hiện lỗi rất hiệu quả có thể giúp bạn tiết kiệm thời gian. Trong video này ngày hôm nay, chúng ta sẽ đánh giá tầm quan trọng của trình phân tích logic, quan sát một số quy trình thực hành phổ biến khi sử dụng thiết bị này và nêu ví dụ về lỗi phát hiện mà không có sự hỗ trợ của máy phân tích logic.
Trong video này, tôi đã sử dụng một mô hình tương đối rẻ tiền (khoảng $ 35) và hiệu quả, với giao diện đồ họa và phần mềm miễn phí.
Bước 1: Lắp ráp
Bước 2: Các tính năng được sử dụng - Máy chủ
• Jumper để kết nối
• 2 Arduinos (chúng tôi đã sử dụng 2 Mega Arduinos 2560)
• Trình phân tích lôgic (chúng tôi sử dụng Saleae)
• Cáp kết nối USB cho Arduino và máy phân tích.
• Máy hiện sóng (tùy chọn)
• Protoboard
Bước 3: Mạch được sử dụng
Ở đây chúng ta có giản đồ hiển thị việc giám sát ba chân: TX0, SDA và SCL. Chúng ta có hai Arduinos: một chủ và một nô lệ.
Bước 4: Mã nguồn: Master
Trong phần Thiết lập, chúng tôi sẽ bao gồm thư viện cho giao tiếp i2c. Chúng tôi đã nhập mạng là Master và khởi tạo nối tiếp 0. Trong Vòng lặp, chúng tôi yêu cầu các byte dữ liệu phụ để giao tiếp với Arduino số 8 của chúng tôi, như chúng tôi đã xác định trong ví dụ. Chúng tôi in trong chuỗi, sẽ được đánh giá bằng bộ phân tích logic, các byte nhận được.
#include // inclui a biblioteca para comunicação I2C void setup () {Wire.begin (); // Entra na red como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicia a serial 0} void loop () {Wire.requestFrom (8, 6); // recisita 6 bytes de dados do escravo de endereço 8 while (Wire.available ()) {// enquanto houver bytes para Collectber… char c = Wire.read (); // byte thube cada e armazena como caracter Serial.print (c); // envia o caracter pela serial (na verdade vai para o buffer)} delay (500); // aguarda meio segundo}
Bước 5: Mã nguồn: Slave
Trong mã nô lệ này, tôi một lần nữa bao gồm thư viện cho giao tiếp i2c. Tôi nhập mạng với tư cách nô lệ với địa chỉ 8. Chúng tôi đăng ký sự kiện yêu cầu và liên kết nó với chức năng "yêu cầu". Bạn không cần phải làm bất cứ điều gì trên vòng lặp, chỉ cần đưa ra độ trễ 0,1 giây.
Cuối cùng, chúng ta có hàm yêu cầu sẽ được thực thi khi sự kiện yêu cầu của Master xảy ra, đã được đăng ký trong Thiết lập. Cuối cùng, chúng tôi trả lời với một tin nhắn 6 byte.
#include // inclui a biblioteca para comunicação I2C void setup () {Wire.begin (8); // entra na red como escravo com endereço 8 Wire.onRequest (requestEvent); // công ty đăng ký o evento de suggestiçao // e Associa à função requestEvent} void loop () {delay (100); // não faz nada không có vòng lặp, apenas aguarda 0, 1 segundo} // função que será executeutada quando ocorrer o evento de suggestição pelo mestre // foi registerrada como evento no setup void requestEvent () {Wire.write ("teste"); // responsee com uma mensagem de 6 byte}
Bước 6: Trình phân tích: Phần cứng
Tốc độ lấy mẫu lên đến: 24 MHz
Logic: 5 V đến 5,25 V
Ngưỡng mức thấp 0,8 V
Ngưỡng mức cao 2.0 V
Trở kháng đầu vào khoảng 1 Mohm trở lên
Bước 7: Cài đặt phần mềm Saleae
Chương trình nhận dữ liệu do bộ phân tích logic thu nhận và giải mã các bit có thể được tải xuống tại liên kết sau:
Bước 8: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
Tôi hiển thị giao diện ở đây, mà tôi đặc biệt thích vì nó sạch sẽ.
Bước 9: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
Dưới đây là một số tùy chọn cấu hình:
• Bằng cách nhấp vào tên kênh, chúng ta có thể thay đổi nó.
• Chúng tôi có thể xác định xem một trong các kênh sẽ đóng vai trò như một yếu tố kích hoạt để bắt và hình thức phát hiện.
• Bằng cách nhấp và giữ số kênh, bạn có thể thay đổi vị trí của mình trong danh sách.
• Bằng cách nhấp vào bánh răng, chúng tôi có thể định cấu hình hình ảnh hóa kênh, mở rộng…
•… hoặc ẩn kênh. Chúng tôi sẽ ẩn tất cả các kênh mà chúng tôi sẽ không sử dụng.
Bước 10: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
Nhấp vào mũi tên của nút "Bắt đầu", có các tùy chọn Tốc độ lấy mẫu và thời lượng ghi.
Vì lý do nào đó, nếu phần mềm phát hiện ra rằng tốc độ không thể được duy trì, một thông báo sẽ được hiển thị và tự động tốc độ sẽ được giảm cho đến khi đạt đến một giá trị chức năng.
Bước 11: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
Chúng tôi cũng sẽ bao gồm các bộ phân tích giao thức. Đầu tiên, đó là I2C, tuân theo các định nghĩa của thư viện WIRE và liên kết các kênh một cách chính xác. Cuối cùng, chúng tôi sẽ giới thiệu trình phân tích với nối tiếp không đồng bộ. Chúng ta cần phải cẩn thận để cấu hình chính xác các thông số theo hợp ngữ.
Bước 12: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
Trong tab "Giao thức được giải mã", chúng ta nên kiểm tra xem trình phân tích giao thức nào được kích hoạt. Tại đó, dữ liệu sẽ xuất hiện. Trong tab "Chú thích", chúng tôi có thể thêm một số kết quả để hình dung tốt hơn. Chỉ cần nhấp vào biểu tượng "thêm phép đo".
Bước 13: Chụp: Tổng quan
Trong màn hình chụp, chương trình hiển thị đường truyền xung dữ liệu của SDA, SCL và TX0.
Bước 14: Chụp: Kết quả phân tích giao thức
Ở đây, chúng ta thấy kết quả của việc bắt. Trong tab "Giao thức được giải mã", chúng tôi có:
• Yêu cầu máy chủ cho máy chủ có id 8.
• Phản hồi của nô lệ, sáu ký tự: "t", "e", "s", "t", "e" và một khoảng trắng.
• Mỗi bit được theo sau bởi một bit ACK (Acknowledge) cho biết nhận đúng byte, ngoại trừ ký tự khoảng trắng NACK (Not Acknowledge).
• Tiếp theo, chúng ta thấy kết quả giải mã của nối tiếp TX0, cho biết các ký tự được nhận và gửi đến đầu cuối nối tiếp Arduino IDE.
Bước 15: Chụp: Kênh 0 và Dữ liệu (SDA)
Trong hình này, chúng ta có tập xung của đường SDA. Lưu ý rằng mỗi byte được truyền đều có thể được xem.
Bước 16: Chụp: Kênh 1 và Đồng hồ (SCL)
Bây giờ, chúng ta có ở đây tập xung của đường SCL. Bạn có thể kiểm tra thêm chi tiết đơn giản bằng cách di chuột qua tín hiệu, như bạn thấy trong hình ảnh. Chúng ta có thể thấy rằng tần số đồng hồ là 100 kHz.
Bước 17: Chụp: Kênh 2 và Nối tiếp (TX0)
Đối với tập xung của dòng TX0, chúng ta có thể thấy bit Start và các điểm đóng khung của mỗi bit. Chúng tôi có một byte đại diện cho ký tự "e."
Bước 18: Định cấu hình môi trường cho các thử nghiệm của chúng tôi
Ở đây chúng tôi có một số tùy chọn để đọc dữ liệu.
Bước 19: Chụp: Máy hiện sóng và máy phân tích
Nhìn vào màn hình tôi chụp được từ máy hiện sóng. Tín hiệu của bộ phân tích logic chỉ đại diện cho mức phát hiện cao và thấp, nhưng nó không đại diện cho chất lượng tín hiệu. Điều này tốt nhất có thể được quan sát trên một máy hiện sóng.
Bước 20: Chụp: Quan sát lỗi (ví dụ về Lỗi nối tiếp)
Bây giờ, tôi sẽ đưa ra một ví dụ về sự cố nối tiếp, điều này thực sự đã xảy ra với tôi. Tôi đang sử dụng modem GPRS, loại được sử dụng trên điện thoại di động, thẻ SIM, cố gắng kết nối với ESP32. Nhưng nó không kết nối. Sau đó tôi đã kiểm tra nguồn điện, hệ thống dây điện và thay đổi bo mạch. Tôi đã làm tất cả mọi thứ, nhưng không có gì sửa chữa nó. Tôi quyết định đưa vào một phân tích hợp lý: Tôi phát hiện ra rằng tín hiệu ESP trên UART 115200 bắt đầu không khớp. Đó là, ESP32 đang phát những gì phải là 115, 200 ở một tốc độ khác với tốc độ này.
Lỗi này, được xác định bởi trình phân tích cú pháp, được hiển thị bằng dấu X màu đỏ. Theo sự hiểu biết của tôi, chương trình nói rằng điểm có một chút như vậy được dịch chuyển một nửa trong thời gian. Khi sự thay đổi này tăng lên, có thể đến lúc mọi thứ không khớp, do đó thông tin không đến được phía bên kia. Nó thường đến, nhưng SIM800 nhạy cảm và nếu nó không chính xác, thông tin sẽ không đến được đầu bên kia.
Tôi không biết đây có phải là điều gì đó xảy ra thường xuyên hay không, nhưng nó đã xảy ra với tôi, và vì vậy tôi quyết định đề cập chủ đề này ở đây. Vậy tôi đã làm gì? Tôi đi chậm lại. Nếu bạn đặt 9, 600, 19, 200, lên đến 38, 400, nó hoạt động, điều này không xảy ra với 115, 200.
Bước 21: Tải xuống tệp
NS
Đề xuất:
Tạo máy phân tích logic kỹ thuật số với chi phí ít hơn $ 1: 5 bước
Tạo Máy phân tích logic kỹ thuật số với giá dưới 1 đô la: Cảm biến mức logic là một thiết bị cảm nhận nếu đầu ra của một thành phần là 1 hoặc 0 (tích cực hoặc tiêu cực). Bạn biết những cảm biến đo mức tuyệt vời với màn hình LCD có giá khoảng 25 đô la? Cái này rẻ hơn một cách đáng kinh ngạc và làm được điều tương tự (Tôi
Trình phân tích logic với giao diện người dùng Android: 7 bước
Trình phân tích logic với giao diện người dùng Android: Thế giới đã tràn ngập rất nhiều máy phân tích logic. Trong sở thích điện tử của tôi, tôi cần một cái để khắc phục sự cố và gỡ lỗi. Tôi đã tìm kiếm trên internet nhưng tôi không thể tìm thấy một trong những tôi đang tìm kiếm. Vì vậy, tôi đây, giới thiệu … " YET Another Lo
Máy phân tích thể tích dải LED Neopixel: 4 bước
LED Neopixel Strip Volume Analyzer: Tôi có một dải Neopixel dự phòng nằm xung quanh và tôi nghĩ sẽ rất tuyệt khi tạo một máy phân tích phổ cho hệ thống âm thanh của mình. ở đó. Lưu ý: Cái này
Sử dụng chương trình RTA làm máy hiện sóng hoặc máy phân tích mạch: 4 bước
Sử dụng chương trình RTA làm máy hiện sóng hoặc máy phân tích mạch: Mục đích của thủ thuật này là cung cấp cho người xem và lựa chọn hợp lý để xem các tín hiệu điện của mạch và thiết bị của họ bằng cách sử dụng các chương trình phân tích thời gian thực (RTA). Lợi ích chính của cách tiếp cận này so với máy hiện sóng là các chương trình RTA
Trình phân tích WiFi di động: 10 bước (có hình ảnh)
Trình phân tích WiFi di động: Tài liệu hướng dẫn này cho thấy cách sử dụng hộp ngọt Tic Tac để tạo ra Trình phân tích WiFi di động. Bạn có thể tìm thêm thông tin cơ bản trong các hướng dẫn trước đây của tôi: .https: //www.instructables.com/id/IoT-Power-Consump