
สารบัญ:
- ขั้นตอนที่ 1: การออกแบบการแปลง
- ขั้นตอนที่ 2: การออกแบบ GreenPAK
- ขั้นตอนที่ 3: NRZ(L) ถึง RZ ใน GreenPAK
- ขั้นตอนที่ 4: NRZ(L) ถึง RB ใน GreenPAK
- ขั้นตอนที่ 5: NRZ(L) ถึง AMI ใน GreenPAK
- ขั้นตอนที่ 6: AMI ถึง RZ ใน GreenPAK
- ขั้นตอนที่ 7: NRZ(L) ไปยัง Split-phase Manchester ใน GreenPAK
- ขั้นตอนที่ 8: แยกเฟส Manchester เป็น Split-phase Mark Code ใน GreenPAK
- ขั้นตอนที่ 9: ผลการทดลอง
- ขั้นตอนที่ 10: NRZ(L) ถึง RZ
- ขั้นตอนที่ 11: NRZ(L) ถึง RB
- ขั้นตอนที่ 12: NRZ(L) ถึง AMI
- ขั้นตอนที่ 13: AMI ถึง RZ
- ขั้นตอนที่ 14: NRZ(L) ไปยัง Split-phase Manchester
- ขั้นตอนที่ 15: แยกเฟส Manchester เป็น Split-phase Mark Code
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

การสื่อสารข้อมูลแบบอนุกรมแพร่หลายในแอปพลิเคชันอุตสาหกรรมจำนวนมาก และมีหลายวิธีในการออกแบบอินเทอร์เฟซการสื่อสารข้อมูลแบบอนุกรม สะดวกในการใช้หนึ่งในโปรโตคอลมาตรฐาน เช่น UART, I2C หรือ SPI นอกจากนี้ยังมีโปรโตคอลอื่นๆ อีกหลายอย่างสำหรับแอปพลิเคชันเฉพาะ เช่น CAN, LIN, Mil-1553, Ethernet หรือ MIPI อีกทางเลือกหนึ่งในการจัดการข้อมูลซีเรียลคือการใช้โปรโตคอลที่ปรับแต่งเอง โปรโตคอลเหล่านี้มักจะใช้รหัสบรรทัด การเข้ารหัสสายที่พบบ่อยที่สุดคือ NRZ, รหัสแมนเชสเตอร์, AMI เป็นต้น [การถอดรหัสโปรโตคอลที่กำหนดค่าได้ของสัญญาณที่เข้ารหัสของแมนเชสเตอร์และ NRZ, Teledyne Lecroy Whitepape]
ตัวอย่างของโปรโตคอลอนุกรมเฉพาะทาง ได้แก่ DALI สำหรับควบคุมแสงสว่างในอาคาร และ PSI5 ซึ่งใช้เชื่อมต่อเซ็นเซอร์กับตัวควบคุมในการใช้งานยานยนต์ ตัวอย่างทั้งสองนี้อิงตามการเข้ารหัสของแมนเชสเตอร์ ในทำนองเดียวกัน โปรโตคอล SENT ใช้สำหรับลิงก์ระหว่างเซ็นเซอร์กับตัวควบคุมในรถยนต์ และบัส CAN ที่ใช้กันทั่วไปเพื่อเปิดใช้งานการสื่อสารระหว่างไมโครคอนโทรลเลอร์และอุปกรณ์อื่นๆ ในแอปพลิเคชันยานยนต์จะขึ้นอยู่กับการเข้ารหัส NRZ นอกจากนี้ โปรโตคอลที่ซับซ้อนและเฉพาะทางอื่นๆ อีกมากมายได้รับและได้รับการออกแบบโดยใช้แผนงานของแมนเชสเตอร์และ NRZ
แต่ละบรรทัดมีข้อดีของตัวเอง ในกระบวนการส่งสัญญาณไบนารีบนสายเคเบิล ตัวอย่างเช่น การบิดเบือนสามารถเกิดขึ้นได้ซึ่งสามารถบรรเทาลงได้อย่างมากโดยใช้รหัส AMI [Petrova, Pesha D. และ Boyan D. Karapenev "การสังเคราะห์และการจำลองตัวแปลงรหัสไบนารี" โทรคมนาคมในบริการดาวเทียม เคเบิล และกระจายเสียงสมัยใหม่ พ.ศ. 2546 TELSIKS 2546 การประชุมนานาชาติครั้งที่ 6 เรื่อง ฉบับที่ 2. IEEE, 2003]. นอกจากนี้ แบนด์วิดท์ของสัญญาณ AMI ยังต่ำกว่ารูปแบบ RZ ที่เทียบเท่ากัน ในทำนองเดียวกัน รหัสแมนเชสเตอร์ไม่มีข้อบกพร่องบางอย่างที่มีอยู่ในรหัส NRZ ตัวอย่างเช่น การใช้รหัสแมนเชสเตอร์ในสายอนุกรมจะลบส่วนประกอบ DC ให้การกู้คืนนาฬิกา และให้ระดับการป้องกันเสียงรบกวนในระดับสูง [เอกสารข้อมูล HD-6409 Renesas]
ดังนั้นประโยชน์ของการแปลงรหัสบรรทัดมาตรฐานจึงชัดเจน ในแอปพลิเคชั่นจำนวนมากที่ใช้รหัสบรรทัดโดยตรงหรือโดยอ้อม การแปลงรหัสไบนารีเป็นสิ่งที่จำเป็น
ในคำแนะนำนี้ เรานำเสนอวิธีรับรู้ตัวแปลงรหัสหลายบรรทัดโดยใช้ Dialog SLG46537 CMIC ราคาประหยัด
ด้านล่างนี้ เราได้อธิบายขั้นตอนที่จำเป็น ทำความเข้าใจว่าชิป GreenPAK ได้รับการตั้งโปรแกรมเพื่อสร้างตัวแปลงรหัสซีเรียลไลน์อย่างไร อย่างไรก็ตาม หากคุณต้องการเพียงแค่ผลลัพธ์ของการเขียนโปรแกรม ให้ดาวน์โหลดซอฟต์แวร์ GreenPAK เพื่อดูไฟล์การออกแบบ GreenPAK ที่เสร็จสมบูรณ์แล้ว เสียบ GreenPAK Development Kit เข้ากับคอมพิวเตอร์ของคุณและกดโปรแกรมเพื่อสร้าง IC ที่กำหนดเองสำหรับตัวแปลงการเข้ารหัสสายอนุกรม
ขั้นตอนที่ 1: การออกแบบการแปลง




การออกแบบตัวแปลงรหัสบรรทัดต่อไปนี้มีให้ในคำแนะนำนี้:
● NRZ(L) ถึง RZ
การแปลงจาก NRZ(L) เป็น RZ ทำได้ง่ายและสามารถทำได้โดยใช้เกต AND เดียว รูปที่ 1 แสดงการออกแบบสำหรับการแปลงนี้
● NRZ(L) ถึง RB
สำหรับการแปลง NRZ(L) เป็น RB เราจำเป็นต้องบรรลุสามระดับตรรกะ (-1, 0, +1) เพื่อจุดประสงค์นี้ เราใช้ 4066 (ควอด-ทวิภาคีสวิตช์) เพื่อให้สวิตช์ไบโพลาร์จาก 5 V, 0 V และ -5 V ลอจิกดิจิตอลใช้เพื่อควบคุมการสลับระดับลอจิกสามระดับโดยการเลือก 4066 ที่เปิดใช้งานอินพุต 1E, 2E และ 3E [Petrova, Pesha D. และ Boyan D. Karapenev "การสังเคราะห์และการจำลองตัวแปลงรหัสไบนารี" โทรคมนาคมในบริการดาวเทียม เคเบิล และกระจายเสียงสมัยใหม่ พ.ศ. 2546 TELSIKS 2546 การประชุมนานาชาติครั้งที่ 6 เรื่อง ฉบับที่ 2. IEEE, 2003].
การควบคุมลอจิกดำเนินการดังนี้:
Q1= สัญญาณ & Clk
Q2= Clk'
Q3= Clk & สัญญาณ'
แผนผังการแปลงโดยรวมแสดงในรูปที่ 2
● NRZ(L) ถึง AMI
การแปลง NRZ(L) เป็น AMI ยังใช้ 4066 IC เนื่องจากรหัส AMI มี 3 ระดับตรรกะ โครงร่างการควบคุมลอจิกสรุปไว้ในตารางที่ 1 ซึ่งสอดคล้องกับแผนผังการแปลงโดยรวมที่แสดงในรูปที่ 3
แผนภาพลอจิกสามารถเขียนได้ดังนี้:
Q1 = (สัญญาณ & Clk) & Q
Q2 = (สัญญาณ & Clk)'
Q3 = (สัญญาณ & Clk) & Q'
โดยที่ Q คือผลลัพธ์ของ D-Flip flop ที่มีความสัมพันธ์เฉพาะกาลต่อไปนี้:
Qnext = สัญญาณ & Qprev' + สัญญาณ' & Qprev
● AMI ถึง RZ
สำหรับการแปลง AMI เป็น RZ จะใช้ไดโอดสองตัวเพื่อแยกสัญญาณอินพุตออกเป็นส่วนบวกและลบ สามารถใช้ op-amp แบบ inverting (หรือวงจรลอจิกที่ใช้ทรานซิสเตอร์) เพื่อกลับด้านลบที่แยกจากกันของสัญญาณ ในที่สุด สัญญาณกลับด้านนี้จะถูกส่งต่อไปยังเกท OR พร้อมกับสัญญาณบวกเพื่อรับสัญญาณเอาต์พุตที่ต้องการในรูปแบบ RZ ดังแสดงในรูปที่ 4
● NRZ(L) ถึง แยกเฟส แมนเชสเตอร์
การแปลงจาก NRZ(L) เป็น Split-phase Manchester นั้นตรงไปตรงมาดังแสดงในรูปที่ 5 สัญญาณอินพุตพร้อมกับสัญญาณนาฬิกาจะถูกส่งไปยังเกต NXOR เพื่อรับสัญญาณเอาท์พุต (ตามแบบแผนของ G. E. Thomas) สามารถใช้เกต XOR เพื่อรับรหัสแมนเชสเตอร์ (ตามอนุสัญญา IEEE 802.3) [https://en.wikipedia.org/wiki/Manchester_code]
● แยกเฟสแมนเชสเตอร์เป็นสปลิตเฟสมาร์ครหัส
การแปลงจากรหัส Split-phase Manchester เป็น Split-phase Mark code แสดงในรูปที่ 6 อินพุตและสัญญาณนาฬิกาจะถูกส่งผ่านประตู AND เพื่อตอกบัตร D-flip flop
D-flip ถูกควบคุมโดยสมการต่อไปนี้:
Qnext = Q'
รับสัญญาณเอาท์พุตได้ดังนี้:
ผลลัพธ์= Clk & Q + CLk' Q'
● การแปลงโค้ดบรรทัดเพิ่มเติม
การใช้การแปลงข้างต้นทำให้สามารถรับการออกแบบสำหรับรหัสบรรทัดเพิ่มเติมได้อย่างง่ายดาย ตัวอย่างเช่น การแปลงรหัส NRZ(L) เป็นรหัสแมนเชสเตอร์แบบแบ่งเฟส และการแปลงรหัสแมนเชสเตอร์แบบแบ่งเฟสเป็นรหัสแบ่งเฟสสามารถรวมกันเพื่อรับ NRZ(L) เป็นรหัสเครื่องหมายแยกเฟสได้โดยตรง
ขั้นตอนที่ 2: การออกแบบ GreenPAK
รูปแบบการแปลงที่แสดงด้านบนสามารถนำไปใช้ได้อย่างง่ายดายในตัวออกแบบ GreenPAK™ พร้อมกับส่วนประกอบภายนอกเสริมบางอย่าง SLG46537 มีทรัพยากรเพียงพอสำหรับการออกแบบที่กำหนด การออกแบบการแปลง GreenPAK มีให้ในลำดับเดียวกันกับเมื่อก่อน
ขั้นตอนที่ 3: NRZ(L) ถึง RZ ใน GreenPAK

การออกแบบ GreenPAK สำหรับ NRZ(L) ถึง RZ ในรูปที่ 7 นั้นคล้ายกับที่แสดงในขั้นตอนที่ 1 ยกเว้นว่ามีการเพิ่มบล็อก DLY หนึ่งบล็อก บล็อกนี้เป็นทางเลือก แต่ให้การขจัดข้อผิดพลาดสำหรับข้อผิดพลาดในการซิงโครไนซ์ระหว่างนาฬิกาและสัญญาณอินพุต
ขั้นตอนที่ 4: NRZ(L) ถึง RB ใน GreenPAK

การออกแบบ GreenPAK สำหรับ NRZ(L) ถึง RB แสดงไว้ในรูปที่ 8 รูปภาพแสดงวิธีเชื่อมต่อส่วนประกอบลอจิกใน CMIC เพื่อให้ได้การออกแบบตามที่กำหนดไว้ในขั้นตอนที่ 1
ขั้นตอนที่ 5: NRZ(L) ถึง AMI ใน GreenPAK

รูปที่ 9 แสดงวิธีกำหนดค่า GreenPAK CMIC สำหรับการแปลงจาก NRZ(L) เป็น AMI แผนผังนี้พร้อมกับส่วนประกอบภายนอกเสริมที่ให้ไว้ในขั้นตอนที่ 1 สามารถใช้สำหรับการแปลงที่ต้องการได้
ขั้นตอนที่ 6: AMI ถึง RZ ใน GreenPAK

ในรูปที่ 10 การออกแบบ GreenPAK สำหรับการแปลง AMI เป็น RZ จะแสดงขึ้น GreenPAK CMIC ที่กำหนดค่าในลักษณะดังกล่าวพร้อมกับ op-amp และไดโอด สามารถใช้เพื่อให้ได้เอาต์พุตที่ต้องการ
ขั้นตอนที่ 7: NRZ(L) ไปยัง Split-phase Manchester ใน GreenPAK

ในรูปที่ 11 ใช้เกท NXOR ในการออกแบบ GreenPAK เพื่อรับการแปลง NRZ(L) เป็นแมนเชสเตอร์แบบแยกเฟส
ขั้นตอนที่ 8: แยกเฟส Manchester เป็น Split-phase Mark Code ใน GreenPAK

ในรูปที่ 12 การออกแบบ GreenPAK สำหรับรหัส Split-phase Manchester ถึง Split-phase Mark การออกแบบสำหรับการแปลงเสร็จสมบูรณ์ และไม่มีส่วนประกอบภายนอกที่จำเป็นสำหรับกระบวนการแปลง บล็อก DLY เป็นทางเลือกสำหรับการลบข้อบกพร่องที่เกิดขึ้นเนื่องจากข้อผิดพลาดในการซิงโครไนซ์ระหว่างสัญญาณอินพุตและสัญญาณนาฬิกา
ขั้นตอนที่ 9: ผลการทดลอง
การออกแบบทั้งหมดที่นำเสนอได้รับการทดสอบเพื่อการตรวจสอบ ผลลัพธ์มีให้ในลำดับเดียวกับเมื่อก่อน
ขั้นตอนที่ 10: NRZ(L) ถึง RZ

ผลการทดลองสำหรับการแปลง NRZ(L) เป็น RZ แสดงในรูปที่ 13 NRZ(L) แสดงเป็นสีเหลือง และ RZ แสดงเป็นสีน้ำเงิน
ขั้นตอนที่ 11: NRZ(L) ถึง RB

ผลการทดลองสำหรับการแปลง NRZ(L) เป็น RB แสดงไว้ในรูปที่ 14 NRZ(L) แสดงเป็นสีแดง และ RB แสดงเป็นสีน้ำเงิน
ขั้นตอนที่ 12: NRZ(L) ถึง AMI

รูปที่ 15 แสดงผลการทดลองสำหรับการแปลง NRZ(L) เป็น AMI NRZ(L) แสดงเป็นสีแดง และ AMI แสดงเป็นสีเหลือง
ขั้นตอนที่ 13: AMI ถึง RZ

รูปที่ 16 แสดงผลการทดลองสำหรับการแปลง AMI เป็น RZ AMI แบ่งออกเป็นส่วนบวกและส่วนลบที่แสดงเป็นสีเหลืองและสีน้ำเงิน สัญญาณ RZ เอาต์พุตที่แปลงแล้วจะแสดงเป็นสีแดง
ขั้นตอนที่ 14: NRZ(L) ไปยัง Split-phase Manchester

รูปที่ 17 แสดงผลการทดลองสำหรับการแปลง NRZ(L) เป็น Split-phase Manchester สัญญาณ NRZ(L) จะแสดงเป็นสีเหลือง และสัญญาณเอาต์พุต Split-phase Manchester ที่แปลงแล้วจะแสดงเป็นสีน้ำเงิน
ขั้นตอนที่ 15: แยกเฟส Manchester เป็น Split-phase Mark Code

รูปที่ 18 แสดงการแปลงจาก Split-phase Manchester เป็น Split-phase Mark code รหัสแมนเชสเตอร์จะแสดงเป็นสีเหลืองในขณะที่รหัสมาร์คจะแสดงเป็นสีน้ำเงิน
บทสรุป
รหัสบรรทัดเป็นพื้นฐานของโปรโตคอลการสื่อสารแบบอนุกรมหลายแบบซึ่งใช้กันอย่างแพร่หลายในอุตสาหกรรมที่หลากหลาย การแปลงรหัสบรรทัดด้วยวิธีที่ง่ายและต้นทุนต่ำในแอปพลิเคชันจำนวนมาก ในรายละเอียดที่สอนได้นี้มีให้สำหรับการแปลงโค้ดหลายบรรทัดโดยใช้ SLG46537 ของ Dialog พร้อมกับส่วนประกอบภายนอกเสริมบางส่วน การออกแบบที่นำเสนอได้รับการตรวจสอบแล้ว และสรุปได้ว่าการแปลงรหัสบรรทัดสามารถทำได้ง่ายโดยใช้ CMIC ของ Dialog
แนะนำ:
USB เป็น Serial TTL: 3 ขั้นตอน

USB to Serial TTL: สำหรับโปรเจ็กต์ PIC บางโปรเจ็กต์ของฉัน ฉันต้องการอินเทอร์เฟซแบบอนุกรม (RS232) เพื่อพิมพ์ข้อความบางข้อความบนหน้าจอคอมพิวเตอร์ของฉัน ฉันยังมีคอมพิวเตอร์เดสก์ท็อปที่มีอินเทอร์เฟซ RS232 เดียว แต่ปัจจุบันคอมพิวเตอร์ส่วนใหญ่มีอินเทอร์เฟซ USB แทน คุณสามารถซื้อ dev
การสื่อสาร Serial Com a Dragonboard 410c Usando Mezzanine 96boards เซนเซอร์: 7 ขั้นตอน

การสื่อสาร Serial Com a Dragonboard 410c Usando Mezzanine 96boards Sensors: O objetivo desse tutorial é Mostrar as etapas needÃÃ'ias para configurar o Ambiente de desenvolvimento, de modo que seja possível comunicar com a Dragonboard 410c คอมพิวเตอร์ คอมพิวเตอร์ / notebook usando comunica&ccedi
เกม De Coding (โปรแกรม) Para Niños: 6 Steps

เกม De Coding (โปรแกรม) Para Niños: Este es uninstrucable para crear un juego sencillo para enseñar a programar a niños. La idea es muy similar al juego Cubetto de Primo, pero la idea es que sea completamente ปรับเปลี่ยนได้และแฮ็กได้ พอ eso comparto el código,
Felt Micro:bit Name Badge - Craft + Coding!: 6 ขั้นตอน (พร้อมรูปภาพ)

Felt Micro:bit Name Badge - Craft + Coding!: สิ่งที่สำคัญที่สุดที่คุณต้องการในแคมป์ฤดูร้อนคือป้ายชื่อสุดเจ๋ง! คำแนะนำเหล่านี้จะแสดงวิธีตั้งโปรแกรม BBC micro:bit เพื่อแสดงให้ทุกคนเห็นว่าคุณเป็นใคร จากนั้นสร้าง และปรับแต่งตราสักหลาดให้บรรจุได้ ขั้นตอนที่ 1 & 2 เป็นเรื่องเกี่ยวกับโปร
Adafruit Feather NRF52 Custom Controls, No Coding Required: 8 Steps (พร้อมรูปภาพ)

Adafruit Feather NRF52 Custom Controls, No Coding Requires: อัปเดต 23 เมษายน 2019 - สำหรับวันที่/เวลาแปลงโดยใช้ Arduino millis () เท่านั้น โปรดดูที่ Arduino Date/Time Plotting/Logging โดยใช้ Millis() และ PfodApp pfodDesigner V3.0.3610+ ฟรีล่าสุดที่สร้างขึ้น ร่าง Arduino ที่สมบูรณ์เพื่อพล็อตข้อมูลกับวันที่/เวลาที่คุณ