เครื่องวิเคราะห์ลอจิกพร้อมการเชื่อมต่อกับแท็บเล็ต ประเภทของแผงวงจรพิมพ์และตำแหน่งของส่วนประกอบ กระบวนการเก็บข้อมูลและซอฟต์แวร์

เครื่องวิเคราะห์ลอจิกคืออะไร? นี่เป็นอุปกรณ์... สำหรับการวิเคราะห์เชิงตรรกะ))) ภาพยนตร์ที่มีโรเบิร์ต เดอ นีโรเข้ามาในความคิดทันที

ทำไมฉันถึงซื้อมัน? แน่นอนยืม การวิเคราะห์เชิงตรรกะ- หรือมากกว่าโดยการวิเคราะห์ระดับลอจิคัลของไมโครคอนโทรลเลอร์และอุปกรณ์ต่อพ่วงต่างๆ สิ่งที่เรียกกันทั่วไปว่าวิศวกรรมย้อนกลับ

เมื่อเร็ว ๆ นี้ฉันได้จัดการกับเซ็นเซอร์อัลตราโซนิกสองตัว DYP-ME007Y, . และเมื่อฉันต้องการดูอีกครั้งว่าสัญญาณใดที่วิ่งจากเซ็นเซอร์ไปยังไมโครคอนโทรลเลอร์และด้านหลัง ฉันก็จำอุปกรณ์ที่ยอดเยี่ยมเช่นนี้ได้ จากนั้นเขาก็กลับมาที่ราคาต่ำกว่า 6 ดอลลาร์




ที่อินพุตของเครื่องวิเคราะห์จะมีตัวต้านทานจำกัดกระแส 100 โอห์ม ตัวต้านทานแบบพูลอัพ 100 KOhm และตัวเก็บประจุ 5 pF ทุกอย่างซื่อสัตย์ตามคำอธิบาย

สิ่งที่ดีที่สุดเกี่ยวกับเครื่องวิเคราะห์นี้คือขนาดที่พอดี
มีเวอร์ชันสำหรับ OSX, Linux และ Windows ในรูปแบบ 32 และ 64 บิต
Saleae Logic 1.2.3 ภายใต้ Windows 7 ใช้งานได้เพียงครึ่งเดียว ซอฟต์แวร์เริ่มทำงาน ฮาร์ดแวร์ได้รับการยอมรับ แม้ว่าจะเป็นเวอร์ชัน "เบต้า" ก็ตาม

สารพัดที่น่าสนใจในโปรแกรม Saleae Logic

ทริกเกอร์สำหรับการบันทึกลำดับตรรกะในแต่ละช่องสัญญาณ

  • สำหรับการเปลี่ยนแปลง ระดับตรรกะถึง "0"
  • ในการเปลี่ยนระดับลอจิกเป็น “1”

  • สำหรับแรงกระตุ้นเชิงบวกในช่วงเวลาที่กำหนด
  • ไปสู่พัลส์ลบในช่วงเวลาที่กำหนด
การคำนวณการอ่านค่าทางสถิติตามการวัดปัจจุบัน

โปรโตคอลการถอดรหัส: Async Serial, I2C, SPI, ซ่อน, 1-Wire, Atmel SWI, BISS C, สามารถ, DMX-512, HD44780, HDLC, HGMI CEC, I2S/ PCM, JTAC, LIN, MDIO, แมนเชสเตอร์, Midi, Modbus , แป้นพิมพ์/เมาส์ PS/2, SMBus, SWD, Simple Parallel, UNI/O, USB LS และ FS

การบันทึกโดยใช้โปรโตคอลที่ถอดรหัสได้

เรามาวิเคราะห์เชิงตรรกะกันดีกว่า

ขั้นแรก ฉันจะจัดการกับเซ็นเซอร์อัลตราโซนิกที่ฉันเขียนไว้ตอนเริ่มต้นการรีวิว

หากใช้งานได้ทุกประการตามเอกสารข้อมูล: พัลส์สั้น ๆ บน "ทริกเกอร์" จะกระตุ้นให้เกิดพัลส์อัลตราโซนิก และระยะทางจะวัดตามระยะเวลาของเสียงก้อง จากนั้นวินาทีและที่สาม (พร้อมไฟ LED กะพริบ) ประมาณหนึ่งครั้งทุกๆ 100 มิลลิวินาทีโดยไม่มีการเตะจากภายนอกใดๆ จะวัดระยะทางและส่งด้วยความเร็ว 9600 ในรูปแบบสี่ไบต์ (รวมถึง เช็คซัม- Saleae Logic ช่วยให้คุณสามารถเปิดใช้งานการถอดรหัสสัญญาณได้ บัสอนุกรมให้เป็นลำดับไบต์ เซ็นเซอร์ประเภทที่สองทำงานได้อย่างสมบูรณ์แบบเมื่อปิดการใช้งานเอาต์พุต "TRIG" แม้ว่าพวกมันอาจกำลังรอคำสั่งบางอย่างที่อินพุตนี้ แต่แม้แต่อุปกรณ์วิเศษก็จะไม่แสดงสิ่งนี้

ต่อไปคุณต้องการดูสัญญาณ PWM ของ Atmegi 168 หรือไม่? เปิดใช้งานทั้งหกช่องสัญญาณที่รองรับ PWM บน ระดับที่แตกต่างกันและต้องประหลาดใจที่พบว่าความถี่ของช่องสัญญาณ PWM สองช่องนั้นแตกต่างจากอีก 4 ช่อง มีตัวจับเวลาที่แตกต่างกันเกี่ยวข้องหรือไม่?



ต่อไปผมมาดูการทำงานของบัส I2C และอีกครั้งที่ซอฟต์แวร์จัดการกับการถอดรหัสได้ตามปกติ คุณสามารถดูแพ็กเก็ตการเขียนเพื่อลงทะเบียนระหว่างการดำเนินการ

ฉันเชื่อมต่อเทปด้วย - โดยปกติแล้วตัววิเคราะห์จะดูดซับ 800KHz และถอดรหัสโปรโตคอล DFX-512 ได้สำเร็จ

เครื่องรับ RF 315 MHz ที่เชื่อมต่อโดยตรงกับเครื่องวิเคราะห์รับสัญญาณจาก และออกรหัสแมนเชสเตอร์ หลังจากเลือกความเร็วแล้ว รหัสแมนเชสเตอร์จะถูกแปลงโดยโปรแกรมอัจฉริยะเป็นลำดับไบต์

ฉันสงสัยว่าความแม่นยำในการวัดช่วงเวลาเป็นอย่างไร ฉันไม่มีเครื่องกำเนิดพัลส์ที่แน่นอน แต่มีโทนเสียง Arduino (1,000) ที่ 1,000Hz


และโทนเสียง (20,000) ที่ 20KHz ให้ผลลัพธ์ที่ค่อนข้างแม่นยำ

สรุปสั้นๆ

เครื่องวิเคราะห์ลอจิกมีความจำเป็นมากและ สิ่งที่มีประโยชน์สำหรับผู้ที่มีส่วนร่วมในการขุดอุปกรณ์ต่อพ่วงจีนสำหรับไมโครคอนโทรลเลอร์ (ขอเรียกว่าอย่างดี - วิศวกรรมย้อนกลับ)
ข้อดีของเหล็กชิ้นนี้ฉันอยากจะทราบ:
  • ราคาน่าสนใจ
  • เข้าได้กับสวย. ซอฟต์แวร์ที่สะดวกซาเลลอจิก
  • การป้องกันอินพุตในรูปแบบของไดรเวอร์บัส LVC245A
  • ขนาดเล็ก
ฉันไม่พบข้อบกพร่องที่ชัดเจนในฮาร์ดแวร์ชิ้นนี้ ฉันหวังว่าฉันจะซื้อเครื่องวิเคราะห์ลอจิกเร็วกว่านี้ - ฉันจะประหยัดเวลาได้มากเพียงใดกับหลายโครงการ

ตอนนี้งานคือการวิเคราะห์ระดับตรรกะที่ 12V ฉันอยากทำความเข้าใจเซ็นเซอร์ ABS ของรถมานานแล้ว ฉันคิดว่าตัวแบ่งตัวต้านทานและซีเนอร์ไดโอด 5 โวลต์ที่แต่ละอินพุตจะเหมาะสม

  • อิเล็กทรอนิกส์สำหรับผู้เริ่มต้น
  • เครื่องวิเคราะห์ลอจิก

    บ่อยครั้งเมื่อพัฒนาหรือแก้ไขจุดบกพร่อง อุปกรณ์วิทยุอิเล็กทรอนิกส์ประกอบด้วยส่วนประกอบหลายอย่าง (ไมโครคอนโทรลเลอร์, ADC, หน่วยความจำ I2C ฯลฯ) ฉันอยากจะดูการสื่อสารของส่วนประกอบเหล่านี้ระหว่างกัน ในที่สุดเพื่อทำความเข้าใจว่าทำไมทุกอย่างจึงเขียนว่า "ถูกต้อง" แต่ไม่มีอะไรทำงาน โดยทั่วไปคุณสามารถใช้สิ่งนี้ได้ ออสซิลโลสโคปแบบดิจิตอลแต่ออสซิลโลสโคปแบบ 4 ช่องมีราคาค่อนข้างแพงและไม่สะดวกนัก เป็นการดีกว่ามากที่จะแก้ไขปัญหานี้โดยใช้ เครื่องวิเคราะห์ลอจิก- เครื่องวิเคราะห์ลอจิกโดยพื้นฐานแล้วจะคล้ายกับออสซิลโลสโคป แต่ถ้าเป็นงานหลักของออสซิลโลสโคป แสดงเปลี่ยน สัญญาณอะนาล็อกสิ่งที่ทำได้ดีอย่างน่าทึ่งคือจุดประสงค์ของตัววิเคราะห์ลอจิก บันทึกสัญญาณดิจิทัล (แต่ไม่ใช่เฉพาะดิจิทัลเสมอไป) พร้อมการวิเคราะห์ที่ตามมาในโปรแกรมที่สะดวก

    ด้านล่างนี้ ฉันจะอธิบายประสบการณ์ของฉันกับเครื่องวิเคราะห์ลอจิก Logic Pro 8 จาก Saleae ราคาประมาณ 480 ดอลลาร์ และ DSLogic Pro จาก DreamSourceLab (น่าจะเป็นรุ่นคัดลอก) ราคาอยู่ที่ 99 ดอลลาร์ ฉันซื้อมาในราคา 73 ดอลลาร์
    หากใครสนใจยินดีต้อนรับน้องแมวค่ะ

    ข้อมูลจำเพาะ

    เครื่องวิเคราะห์ลอจิกจะมีความแตกต่างกันโดยหลัก: จำนวนและประเภทของช่องสัญญาณ การมีอยู่ของบัฟเฟอร์ และความถี่ในการสุ่มตัวอย่าง
    เล็ก ตารางเปรียบเทียบมีลักษณะ:
    ลอจิกโปร 8 ดีเอสลอจิกโปร คำอธิบาย
    ตัวเลข ช่องดิจิตอล 8 16 ยังไง หัวข้อเพิ่มเติมดีขึ้น แต่หลังจากใช้ไปหนึ่งปีเกิน 4 ยังไม่จำเป็นจริงๆ
    ตัวเลข ช่องอะนาล็อก 8 0 สำหรับแอนะล็อก ออสซิลโลสโคปยังดีกว่า แต่บางครั้งก็สะดวกที่จะดูว่าเกิดอะไรขึ้นไม่เพียงแต่ในช่องดิจิทัลเท่านั้น แต่ยังอยู่ในแอนะล็อกด้วย
    อินเตอร์เฟซ ยูเอสบี 2.0 / ยูเอสบี 3.0 ยูเอสบี 2.0 แน่นอนว่า USB 3.0 จะดีกว่าถ้าคุณมี แม้ว่าประเด็นนี้จะเป็นที่ถกเถียงกัน แต่ฉันจะอธิบายเหตุผลด้านล่าง
    อัตราการสุ่มตัวอย่างช่องสัญญาณดิจิทัล 500 มิลลิวินาที/วินาที - USB 3.0
    100 มิลลิวินาที/วินาที - USB 2.0
    400 MS/s - สำหรับ 4 ช่องสัญญาณ
    200 MS/s - สำหรับ 8 ช่อง
    100 MS/s - สำหรับ 16 ช่อง
    ยิ่งดีเท่าไร แต่ในกรณีนี้มีความแตกต่างกันนิดหน่อย แต่มีมากกว่านั้นด้านล่าง
    อัตราการสุ่มตัวอย่างช่องสัญญาณอนาล็อก 50 มิลลิวินาที/วินาที - USB 3.0
    10 มิลลิวินาที/วินาที - ยูเอสบี 2.0
    - ใหญ่กว่าดีกว่า.
    ช่วงแรงดันไฟฟ้าดิจิตอล/อนาล็อก: 1.2V - 5.5V / -10V - +10V 0V - 5V / - Logic Pro 8 มีแรงดันไฟฟ้าตามเกณฑ์สามระดับให้เลือก: 1.2V/1.8V/3.3V
    จากดีเอสลอจิก ทางเลือกระดับมืออาชีพจาก 0V ถึง 5V ปรับขั้นละ 0.1V; นอกจากนี้ยังมีการป้องกันแรงดันไฟฟ้าเกิน -30V - +30V
    ความต้านทานช่องภายใน 1.8 ม 250 โอห์ม ยิ่งดีเท่าไร การรบกวนในวงจรที่กำลังศึกษาก็จะน้อยลงเท่านั้น
    กันชน - 256เมกะบิต ยิ่งดีเท่าไร พารามิเตอร์นี้จะกำหนดจำนวนตัวอย่างที่เครื่องวิเคราะห์สามารถจับได้โดยไม่ต้องถ่ายโอนไปยังคอมพิวเตอร์ สิ่งนี้มีประโยชน์อย่างยิ่งโดยเฉพาะกับ UBS 2.0
    ความลึกของการสุ่มตัวอย่าง ในทางทฤษฎีไม่จำกัด 16MS ต่อช่องสัญญาณ ยิ่ง Logic Pro 8 ใช้หน่วยความจำพีซีมากเท่าไร ความลึกของการสุ่มตัวอย่างอาจมีขนาดใหญ่มาก แต่บัฟเฟอร์ DSLogic Pro ก็เพียงพอแล้วเช่นกัน

    โดยทั่วไป Logic Pro 8 มีข้อได้เปรียบหลายประการ โดยเฉพาะในส่วนของอะนาล็อก อย่างไรก็ตาม การไม่มีบัฟเฟอร์มีผลเสีย ประการแรก ความเร็วจะลดลงครึ่งหนึ่งเมื่อใช้ 4 ช่องสัญญาณ และ 4 เท่าเมื่อใช้ 6 และ ช่องทางเพิ่มเติม- แต่นั่นไม่ใช่ทั้งหมด เนื่องจากความเร็วเชื่อมโยงกับบัส USB อย่างแน่นหนา เหตุการณ์จะเกิดขึ้นหากบัสนี้ถูกโหลด บางครั้งมันก็เพียงพอที่จะเชื่อมต่อกับบัส USB หนึ่งตัว ฮับ ​​USB สายยูอาร์ทีจนโปรแกรมสาปแช่งแล้วบอกว่า ความเร็วยูเอสบีไม่เพียงพอและความเร็วในการจับจะลดลง ไม่ใช่ว่าสิ่งนี้จะเกิดขึ้นบ่อยครั้งและสร้างความรำคาญครั้งใหญ่ แต่ก็ควรค่าแก่การจดจำ
    ในบรรดาคุณสมบัติของ DSLogic Pro ฉันต้องการทราบว่ามีสายนาฬิกาและสัญญาณภายนอกอยู่ อินพุตภายนอกทริกเกอร์ และเอาท์พุตทริกเกอร์

    รูปลักษณ์และอุปกรณ์

    ชุดลอจิก Pro 8:

    • เครื่องวิเคราะห์นั่นเอง
    • ขั้วต่อสองตัวพร้อมสายหลากสี 4 ช่องต่อขั้วต่อ
    • คลิป 16 ชิ้นสำหรับเชื่อมต่อกับขาไมโครวงจร สายไฟ ฯลฯ
    • ยูเอสบี 3.0 สาย USB-Aไปจนถึง MictoUSB 3.0

    ชุด DSLogic Pro:

    • เครื่องวิเคราะห์นั่นเอง
    • ช่องต่อกว้าง 16 ช่อง พร้อมสัญญาณเพิ่มเติม
    • คลิปหลากสี 16 คลิปสำหรับเชื่อมต่อกับขาไมโครวงจร สายไฟ ฯลฯ
    • สาย USB 2.0 USB-A ถึง MictoUSB

    การเปรียบเทียบ

    ถ้าเทียบอุปกรณ์ก็ประมาณเดียวกันครับ อย่างไรก็ตามในความคิดของฉันตัวเชื่อมต่อพร้อมสายไฟสำหรับ Logic Pro 8 สะดวกและน่าใช้กว่ามากสายไฟมีความนุ่มและยืดหยุ่นมากกว่า คลิปบน Logic Pro 8 สะดวกกว่าหลายเท่า ประการแรก มีหมุดสองอันสำหรับเชื่อมต่อกับสายเครื่องวิเคราะห์ ซึ่งสะดวก และประการที่สอง หมุดเชื่อมต่ออยู่ที่ด้านข้าง ซึ่งช่วยให้เกี่ยวคลิปได้ง่ายขึ้นด้วยลวดที่เชื่อมต่ออยู่แล้ว ใน DSLogic Pro หมุดจะอยู่ที่ด้านบนซึ่งทำให้การเชื่อมต่อยากขึ้นมาก แม้ว่าคลิปจะไม่ต่างกันในเรื่องการยึดเกาะ แต่คุณภาพโดยรวมยังแย่อยู่

    ซอฟต์แวร์

    ไม่ว่าเครื่องวิเคราะห์ลอจิกจะดีแค่ไหน หากไม่มีซอฟต์แวร์ที่ดี ก็ใช้งานไม่ได้ง่าย ซอฟต์แวร์ที่ดีควรแสดงข้อมูลที่บันทึกไว้อย่างรวดเร็ว ช่วยให้คุณสามารถดูคุณลักษณะต่างๆ เช่น ความถี่ รอบการทำงาน และเป็นเรื่องดีมากที่เขาสามารถถอดรหัสโปรโตคอลที่เป็นที่รู้จักได้ สะดวกอย่างไม่น่าเชื่อในการระบุว่าขา I2C อยู่ที่ไหนและดูว่าเกิดอะไรขึ้นบนรถบัสจากมุมมองของโปรโตคอล I2C แทนที่จะนั่งเกาหัวมองดูและพยายามเข้าใจว่าทุกอย่างเป็นเช่นนั้นและที่อยู่ใด ถูกบันทึกไว้ที่นี่ เครื่องวิเคราะห์แต่ละตัวมาพร้อมกับโปรแกรมของตัวเอง:

    ซาเลลอจิก

    เครื่องวิเคราะห์ Saleae มาพร้อมกับ Saleae Logic


    โปรแกรมเป็นแบบหลายแพลตฟอร์ม รองรับทั้งหมด เวอร์ชันของ Windowsดาว์นเริ่มต้นด้วย XP (ปีที่แล้วมีปัญหากับ Win 7 และสูงกว่ามา) เวอร์ชั่นใหม่ Win 7 ทำงานได้อย่างไร้ที่ติ ฉันยังไม่ได้ทดสอบข้างต้น) ติดตั้ง Mac OS X 10.7 Lion+ และทำงานได้อย่างไม่มีที่ติ Ubuntu 12.04.2+ ไม่เคยทำงานให้ฉันเลย (ทดสอบเมื่อปีที่แล้วใน เวอร์ชั่นเก่าโปรแกรมอาจทำงานได้ในขณะนี้) แต่ฉันไม่ได้ลองจริงๆ

    รองรับ รายการใหญ่โปรโตคอลสำหรับการวิเคราะห์ I2C/SPI/UART/CAN ทำงานได้อย่างไม่มีที่ติ การจับภาพสามารถทำได้โดยการเริ่มด้วยตนเองหรือโดยทริกเกอร์บนช่องใดช่องหนึ่ง ข้อเสียประการหนึ่งคือ ตัวอย่างที่ยาวเริ่มช้าลงมาก

    ในบรรดาคุณสมบัติของโปรแกรมเป็นที่น่าสังเกตว่าความสามารถในการควบคุมโดยใช้โปรโตคอลที่คล้ายเทลเน็ตซึ่งมี SDK สำหรับการเขียนตัวถอดรหัสโปรโตคอลของคุณเอง โปรโตคอลเขียนด้วยภาษา C++ ซึ่งทำให้ขั้นตอนการเขียนมีความซับซ้อน

    ดีเอสวิว

    DSLogic Pro มาพร้อมกับซอฟต์แวร์ DSView:

    นอกจากนี้ยังมีโปรแกรมหลายแพลตฟอร์ม รองรับวินโดวส์เริ่มต้นตั้งแต่ XP, Mac OS X 10.11.4, Linux (ตัวโปรแกรมมาในรูปแบบซอร์สโค้ด) ความสามารถของโปรแกรมนั้นเหนือกว่า Saleae Logic มีทริกเกอร์ขั้นสูงที่รองรับหลายช่องทางพร้อมกัน และรายการโปรโตคอลก็ค่อนข้างกว้างขวาง แต่ที่นี่นักพัฒนาได้ดำเนินการต่อไปและโปรโตคอลยังสามารถติดตั้งความสามารถในการถอดรหัสงานด้วยการใช้งานโปรโตคอลนี้โดยเฉพาะ ตัวอย่างเช่น คุณสามารถเลือกโปรโตคอล I2C และการใช้งาน 24CXX จากนั้นอ่านสิ่งที่เกิดขึ้นบนบัสทันทีจากมุมมองของไมโครวงจรนี้ ทั้งโปรโตคอลและการใช้งานเขียนด้วยภาษา Python ซึ่งในทางทฤษฎีควรทำให้การเขียนและการดีบักง่ายขึ้น ไม่พบเบรกในการทำงาน

    เป็นที่น่าสังเกตว่าโครงการส่วนหนึ่งเป็น OpenSource และมีการโพสต์แหล่งซอฟต์แวร์และส่วน HDL และนี่คือแผนภาพ ดังนั้นในไม่ช้าอาจมีโคลนของอุปกรณ์นี้จำนวนมาก (บางทีฉันอาจมีโคลนด้วย)

    การทดสอบง่ายๆ

    สำหรับการทดสอบเครื่องวิเคราะห์อย่างง่าย เราใช้บอร์ดบริสุทธิ์ DE0-Nano-SoC ซึ่งสร้างคดเคี้ยวจาก 200 Mhz แต่ละอันถัดไปได้มาจากการหารด้วย 2 อันก่อนหน้า (200/100/50) ฉันจะลอง เพื่อจับภาพด้วยเครื่องวิเคราะห์ที่มีอยู่

    บน DSLogic Pro เราจัดการจับภาพได้ที่ความเร็ว 200Mhz/100Mhz/50Mhz ด้านล่าง และเห็นได้ชัดว่าทุกอย่างดำเนินไปด้วยดี เป็นไปไม่ได้ที่จะบอกว่า 200 และ 100 ถูกจับได้อย่างสมบูรณ์แบบ บางครั้งความถี่และรอบการทำงานจะคลาดเคลื่อนเล็กน้อย แต่โดยทั่วไปแล้วเป็นเรื่องปกติที่ 50 ทุกอย่างสมบูรณ์แบบแล้ว

    ดีเอสลอจิกโปร


    Seleae ไม่สามารถลบ 200 Mhz และ 100 Mhz ได้ตามปกติ แต่ 50 Mhz ก็ทำงานได้อย่างสมบูรณ์อยู่แล้ว

    ลอจิกโปร 8


    ถึงกระนั้น ฉันจะไม่ให้ความสำคัญกับการวัดดังกล่าวอย่างจริงจัง การวัดคลื่น 200 Mhz เพียงแค่ใช้สายแบบ "สแน็ปอิน" อาจจะเกินกำลังไป แต่ก็คุ้มค่าที่จะลอง

    สำหรับการทดลองลองจับการรับส่งข้อมูลผ่าน I2C กัน (การส่งข้อมูลต่างกันจึงไม่มาบรรจบกัน)

    รับซื้อทุกชนิด อิเล็กทรอนิกส์ของจีนสำหรับ “งานฝีมือ” ของฉัน ฉันมักจะประสบปัญหาคำบรรยายงานไม่ดี

    หัวข้อของบทความในวันนี้คือการใช้เครื่องวิเคราะห์ตรรกะจีนราคาถูกที่ซื้อใน Aliexpress

    เครื่องวิเคราะห์ลอจิกคืออะไร? นี่เป็นอุปกรณ์... สำหรับการวิเคราะห์เชิงตรรกะ))) ภาพยนตร์ที่มีโรเบิร์ต เดอ นีโรเข้ามาในความคิดทันที

    เหตุใดจึงจำเป็น? แน่นอนว่ามีส่วนร่วมในการวิเคราะห์เชิงตรรกะ))) หรือมากกว่าโดยการวิเคราะห์ระดับลอจิคัลของไมโครคอนโทรลเลอร์และอุปกรณ์ต่อพ่วงต่างๆ สิ่งที่เรียกกันทั่วไปว่าวิศวกรรมย้อนกลับ

    ลักษณะเฉพาะ

    • ความเข้ากันได้ของซอฟต์แวร์กับ Saleae Logic 8
    • ตัวเลข อินพุตดิจิตอล - 8
    • ตัวบ่งชี้สองตัว - กำลังไฟและสถานะอินพุตแบบลอจิคัล
    • ความต้านทานอินพุต 100KOhm, ความจุอินพุต 5pF
    • ขับเคลื่อนด้วย USB
    • อัตราการสุ่มตัวอย่างที่รองรับ:
    • 24MHz,16MHz, 12MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500KHz, 250KHz, 200KHz, 100KHz, 50KHz, 25KHz;
    • จำนวนค่าที่เก็บไว้ของการวัดหนึ่งครั้ง - 10,000

    ด้านหนึ่งมีขั้วต่อ 10 พินและพินที่ตัวเครื่อง

    อีกด้วย มินิยูเอสบีสำหรับจ่ายไฟและเชื่อมต่อกับคอมพิวเตอร์

    เครื่องใน

    ภายในเคสจะมีบอร์ดที่ประกอบด้วยไมโครโปรเซสเซอร์ที่มีอินเทอร์เฟซ USB ความเร็วสูง CY7C68013A จาก CYPRESS, EEPROM ATMLH432 และไดรเวอร์บัส LVC245A จาก NXP

    ที่อินพุตของเครื่องวิเคราะห์จะมีตัวต้านทานจำกัดกระแส 100 โอห์ม ตัวต้านทานแบบพูลอัพ 100 KOhm และตัวเก็บประจุ 5 pF ทุกอย่างซื่อสัตย์ตามคำอธิบาย

    การเชื่อมต่อ

    ในการเชื่อมต่อเครื่องวิเคราะห์ ชุดประกอบด้วยสายเชื่อมต่อ 10 เส้นสำหรับหน้าสัมผัสพิน ฉันซื้อคลิปออนเหล่านี้ทันที

    คุณภาพของแคลมป์นั้นปานกลางมาก แต่แคลมป์ที่ดีจะมีราคาสูงกว่าตัววิเคราะห์เอง

    ซอฟต์แวร์

    นี่อาจเป็นสิ่งที่น่าสนใจที่สุดเกี่ยวกับเครื่องวิเคราะห์นี้ มันมาพร้อมกับซอฟต์แวร์เนทิฟจาก Saleae Logic

    มีเวอร์ชันสำหรับ OSX, Linux และ Windows ในรูปแบบ 32 และ 64 บิต
    Saleae Logic 1.2.3 ภายใต้ Windows 7 ใช้งานได้เพียงครึ่งเดียว ซอฟต์แวร์เริ่มทำงาน ฮาร์ดแวร์ได้รับการยอมรับ แม้ว่าจะเป็นเวอร์ชัน "เบต้า" ก็ตาม

    ฟีเจอร์ที่น่าสนใจในซอฟต์แวร์จาก Saleae Logic

    ทริกเกอร์สำหรับการบันทึกลำดับตรรกะในแต่ละช่องสัญญาณ

    • หากต้องการเปลี่ยนระดับลอจิคัลเป็น "0"
    • ในการเปลี่ยนระดับลอจิกเป็น “1”
    • สำหรับแรงกระตุ้นเชิงบวกในช่วงเวลาที่กำหนด
    • ไปสู่พัลส์ลบในช่วงเวลาที่กำหนด

    การคำนวณการอ่านค่าทางสถิติตามการวัดปัจจุบัน

    โปรโตคอลการถอดรหัส: Async Serial, I2C, SPI, ซ่อน, 1-Wire, Atmel SWI, BISS C, สามารถ, DMX-512, HD44780, HDLC, HGMI CEC, I2S/ PCM, JTAC, LIN, MDIO, แมนเชสเตอร์, Midi, Modbus , แป้นพิมพ์/เมาส์ PS/2, SMBus, SWD, Simple Parallel, UNI/O, USB LS และ FS

    การบันทึกโดยใช้โปรโตคอลที่ถอดรหัสได้

    นอกจากนี้ เครื่องวิเคราะห์นี้สามารถแฟลชด้วยซอฟต์แวร์จาก USBee ได้

    เรามาวิเคราะห์กันหน่อย

    ฉันเพิ่งรู้ว่าจะเชื่อมต่อเซ็นเซอร์อัลตราโซนิก DYP-ME007Y ซึ่งมีลักษณะเหมือนกันทุกประการ แต่ทำงานแตกต่างออกไปโดยสิ้นเชิง

    หากใช้งานได้ทุกประการตามเอกสารข้อมูล: พัลส์สั้น ๆ บน "ทริกเกอร์" จะกระตุ้นให้เกิดพัลส์อัลตราโซนิก และระยะทางจะวัดตามระยะเวลาของเสียงก้อง จากนั้นวินาทีและสาม (พร้อมไฟ LED กะพริบ) ประมาณทุกๆ 100 มิลลิวินาที โดยไม่มีการเตะจากภายนอกใดๆ จะวัดระยะทางและส่งด้วยความเร็ว 9600 ในรูปแบบสี่ไบต์ (รวมเช็คซัม) Saleae Logic ช่วยให้คุณสามารถเปิดใช้งานการถอดรหัสสัญญาณบัสอนุกรมเป็นลำดับไบต์ เซ็นเซอร์ประเภทที่สองทำงานได้อย่างสมบูรณ์แบบเมื่อปิดการใช้งานเอาต์พุต "TRIG" แม้ว่าพวกมันอาจกำลังรอคำสั่งบางอย่างที่อินพุตนี้ แต่แม้แต่อุปกรณ์วิเศษก็จะไม่แสดงสิ่งนี้

    ต่อไปคุณต้องการดูสัญญาณ PWM ของ Atmegi 168 หรือไม่? ฉันเปิดทั้งหกช่องสัญญาณที่รองรับ PWM ในระดับที่แตกต่างกัน และต้องประหลาดใจเมื่อพบว่าความถี่ของช่องสัญญาณ PWM สองช่องแตกต่างจากอีก 4 ช่อง มีตัวจับเวลาที่แตกต่างกันเกี่ยวข้องหรือไม่?

    มีอะไรอยู่บนบัสข้อมูลของฉัน

    โดยปกติแล้วอุปกรณ์วิเศษและโปรแกรมจะถอดรหัสลำดับเอาต์พุตไปยัง LED แม้แต่สีของไฟ LED ก็ปรากฏขึ้น

    ไม่มีปัญหาในการวิเคราะห์บัส I2C เช่นกัน ซอฟต์แวร์จัดการกับการถอดรหัสตามปกติ คุณสามารถดูแพ็กเก็ตการเขียนเพื่อลงทะเบียนเมื่อไดรเวอร์การแสดงผล TM1637 กำลังทำงาน

    เครื่องรับ RF 315 MHz ที่เชื่อมต่อกับเครื่องวิเคราะห์โดยตรง จะรับสัญญาณจากสวิตช์วิทยุและออกรหัสแมนเชสเตอร์ หลังจากเลือกความเร็วแล้ว รหัสแมนเชสเตอร์จะถูกแปลงโดยโปรแกรมอัจฉริยะเป็นลำดับไบต์

    ฉันสงสัยว่าความแม่นยำในการวัดช่วงเวลาเป็นอย่างไร ฉันไม่มีเครื่องกำเนิดพัลส์ที่แน่นอน แต่มีโทนเสียง Arduino (1,000) ที่ 1,000Hz

    และโทนเสียง (20,000) ที่ 20KHz ให้ผลลัพธ์ที่ค่อนข้างแม่นยำ

    สำหรับการตรวจสอบยืนยัน ความถี่สูงบน การแก้ไขอย่างรวดเร็วประกอบเครื่องกำเนิดไฟฟ้าที่ใช้ NE555 เราสามารถบีบ 8 MHz ออกมาได้ เครื่องวิเคราะห์ดูดซับความถี่นี้ตามปกติ ไม่สามารถทดสอบที่ 20 MHz ได้ แต่ 8 ก็เป็นผลลัพธ์ที่ดีมากสำหรับฮาร์ดแวร์ราคาถูกเช่นนี้

    สรุปสั้นๆ

    เครื่องวิเคราะห์ลอจิกเป็นสิ่งที่จำเป็นและมีประโยชน์มากสำหรับผู้ที่มีส่วนร่วมในการขุดอุปกรณ์ต่อพ่วงจีนสำหรับไมโครคอนโทรลเลอร์ (ขอเรียกว่าดี - วิศวกรรมย้อนกลับ)
    ข้อดีของเหล็กชิ้นนี้ฉันอยากจะทราบ:

    • ราคาน่าสนใจ
    • เข้ากันได้กับซอฟต์แวร์ Saleae Logic ที่ค่อนข้างสะดวก
    • การป้องกันอินพุตในรูปแบบของไดรเวอร์บัส LVC245A
    • ขนาดเล็ก

    ฉันไม่พบข้อบกพร่องที่ชัดเจนในฮาร์ดแวร์ชิ้นนี้ ฉันหวังว่าฉันจะซื้อเครื่องวิเคราะห์ลอจิกเร็วกว่านี้ - ฉันจะประหยัดเวลาได้มากเพียงใดกับโปรเจ็กต์มากมายขนาดนี้ ไม่ต้องสงสัยเลยว่าความสามารถของฮาร์ดแวร์ชิ้นนี้จะไม่เพียงพอสำหรับบางคน มีรุ่นที่มีความซับซ้อนกว่านี้อยู่มากมาย แต่ราคา 100-200 ดอลลาร์ทำให้อุปกรณ์เหล่านี้มีราคาไม่แพงมากสำหรับนักวิทยุสมัครเล่น

    เราจะวิเคราะห์สิ่งอื่นอีกหรือไม่?

    ฉันซื้อเครื่องวิเคราะห์สัญญาณลอจิก ฉันคิดว่ามันจะมีประโยชน์ ข้อดีคือสามารถช่วยในการศึกษาสัญญาณและการแก้ไขปัญหาได้ วงจรลอจิก- อุปกรณ์นี้เป็นโคลนของตรรกะ Saleae ซึ่งอุปกรณ์ดั้งเดิมมีราคาหลายร้อยดอลลาร์

    ลักษณะเฉพาะ:

    • ช่อง: 8
    • อัตราการสุ่มตัวอย่าง: สูงถึง 24 M/s
    • ความต้านทานอินพุต: 100 kOhm

    ตัวเครื่องจะเป็นกล่องขนาดเล็กประมาณขนาด กลักไม้ขีดไฟ- ด้านหนึ่งมีช่องเสียบ miniUSB สำหรับเชื่อมต่อกับคอมพิวเตอร์ อีกด้านหนึ่งมีหวี 10 ช่อง (8 ช่อง + สองกราวด์) มาดูกันว่ามีอะไรอยู่ข้างใน


    ไมโครคอนโทรลเลอร์ Cypress CY7C68013A, EEPROM Atmel 24C028N และบัฟเฟอร์ 74HC245


    อีกด้านหนึ่ง:


    หากต้องการทำงานกับอุปกรณ์ ให้ดาวน์โหลดโปรแกรม Logic

    ตรงกลางมีช่องแถบ 8 ช่องซึ่งจะแสดงกราฟสัญญาณ ด้านซ้ายเป็นปุ่ม Start และปุ่มตั้งค่าช่อง ทางด้านขวาคือหน้าต่างการวัดและการวิเคราะห์ มาดูการตั้งค่ากัน:


    ที่นี่คุณสามารถเลือกอัตราการสุ่มตัวอย่าง (24 ล้าน/วินาที) และระยะเวลา:


    ยังไง ความถี่ที่สูงขึ้นและระยะเวลาก็ยิ่งต้องใช้หน่วยความจำในการรวบรวมและจัดเก็บข้อมูลมากขึ้น
    สำหรับแต่ละช่อง คุณสามารถเลือกแบนด์วิธ ปรับตัวกรองสัญญาณรบกวน หรือซ่อนช่องทั้งหมดได้:

    สำหรับช่องทางใดช่องทางหนึ่ง คุณสามารถกำหนดค่าทริกเกอร์ได้: ที่ขอบของสัญญาณ, บนตก, บนความกว้างของพัลส์สูงหรือต่ำ จากนั้น เมื่อคุณกดปุ่มเริ่ม เวลาในการบันทึกจะเริ่มนับหลังจากทริกเกอร์ถูกยิงเท่านั้น


    เอาล่ะเพื่อความสนุกเรามาดูกันดีกว่า สัญญาณต่างๆจากอาดูโน่
    เรากระพริบไฟ LED โดยหยุดชั่วคราว 100 มิลลิวินาที รหัสนี้:

    1 2 3 4 5 6 เป็นโมฆะวง () ( digitalWrite (13, สูง) ; ล่าช้า (100) ; digitalWrite (13, ต่ำ) ; ล่าช้า (100) ; )

    เป็นโมฆะวง () ( digitalWrite (13, สูง); ล่าช้า (100); digitalWrite (13, ต่ำ); ล่าช้า (100); )

    สัญญาณ:


    เราจะเห็นว่าคาบคือ 0.2 วินาที และความถี่คือ 5 Hz ถูกตัอง.
    ทีนี้มาลดความล่าช้าลงเหลือ 1 ms:

    1 2 3 4 5 6 เป็นโมฆะวง () ( digitalWrite (13, สูง) ; ล่าช้า (1) ; digitalWrite (13, ต่ำ) ; ล่าช้า (1) ; )

    เป็นโมฆะวง () ( digitalWrite (13, สูง); ล่าช้า (1); digitalWrite (13, ต่ำ); ล่าช้า (1); )

    เรามาเพิ่มขึ้นกัน:

    จนถึงทุกอย่างเป็นไปตามที่เราคาดไว้ ระยะเวลามากกว่า 2 ms เล็กน้อย ความถี่ประมาณ 500 Hz
    ตอนนี้เรามาลบความล่าช้าออกโดยสมบูรณ์:

    1 2 3 4 เป็นโมฆะวง () ( digitalWrite (13 , สูง) ; digitalWrite (13 , ต่ำ) ; )

    เป็นโมฆะวง () ( digitalWrite (13, สูง); digitalWrite (13, ต่ำ); )

    1 2 3 4 เป็นโมฆะวง () ( PORTB = B11111111; PORTB = B00000000; )

    เป็นโมฆะวง () ( PORTB = B11111111; PORTB = B00000000; )


    ว้าว ความถี่เพิ่มขึ้นกว่า 10 เท่า แล้วตอนนี้ก็ประมาณ 1 MHz แล้ว!
    แต่ความกว้างของพัลส์ล่ะ? ทำไมต้องกว้าง. ระดับสูงสั้นกว่าต่ำอย่างเห็นได้ชัด? ท้ายที่สุดแล้ว การเขียนลงรีจิสเตอร์ควรทำด้วยความเร็วเท่ากันโดยไม่คำนึงถึงเนื้อหา มีอะไรอีกไหมที่ดำเนินการหลังจากฟังก์ชัน loop()?
    เรามาลองกำจัดการเปลี่ยนแปลงมาตรฐานโดยใช้ฟังก์ชันลูปและการแทรก วงจรไม่มีที่สิ้นสุด:

    1 2 3 4 5 6 7 เป็นโมฆะวง () ( ในขณะที่ (1 ) ( PORTB = B11111111; PORTB = B00000000; ) )

    เป็นโมฆะวง () ( ในขณะที่ (1) ( PORTB = B11111111; PORTB = B00000000; ) )

    ดีขึ้นแล้ว. และความถี่เพิ่มขึ้นเป็น 4 MHz! รอบสัญญาณนาฬิกาบางรอบหายไปเพื่อให้การเปรียบเทียบในลูปเสร็จสมบูรณ์ (1 - จริง?) ทีนี้ลองสลับคำสั่งที่เหมือนกันหลายคำสั่งทีละคำสั่ง:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 เป็นโมฆะวน() ( ในขณะที่ (1 ) ( PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000 ; พอร์ตบี = B11111111; PORTB = B11111111; PORTB = B11111111;

    เป็นโมฆะวง() ( ในขณะที่ (1) ( PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; B = B11111111; พอร์ตบี = B00000000; PORTB = B11111111; PORTB = B11111111;

    ฉันไม่เข้าใจความผิดปกตินี้เลยสักนิด ความถี่เพิ่มขึ้นเป็น 8 MHz! นั่นคือหนึ่งการดำเนินการต่อรอบสัญญาณนาฬิกา แต่ด้วยเหตุผลบางอย่าง ความกว้างของพัลส์บวกลดลงครึ่งหนึ่ง (จาก 83 ns เป็น 41 ns) ฉันยังไม่พร้อมที่จะอธิบายว่าอะไรมีอิทธิพลต่อสิ่งนี้ คุณควรพยายามแก้ไขไฟล์ HEX ในดิสแอสเซมเบลอร์
    การทำงานกับรีจิสเตอร์โดยตรงถือเป็นสิ่งสำคัญมากเมื่อทำงานกับอุปกรณ์ที่มีความสำคัญต่อการซิงโครไนซ์พัลส์ ข้อสรุปที่แตกต่างกัน- ลองดูตัวอย่างว่าชีพจรแตกต่างกันอย่างไรในสองรายชื่อ เมื่อเราใส่คำสั่ง digitalWrite สองคำสั่งติดต่อกัน ผู้ติดต่อที่แตกต่างกันเราจึงเชื่อว่าสัญญาณจะปรากฏทั้งสองแห่งพร้อมกัน แต่แน่นอนว่าสิ่งนี้ไม่เป็นความจริง:

    1 2 3 4 5 6 7 8 void loop() ( ในขณะที่ (1 ) ( digitalWrite(12 , HIGH) ; digitalWrite(11 , HIGH) ; digitalWrite(12 , LOW) ; digitalWrite(11 , LOW) ; ) )

    เป็นโมฆะวง () ( ในขณะที่ (1) ( digitalWrite (12, สูง); digitalWrite (11, สูง); digitalWrite (12, ต่ำ); digitalWrite (11, ต่ำ); ) )

    บ่อยครั้งในงานฝีมืออิเล็กทรอนิกส์ในบ้านจำเป็นต้องดูสัญญาณอย่างใดอย่างหนึ่งและก็เพียงพอแล้ว การแสดงดิจิทัล- สิ่งที่ MK ส่งผ่าน I2C, กำหนดค่า PWM ถูกต้องหรือไม่ เป็นต้น หากคุณมีออสซิลโลสโคปที่ดีในที่ทำงาน การซื้อออสซิลโลสโคปสำหรับบ้านของคุณก็ถือว่าแพงเกินไป โดยเฉพาะอย่างยิ่งเมื่อมีความจำเป็นเกิดขึ้นเป็นครั้งคราวเท่านั้น
    ใน เมื่อเร็วๆ นี้มีเครื่องวิเคราะห์ลอจิกราคาไม่แพง (ประมาณ 50 เหรียญสหรัฐ) ปรากฏขึ้น แต่มีความคิดหนึ่งที่ทำให้ฉันไม่สามารถซื้อมันได้เสมอ: สิ่งนี้ง่ายมาก ทำไมไม่ลองทำเองจากเศษวัสดุล่ะ
    ในบทความนี้ ฉันจะบอกวิธีสร้างตัววิเคราะห์ลอจิกอย่างง่ายด้วยต้นทุนทางการเงินขั้นต่ำ - สิ่งที่คุณต้องมีคือบอร์ดดีบัก Stm32F4Discovery

    เครื่องวิเคราะห์ลอจิก (ต่อไปนี้จะเรียกว่า LA)– อุปกรณ์ที่ออกแบบสำหรับบันทึก ดู และวิเคราะห์สัญญาณภายใน วงจรดิจิตอล- เช่นเดียวกับออสซิลโลสโคป LA จะเชื่อมต่อกับโพรบตั้งแต่หนึ่งตัวขึ้นไปเข้ากับวงจรที่กำลังวิเคราะห์ แต่ไม่เหมือนกับออสซิลโลสโคปตรงที่จะบันทึกสถานะสัญญาณ "0" และ "1" เพียงสองสถานะเท่านั้น ฟังก์ชั่นที่สำคัญ LA คือความสามารถในการถอดรหัสสัญญาณที่บันทึกไว้โดยอัตโนมัติ เช่น เพื่อแยกวิเคราะห์การแลกเปลี่ยนข้อมูลบน I2C หรือ SPI บัส นอกจากนี้ LA ยังโดดเด่นด้วยเส้นวิเคราะห์จำนวนมากเมื่อเทียบกับออสซิลโลสโคป: จาก 8 เส้นในเครื่องวิเคราะห์แบบธรรมดาไปจนถึงหลายร้อยเส้นในตัวอย่างทางอุตสาหกรรม
    โครงการที่อธิบายไว้ที่นี่ - LogicDiscovery - เป็นตัววิเคราะห์ลอจิกที่เข้ากันได้กับ SUMP ซึ่งสร้างในรูปแบบของกล่องรับสัญญาณ USB สำหรับพีซี เขาค่อนข้างมี ลักษณะเจียมเนื้อเจียมตัว: 20MHz, 16 ช่อง, หน่วยความจำ 24kB อย่างไรก็ตาม นี่เพียงพอสำหรับงานที่หลากหลายมาก: การวิเคราะห์ UART, I2C, เส้น SPI (ภายในหลายเมกะเฮิรตซ์), บัสแบบขนาน, การวัดลักษณะการกำหนดเวลาของสัญญาณ ฯลฯ

    มาเริ่มกันเลย

    ดังนั้นสิ่งที่เราต้องการคือ:
    • บอร์ดพัฒนา Stm32F4Discovery จาก 500 รูเบิลในร้านค้าปลีกในมอสโกหรืออาจจะอยู่ในถังขยะของคุณแล้ว? บอร์ดอื่นๆ ที่ใช้ STM32F4 หรือ STM32F2 จะทำแบบนั้น แต่คุณจะต้องแก้ไขซอร์สโค้ด
    • สายไฟหลายเส้นเพื่อเชื่อมต่อกับวงจรที่กำลังวิเคราะห์
    • เฟิร์มแวร์พร้อมใช้งานมีอยู่ใน Google.Code แหล่งที่มาก็มีเช่นกัน
    • นอกจากนี้ คุณต้องมีไคลเอนต์สำหรับพีซี ฉันขอแนะนำ OLS
    ไคลเอนต์เขียนด้วยภาษา Java ดังนั้นผลลัพธ์ที่ได้จึงไม่ขึ้นกับระบบปฏิบัติการ ตามทฤษฎี คุณสามารถใช้ไคลเอนต์ที่เข้ากันได้กับ SUMP ใดก็ได้ แต่ฉันจะอธิบายการทำงานกับโปรแกรมนี้ด้านล่างนี้
    Stm32F4Discovery ใช้พลังงานจากพอร์ต mini-USB ซึ่งจะมีการแฟลช หากต้องการใช้ฟังก์ชันเครื่องบิน บอร์ดจะเชื่อมต่อกับพีซีผ่านพอร์ต micro-USB หากต้องการจ่ายไฟให้กับบอร์ดจากพอร์ตเดียวกัน ให้เชื่อมต่อพินด้วยจัมเปอร์ PA9และ 5V- PA9 เชื่อมต่อโดยตรงกับ Vbus ของพอร์ต micro-USB และ 5V เป็นอินพุตของโคลงที่สร้างพลังงานให้กับบอร์ด หากต้องการตรวจสอบการทำงาน ให้เชื่อมต่อพอร์ตต่างๆ PA2และ พีดี0- สัญญาณทดสอบจะถูกสร้างขึ้นที่ PA2 และ PD0 จะเป็นอินพุตแรกของเครื่องบิน

    พีซีได้รับการยอมรับว่าเป็นพอร์ต COM สำหรับ Linux ไดรเวอร์นั้นเป็นมาตรฐานและควรอยู่ในเคอร์เนลแล้ว สำหรับ Win ไดรเวอร์จะถูกดาวน์โหลดจากเว็บไซต์ ST เมื่อระบุบอร์ดได้แล้ว คุณสามารถเปิดตัวลูกค้าและเริ่มทำงานได้
    แต่ก่อนอื่น ให้แมลงวันอยู่ในครีม

    ข้อ จำกัด

    โครงการใช้ โปรโตคอลแบบเปิดบ่อ. โปรโตคอลนี้เดิมได้รับการพัฒนาสำหรับเครื่องบินที่ใช้ FPGA และตั้งแต่นั้นมาในแง่ของการบันทึก สัญญาณอินพุตและการวิเคราะห์การไหลของข้อมูล ไมโครคอนโทรลเลอร์ยังคงด้อยกว่าฟังก์ชันทั้งหมดที่นำมาใช้ในไคลเอนต์จะพร้อมใช้งานสำหรับเรา:
    • ความถี่ในการบันทึกสูงสุด – 20 MHz ในต้นฉบับสูงถึง 200 MHz
    • ไม่รองรับการบีบอัด RLE และการกรองสัญญาณรบกวน
    • คุณไม่สามารถเลือกกลุ่มช่องสัญญาณได้เฉพาะกลุ่มแรก (8 ช่อง) หรือกลุ่มแรก + วินาที (16 ช่อง)
    • ทริกเกอร์ไม่ได้ทำงานตามมูลค่า แต่ตามขอบ (อย่างไรก็ตามในความคิดของฉัน นี่เป็นข้อได้เปรียบอยู่แล้ว)
    • ไม่มีการรองรับทริกเกอร์ขั้นสูง (ซับซ้อน)
    ควรคำนึงถึงข้อจำกัดเหล่านี้เมื่อกำหนดค่าไคลเอนต์ เขาไม่รู้อะไรเลยเกี่ยวกับข้อจำกัดเหล่านี้ และจะอนุญาตให้คุณเลือกการตั้งค่าใดก็ได้ ผลลัพธ์ที่ได้รับในกรณีนี้จะไม่ถูกต้อง

    เราใช้

    เราเปิดตัวไคลเอนต์ผ่านไฟล์ run.bat หรือ run.sh ขึ้นอยู่กับระบบปฏิบัติการที่ใช้ คุณสามารถอ่านเกี่ยวกับฟังก์ชั่นของลูกค้าได้ในหน้านี้ ผมจะอธิบายกระบวนการรับตัวอย่างแรกและการตั้งค่าที่อยู่ภายใต้ข้อจำกัด

    ในเมนู "การจับกุม"ให้เลือกรายการ “เริ่มการจับกุม”ให้เปิดหน้าต่างการตั้งค่าการบันทึก ในหน้าแรกของสนาม ""พอร์ตเครื่องวิเคราะห์"เราเลือกท่าเรือที่เครื่องบินของเราจอด ไม่มีอะไรต้องเปลี่ยนแปลงอีก ปุ่ม "แสดงข้อมูลเมตาของอุปกรณ์"คุณสามารถตรวจสอบการเชื่อมต่อ:

    ในหน้าสอง เราระบุพารามิเตอร์การจับ เราไม่ได้สัมผัสสองแต้มแรก
    "อัตราการสุ่มตัวอย่าง"ไม่เกิน 20 MHz (หากระบุเพิ่มเติมบอร์ดจะยังคงใช้ 20 MHz แต่ลูกค้าจะคิดว่าใช้ค่าที่กำหนดโดยทั่วไปจะไร้สาระ)
    “กลุ่มช่อง”: 0 – เราใช้กลุ่มช่องสัญญาณหนึ่งกลุ่ม ได้แก่ เส้น PD0-PD7 หรือ 0 และ 1 – เราใช้ช่องสัญญาณสองกลุ่ม - เส้น PD0-PD15
    “ขนาดการบันทึก”: สำหรับหนึ่งกลุ่มของช่อง – ค่าใดๆ สำหรับสองกลุ่ม – ไม่เกิน 12kB (ไคลเอนต์จะเตือนหากเลือกค่าที่ไม่ถูกต้องในฟิลด์นี้)
    เราไม่ได้แตะช่องทำเครื่องหมายในหน้านี้ เนื่องจากไม่รองรับ:

    หน้าหนังสือ "ทริกเกอร์"- สิ่งที่น่าสนใจที่สุด. เราทำเครื่องหมายที่ช่องแรกเพื่อเปิดใช้งานทริกเกอร์
    "อัตราส่วนก่อน/หลัง"ให้คุณระบุใน เปอร์เซ็นต์จำนวนข้อมูลที่ต้องบันทึกก่อนที่จะทริกเกอร์บัฟเฟอร์ หลังจากคลิก "การจับกุม"เครื่องบินจะเริ่มบันทึกข้อมูลทันที โดยเพิ่มลงในบัฟเฟอร์แบบวน และเมื่อมีการยิงทริกเกอร์ จะนับเปอร์เซ็นต์ของเวลาที่ระบุในฟิลด์ After และส่งข้อมูลไปยังพีซี
    "พิมพ์"- "เรียบง่าย" เท่านั้น "ซับซ้อน" - ไม่รองรับ
    "โหมด"- "ขนาน" เท่านั้น
    "หน้ากาก"- เส้นเหล่านี้เป็นเส้นที่ทริกเกอร์จะรอให้สัญญาณลดลง วางธงไว้ที่ตำแหน่งศูนย์เพื่อทริกเกอร์บนเส้น PD0
    "ค่า"- ขอบของสัญญาณที่จะทริกเกอร์ มีการตรวจสอบธง – ขอบนำ ไม่ตรวจสอบ – ด้านหลัง:

    หากต้องการตรวจสอบการทำงาน ให้เชื่อมต่อพอร์ต PD0 และ PA2 (on พอร์ตที่กำหนดการทดสอบจะปรากฏขึ้น สัญญาณยูอาร์ที) จัมเปอร์

    เพียงเท่านี้ คลิกเลย "การจับกุม"และดูสัญญาณที่ได้รับ (Ctrl+F - ระดับภาพรวม):

    หากไม่มีอะไรเกิดขึ้น แสดงว่าคุณได้ตั้งค่าทริกเกอร์ให้ยิงผิดสายหรือไม่มีสัญญาณเลย - ตรวจสอบการตั้งค่าและการเชื่อมต่อของบอร์ด สามารถเปิดใช้งานทริกเกอร์ได้ด้วยตนเองโดยการกดปุ่มผู้ใช้ (ปุ่มสีน้ำเงิน)

    ข้อควรระวังด้านความปลอดภัย

    จดจำ:คุณเชื่อมต่อโดยตรงกับพอร์ตไมโครคอนโทรลเลอร์! ไม่มีการป้องกันอื่นใดนอกจากไดโอดที่ติดตั้งอยู่ใน MK บนบอร์ด ดังนั้นก่อนอื่นตรวจสอบให้แน่ใจว่าสัญญาณที่กำลังศึกษามีแรงดันไฟฟ้าสูงสุดที่ 3.3V, V เป็นทางเลือกสุดท้าย 5V แต่แนะนำให้เพิ่มตัวต้านทานป้องกันระหว่างแหล่งสัญญาณกับเครื่องบิน

    เมื่อเชื่อมต่อกับวงจรที่กำลังวิเคราะห์อย่าลืมต่อกราวด์ก่อนแล้วจึงต่อสายสัญญาณเท่านั้น โดยเฉพาะอย่างยิ่งเมื่อวงจรที่กำลังวิเคราะห์นั้นได้รับพลังงานจากแหล่งจ่ายไฟของตัวเอง และไม่ได้มาจากพีซีเครื่องเดียวกับที่เครื่องบินเชื่อมต่ออยู่



    มีคำถามหรือไม่?

    แจ้งการพิมพ์ผิด

    ข้อความที่จะส่งถึงบรรณาธิการของเรา: