การวิเคราะห์สัญญาณลอจิกด้วย logic analyzer
ในบทความนี้จะมาพูดถึงการวิเคราะห์สัญญาณลอจิกด้วย logic analyzer
ก่อนอื่นเราไปทำความรู้จักกับ logic analyzer กันก่อนดีกว่า.
logic analyzer คือเครื่องมือที่ใช้วัดสัญญาณดิจิตอลที่เกิดขึ้นในระบบ microprocessor เช่นเดียวกับ oscilloscope แตกต่างกันตรงที่ oscilloscope สามารถวัดสัญญาณที่เป็น analog ได้ด้วย แต่ความสามารถของ logic analyzer ทำอะไรได้มากกว่ากว่าที่คิดเพราะสามารถเห็นข้อมูลที่ส่งไปมาได้ดังภาพข้างบนเป็นการสื่อสารข้อมูลของ rs232 จะเห็นได้ว่ามีการส่งข้อมูลแบบเลขฐานสิบหกซึ่งตรงนี้ก็ขึ้นกับ Device ของเราด้วยแต่ส่วนมากจะเป็นเลขฐานสิบหก
โม้มาเยอะละลงมือการทำเลยดีกว่า…….
โดย logic analyzer ที่ใช้ในบทความนี้คือ Kingst Logic Analyzer LA1010
logic analyzer ตัวนี้สามารถวัดสัญญาณได้ 16 ช่อง ส่วนโปรแกรมที่ใช้วิเคราะห์มีชื่อว่า KingstVIS Virtual Instruments Studio โปรแกรมนี้รองรับทั้ง 3 OS เลยสามารถดาวน์โหลดได้ที่ http://www.qdkingst.com/en
การติดตั้งโปรแกรมก็ Next อย่างเดียวเลย
ในตัวอย่างนี้ผมจะวัดสัญญาณข้อมูลที่ส่งระหว่าง esp32 กับ sensor ที่สื่อสารโดยใช้ protocol rs232 ก่อนอื่นก็เอา CH1 ต่อกับ rx และ CH2 ต่อ tx (ต่อ rx, tx ตรงขาของ sensor ไม่ใช่ต่อตรงขาของ esp32) จากนั้นให้เปิดโปรแกรมที่ติดตั้งเมื่อกี๊แล้วกดปุ่มที่เหมือนปุ่ม play แล้วดูสัญญาณที่ส่งไปมาระหว่าง esp32 กับ sensor
จากรูปจะเห็นว่ามีข้อมูลที่ esp32 ส่งไปหา sensor ใน Channel 1 และข้อมูลที่ sensor ส่งกลับมาให้ esp32 ใน Channel 2 เมื่อขยายรูปสัญญาณจะเห็นว่ามีการส่งข้อมูลที่เป็นเลขฐานสิบหกหากัน ในส่วนนี้การแปลงเลขฐานสิบหกออกมาเป็นข้อมูลก็ขึ้นอยู่กับ datasheet ของ sensor อีกทีถ้า sensor ไม่มี datasheet ก็ต้องทำ reverse engineer ต่อไป.
สุดท้ายหวังว่าบทความนี้จะทำให้รู้จักเครื่องมือที่ใช้วิเคราะห์สัญญาณลอจิกไม่มากก็น้อยครับ.
logic analyzer มันมีอะไรมากกว่าที่คิดเพราะผมเคยทำ reverse engineer ด้วยเครื่องมือนี้มาแล้ว.