HDMI Arria 10 FPGA IP Design เช่นample
คู่มือการใช้งานHDMI Intel® Arria 10 FPGA IP
การออกแบบอดีตample คู่มือผู้ใช้
อัปเดตสำหรับ Intel®Quartus®
ไพรม์ดีไซน์สวีท: 22.4
เวอร์ชันไอพี: 19.7.1
การออกแบบ IP ของ HDMI Intel® FPGA เช่นample คู่มือเริ่มต้นใช้งานอย่างย่อสำหรับอุปกรณ์ Intel® Arria® 10
อุปกรณ์ HDMI Intel® 10 มีม้านั่งจำลองและการออกแบบฮาร์ดแวร์ที่รองรับการรวบรวมและการทดสอบฮาร์ดแวร์
การออกแบบ FPGA IP เช่นampสำหรับ Intel Arria®
HDMI Intel FPGA IP มีการออกแบบดังต่อไปนี้ampเลส:
- การออกแบบการส่งสัญญาณซ้ำ HDMI 2.1 RX-TX พร้อมเปิดใช้งานโหมดการเชื่อมโยงอัตราคงที่ (FRL)
- การออกแบบการส่งสัญญาณซ้ำ HDMI 2.0 RX-TX โดยปิดใช้งานโหมด FRL
- HDCP ผ่านการออกแบบ HDMI 2.0
บันทึก: คุณลักษณะ HDCP ไม่รวมอยู่ในซอฟต์แวร์ Intel® Quartus Prime Pro Edition
หากต้องการเข้าถึงคุณลักษณะ HDCP โปรดติดต่อ Intel ที่ https://www.intel.com/content/www/us/en/broadcast/products/programmable/applications/connectivity-solutions.html.
เมื่อคุณสร้างการออกแบบเช่นample ตัวแก้ไขพารามิเตอร์จะสร้างโดยอัตโนมัติ fileจำเป็นในการจำลอง คอมไพล์ และทดสอบการออกแบบในฮาร์ดแวร์
รูปที่ 1 ขั้นตอนการพัฒนาข้อมูลที่เกี่ยวข้อง
คู่มือผู้ใช้ HDMI Intel FPGA IP
1.1. การสร้างการออกแบบ
ใช้ตัวแก้ไขพารามิเตอร์ HDMI Intel FPGA IP ในซอฟต์แวร์ Intel Quartus Prime เพื่อสร้างการออกแบบ เช่นampเลส อินเทล คอร์ปอเรชั่น สงวนลิขสิทธิ์. Intel, โลโก้ Intel และเครื่องหมาย Intel อื่นๆ เป็นเครื่องหมายการค้าของ Intel Corporation หรือบริษัทในเครือ Intel รับประกันประสิทธิภาพของผลิตภัณฑ์ FPGA และเซมิคอนดักเตอร์ตามข้อมูลจำเพาะปัจจุบันตามการรับประกันมาตรฐานของ Intel แต่ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า Intel ไม่มีส่วนรับผิดชอบหรือความรับผิดที่เกิดขึ้นจากแอปพลิเคชันหรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใดๆ ที่อธิบายไว้ในที่นี้ ยกเว้นตามที่ Intel ตกลงเป็นลายลักษณ์อักษรโดยชัดแจ้ง ขอแนะนำให้ลูกค้าของ Intel ได้รับข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่ใดๆ และก่อนที่จะทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและตราสินค้าอื่นอาจถูกอ้างว่าเป็นทรัพย์สินของผู้อื่น
เริ่มจาก Nios® II EDS ในซอฟต์แวร์ Intel Quartus Prime Pro Edition เวอร์ชัน 19.2 และซอฟต์แวร์ Intel Quartus Prime Standard Edition เวอร์ชัน 19.1 Intel ได้ลบส่วนประกอบ Cygwin ใน Nios II EDS เวอร์ชัน Windows* แทนที่ด้วย Windows* Subsytem for Linux (WSL) หากคุณเป็นผู้ใช้ Windows* คุณต้องติดตั้ง WSL ก่อนที่จะสร้างการออกแบบของคุณ เช่นampเล.
รูปที่ 2 การสร้างขั้นตอนการออกแบบ
- สร้างโครงการที่กำหนดเป้าหมายตระกูลอุปกรณ์ Intel Arria 10 และเลือกอุปกรณ์ที่ต้องการ
- ใน IP Catalog ค้นหาและคลิกสองครั้งที่ Interface Protocols ➤ Audio & Video ➤ HDMI Intel FPGA IP หน้าต่าง New IP Variant หรือ New IP Variation จะปรากฏขึ้น
- ระบุชื่อระดับบนสุดสำหรับรูปแบบ IP ที่คุณกำหนดเอง ตัวแก้ไขพารามิเตอร์จะบันทึกการตั้งค่าความแปรผันของ IP ใน a file ชื่อ .ip หรือ .qsys
- คลิกตกลง ตัวแก้ไขพารามิเตอร์จะปรากฏขึ้น
- บนแท็บ IP ให้กำหนดค่าพารามิเตอร์ที่ต้องการสำหรับทั้ง TX และ RX
- เปิดพารามิเตอร์ Support FRL เพื่อสร้างการออกแบบ HDMI 2.1 เช่นample ในโหมด FRL ปิดเพื่อสร้างการออกแบบ HDMI 2.0 เช่นampไฟล์ที่ไม่มี FRL
- เกี่ยวกับการออกแบบampจากแท็บ เลือก Arria 10 HDMI RX-TX Retransmit
- เลือกการจำลองเพื่อสร้างชุดทดสอบ และเลือกการสังเคราะห์เพื่อสร้างการออกแบบฮาร์ดแวร์ เช่นample คุณต้องเลือกตัวเลือกเหล่านี้อย่างน้อยหนึ่งตัวเลือกเพื่อสร้างการออกแบบ เช่นample fileส. หากคุณเลือกทั้งสองอย่าง เวลาในการสร้างจะนานขึ้น
- สำหรับสร้าง File รูปแบบ เลือก Verilog หรือ VHDL
- สำหรับ Target Development Kit ให้เลือก Intel Arria 10 GX FPGA Development Kit หากคุณเลือกชุดการพัฒนา อุปกรณ์เป้าหมาย (ที่เลือกในขั้นตอนที่ 4) จะเปลี่ยนไปเพื่อให้ตรงกับอุปกรณ์บนบอร์ดเป้าหมาย สำหรับ Intel Arria 10 GX FPGA Development Kit อุปกรณ์เริ่มต้นคือ 10AX115S2F4I1SG
- คลิกสร้าง เช่นampเลอ ดีไซน์.
ข้อมูลที่เกี่ยวข้อง
จะติดตั้งระบบย่อย Windows* สำหรับ Linux* (WSL) บนระบบปฏิบัติการ Windows* ได้อย่างไร
1.2. จำลองการออกแบบ
HDMI testbench จำลองการออกแบบซีเรียลลูปแบ็คจากอินสแตนซ์ TX ไปยังอินสแตนซ์ RX ตัวสร้างรูปแบบวิดีโอภายใน, เสียง sample generator, sideband data generator และโมดูลตัวสร้างข้อมูลเสริมเป็นตัวขับเคลื่อนอินสแตนซ์ HDMI TX และเอาต์พุตอนุกรมจากอินสแตนซ์ TX จะเชื่อมต่อกับอินสแตนซ์ RX ใน testbench
รูปที่ 3 โฟลว์การจำลองการออกแบบ
- ไปยังโฟลเดอร์จำลองที่ต้องการ
- เรียกใช้สคริปต์จำลองสำหรับโปรแกรมจำลองที่รองรับที่คุณเลือก สคริปต์คอมไพล์และรันเครื่องทดสอบในโปรแกรมจำลอง
- วิเคราะห์ผลลัพธ์
ตารางที่ 1. ขั้นตอนในการเรียกใช้การจำลอง
โปรแกรมจำลอง | ไดเรกทอรีการทำงาน | คำแนะนำ |
ริเวียร่า-โปร* | /จำลอง/aldec | ในบรรทัดคำสั่ง พิมพ์ |
vsim -c -do aldec.do | ||
รุ่นซิม* | /จำลอง/พี่เลี้ยง | ในบรรทัดคำสั่ง พิมพ์ |
vsim -c -do Mentor.do | ||
วีซีเอส* | /simulation/snopsys/vcs | ในบรรทัดคำสั่ง พิมพ์ |
ที่มา vcs_sim.sh | ||
วีซีเอส เอ็มเอ็กซ์ | /simulation/snopsys/ vcsmx.php? | ในบรรทัดคำสั่ง พิมพ์ |
ที่มา vcsmx_sim.sh | ||
เอ็กซ์ซีเลียม* ขนาน | /จำลอง/xcelium | ในบรรทัดคำสั่ง พิมพ์ |
ที่มา xcelium_sim.sh |
การจำลองที่สำเร็จจะจบลงด้วยข้อความต่อไปนี้:
# สัญลักษณ์_PER_CLOCK = 2
# วิค = 4
# FRL_RATE = 0
# บีพีพี = 0
# AUDIO_FREQUENCY (กิโลเฮิรตซ์) = 48
# เสียง_ช่อง = 8
# บัตรผ่านจำลอง
1.3. รวบรวมและทดสอบการออกแบบ
เพื่อคอมไพล์และรันการทดสอบการสาธิตบนฮาร์ดแวร์example ออกแบบ ทำตามขั้นตอนเหล่านี้:
- ตรวจสอบให้แน่ใจว่าฮาร์ดแวร์เช่นampการสร้างการออกแบบเลอเสร็จสมบูรณ์
- เปิดใช้ซอฟต์แวร์ Intel Quartus Prime และเปิด .qpf file.
• การออกแบบ HDMI 2.1 เช่นampไฟล์ที่เปิดใช้งาน Support FRL: project directory/quartus/a10_hdmi21_frl_demo.qpf
• การออกแบบ HDMI 2.0 เช่นampไฟล์ที่ปิดใช้งาน Support FRL: projectd irectory/quartus/a10_hdmi2_demo.qpf - คลิกการประมวลผล ➤ เริ่มการคอมไพล์
- หลังจากคอมไพล์สำเร็จแล้ว ไฟล์ .sof file จะถูกสร้างขึ้นใน quatus/output_fileไดเร็กทอรี
- เชื่อมต่อกับออนบอร์ด FMC พอร์ต B (J2):
• การออกแบบ HDMI 2.1 เช่นampไฟล์ที่เปิดใช้งานการรองรับ FRL: Bitec HDMI 2.1 FMC Daughter Card Rev 9
บันทึก: คุณสามารถเลือกการแก้ไขการ์ดลูกสาว Bitec HDMI ของคุณได้ ภายใต้การออกแบบ Exampแท็บ ตั้งค่าการแก้ไขการ์ดลูกสาว HDMI เป็น Revision 9, Revision หรือไม่มีการ์ดลูกสาว ค่าเริ่มต้นคือการแก้ไข 9
• การออกแบบ HDMI 2.0 เช่นampไฟล์ที่ปิดใช้งานการรองรับ FRL: Bitec HDMI 2.0 FMC Daughter Card Rev 11 - เชื่อมต่อ TX (P1) ของการ์ดลูก Bitec FMC เข้ากับแหล่งวิดีโอภายนอก
- เชื่อมต่อ RX (P2) ของการ์ดลูก Bitec FMC เข้ากับอ่างเก็บวิดีโอภายนอกหรือตัววิเคราะห์วิดีโอ
- ตรวจสอบให้แน่ใจว่าสวิตช์ทั้งหมดบนบอร์ดพัฒนาอยู่ในตำแหน่งเริ่มต้น
- กำหนดค่าอุปกรณ์ Intel Arria 10 ที่เลือกบนบอร์ดพัฒนาโดยใช้ .sof ที่สร้างขึ้น file (เครื่องมือ ➤ โปรแกรมเมอร์ ).
- ตัววิเคราะห์ควรแสดงวิดีโอที่สร้างจากแหล่งที่มา
ข้อมูลที่เกี่ยวข้อง
คู่มือผู้ใช้ชุดพัฒนา Intel Arria 10 FPGA
1.4. HDMI Intel FPGA IP Design เช่นampพารามิเตอร์
ตารางที่ 2.
HDMI Intel FPGA IP Design เช่นample พารามิเตอร์สำหรับอุปกรณ์ Intel Arria 10 ตัวเลือกเหล่านี้มีให้สำหรับอุปกรณ์ Intel Arria 10 เท่านั้น
พารามิเตอร์ | ค่า |
คำอธิบาย |
การออกแบบที่มีอยู่เช่นample | ||
เลือกดีไซน์ | การส่งสัญญาณซ้ำของ Arria 10 HDMI RX-TX | เลือกการออกแบบ เช่นampไฟล์ที่จะสร้างขึ้น |
การออกแบบอดีตample Files |
||
การจำลอง | เปิด, ปิด | เปิดตัวเลือกนี้เพื่อสร้างสิ่งที่จำเป็น files สำหรับโต๊ะทดสอบจำลอง |
สังเคราะห์ | เปิด, ปิด | เปิดตัวเลือกนี้เพื่อสร้างสิ่งที่จำเป็น files สำหรับการคอมไพล์ Intel Quartus Prime และการสาธิตฮาร์ดแวร์ |
รูปแบบ HDL ที่สร้าง |
||
สร้าง File รูปแบบ | เวอริล็อก, วีเอชดีแอล | เลือกรูปแบบ HDL ที่คุณต้องการสำหรับการออกแบบที่สร้างขึ้น เช่นample fileชุด. บันทึก: ตัวเลือกนี้กำหนดรูปแบบสำหรับ IP ระดับบนสุดที่สร้างขึ้นเท่านั้น fileส. อื่น ๆ ทั้งหมด files (เช่น เช่นampม้านั่งทดสอบและระดับสูงสุด fileสำหรับการสาธิตฮาร์ดแวร์) อยู่ในรูปแบบ Verilog HDL |
ชุดพัฒนาเป้าหมาย |
||
เลือกบอร์ด | ไม่มีชุดพัฒนา | เลือกบอร์ดสำหรับการออกแบบเป้าหมายเช่นampเล. |
ชุดพัฒนา Arria 10 GX FPGA
ชุดพัฒนาแบบกำหนดเอง |
• ไม่มีชุดพัฒนา: ตัวเลือกนี้ไม่รวมฮาร์ดแวร์ทั้งหมดสำหรับการออกแบบ เช่นampเลอ แกน IP ตั้งค่าการกำหนดพินทั้งหมดเป็นพินเสมือน • Arria 10 GX FPGA Development Kit: ตัวเลือกนี้จะเลือกอุปกรณ์เป้าหมายของโครงการโดยอัตโนมัติเพื่อให้ตรงกับอุปกรณ์ในชุดพัฒนานี้ คุณสามารถเปลี่ยนอุปกรณ์เป้าหมายโดยใช้ เปลี่ยนอุปกรณ์เป้าหมาย พารามิเตอร์หากการแก้ไขบอร์ดของคุณมีตัวแปรอุปกรณ์อื่น แกน IP ตั้งค่าการกำหนดพินทั้งหมดตามชุดการพัฒนา |
|
•ชุดพัฒนาแบบกำหนดเอง: ตัวเลือกนี้ช่วยให้สามารถออกแบบได้เช่นample ได้รับการทดสอบบนชุดพัฒนาของบุคคลที่สามด้วย Intel FPGA คุณอาจต้องตั้งค่าการกำหนดพินด้วยตัวคุณเอง |
อุปกรณ์เป้าหมาย |
||
เปลี่ยนอุปกรณ์เป้าหมาย | เปิด, ปิด | เปิดใช้ตัวเลือกนี้และเลือกรุ่นอุปกรณ์ที่ต้องการสำหรับชุดพัฒนา |
การออกแบบ HDMI 2.1 เช่นample (สนับสนุน FRL = 1)
การออกแบบ HDMI 2.1 เช่นampในโหมด FRL จะแสดงอินสแตนซ์ HDMI หนึ่งลูปแบ็คแบบขนานที่ประกอบด้วยช่อง RX สี่ช่องและช่อง TX สี่ช่อง
ตารางที่ 3. การออกแบบ HDMI 2.1 เช่นampไฟล์สำหรับอุปกรณ์ Intel Arria 10
การออกแบบอดีตample | อัตราข้อมูล | โหมดช่อง |
ประเภทย้อนกลับ |
การส่งสัญญาณซ้ำของ Arria 10 HDMI RX-TX | • 12 Gbps (FRL) • 10 Gbps (FRL) • 8Gbps (FRL) • 6 Gbps (FRL) • 3 Gbps (FRL) • <6 Gbps (TMDS) |
ซิมเพล็กซ์ | ขนานกับบัฟเฟอร์ FIFO |
คุณสมบัติ
- การออกแบบสร้างอินสแตนซ์บัฟเฟอร์ FIFO เพื่อทำการสตรีมวิดีโอ HDMI โดยตรงระหว่างซิงก์ HDMI 2.1 และแหล่งสัญญาณ
- การออกแบบสามารถสลับระหว่างโหมด FRL และโหมด TMDS ระหว่างรันไทม์
- การออกแบบใช้สถานะ LED สำหรับการดีบักในช่วงต้นtage.
- การออกแบบมาพร้อมกับอินสแตนซ์ HDMI RX และ TX
- การออกแบบสาธิตการแทรกและการกรองของ Dynamic Range และ Mastering (HDR) InfoFrame ในโมดูลลิงก์ RX-TX
- การออกแบบจะต่อรองอัตรา FRL ระหว่างซิงก์ที่เชื่อมต่อกับ TX และแหล่งที่มาที่เชื่อมต่อกับ RX การออกแบบส่งผ่าน EDID จากซิงก์ภายนอกไปยัง RX บนบอร์ดในการกำหนดค่าเริ่มต้น โปรเซสเซอร์ Nios II ต่อรองการเชื่อมโยงตามความสามารถของอ่างล้างจานที่เชื่อมต่อกับ TX คุณยังสามารถสลับสวิตช์ออนบอร์ด user_dipsw เพื่อควบคุมความสามารถ TX และ RX FRL ด้วยตนเอง
- การออกแบบประกอบด้วยคุณสมบัติการดีบักหลายอย่าง
อินสแตนซ์ RX รับแหล่งที่มาของวิดีโอจากตัวสร้างวิดีโอภายนอก จากนั้นข้อมูลจะผ่าน FIFO แบบย้อนกลับก่อนที่จะส่งไปยังอินสแตนซ์ TX คุณต้องเชื่อมต่อเครื่องวิเคราะห์วิดีโอภายนอก จอภาพ หรือโทรทัศน์ที่มีการเชื่อมต่อ HDMI เข้ากับแกน TX เพื่อตรวจสอบการทำงาน
2.1. HDMI 2.1 RX-TX แผนภาพการออกแบบการส่งสัญญาณซ้ำ
การออกแบบการส่งสัญญาณซ้ำของ HDMI RX-TX เช่นampสาธิตการวนกลับแบบขนานในโหมดช่องสัญญาณ Simplex สำหรับ HDMI 2.1 โดยเปิดใช้งานการรองรับ FRL
รูปที่ 4 แผนภาพบล็อกการส่งสัญญาณซ้ำ HDMI 2.1 RX-TX2.2. การสร้างการออกแบบ RX-Only หรือ TX-Onlyns
สำหรับผู้ใช้ขั้นสูง คุณสามารถใช้การออกแบบ HDMI 2.1 เพื่อสร้างการออกแบบ TX- หรือ RX-only
รูปที่ 5 ส่วนประกอบที่จำเป็นสำหรับการออกแบบเฉพาะ RX หรือ TX เท่านั้นหากต้องการใช้ส่วนประกอบ RX- หรือ TX เท่านั้น ให้นำบล็อกที่ไม่เกี่ยวข้องออกจากการออกแบบ
ตารางที่ 4. ข้อกำหนดการออกแบบเฉพาะ RX และ TX เท่านั้น
ข้อกำหนดของผู้ใช้ | อนุรักษ์ | ลบ |
เพิ่ม |
HDMI RX เท่านั้น | RX ตัวท๊อป | • TX ยอดนิยม • ลิงค์ RX-TX • ระบบย่อยซีพียู • อนุญาโตตุลาการเครื่องรับส่งสัญญาณ |
- |
HDMI TX เท่านั้น | •TX ด้านบน •ระบบย่อยซีพียู |
•RX ตัวท๊อป • ลิงค์ RX-TX •อนุญาโตตุลาการเครื่องรับส่งสัญญาณ |
Video Pattern Generator (โมดูลแบบกำหนดเองหรือสร้างจาก Video and Image Processing (VIP) Suite) |
นอกจากการเปลี่ยนแปลง RTL แล้ว คุณต้องแก้ไขสคริปต์ main.c ด้วย
• สำหรับการออกแบบเฉพาะ HDMI TX ให้แยกการรอสถานะล็อค HDMI RX ออกโดยลบบรรทัดต่อไปนี้ออกแล้วแทนที่ด้วย
tx_xcvr_reconfig (tx_frl_rate);
rx_hdmi_lock = READ_PIO(PIO_IN0_BASE, PIO_RX_LOCKED_OFFSET,
PIO_RX_LOCKED_WIDTH);
ในขณะที่ (rx_hdmi_lock == 0) {
ถ้า (check_hpd_isr()) { แตก; }
// rx_vid_lock = READ_PIO(PIO_IN0_BASE, PIO_VID_LOCKED_OFFSET,
PIO_VID_LOCKED_WIDTH);
rx_hdmi_lock = READ_PIO(PIO_IN0_BASE, PIO_RX_LOCKED_OFFSET,
PIO_RX_LOCKED_WIDTH);
// กำหนดค่า Tx ใหม่หลังจาก rx ถูกล็อค
ถ้า (rx_hdmi_lock == 1) {
ถ้า (READ_PIO(PIO_IN0_BASE, PIO_LOOPBACK_MODE_OFFSET,
PIO_LOOPBACK_MODE_WIDTH) == 1) {
rx_frl_rate = READ_PIO(PIO_IN0_BASE, PIO_RX_FRL_RATE_OFFSET,
PIO_RX_FRL_RATE_WIDTH);
tx_xcvr_reconfig (rx_frl_rate);
} อื่น {
tx_xcvr_reconfig (tx_frl_rate);
}}}
• สำหรับการออกแบบเฉพาะ HDMI RX ให้เก็บเฉพาะบรรทัดต่อไปนี้ในสคริปต์ main.c:
REDRIVER_INIT();
hdmi_rx_init();
2.3. ข้อกำหนดของฮาร์ดแวร์และซอฟต์แวร์
Intel ใช้ฮาร์ดแวร์และซอฟต์แวร์ต่อไปนี้เพื่อทดสอบการออกแบบ เช่นampเล.
ฮาร์ดแวร์
- ชุดพัฒนา Intel Arria 10 GX FPGA
- แหล่งสัญญาณ HDMI 2.1 (เครื่องกำเนิดข้อมูลควอนตัม 980 48G)
- HDMI 2.1 Sink (ตัววิเคราะห์ข้อมูลควอนตัม 980 48G)
- การ์ดลูก Bitec HDMI FMC 2.1 (Revision 9)
- สาย HDMI 2.1 Category 3 (ทดสอบด้วยสาย Belkin 48Gbps HDMI 2.1)
ซอฟต์แวร์
- ซอฟต์แวร์ Intel Quartus Prime Pro Edition เวอร์ชัน 20.1
2.4. โครงสร้างไดเร็กทอรี
ไดเร็กทอรีประกอบด้วยไฟล์ที่สร้างขึ้น files สำหรับการออกแบบ HDMI Intel FPGA IP เช่นampเล.
รูปที่ 6 โครงสร้างไดเร็กทอรีสำหรับการออกแบบ เช่นampleตารางที่ 5. RTL ที่สร้างขึ้น Files
โฟลเดอร์ | Files/โฟลเดอร์ย่อย |
ทั่วไป | clock_control.ip |
clock_crosser.v | |
dcfifo_inst.v | |
edge_detector.sv | |
ฟิโฟ.ไอพี | |
output_buf_i2c.ip |
test_pattern_gen.v | |
ทีพีจี.วี | |
tpg_data.v | |
จีเอ็กซ์บี | gxb_rx.ip |
gxb_rx_reset.ip | |
gxb_tx.ip | |
gxb_tx_fpll.ip | |
gxb_tx_reset.ip | |
hdmi_rx | hdmi_rx.ip |
hdmi_rx_top.v | |
Panasonic.hex | |
hdmi_tx | hdmi_tx.ip |
hdmi_tx_top.v | |
i2c_slave | i2c_avl_mst_intf_gen.v |
i2c_clk_cnt.v | |
i2c_condt_det.v | |
i2c_databuffer.v | |
i2c_rxshifter.v | |
i2c_slvfsm.v | |
i2c_spksupp.v | |
i2c_txout.v | |
i2c_txshifter.v | |
i2cslave_to_avlmm_bridge.v | |
พีแอลแอล | pll_hdmi_reconfig.ip |
pll_frl.ip | |
pll_reconfig_ctrl.v | |
pll_tmds.ip | |
pll_vidclk.ip | |
quartus.ini | |
rxtx_link | altera_hdmi_hdr_infoframe.v |
aux_mux.qsys | |
aux_retransmit.v | |
aux_src_gen.v | |
ext_aux_filter.v |
rxtx_link.v | |
scfifo_vid.ip | |
การกำหนดค่าใหม่ | mr_rx_iopll_tmds/ |
mr_rxphy/ | |
mr_tx_fpll/ | |
altera_xcvr_functions.sv | |
mr_compare.sv | |
mr_rate_detect.v | |
mr_rx_rate_detect_top.v | |
mr_rx_rcfg_ctrl.v | |
mr_rx_reconfig.v | |
mr_tx_rate_detect_top.v | |
mr_tx_rcfg_ctrl.v | |
mr_tx_reconfig.v | |
rcfg_array_streamer_iopll.sv | |
rcfg_array_streamer_rxphy.sv | |
rcfg_array_streamer_rxphy_xn.sv | |
rcfg_array_streamer_txphy.sv | |
rcfg_array_streamer_txphy_xn.sv | |
rcfg_array_streamer_txpll.sv | |
เอสดีซี | a10_hdmi2.sdc |
jtag.sdc |
ตารางที่ 6. การจำลองที่สร้างขึ้น Files
อ้างถึง ม้านั่งทดสอบจำลอง สำหรับข้อมูลเพิ่มเติม
โฟลเดอร์ | Files |
อัลเดค | /aldec.do |
/rivierapro_setup.tcl | |
จังหวะ | /cds.lib |
/hdl.var | |
ที่ปรึกษา | /mentor.do |
/msim_setup.tcl | |
บทสรุป | /วีซีเอส/fileรายการฉ |
/vcs/vcs_setup.sh |
/vcs/vcs_sim.sh | |
/vcsmx/sinopsys_sim_setup | |
/vcsmx/vcsmx_setup.sh | |
/vcsmx/vcsmx_sim.sh | |
เอ็กซ์ซีเลียม | /cds.lib |
/hdl.var | |
/xcelium_setup.sh | |
/xcelium_sim.sh | |
ทั่วไป | /modelsim_fileส.ทีคแอล |
/ริเวียร่า_fileส.ทีคแอล | |
/วีซีเอส_fileส.ทีคแอล | |
/vcsmx_fileส.ทีคแอล | |
/เอ็กซ์ซีเลียม_fileส.ทีคแอล | |
hdmi_rx | /hdmi_rx.ip |
/พานาโซนิค.hex | |
hdmi_tx | /hdmi_tx.ip |
ตารางที่ 7. ซอฟต์แวร์ที่สร้างขึ้น Files
โฟลเดอร์ | Files |
tx_control_src บันทึก: โฟลเดอร์ tx_control ยังมีสำเนาเหล่านี้ด้วย files. |
โกลบอล.เอช |
hdmi_rx.c | |
hdmi_rx.h | |
hdmi_tx.c | |
hdmi_tx.h | |
hdmi_tx_read_edid.ค | |
hdmi_tx_read_edid.h | |
intel_fpga_i2c.c | |
intel_fpga_i2c.h | |
หลักค | |
pio_read_write.c | |
pio_read_write.h |
2.5. ส่วนประกอบการออกแบบ
การออกแบบ HDMI Intel FPGA IP เช่นample ประกอบด้วยส่วนประกอบระดับบนสุดทั่วไปและส่วนประกอบระดับบนสุดของ HDMI TX และ RX
2.5.1. ส่วนประกอบ HDMI TX
ส่วนประกอบระดับบนสุดของ HDMI TX ประกอบด้วยส่วนประกอบระดับบนสุดของแกน TX และ IOPLL, ตัวควบคุมการรีเซ็ต PHY ของตัวรับส่งสัญญาณ, PHY ดั้งเดิมของตัวรับส่งสัญญาณ, TX PLL, การจัดการการกำหนดค่าใหม่ TX และบล็อกบัฟเฟอร์เอาต์พุต
รูปที่ 7 ส่วนประกอบด้านบนสุดของ HDMI TXตาราง 8. ส่วนประกอบด้านบนสุดของ HDMI TX
โมดูล |
คำอธิบาย |
แกน HDMI TX | IP รับข้อมูลวิดีโอจากระดับบนสุดและดำเนินการเข้ารหัสข้อมูลเสริม เข้ารหัสข้อมูลเสียง เข้ารหัสข้อมูลวิดีโอ เข้ารหัส เข้ารหัส TMDS หรือแพ็คเก็ต |
ไอโอพีแอล | IOPLL (iopll_frl) สร้างนาฬิกา FRL สำหรับคอร์ TX นาฬิกาอ้างอิงนี้รับนาฬิกาเอาต์พุต TX FPLL ความถี่สัญญาณนาฬิกา FRL = อัตราข้อมูลต่อเลน x 4 / (อักขระ FRL ต่อสัญญาณนาฬิกา x 18) |
ตัวรับส่งสัญญาณ PHY รีเซ็ตตัวควบคุม | ตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ PHY ช่วยให้มั่นใจได้ถึงการเริ่มต้นตัวรับส่งสัญญาณ TX ที่เชื่อถือได้ อินพุตรีเซ็ตของคอนโทรลเลอร์นี้ถูกกระตุ้นจากระดับบนสุด และสร้างสัญญาณรีเซ็ตแบบอะนาล็อกและดิจิทัลที่สอดคล้องกันไปยังบล็อก Transceiver Native PHY ตามลำดับการรีเซ็ตภายในบล็อก สัญญาณเอาต์พุต tx_ready จากบล็อกนี้ยังทำหน้าที่เป็นสัญญาณรีเซ็ตไปยัง HDMI Intel FPGA IP เพื่อระบุว่าตัวรับส่งสัญญาณกำลังทำงานอยู่ และพร้อมที่จะรับข้อมูลจากคอร์ |
ตัวรับส่งสัญญาณ Native PHY | บล็อกตัวรับส่งสัญญาณแบบแข็งที่รับข้อมูลแบบขนานจากคอร์ HDMI TX และทำการซีเรียลไลซ์ข้อมูลจากการส่งสัญญาณ บันทึก: เพื่อให้เป็นไปตามข้อกำหนดการเอียงระหว่างช่องสัญญาณ HDMI TX ให้ตั้งค่าตัวเลือกโหมดการเชื่อมต่อช่องสัญญาณ TX ในตัวแก้ไขพารามิเตอร์ Intel Arria 10 Transceiver Native PHY เป็น การเชื่อม PMA และ PCS. คุณต้องเพิ่มข้อกำหนดข้อจำกัดความเอียงสูงสุด (set_max_skew) ให้กับสัญญาณรีเซ็ตแบบดิจิทัลจากตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ (tx_digitalreset) ตามที่แนะนำในส่วน คู่มือผู้ใช้ Intel Arria 10 Transceiver PHY |
TX พีแอลแอล | บล็อก PLL ของเครื่องส่งสัญญาณให้สัญญาณนาฬิกาแบบเร็วแบบอนุกรมไปยังบล็อก Transceiver Native PHY สำหรับการออกแบบ IP ของ HDMI Intel FPGA เช่นample, fPLL ใช้เป็น TX PLL TX PLL มีนาฬิกาอ้างอิงสองตัว • นาฬิกาอ้างอิง 0 เชื่อมต่อกับออสซิลเลเตอร์ที่ตั้งโปรแกรมได้ (พร้อมความถี่สัญญาณนาฬิกา TMDS) สำหรับโหมด TMDS ในการออกแบบนี้เช่นample, นาฬิกา RX TMDS ใช้เพื่อเชื่อมต่อกับนาฬิกาอ้างอิง 0 สำหรับโหมด TMDS Intel ขอแนะนำให้คุณใช้ออสซิลเลเตอร์ที่ตั้งโปรแกรมได้ที่มีความถี่สัญญาณนาฬิกา TMDS สำหรับสัญญาณนาฬิกาอ้างอิง 0 • นาฬิกาอ้างอิง 1 เชื่อมต่อกับนาฬิกา 100 MHz คงที่สำหรับโหมด FRL |
การจัดการการกำหนดค่าใหม่ TX | •ในโหมด TMDS บล็อกการจัดการการกำหนดค่าใหม่ TX จะกำหนดค่า TX PLL ใหม่สำหรับความถี่สัญญาณนาฬิกาเอาต์พุตที่แตกต่างกันตามความถี่สัญญาณนาฬิกา TMDS ของวิดีโอเฉพาะ •ในโหมด FRL บล็อกการจัดการการกำหนดค่าใหม่ TX จะกำหนดค่า TX PLL ใหม่เพื่อจัดหาสัญญาณนาฬิกาแบบเร็วแบบอนุกรมสำหรับ 3 Gbps, 6 Gbps, 8 Gbps, 10 Gbps และ 12 Gbps ตามฟิลด์ FRL_Rate ในการลงทะเบียน 0x31 SCDC •บล็อกการจัดการการกำหนดค่าใหม่ TX จะสลับนาฬิกาอ้างอิง TX PLL ระหว่างนาฬิกาอ้างอิง 0 สำหรับโหมด TMDS และนาฬิกาอ้างอิง 1 สำหรับโหมด FRL |
บัฟเฟอร์เอาต์พุต | บัฟเฟอร์นี้ทำหน้าที่เป็นอินเทอร์เฟซเพื่อโต้ตอบกับอินเทอร์เฟซ I2C ของ HDMI DDC และส่วนประกอบ redriver |
ตารางที่ 9.อัตราข้อมูลตัวรับส่งสัญญาณและตัวรับampling Factor แต่ละช่วงความถี่สัญญาณนาฬิกา
โหมด | อัตราข้อมูล | แจ็คเก็ตampเลอร์ 1 (2x โอเวอร์ampเลอ) | แจ็คเก็ตampเลอร์ 2 (4x โอเวอร์ampเลอ) | แจ็คเก็ตample ปัจจัย | แจ็คเก็ตampนำอัตราข้อมูล (Mbps) |
ทีเอ็มดีเอส | 250–1000 | On | On | 8 | 2000–8000 |
ทีเอ็มดีเอส | 1000–6000 | On | ปิด | 2 | 2000–12000 |
เอฟอาร์แอล | 3000 | ปิด | ปิด | 1 | 3000 |
เอฟอาร์แอล | 6000 | ปิด | ปิด | 1 | 6000 |
เอฟอาร์แอล | 8000 | ปิด | ปิด | 1 | 8000 |
เอฟอาร์แอล | 10000 | ปิด | ปิด | 1 | 10000 |
เอฟอาร์แอล | 12000 | ปิด | ปิด | 1 | 12000 |
รูปที่ 8 โฟลว์ลำดับการกำหนดค่าใหม่ TX2.5.2. ส่วนประกอบ HDMI RX
ส่วนประกอบระดับบนสุดของ HDMI RX ประกอบด้วยส่วนประกอบระดับบนสุดของคอร์ RX, I²C สเลฟและ EDID RAM ที่เป็นทางเลือก, IOPLL, ตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ PHY, PHY ดั้งเดิมของ RX และบล็อกการจัดการการกำหนดค่า RX ใหม่
รูปที่ 9 ส่วนประกอบด้านบนสุดของ HDMI RXตารางที่ 10. ส่วนประกอบด้านบนสุดของ HDMI RX
โมดูล |
คำอธิบาย |
แกน HDMI RX | IP ได้รับข้อมูลซีเรียลจาก Transceiver Native PHY และดำเนินการจัดตำแหน่งข้อมูล, channeldesew, การถอดรหัส TMDS, การถอดรหัสข้อมูลเสริม, การถอดรหัสข้อมูลวิดีโอ, การถอดรหัสข้อมูลเสียง และการถอดรหัส |
I2C ทาส | I2C เป็นอินเทอร์เฟซที่ใช้สำหรับ Sink Display Data Channel (DDC) และ Status and Data Channel (SCDC) แหล่งสัญญาณ HDMI ใช้ DDC เพื่อกำหนดความสามารถและคุณลักษณะของซิงก์โดยการอ่านโครงสร้างข้อมูล Enhanced Extended Display Identification Data (E-EDID) ที่อยู่ทาส I8C 2 บิตสำหรับ E-EDID คือ 0xA0 และ 0xA1 LSB ระบุประเภทการเข้าถึง: 1 สำหรับการอ่านและ 0 สำหรับการเขียน เมื่อเกิดเหตุการณ์ HPD สเลฟ I2C จะตอบสนองต่อข้อมูล E-EDID โดยการอ่านจากบนชิป คอนโทรลเลอร์เฉพาะสเลฟของ I2C ยังรองรับ SCDC สำหรับ HDMI 2.0 และ 2.1 ที่อยู่สเลฟ I9C 2 บิตสำหรับ SCDC คือ 0xA8 และ 0xA9 เมื่อเหตุการณ์ HPD เกิดขึ้น สเลฟ I2C จะทำธุรกรรมเขียนหรืออ่านไปยังหรือจากอินเทอร์เฟซ SCDC ของคอร์ HDMI RX กระบวนการฝึกอบรมลิงก์สำหรับลิงก์อัตราคงที่ (FRL) ยังเกิดขึ้นผ่าน I2C ในระหว่างเหตุการณ์ HPD หรือเมื่อแหล่งที่มาเขียนอัตรา FRL ที่ต่างกันไปยังการลงทะเบียนอัตรา FRL (SCDC ลงทะเบียน 0x31 บิต[3:0]) กระบวนการฝึกอบรมลิงก์จะเริ่มต้นขึ้น บันทึก: ไม่จำเป็นต้องใช้ตัวควบคุม I2C Slave-only สำหรับ SCDC หากไม่ต้องการใช้ HDMI 2.0 หรือ HDMI 2.1 |
อีดีดี แรม | การออกแบบจัดเก็บข้อมูล EDID โดยใช้ RAM 1-Port IP โปรโตคอลบัสอนุกรมแบบสองสายมาตรฐาน (นาฬิกาและข้อมูล) (ตัวควบคุมทาสอย่างเดียว I2C) จะถ่ายโอนโครงสร้างข้อมูล E-EDID ที่สอดคล้องกับ CEA-861-D EDID RAM นี้เก็บข้อมูล E-EDID • เมื่ออยู่ในโหมด TMDS การออกแบบจะรองรับ EDID passthrough จาก TX ถึง RX ในระหว่างการส่งผ่าน EDID เมื่อ TX เชื่อมต่อกับซิงก์ภายนอก โปรเซสเซอร์ Nios II จะอ่าน EDID จากซิงก์ภายนอกและเขียนไปยัง EDID RAM • เมื่ออยู่ในโหมด FRL โปรเซสเซอร์ Nios II จะเขียน EDID ที่กำหนดค่าไว้ล่วงหน้าสำหรับแต่ละอัตราลิงก์ตามพารามิเตอร์ HDMI_RX_MAX_FRL_RATE ในสคริปต์ global.h ใช้อินพุต HDMI_RX_MAX_FRL_RATE ต่อไปนี้สำหรับอัตรา FRL ที่รองรับ: • 1: 3G 3 เลน • 2: 6G 3 เลน •3: 6G 4 เลน • 4: 8G 4 เลน •5: 10G 4 เลน (ค่าเริ่มต้น) •6: 12G 4 เลน |
ไอโอพีแอล | HDMI RX ใช้ IOPLL สองตัว • IOPLL แรก (pll_tmds) สร้างนาฬิกาอ้างอิง RX CDR IOPLL นี้ใช้ในโหมด TMDS เท่านั้น นาฬิกาอ้างอิงของ IOPLL นี้ได้รับนาฬิกา TMDS โหมด TMDS ใช้ IOPLL นี้เนื่องจาก CDR ไม่สามารถรับนาฬิกาอ้างอิงที่ต่ำกว่า 50 MHz และช่วงความถี่สัญญาณนาฬิกา TMDS ตั้งแต่ 25 MHz ถึง 340 MHz IOPLL นี้ให้ความถี่นาฬิกาที่เป็น 5 เท่าของนาฬิกาอ้างอิงอินพุตสำหรับช่วงความถี่ระหว่าง 25 MHz ถึง 50 MHz และให้ความถี่สัญญาณนาฬิกาเดียวกันกับนาฬิกาอ้างอิงอินพุตสำหรับช่วงความถี่ระหว่าง 50 MHz ถึง 340 MHz • IOPLL ที่สอง (iopll_frl) สร้างนาฬิกา FRL สำหรับคอร์ RX นาฬิกาอ้างอิงนี้ได้รับนาฬิกา CDR ที่กู้คืน ความถี่สัญญาณนาฬิกา FRL = อัตราข้อมูลต่อเลน x 4 / (อักขระ FRL ต่อสัญญาณนาฬิกา x 18) |
ตัวรับส่งสัญญาณ PHY รีเซ็ตตัวควบคุม | ตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ PHY ช่วยให้มั่นใจได้ถึงการเริ่มต้นตัวรับส่งสัญญาณ RX ที่เชื่อถือได้ อินพุตรีเซ็ตของคอนโทรลเลอร์นี้ถูกกระตุ้นโดยการกำหนดค่า RX ใหม่ และสร้างสัญญาณรีเซ็ตแบบอะนาล็อกและดิจิทัลที่สอดคล้องกันไปยังบล็อก Transceiver Native PHY ตามลำดับการรีเซ็ตภายในบล็อก |
RX เนทีฟ PHY | บล็อกตัวรับส่งสัญญาณแบบแข็งที่รับข้อมูลซีเรียลจากแหล่งวิดีโอภายนอก จะทำการดีซีเรียลไลซ์ข้อมูลซีเรียลให้เป็นข้อมูลแบบขนานก่อนที่จะส่งข้อมูลไปยังแกน HDMI RX บล็อกนี้ทำงานในโหมด Enhanced PCS สำหรับ FRL RX CDR มีนาฬิกาอ้างอิงสองนาฬิกา • นาฬิกาอ้างอิง 0 เชื่อมต่อกับนาฬิกาเอาต์พุตของ IOPLL TMDS (pll_tmds) ซึ่งได้มาจากนาฬิกา TMDS • นาฬิกาอ้างอิง 1 เชื่อมต่อกับนาฬิกา 100 MHz คงที่ ในโหมด TMDS RX CDR ได้รับการกำหนดค่าใหม่เพื่อเลือกนาฬิกาอ้างอิง 0 และในโหมด FRL RX CDR ได้รับการกำหนดค่าใหม่เพื่อเลือกนาฬิกาอ้างอิง 1 |
การจัดการการกำหนดค่าใหม่ RX | ในโหมด TMDS บล็อกการจัดการการกำหนดค่า RX ใหม่จะใช้วงจรตรวจจับอัตราด้วย HDMI PLL เพื่อขับเคลื่อนตัวรับส่งสัญญาณ RX ให้ทำงานที่อัตราลิงก์ใดก็ได้ตั้งแต่ 250 Mbps ถึง 6,000 Mbps ในโหมด FRL บล็อกการจัดการการกำหนดค่า RX ใหม่จะกำหนดค่าตัวรับส่งสัญญาณ RX ใหม่ให้ทำงานที่ 3 Gbps, 6 Gbps, 8 Gbps, 10 Gbps หรือ 12 Gbps ขึ้นอยู่กับอัตรา FRL ในช่องลงทะเบียน SCDC_FRL_RATE (0x31[3:0]) บล็อกการจัดการการกำหนดค่าใหม่ RX จะสลับไปมาระหว่าง Standard PCS/RX สำหรับโหมด TMDS และ Enhanced PCS สำหรับโหมด FRL โปรดดูที่ รูปที่ 10 ที่หน้า 22. |
รูปที่ 10 โฟลว์ลำดับการกำหนดค่าใหม่ RX
รูปภาพแสดงลำดับการกำหนดค่าใหม่แบบหลายอัตราของตัวควบคุม เมื่อได้รับกระแสข้อมูลอินพุตและความถี่สัญญาณนาฬิกาอ้างอิง หรือเมื่อตัวรับส่งสัญญาณถูกปลดล็อก2.5.3. บล็อกทั่วไประดับบนสุด
บล็อกทั่วไประดับบนสุดประกอบด้วยตัวรับส่งสัญญาณ คอมโพเนนต์ของลิงก์ RX-TX และระบบย่อยของ CPU
ตารางที่ 11. บล็อกทั่วไประดับบนสุด
โมดูล |
คำอธิบาย |
ผู้ตัดสินรับส่งสัญญาณ | บล็อกการทำงานทั่วไปนี้ป้องกันทรานซีฟเวอร์จากการปรับเทียบใหม่พร้อมกัน เมื่อทรานซีฟเวอร์ RX หรือ TX ภายในแชนเนลเดียวกันจำเป็นต้องกำหนดค่าใหม่ การปรับเทียบใหม่พร้อมกันส่งผลกระทบต่อแอปพลิเคชันที่ตัวรับส่งสัญญาณ RX และ TX ภายในช่องสัญญาณเดียวกันถูกกำหนดให้กับการใช้งาน IP ที่เป็นอิสระ อนุญาโตตุลาการตัวรับส่งสัญญาณนี้เป็นส่วนเสริมของความละเอียดที่แนะนำสำหรับการรวม Simplex TX และ Simplex RX เข้ากับช่องทางกายภาพเดียวกัน ตัวรับส่งสัญญาณนี้ยังช่วยในการรวมและชี้ขาดคำขอกำหนดค่า RX และ TX ที่แมปหน่วยความจำ Avalon® ที่กำหนดเป้าหมายตัวรับส่งสัญญาณ Simplex RX และ TX ภายในแชนเนล เนื่องจากพอร์ตอินเทอร์เฟซการกำหนดค่าใหม่ของตัวรับส่งสัญญาณสามารถเข้าถึงได้ตามลำดับเท่านั้น การเชื่อมต่ออินเตอร์เฟสระหว่างตัวรับส่งสัญญาณและบล็อก TX/RX Native PHY/PHY Reset Controller ในการออกแบบนี้ เช่นample สาธิตโหมดทั่วไปที่ใช้สำหรับชุดค่าผสม IP ใดๆ โดยใช้ตัวรับส่งสัญญาณ ไม่จำเป็นต้องใช้ตัวรับส่งสัญญาณเมื่อใช้เฉพาะตัวรับส่งสัญญาณ RX หรือ TX ในช่องสัญญาณ ตัวรับส่งสัญญาณจะระบุผู้ร้องขอการกำหนดค่าใหม่ผ่านอินเทอร์เฟซการกำหนดค่าใหม่ที่แมปหน่วยความจำของ Avalon และตรวจสอบให้แน่ใจว่า tx_reconfig_cal_busy หรือ rx_reconfig_cal_busy ที่สอดคล้องกันนั้นถูก gated ตามนั้น สำหรับแอปพลิเคชัน HDMI RX เท่านั้นที่เริ่มต้นการกำหนดค่าใหม่ โดยการส่งสัญญาณคำขอการกำหนดค่าใหม่ที่แมปหน่วยความจำของ Avalon ผ่านตัวตัดสิน ตัวตัดสินจะระบุว่าคำขอการกำหนดค่าใหม่นั้นมาจาก RX ซึ่งจะทำให้ tx_reconfig_cal_busy ไม่สามารถยืนยันได้ และอนุญาตให้ rx_reconfig_cal_busy ยืนยัน ประตูกั้นป้องกันไม่ให้ตัวรับส่งสัญญาณ TX ถูกย้ายไปยังโหมดการสอบเทียบโดยไม่ได้ตั้งใจ บันทึก: เนื่องจาก HDMI ต้องการการกำหนดค่า RX ใหม่เท่านั้น สัญญาณ tx_reconfig_mgmt_* จึงถูกตัดการเชื่อมต่อ นอกจากนี้ อินเทอร์เฟซที่แมปหน่วยความจำ Avalon ไม่จำเป็นระหว่างผู้ชี้ขาดและบล็อก TX Native PHY บล็อกถูกกำหนดให้กับอินเทอร์เฟซในการออกแบบเช่นampไฟล์เพื่อสาธิตการเชื่อมต่อตัวรับส่งสัญญาณทั่วไปกับ TX/RX Native PHY/PHY Reset Controller |
ลิงค์ RX-TX | • เอาต์พุตข้อมูลวิดีโอและสัญญาณการซิงโครไนซ์จากแกนหลัก HDMI RX ลูปผ่าน DCFIFO ทั่วทั้งโดเมนนาฬิกาวิดีโอ RX และ TX • พอร์ตข้อมูลเสริมของแกน HDMI TX ควบคุมข้อมูลเสริมที่ไหลผ่าน DCFIFO ผ่านแรงดันย้อนกลับ แรงดันย้อนกลับช่วยให้แน่ใจว่าไม่มีแพ็กเก็ตเสริมที่ไม่สมบูรณ์บนพอร์ตข้อมูลเสริม • บล็อกนี้ทำการกรองภายนอกด้วย: — กรองแพ็กเก็ตข้อมูลเสียงและการสร้างนาฬิกาเสียงใหม่จากสตรีมข้อมูลเสริมก่อนที่จะส่งไปยังพอร์ตข้อมูลเสริมหลัก HDMI TX — กรอง InfoFrame ช่วงไดนามิกสูง (HDR) จากข้อมูลเสริม HDMI RX และแทรก example HDR InfoFrame ไปยังข้อมูลเสริมของ HDMI TX ผ่านมัลติเพล็กเซอร์สตรีมมิ่ง Avalon |
ระบบย่อยซีพียู | ระบบย่อยของ CPU ทำหน้าที่เป็นตัวควบคุม SCDC และ DDC และตัวควบคุมการกำหนดค่าแหล่งที่มาใหม่ • ตัวควบคุม SCDC ต้นทางประกอบด้วยตัวควบคุมหลัก I2C ตัวควบคุมหลัก I2C ถ่ายโอนโครงสร้างข้อมูล SCDC จากแหล่ง FPGA ไปยังซิงก์ภายนอกสำหรับการทำงานของ HDMI 2.0 สำหรับอดีตampนอกจากนี้ หากสตรีมข้อมูลขาออกเป็น 6,000 Mbps ตัวประมวลผล Nios II จะสั่งให้ตัวควบคุมหลัก I2C อัปเดตบิต TMDS_BIT_CLOCK_RATIO และ SCRAMBLER_ENABLE ของซิงก์การกำหนดค่า TMDS ที่ลงทะเบียนเป็น 1 • ต้นแบบ I2C เดียวกันยังถ่ายโอนโครงสร้างข้อมูล DDC (E-EDID) ระหว่างแหล่งสัญญาณ HDMI และซิงก์ภายนอก • Nios II CPU ทำหน้าที่เป็นตัวควบคุมการกำหนดค่าใหม่สำหรับแหล่งสัญญาณ HDMI CPU อาศัยการตรวจจับอัตราเป็นระยะจากโมดูล RX Reconfiguration Management เพื่อพิจารณาว่า TX จำเป็นต้องมีการกำหนดค่าใหม่หรือไม่ ตัวแปลสเลฟที่แมปหน่วยความจำ Avalon ให้อินเทอร์เฟซระหว่างอินเทอร์เฟซหลักที่แมปหน่วยความจำ Avalon ของโปรเซสเซอร์ Nios II และอินเทอร์เฟซสเลฟที่แมปหน่วยความจำ Avalon ของ IOPLL และ TX Native PHY ของแหล่งสัญญาณ HDMI ที่สร้างอินสแตนซ์ภายนอก • ดำเนินการฝึกอบรมการเชื่อมโยงผ่านอินเทอร์เฟซหลัก I2C พร้อมซิงก์ภายนอก |
2.6. Dynamic Range and Mastering (HDR) การแทรกและการกรอง InfoFrame
การออกแบบ HDMI Intel FPGA IP เช่นample มีการสาธิตการแทรก HDR InfoFrame ในระบบ RX-TX loopback
ข้อมูลจำเพาะ HDMI เวอร์ชัน 2.0b อนุญาตให้ส่งช่วงไดนามิกและ Mastering InfoFrame ผ่านสตรีมเสริม HDMI ในการสาธิต บล็อก Auxiliary Packet Generator รองรับการแทรก HDR คุณต้องฟอร์แมตแพ็กเก็ต HDR InfoFrame ตามที่ระบุไว้ในตารางรายการสัญญาณของโมดูลเท่านั้น และการแทรก HDR InfoFrame จะเกิดขึ้นทุกๆ เฟรมวิดีโอ
ในอดีตที่ผ่านมาampการกำหนดค่า le ในกรณีที่สตรีมเสริมที่เข้ามามี HDR InfoFrame อยู่แล้ว เนื้อหา HDR ที่สตรีมจะถูกกรอง การกรองจะหลีกเลี่ยงการส่ง HDR InfoFrames ที่ขัดแย้งกัน และทำให้แน่ใจว่าเฉพาะค่าที่ระบุใน HDR Sampใช้โมดูลข้อมูล
รูปที่ 11 ลิงก์ RX-TX กับช่วงไดนามิกและการแทรก InfoFrame แบบมาสเตอร์
รูปภาพแสดงบล็อกไดอะแกรมของลิงก์ RX-TX รวมถึงการแทรก Dynamic Range และ Mastering InfoFrame ลงในสตรีมเสริมหลัก HDMI TXตารางที่ 12. บล็อกการแทรกข้อมูลเสริม (aux_retransmit) สัญญาณ
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
นาฬิกาและรีเซ็ต | |||
คล้าก | ป้อนข้อมูล | 1 | อินพุตนาฬิกา นาฬิกานี้ควรเชื่อมต่อกับนาฬิกาวิดีโอ |
รีเซ็ต | ป้อนข้อมูล | 1 | รีเซ็ตอินพุต |
สัญญาณแพ็คเก็ตเสริม |
|||
tx_aux_data | เอาท์พุต | 72 | เอาต์พุตแพ็กเก็ตเสริม TX จากมัลติเพล็กเซอร์ |
tx_aux_valid | เอาท์พุต | 1 | |
tx_aux_ready | เอาท์พุต | 1 | |
tx_aux_sop | เอาท์พุต | 1 | |
tx_aux_eop | เอาท์พุต | 1 | |
rx_aux_data | ป้อนข้อมูล | 72 | RX Auxiliary data ส่งผ่านไปยังโมดูลตัวกรองแพ็กเก็ตก่อนที่จะเข้าสู่มัลติเพล็กเซอร์ |
rx_aux_valid | ป้อนข้อมูล | 1 | |
rx_aux_sop | ป้อนข้อมูล | 1 | |
rx_aux_eop | ป้อนข้อมูล | 1 |
สัญญาณควบคุม | |||
hdmi_tx_vsync | ป้อนข้อมูล | 1 | การซิงโครไนซ์วิดีโอ HDMI TX สัญญาณนี้ควรซิงโครไนซ์กับโดเมนสัญญาณนาฬิกาความเร็วลิงก์ แกนหลักจะแทรก HDR InfoFrame เข้ากับสตรีมเสริมที่ขอบด้านขึ้นของสัญญาณนี้ |
ตารางที่ 13. สัญญาณโมดูลข้อมูล HDR (altera_hdmi_hdr_infoframe)
สัญญาณ |
ทิศทาง | ความกว้าง |
คำอธิบาย |
hb0 | เอาท์พุต | 8 | ไบต์ส่วนหัว 0 ของช่วงไดนามิกและการควบคุม InfoFrame: รหัสประเภท InfoFrame |
hb1 | เอาท์พุต | 8 | ไบต์ส่วนหัว 1 ของช่วงไดนามิกและการควบคุม InfoFrame: หมายเลขรุ่นของ InfoFrame |
hb2 | เอาท์พุต | 8 | ไบต์ส่วนหัว 2 ของช่วงไดนามิกและการควบคุม InfoFrame: ความยาวของ InfoFrame |
pb | ป้อนข้อมูล | 224 | ไบต์ข้อมูลของ Dynamic Range และ Mastering InfoFrame |
ตารางที่ 14. Dynamic Range และ Mastering InfoFrame Data Byte Bundle Bit-Fields
บิตฟิลด์ |
คำนิยาม |
เมทาดาทาแบบคงที่ประเภทที่1 |
7:0 น. | ไบต์ข้อมูล 1: {5'h0, EOTF[2:0]} | |
15:8 น. | ไบต์ข้อมูล 2: {5'h0, Static_Metadata_Descriptor_ID[2:0]} | |
23:16 น. | ไบต์ข้อมูล 3: Static_Metadata_Descriptor | display_primaries_x[0], LSB |
31:24 น. | ไบต์ข้อมูล 4: Static_Metadata_Descriptor | display_primaries_x[0], MSB |
39:32 น. | ไบต์ข้อมูล 5: Static_Metadata_Descriptor | display_primaries_y[0], LSB |
47:40 น. | ไบต์ข้อมูล 6: Static_Metadata_Descriptor | display_primaries_y[0], MSB |
55:48 น. | ไบต์ข้อมูล 7: Static_Metadata_Descriptor | display_primaries_x[1], LSB |
63:56 น. | ไบต์ข้อมูล 8: Static_Metadata_Descriptor | display_primaries_x[1], MSB |
71:64 น. | ไบต์ข้อมูล 9: Static_Metadata_Descriptor | display_primaries_y[1], LSB |
79:72 น. | ไบต์ข้อมูล 10: Static_Metadata_Descriptor | display_primaries_y[1], MSB |
87:80 น. | ไบต์ข้อมูล 11: Static_Metadata_Descriptor | display_primaries_x[2], LSB |
95:88 น. | ไบต์ข้อมูล 12: Static_Metadata_Descriptor | display_primaries_x[2], MSB |
103:96 น. | ไบต์ข้อมูล 13: Static_Metadata_Descriptor | display_primaries_y[2], LSB |
111:104 น. | ไบต์ข้อมูล 14: Static_Metadata_Descriptor | display_primaries_y[2], MSB |
119:112 น. | ไบต์ข้อมูล 15: Static_Metadata_Descriptor | white_point_x, LSB |
127:120 น. | ไบต์ข้อมูล 16: Static_Metadata_Descriptor | white_point_x, MSB |
135:128 น. | ไบต์ข้อมูล 17: Static_Metadata_Descriptor | white_point_y, ลส |
143:136 น. | ไบต์ข้อมูล 18: Static_Metadata_Descriptor | white_point_y, MSB |
151:144 น. | ไบต์ข้อมูล 19: Static_Metadata_Descriptor | max_display_mastering_luminance, LSB |
159:152 น. | ไบต์ข้อมูล 20: Static_Metadata_Descriptor | max_display_mastering_luminance, MSB |
167:160 น. | ไบต์ข้อมูล 21: Static_Metadata_Descriptor | min_display_mastering_luminance, LSB |
175:168 น. | ไบต์ข้อมูล 22: Static_Metadata_Descriptor | min_display_mastering_luminance, MSB |
183:176 น. | ไบต์ข้อมูล 23: Static_Metadata_Descriptor | ระดับแสงเนื้อหาสูงสุด LSB |
191:184 น. | ไบต์ข้อมูล 24: Static_Metadata_Descriptor | ระดับแสงเนื้อหาสูงสุด MSB |
199:192 น. | ไบต์ข้อมูล 25: Static_Metadata_Descriptor | ระดับแสงเฉลี่ยเฟรมสูงสุด, LSB |
207:200 น. | ไบต์ข้อมูล 26: Static_Metadata_Descriptor | ระดับแสงเฉลี่ยเฟรมสูงสุด MSB |
215:208 น. | ที่สงวนไว้ | |
223:216 น. | ที่สงวนไว้ |
ปิดใช้งานการแทรกและการกรอง HDR
การปิดใช้งานการแทรกและตัวกรอง HDR ช่วยให้คุณสามารถตรวจสอบการส่งซ้ำของเนื้อหา HDR ที่มีอยู่แล้วในสตรีมเสริมต้นทางโดยไม่มีการแก้ไขใดๆ ในการออกแบบ RX-TX Retransmit เช่นampเล.
หากต้องการปิดใช้งานการแทรกและการกรอง HDR InfoFrame:
- ตั้งค่า block_ext_hdr_infoframe เป็น 1'b0 ใน rxtx_link.v file เพื่อป้องกันการกรอง HDR InfoFrame จากสตรีมเสริม
- ตั้งค่า multiplexer_in0_valid ของอินสแตนซ์ avalon_st_multiplexer ใน altera_hdmi_aux_hdr.v file เป็น 1'b0 เพื่อป้องกันไม่ให้ Auxiliary Packet Generator สร้างและแทรก HDR InfoFrame เพิ่มเติมลงในสตรีมเสริม TX
2.7. การออกแบบการไหลของซอฟต์แวร์
ในขั้นตอนการออกแบบซอฟต์แวร์หลัก โปรเซสเซอร์ Nios II จะกำหนดค่าการตั้งค่า TI redriver และเริ่มต้นเส้นทาง TX และ RX เมื่อเปิดเครื่อง
รูปที่ 12. Software Flow ในสคริปต์ main.c
ซอฟต์แวร์ดำเนินการวนรอบขณะเพื่อตรวจสอบการเปลี่ยนแปลงของซิงก์และแหล่งที่มา และเพื่อตอบสนองต่อการเปลี่ยนแปลง ซอฟต์แวร์อาจทริกเกอร์การกำหนดค่า TX ใหม่ การฝึกลิงก์ TX และเริ่มส่งวิดีโอ
รูปที่ 13 ผังงานการเริ่มต้นเส้นทาง TX การเริ่มต้นเส้นทาง TXรูปที่ 14 ผังงานการเริ่มต้นเส้นทาง RX
รูปที่ 15. TX Reconfiguration and Link Training Flowchart
รูปที่ 16. เชื่อมโยงการฝึกอบรม LTS:3 กระบวนการที่ผังงานอัตรา FRL เฉพาะ
รูปที่ 17. ผังงานการส่งสัญญาณวิดีโอ HDMI TX
2.8. เรียกใช้การออกแบบในอัตรา FRL ที่แตกต่างกัน
คุณสามารถเรียกใช้การออกแบบของคุณในอัตรา FRL ที่แตกต่างกัน นอกเหนือจากอัตรา FRL เริ่มต้นของซิงก์ภายนอก
ในการเรียกใช้การออกแบบในอัตรา FRL ที่แตกต่างกัน:
- สลับสวิตช์ on-board user_dipsw0 ไปที่ตำแหน่ง ON
- เปิดเชลล์คำสั่ง Nios II จากนั้นพิมพ์ nios2-terminal
- ป้อนคำสั่งต่อไปนี้แล้วกด Enter เพื่อดำเนินการ
สั่งการ |
คำอธิบาย |
h | แสดงเมนูช่วยเหลือ |
r0 | อัปเดตความสามารถ RX สูงสุดของ FRL เป็นอัตรา FRL 0 (TMDS เท่านั้น) |
r1 | อัปเดตความสามารถ FRL สูงสุดของ RX เป็นอัตรา FRL 1 (3 Gbps) |
r2 | อัปเดตความสามารถ FRL สูงสุดของ RX เป็นอัตรา FRL 2 (6 Gbps, 3 เลน) |
r3 | อัปเดตความสามารถ FRL สูงสุดของ RX เป็นอัตรา FRL 3 (6 Gbps, 4 เลน) |
r4 | อัปเดตความสามารถ FRL สูงสุดของ RX เป็นอัตรา FRL 4 (8 Gbps) |
r5 | อัปเดตความสามารถ FRL สูงสุดของ RX เป็นอัตรา FRL 5 (10 Gbps) |
r6 | อัปเดตความสามารถ FRL สูงสุดของ RX เป็นอัตรา FRL 6 (12 Gbps) |
t1 | TX กำหนดค่าอัตราลิงก์เป็นอัตรา FRL 1 (3 Gbps) |
t2 | TX กำหนดค่าอัตราลิงก์เป็นอัตรา FRL 2 (6 Gbps, 3 เลน) |
t3 | TX กำหนดค่าอัตราลิงก์เป็นอัตรา FRL 3 (6 Gbps, 4 เลน) |
t4 | TX กำหนดค่าอัตราลิงก์เป็นอัตรา FRL 4 (8 Gbps) |
t5 | TX กำหนดค่าอัตราลิงก์เป็นอัตรา FRL 5 (10 Gbps) |
t6 | TX กำหนดค่าอัตราลิงก์เป็นอัตรา FRL 6 (12 Gbps) |
2.9. โครงการตอกบัตร
รูปแบบการตอกบัตรแสดงโดเมนนาฬิกาในการออกแบบ HDMI Intel FPGA IP เช่นampเล.
รูปที่ 18. การออกแบบ HDMI 2.1 เช่นampแผนการตอกบัตรตารางที่ 15. สัญญาณวงจรการตอกบัตร
นาฬิกา |
ชื่อสัญญาณในการออกแบบ |
คำอธิบาย |
นาฬิกาจัดการ | mgmt_clk | นาฬิกา 100 MHz ที่รันฟรีสำหรับส่วนประกอบเหล่านี้: • อินเทอร์เฟซ Avalon-MM สำหรับการกำหนดค่าใหม่ — ข้อกำหนดช่วงความถี่อยู่ระหว่าง 100– 125 MHz • ตัวควบคุมการรีเซ็ต PHY สำหรับลำดับการรีเซ็ตตัวรับส่งสัญญาณ — ข้อกำหนดช่วงความถี่อยู่ระหว่าง 1–500 MHz • การกำหนดค่า IOPLL ใหม่ — ความถี่สัญญาณนาฬิกาสูงสุดคือ 100 MHz • การจัดการการกำหนดค่า RX ใหม่ • การจัดการการกำหนดค่าใหม่ TX • ซีพียู • ปริญญาโท I2C |
นาฬิกาไอทูซี | i2c_clk | อินพุตนาฬิกา 100 MHz ที่นาฬิกา I2C สเลฟ, บัฟเฟอร์เอาต์พุต, การลงทะเบียน SCDC และกระบวนการฝึกอบรมลิงก์ในคอร์ HDMI RX และ EDID RAM |
นาฬิกาอ้างอิง TX PLL 0 | tx_tmds_clk | นาฬิกาอ้างอิง 0 ถึง TX PLL ความถี่สัญญาณนาฬิกาจะเหมือนกับความถี่สัญญาณนาฬิกา TMDS ที่คาดหวังจากช่องนาฬิกา HDMI TX TMDS นาฬิกาอ้างอิงนี้ใช้ในโหมด TMDS สำหรับการออกแบบ HDMI นี้ เช่นample, นาฬิกานี้เชื่อมต่อกับนาฬิกา RX TMDS เพื่อจุดประสงค์ในการสาธิต ในแอปพลิเคชันของคุณ คุณต้องจัดหานาฬิกาเฉพาะที่มีความถี่สัญญาณนาฬิกา TMDS จากออสซิลเลเตอร์ที่ตั้งโปรแกรมได้เพื่อประสิทธิภาพการกระวนกระวายใจที่ดีขึ้น |
บันทึก: อย่าใช้พิน RX ของตัวรับส่งสัญญาณเป็นนาฬิกาอ้างอิง TX PLL การออกแบบของคุณจะไม่พอดีหากคุณวางตัวอ้างอิง HDMI TX บนพิน RX | ||
นาฬิกาอ้างอิง TX PLL 1 | txfpll_refclk1/ rxphy_cdr_refclk1 | นาฬิกาอ้างอิงไปยัง TX PLL และ RX CDR รวมถึง IOPLL สำหรับ vid_clk ความถี่สัญญาณนาฬิกาคือ 100 MHz |
TX PLL นาฬิกาอนุกรม | tx_bonding_clocks | นาฬิกาเร็วแบบอนุกรมที่สร้างโดย TX PLL ความถี่นาฬิกาถูกตั้งค่าตามอัตราข้อมูล |
นาฬิกาตัวรับส่งสัญญาณ TX | tx_clk | นาฬิกาเอาต์คืนจากตัวรับส่งสัญญาณ และความถี่จะแตกต่างกันไปขึ้นอยู่กับอัตราข้อมูลและสัญลักษณ์ต่อนาฬิกา ความถี่สัญญาณคล็อกเอาต์ของตัวรับส่งสัญญาณ TX = อัตราข้อมูลตัวรับส่งสัญญาณ/ความกว้างของตัวรับส่งสัญญาณ สำหรับการออกแบบ HDMI นี้ เช่นample, ตัวรับส่งสัญญาณ TX ออกจากช่องสัญญาณ 0 จะนาฬิกาอินพุตแกนตัวรับส่งสัญญาณ TX (tx_coreclkin), นาฬิกาอ้างอิงความเร็วลิงก์ IOPLL (pll_hdmi) และนาฬิกาอ้างอิงวิดีโอและ FRL IOPLL (pll_vid_frl) |
นาฬิกาวิดีโอ | tx_vid_clk/rx_vid_clk | นาฬิกาวิดีโอไปยังแกน TX และ RX นาฬิกาทำงานที่ความถี่คงที่ 225 MHz |
นาฬิกา TX/RX FRL | tx_frl_clk/rx_frl_clk | นาฬิกา FRL สำหรับแกน TX และ RX |
นาฬิกา RX TMDS | rx_tmds_clk | ช่องนาฬิกา TMDS จากขั้วต่อ HDMI RX และเชื่อมต่อกับ IOPLL เพื่อสร้างนาฬิกาอ้างอิงสำหรับนาฬิกาอ้างอิง CDR 0 แกนกลางใช้นาฬิกานี้เมื่ออยู่ในโหมด TMDS |
นาฬิกาอ้างอิง RX CDR 0 | rxphy_cdr_refclk0 | นาฬิกาอ้างอิง 0 ถึง RX CDR นาฬิกานี้มาจากนาฬิกา RX TMDS ความถี่สัญญาณนาฬิกา RX TMDS อยู่ในช่วงตั้งแต่ 25 MHz ถึง 340 MHz ในขณะที่ความถี่นาฬิกาอ้างอิงขั้นต่ำของ RX CDR คือ 50 MHz IOPLL ใช้เพื่อสร้าง 5 ความถี่สัญญาณนาฬิกาสำหรับสัญญาณนาฬิกา TMDS ระหว่าง 25 MHz ถึง 50 MHz และสร้างความถี่สัญญาณนาฬิกาเดียวกันสำหรับสัญญาณนาฬิกา TMDS ระหว่าง 50 MHz – 340 MHz |
RX ตัวรับส่งสัญญาณนาฬิกาออก | rx_clk | นาฬิกาที่กู้คืนจากตัวรับส่งสัญญาณ และความถี่จะแตกต่างกันไปขึ้นอยู่กับอัตราข้อมูลและความกว้างของตัวรับส่งสัญญาณ ความถี่คล็อกเอาต์ของตัวรับส่งสัญญาณ RX = อัตราข้อมูลตัวรับส่งสัญญาณ/ความกว้างของตัวรับส่งสัญญาณ สำหรับการออกแบบ HDMI นี้ เช่นample, นาฬิกาตัวรับส่งสัญญาณ RX จากช่อง 1 จะนาฬิกาอินพุตแกนตัวรับส่งสัญญาณ RX (rx_coreclkin) และนาฬิกาอ้างอิง FRL IOPLL (pll_frl) |
2.10. สัญญาณอินเทอร์เฟซ
ตารางแสดงรายการสัญญาณสำหรับการออกแบบ HDMI เช่นampไฟล์ที่เปิดใช้งาน FRL
ตารางที่ 16. สัญญาณระดับบนสุด
สัญญาณ |
ทิศทาง | ความกว้าง |
คำอธิบาย |
สัญญาณออสซิลเลเตอร์ออนบอร์ด | |||
clk_fpga_b3_p | ป้อนข้อมูล | 1 | นาฬิกาทำงานฟรี 100 MHz สำหรับนาฬิกาอ้างอิงหลัก |
refcllk4_p | ป้อนข้อมูล | 1 | นาฬิกาทำงานฟรี 100 MHz สำหรับนาฬิกาอ้างอิงตัวรับส่งสัญญาณ |
ปุ่มกดและไฟ LED สำหรับผู้ใช้ | |||
user_pb | ป้อนข้อมูล | 3 | ปุ่มกดเพื่อควบคุมการทำงานการออกแบบ HDMI Intel FPGA IP |
cpu_resetn | ป้อนข้อมูล | 1 | รีเซ็ตทั่วโลก |
user_led_g | เอาท์พุต | 8 | จอแสดงผล LED สีเขียว อ้างถึง การตั้งค่าฮาร์ดแวร์ ในหน้า 48 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน LED |
user_dipsw | ป้อนข้อมูล | 1 | สวิตช์ DIP ที่ผู้ใช้กำหนด อ้างถึง การตั้งค่าฮาร์ดแวร์ ในหน้า 48 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันสวิตช์ DIP |
พินการ์ดลูกสาว HDMI FMC บนพอร์ต FMC B | |||
fmcb_gbtclk_m2c_p_0 | ป้อนข้อมูล | 1 | นาฬิกา HDMI RX TMDS |
fmcb_dp_m2c_p | ป้อนข้อมูล | 4 | นาฬิกา HDMI RX ช่องข้อมูลสีแดง เขียว และน้ำเงิน |
fmcb_dp_c2m_p | เอาท์พุต | 4 | นาฬิกา HDMI TX ช่องข้อมูลสีแดง เขียว และน้ำเงิน |
fmcb_la_rx_p_9 | ป้อนข้อมูล | 1 | ตรวจจับกำลังไฟ HDMI RX +5V |
fmcb_la_rx_p_8 | เอาท์พุต | 1 | ตรวจจับฮอตปลั๊ก HDMI RX |
fmcb_la_rx_n_8 | ป้อนข้อมูล | 1 | HDMI RX I2C SDA สำหรับ DDC และ SCDC |
fmcb_la_tx_p_10 | ป้อนข้อมูล | 1 | HDMI RX I2C SCL สำหรับ DDC และ SCDC |
fmcb_la_tx_p_12 | ป้อนข้อมูล | 1 | ตรวจจับฮอตปลั๊ก HDMI TX |
fmcb_la_tx_n_12 | ป้อนข้อมูล | 1 | HDMI I2C SDA สำหรับ DDC และ SCDC |
fmcb_la_rx_p_10 | ป้อนข้อมูล | 1 | HDMI I2C SCL สำหรับ DDC และ SCDC |
fmcb_la_tx_n_9 | ป้อนข้อมูล | 1 | HDMI I2C SDA สำหรับการควบคุม redriver |
fmcb_la_rx_p_11 | ป้อนข้อมูล | 1 | HDMI I2C SCL สำหรับการควบคุม redriver |
fmcb_la_tx_n_13 | เอาท์พุต | 1 | HDMITX+5V บันทึก: ใช้ได้เฉพาะเมื่อ การแก้ไขการ์ดลูกสาว Bitec HDMI 9 ถูกเลือกแล้ว |
ตารางที่ 17. สัญญาณระดับบนสุดของ HDMI RX
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
นาฬิกาและรีเซ็ตสัญญาณ | |||
mgmt_clk | ป้อนข้อมูล | 1 | สัญญาณนาฬิการะบบ (100 MHz) |
รีเซ็ต | ป้อนข้อมูล | 1 | อินพุตรีเซ็ตระบบ |
rx_tmds_clk | ป้อนข้อมูล | 1 | นาฬิกา HDMI RX TMDS |
i2c_clk | ป้อนข้อมูล | 1 | อินพุตนาฬิกาสำหรับอินเทอร์เฟซ DDC และ SCDC |
นาฬิกาและรีเซ็ตสัญญาณ | |||
rxphy_cdr_refclk1 | ป้อนข้อมูล | 1 | อินพุตนาฬิกาสำหรับนาฬิกาอ้างอิง RX CDR 1. ความถี่สัญญาณนาฬิกาคือ 100 MHz |
rx_vid_clk | เอาท์พุต | 1 | เอาต์พุตนาฬิกาวิดีโอ |
sys_init | เอาท์พุต | 1 | การเริ่มต้นระบบเพื่อรีเซ็ตระบบเมื่อเปิดเครื่อง |
ตัวรับส่งสัญญาณ RX และสัญญาณ IOPLL | |||
rxpll_tmds_locked | เอาท์พุต | 1 | ระบุว่านาฬิกา TMDS IOPLL ถูกล็อก |
rxpll_frl_locked | เอาท์พุต | 1 | ระบุว่านาฬิกา FRL IOPLL ถูกล็อก |
rxphy_serial_data | ป้อนข้อมูล | 4 | ข้อมูลอนุกรม HDMI ไปยัง RX Native PHY |
rxphy_ready | เอาท์พุต | 1 | แสดงว่า RX Native PHY พร้อมแล้ว |
rxphy_cal_busy_raw | เอาท์พุต | 4 | การสอบเทียบ RX Native PHY ไม่ว่างกับตัวรับส่งสัญญาณ |
rxphy_cal_busy_gated | ป้อนข้อมูล | 4 | สัญญาณไม่ว่างในการสอบเทียบจากตัวรับส่งสัญญาณไปยัง RX Native PHY |
rxphy_rcfg_slave_write | ป้อนข้อมูล | 4 | การกำหนดค่าตัวรับส่งสัญญาณใหม่ อินเทอร์เฟซที่แมปหน่วยความจำ Avalon จาก RX Native PHY ไปยังตัวรับส่งสัญญาณ |
rxphy_rcfg_slave_read | ป้อนข้อมูล | 4 | |
rxphy_rcfg_slave_address | ป้อนข้อมูล | 40 | |
rxphy_rcfg_slave_writedata | ป้อนข้อมูล | 128 | |
rxphy_rcfg_slave_readdata | เอาท์พุต | 128 | |
rxphy_rcfg_slave_waitrequest | เอาท์พุต | 4 |
การจัดการการกำหนดค่าใหม่ RX | |||
rxphy_rcfg_busy | เอาท์พุต | 1 | สัญญาณไม่ว่างการกำหนดค่า RX ใหม่ |
rx_tmds_freq | เอาท์พุต | 24 | การวัดความถี่สัญญาณนาฬิกา HDMI RX TMDS (ใน 10 มิลลิวินาที) |
rx_tmds_freq_valid | เอาท์พุต | 1 | ระบุว่าการวัดความถี่สัญญาณนาฬิกา RX TMDS นั้นถูกต้อง |
rxphy_os | เอาท์พุต | 1 | แจ็คเก็ตampปัจจัยหลิง: •0: 1x โอเวอร์ampหลิง • 1: 5× ทับampหลิง |
rxphy_rcfg_master_write | เอาท์พุต | 1 | การจัดการการกำหนดค่าใหม่ RX อินเตอร์เฟสที่แมปหน่วยความจำ Avalon ไปยังตัวรับส่งสัญญาณ |
rxphy_rcfg_master_read | เอาท์พุต | 1 | |
rxphy_rcfg_master_address | เอาท์พุต | 12 | |
rxphy_rcfg_master_writedata | เอาท์พุต | 32 | |
rxphy_rcfg_master_readdata | ป้อนข้อมูล | 32 | |
rxphy_rcfg_master_waitrequest | ป้อนข้อมูล | 1 |
สัญญาณหลัก HDMI RX | |||
rx_vid_clk_locked | ป้อนข้อมูล | 1 | บ่งชี้ว่า vid_clk มีความเสถียร |
rxcore_frl_rate | เอาท์พุต | 4 | ระบุอัตรา FRL ที่คอร์ RX กำลังทำงานอยู่ • 0: โหมดดั้งเดิม (TMDS) • 1: 3 Gbps 3 เลน • 2: 6 Gbps 4 เลน • 3: 6 Gbps 4 เลน • 4: 8 Gbps 4 เลน • 5: 10 Gbps 4 เลน • 6: 12 Gbps 4 เลน • 7-15: สงวนสิทธิ์ |
rxcore_frl_locked | เอาท์พุต | 4 | แต่ละบิตจะระบุเลนเฉพาะที่ได้รับการล็อค FRL FRL จะถูกล็อกเมื่อแกน RX ดำเนินการจัดตำแหน่ง เลื่อน และล็อกเลนได้สำเร็จ • สำหรับโหมด 3 เลน การล็อกเลนทำได้เมื่อแกน RX ได้รับ Scrambler Reset (SR) หรือ Start-Super-Block (SSB) สำหรับทุกๆ 680 FRL ของช่วงอักขระเป็นเวลาอย่างน้อย 3 ครั้ง • สำหรับโหมด 4 เลน การล็อกเลนทำได้เมื่อแกน RX ได้รับ Scrambler Reset (SR) หรือ Start-Super-Block (SSB) สำหรับทุกๆ 510 FRL ของช่วงอักขระเป็นเวลาอย่างน้อย 3 ครั้ง |
rxcore_frl_ffe_levels | เอาท์พุต | 4 | สอดคล้องกับบิต FFE_level ใน SCDC 0x31 register bit [7:4] ใน RX core |
rxcore_frl_flt_ready | ป้อนข้อมูล | 1 | ยืนยันเพื่อระบุว่า RX พร้อมสำหรับกระบวนการฝึกอบรมการเชื่อมโยงเพื่อเริ่มต้น เมื่อยืนยันแล้ว บิต FLT_ready ในการลงทะเบียน SCDC 0x40 บิต 6 จะถูกยืนยันเช่นกัน |
rxcore_frl_src_test_config | ป้อนข้อมูล | 8 | ระบุการกำหนดค่าการทดสอบต้นทาง ค่านี้เขียนลงในรีจิสเตอร์การกำหนดค่าการทดสอบ SCDC ในรีจิสเตอร์ SCDC 0x35 |
rxcore_tbcr | เอาท์พุต | 1 | ระบุอัตราส่วนบิต TMDS ต่อนาฬิกา สอดคล้องกับการลงทะเบียน TMDS_Bit_Clock_Ratio ในการลงทะเบียน SCDC 0x20 บิต 1. • เมื่อทำงานในโหมด HDMI 2.0 บิตนี้จะถูกยืนยัน ระบุอัตราส่วนบิต TMDS ต่อสัญญาณนาฬิกาที่ 40:1 • เมื่อทำงานใน HDMI 1.4b บิตนี้จะไม่ถูกยืนยัน ระบุอัตราส่วนบิต TMDS ต่อสัญญาณนาฬิกาที่ 10:1 • บิตนี้ไม่ได้ใช้สำหรับโหมด FRL |
rxcore_scrambler_enable | เอาท์พุต | 1 | ระบุว่าข้อมูลที่ได้รับมีสัญญาณรบกวนหรือไม่ สอดคล้องกับฟิลด์ Scrambling_Enable ในการลงทะเบียน SCDC 0x20 บิต 0 |
rxcore_audio_de | เอาท์พุต | 1 | อินเทอร์เฟซเสียงหลัก HDMI RX อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
rxcore_audio_data | เอาท์พุต | 256 | |
rxcore_audio_info_ai | เอาท์พุต | 48 | |
rxcore_audio_N | เอาท์พุต | 20 | |
rxcore_audio_CTS | เอาท์พุต | 20 | |
rxcore_audio_metadata | เอาท์พุต | 165 | |
rxcore_audio_format | เอาท์พุต | 5 | |
rxcore_aux_pkt_data | เอาท์พุต | 72 | อินเทอร์เฟซเสริมหลัก HDMI RX อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
rxcore_aux_pkt_addr | เอาท์พุต | 6 | |
rxcore_aux_pkt_wr | เอาท์พุต | 1 | |
rxcore_aux_data | เอาท์พุต | 72 | |
rxcore_aux_sop | เอาท์พุต | 1 | |
rxcore_aux_eop | เอาท์พุต | 1 | |
rxcore_aux_valid | เอาท์พุต | 1 | |
rxcore_aux_error | เอาท์พุต | 1 | |
rxcore_gcp | เอาท์พุต | 6 | สัญญาณแถบด้านข้างหลัก HDMI RX อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
rxcore_info_avi | เอาท์พุต | 123 | |
rxcore_info_vsi | เอาท์พุต | 61 | |
rxcore_locked | เอาท์พุต | 1 | พอร์ตวิดีโอหลัก HDMI RX ไม่มีสิบ = พิกเซลต่อนาฬิกา อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
rxcore_vid_data | เอาท์พุต | N*48 | |
rxcore_vid_vsync | เอาท์พุต | N | |
rxcore_vid_hsync | เอาท์พุต | N | |
rxcore_vid_de | เอาท์พุต | N | |
rxcore_vid_valid | เอาท์พุต | 1 | |
rxcore_vid_lock | เอาท์พุต | 1 | |
rxcore_mode | เอาท์พุต | 1 | พอร์ตควบคุมหลักและสถานะ HDMI RX ไม่มีสิบ = สัญลักษณ์ต่อนาฬิกา อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
rxcore_ctrl | เอาท์พุต | N*6 | |
rxcore_color_deep_sync | เอาท์พุต | 2 | |
hdmi_5v_detect | ป้อนข้อมูล | 1 | ตรวจจับ HDMI RX 5V และตรวจจับฮอตปลั๊ก อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
hdmi_rx_hpd | เอาท์พุต | 1 | |
rx_hpd_trigger | ป้อนข้อมูล | 1 |
I2ซี สัญญาณ | |||
hdmi_rx_i2c_sda | ป้อนข้อมูล | 1 | อินเทอร์เฟซ HDMI RX DDC และ SCDC |
hdmi_rx_i2c_scl | ป้อนข้อมูล | 1 |
สัญญาณ RX EDID RAM | |||
edid_ram_access | ป้อนข้อมูล | 1 | อินเทอร์เฟซการเข้าถึง HDMI RX EDID RAM |
edid_ram_address | ป้อนข้อมูล | 8 | ยืนยัน edid_ram_access เมื่อคุณต้องการเขียนหรืออ่านจาก EDID RAM มิฉะนั้นสัญญาณนี้ควรอยู่ในระดับต่ำ เมื่อคุณยืนยัน edid_ram_access สัญญาณ hotplug จะยกเลิกการยืนยันเพื่ออนุญาตให้เขียนหรืออ่านไปยัง EDID RAM เมื่อการเข้าถึง EDID RAM เสร็จสิ้น คุณควรยกเลิกการยืนยัน edid_ram_asses และสัญญาณ hotplug แหล่งที่มาจะอ่าน EDID ใหม่เนื่องจากการสลับสัญญาณ hotplug |
edid_ram_write | ป้อนข้อมูล | 1 | |
edid_ram_read | ป้อนข้อมูล | 1 | |
edid_ram_readdata | เอาท์พุต | 8 | |
edid_ram_writedata | ป้อนข้อมูล | 8 | |
edid_ram_waitrequest | เอาท์พุต | 1 |
ตาราง 18.HDMI TX สัญญาณระดับบนสุด
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
นาฬิกาและรีเซ็ตสัญญาณ | |||
mgmt_clk | ป้อนข้อมูล | 1 | สัญญาณนาฬิการะบบ (100 MHz) |
รีเซ็ต | ป้อนข้อมูล | 1 | อินพุตรีเซ็ตระบบ |
tx_tmds_clk | ป้อนข้อมูล | 1 | นาฬิกา HDMI RX TMDS |
txfpll_refclk1 | ป้อนข้อมูล | 1 | อินพุตนาฬิกาสำหรับนาฬิกาอ้างอิง TX PLL 1. ความถี่สัญญาณนาฬิกาคือ 100 MHz |
tx_vid_clk | เอาท์พุต | 1 | เอาต์พุตนาฬิกาวิดีโอ |
tx_frl_clk | เอาท์พุต | 1 | เอาต์พุตนาฬิกา FRL |
sys_init | ป้อนข้อมูล | 1 | การเริ่มต้นระบบเพื่อรีเซ็ตระบบเมื่อเปิดเครื่อง |
tx_init_done | ป้อนข้อมูล | 1 | การเริ่มต้น TX เพื่อรีเซ็ตบล็อกการจัดการการกำหนดค่าใหม่ TX และอินเทอร์เฟซการกำหนดค่าตัวรับส่งสัญญาณใหม่ |
ตัวรับส่งสัญญาณ TX และสัญญาณ IOPLL | |||||||||||||
txpll_frl_locked | เอาท์พุต | 1 | ระบุนาฬิกาความเร็วลิงค์และนาฬิกา FRL IOPLL ถูกล็อค | ||||||||||
txfpll_locked | เอาท์พุต | 1 | ระบุว่า TX PLL ถูกล็อก | ||||||||||
txphy_serial_data | เอาท์พุต | 4 | ข้อมูลอนุกรม HDMI จาก TX Native PHY | ||||||||||
txphy_ready | เอาท์พุต | 1 | แสดงว่า TX Native PHY พร้อมแล้ว | ||||||||||
txphy_cal_busy | เอาท์พุต | 1 | TX Native PHY สัญญาณไม่ว่างสำหรับการสอบเทียบ | ||||||||||
txphy_cal_busy_raw | เอาท์พุต | 4 | สัญญาณไม่ว่างในการสอบเทียบไปยังผู้ตัดสินรับส่งสัญญาณ | ||||||||||
txphy_cal_busy_gated | ป้อนข้อมูล | 4 | สัญญาณไม่ว่างในการสอบเทียบจากตัวรับส่งสัญญาณไปยัง TX Native PHY | ||||||||||
txphy_rcfg_busy | เอาท์พุต | 1 | ระบุว่าการกำหนดค่าใหม่ TX PHY กำลังดำเนินการอยู่ | ||||||||||
txphy_rcfg_slave_write | ป้อนข้อมูล | 4 | การกำหนดค่าตัวรับส่งสัญญาณใหม่ อินเทอร์เฟซที่แมปหน่วยความจำ Avalon จาก TX Native PHY ไปยังตัวรับส่งสัญญาณ | ||||||||||
txphy_rcfg_slave_read | ป้อนข้อมูล | 4 | |||||||||||
txphy_rcfg_slave_address | ป้อนข้อมูล | 40 | |||||||||||
|
การจัดการการกำหนดค่าใหม่ TX | |||
tx_tmds_freq | ป้อนข้อมูล | 24 | ค่าความถี่สัญญาณนาฬิกา HDMI TX TMDS (ใน 10 มิลลิวินาที) |
tx_os | เอาท์พุต | 2 | แจ็คเก็ตampปัจจัยหลิง: • 0: 1x โอเวอร์ampหลิง •1: 2× โอเวอร์ampหลิง •2: 8x โอเวอร์ampหลิง |
txphy_rcfg_master_write | เอาท์พุต | 1 | การจัดการการกำหนดค่าใหม่ TX อินเตอร์เฟสที่แมปหน่วยความจำ Avalon ไปยังตัวรับส่งสัญญาณ |
txphy_rcfg_master_read | เอาท์พุต | 1 | |
txphy_rcfg_master_address | เอาท์พุต | 12 | |
txphy_rcfg_master_writedata | เอาท์พุต | 32 | |
txphy_rcfg_master_readdata | ป้อนข้อมูล | 32 | |
txphy_rcfg_master_waitrequest | ป้อนข้อมูล | 1 | |
tx_reconfig_done | เอาท์พุต | 1 | ระบุว่ากระบวนการกำหนดค่าใหม่ TX เสร็จสมบูรณ์ |
สัญญาณหลัก HDMI TX | |||
tx_vid_clk_locked | ป้อนข้อมูล | 1 | บ่งชี้ว่า vid_clk มีความเสถียร |
txcore_ctrl | ป้อนข้อมูล | N*6 | อินเทอร์เฟซการควบคุมหลัก HDMI TX ไม่มีสิบ = พิกเซลต่อนาฬิกา อ้างถึง อินเทอร์เฟซแหล่งที่มา ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
txcore_mode | ป้อนข้อมูล | 1 | |
txcore_audio_de | ป้อนข้อมูล | 1 | อินเทอร์เฟซเสียงหลัก HDMI TX อ้างถึง อินเทอร์เฟซแหล่งที่มา ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
txcore_audio_ปิดเสียง | ป้อนข้อมูล | 1 | |
txcore_audio_data | ป้อนข้อมูล | 256 | |
txcore_audio_info_ai | ป้อนข้อมูล | 49 | |
txcore_audio_N | ป้อนข้อมูล | 20 | |
txcore_audio_CTS | ป้อนข้อมูล | 20 | |
txcore_audio_metadata | ป้อนข้อมูล | 166 | |
txcore_audio_format | ป้อนข้อมูล | 5 | |
txcore_aux_ready | เอาท์พุต | 1 | อินเทอร์เฟซเสริมหลัก HDMI TX อ้างถึง อินเทอร์เฟซแหล่งที่มา ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
txcore_aux_data | ป้อนข้อมูล | 72 | |
txcore_aux_sop | ป้อนข้อมูล | 1 | |
txcore_aux_eop | ป้อนข้อมูล | 1 | |
txcore_aux_valid | ป้อนข้อมูล | 1 | |
txcore_gcp | ป้อนข้อมูล | 6 | สัญญาณแถบด้านข้างหลัก HDMI TX อ้างถึง อินเทอร์เฟซแหล่งที่มา ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
txcore_info_avi | ป้อนข้อมูล | 123 | |
txcore_info_vsi | ป้อนข้อมูล | 62 | |
txcore_i2c_master_write | ป้อนข้อมูล | 1 | อินเทอร์เฟซที่แมปหน่วยความจำ Avalon ต้นแบบ TX I2C กับต้นแบบ I2C ภายในคอร์ TX บันทึก: สัญญาณเหล่านี้จะใช้ได้เฉพาะเมื่อคุณเปิดเครื่อง รวม I2C พารามิเตอร์. |
txcore_i2c_master_read | ป้อนข้อมูล | 1 | |
txcore_i2c_master_address | ป้อนข้อมูล | 4 | |
txcore_i2c_master_writedata | ป้อนข้อมูล | 32 | |
txcore_i2c_master_readdata | เอาท์พุต | 32 | |
txcore_vid_data | ป้อนข้อมูล | N*48 | พอร์ตวิดีโอหลัก HDMI TX ไม่มีสิบ = พิกเซลต่อนาฬิกาอ้างอิง เอ่อถึง อินเทอร์เฟซแหล่งที่มา ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
txcore_vid_vsync | ป้อนข้อมูล | N | |
txcore_vid_hsync | ป้อนข้อมูล | N | |
txcore_vid_de | ป้อนข้อมูล | N | |
txcore_vid_ready | เอาท์พุต | 1 | |
txcore_vid_overflow | เอาท์พุต | 1 | |
txcore_vid_valid | ป้อนข้อมูล | 1 | |
txcore_frl_rate | ป้อนข้อมูล | 4 | อินเทอร์เฟซลงทะเบียน SCDC |
txcore_frl_pattern | ป้อนข้อมูล | 16 | |
txcore_frl_start | ป้อนข้อมูล | 1 | |
txcore_scrambler_enable | ป้อนข้อมูล | 1 | |
txcore_tbcr | ป้อนข้อมูล | 1 |
I2ซี สัญญาณ | |||
nios_tx_i2c_sda_in | เอาท์พุต | 1 | อินเทอร์เฟซ TX I2C Master สำหรับ SCDC และ DDC จากโปรเซสเซอร์ Nios II ไปยังเอาต์พุตบัฟเฟอร์ บันทึก: หากคุณเปิด รวม I2C พารามิเตอร์ สัญญาณเหล่านี้จะอยู่ภายในคอร์ TX และจะไม่สามารถมองเห็นได้ในระดับนี้ |
nios_tx_i2c_scl_in | เอาท์พุต | 1 | |
nios_tx_i2c_sda_oe | ป้อนข้อมูล | 1 | |
nios_tx_i2c_scl_oe | ป้อนข้อมูล | 1 | |
nios_ti_i2c_sda_in | เอาท์พุต | 1 | อินเทอร์เฟซ TX I2C Master จากโปรเซสเซอร์ Nios II ไปยังบัฟเฟอร์เอาต์พุตเพื่อควบคุม TI redriver บนการ์ดลูกสาว Bitec HDMI 2.1 FMC |
nios_ti_i2c_scl_in | เอาท์พุต | 1 | |
nios_ti_i2c_sda_oe | ป้อนข้อมูล | 1 | |
nios_ti_i2c_scl_oe | ป้อนข้อมูล | 1 | |
hdmi_tx_i2c_sda | ป้อนข้อมูล | 1 | อินเทอร์เฟซ TX I2C สำหรับอินเทอร์เฟซ SCDC และ DDC จากบัฟเฟอร์เอาต์พุตไปยังขั้วต่อ HDMI TX |
hdmi_tx_i2c_scl | ป้อนข้อมูล | 1 | |
hdmi_tx_ti_i2c_sda | ป้อนข้อมูล | 1 | อินเทอร์เฟซ TX I2C จากบัฟเฟอร์เอาต์พุตไปยัง TI redriver บนการ์ดลูกสาว Bitec HDMI 2.1 FMC |
hdmi_tx_ti_i2c_scl | ป้อนข้อมูล | 1 |
tx_hpd_req | เอาท์พุต | 1 | อินเทอร์เฟซตรวจจับฮอตปลั๊ก HDMI TX |
hdmi_tx_hpd_n | ป้อนข้อมูล | 1 |
ตารางที่ 19. สัญญาณ Arbiter ของตัวรับส่งสัญญาณ
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
คล้าก | ป้อนข้อมูล | 1 | นาฬิกากำหนดค่าใหม่ นาฬิกานี้ต้องใช้นาฬิกาเดียวกันกับบล็อกการจัดการการกำหนดค่าใหม่ |
รีเซ็ต | ป้อนข้อมูล | 1 | รีเซ็ตสัญญาณ การรีเซ็ตนี้ต้องแชร์การรีเซ็ตเดียวกันกับบล็อกการจัดการการกำหนดค่าใหม่ |
rx_rcfg_en | ป้อนข้อมูล | 1 | การกำหนดค่าใหม่ RX เปิดใช้งานสัญญาณ |
tx_rcfg_en | ป้อนข้อมูล | 1 | TX reconfiguration เปิดใช้งานสัญญาณ |
rx_rcfg_ch | ป้อนข้อมูล | 2 | ระบุช่องที่จะกำหนดค่าใหม่บนคอร์ RX สัญญาณนี้จะต้องได้รับการยืนยันเสมอ |
tx_rcfg_ch | ป้อนข้อมูล | 2 | ระบุช่องที่จะกำหนดค่าใหม่บนคอร์ TX สัญญาณนี้จะต้องได้รับการยืนยันเสมอ |
rx_reconfig_mgmt_write | ป้อนข้อมูล | 1 | การกำหนดค่าอินเทอร์เฟซที่แมปหน่วยความจำ Avalon ใหม่จากการจัดการการกำหนดค่า RX ใหม่ |
rx_reconfig_mgmt_read | ป้อนข้อมูล | 1 | |
rx_reconfig_mgmt_address | ป้อนข้อมูล | 10 | |
rx_reconfig_mgmt_writedata | ป้อนข้อมูล | 32 | |
rx_reconfig_mgmt_readdata | เอาท์พุต | 32 | |
rx_reconfig_mgmt_waitrequest | เอาท์พุต | 1 | |
tx_reconfig_mgmt_write | ป้อนข้อมูล | 1 | การกำหนดค่าอินเทอร์เฟซที่แมปหน่วยความจำ Avalon ใหม่จากการจัดการการกำหนดค่าใหม่ TX |
tx_reconfig_mgmt_read | ป้อนข้อมูล | 1 | |
tx_reconfig_mgmt_address | ป้อนข้อมูล | 10 | |
tx_reconfig_mgmt_writedata | ป้อนข้อมูล | 32 | |
tx_reconfig_mgmt_readdata | เอาท์พุต | 32 | |
tx_reconfig_mgmt_waitrequest | เอาท์พุต | 1 | |
กำหนดค่าใหม่_เขียน | เอาท์พุต | 1 | กำหนดค่าอินเทอร์เฟซที่แมปหน่วยความจำของ Avalon ใหม่กับตัวรับส่งสัญญาณ |
กำหนดค่าใหม่_อ่าน | เอาท์พุต | 1 | |
reconfig_address | เอาท์พุต | 10 | |
reconfig_writedata | เอาท์พุต | 32 | |
rx_reconfig_readdata | ป้อนข้อมูล | 32 | |
rx_reconfig_waitrequest | ป้อนข้อมูล | 1 | |
tx_reconfig_readdata | ป้อนข้อมูล | 1 | |
tx_reconfig_waitrequest | ป้อนข้อมูล | 1 |
rx_cal_busy | ป้อนข้อมูล | 1 | สัญญาณสถานะการสอบเทียบจากตัวรับส่งสัญญาณ RX |
tx_cal_busy | ป้อนข้อมูล | 1 | สัญญาณสถานะการสอบเทียบจากตัวรับส่งสัญญาณ TX |
rx_reconfig_cal_busy | เอาท์พุต | 1 | สัญญาณสถานะการสอบเทียบไปยังตัวควบคุมการรีเซ็ต PHY ของตัวรับส่งสัญญาณ RX |
tx_reconfig_cal_busy | เอาท์พุต | 1 | สัญญาณสถานะการสอบเทียบจากตัวควบคุมการรีเซ็ต PHY ของตัวรับส่งสัญญาณ TX |
ตารางที่ 20. สัญญาณลิงค์ RX-TX
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
vid_clk | ป้อนข้อมูล | 1 | นาฬิกาวิดีโอ HDMI |
rx_vid_lock | ป้อนข้อมูล | 3 | ระบุสถานะการล็อกวิดีโอ HDMI RX |
rx_vid_valid | ป้อนข้อมูล | 1 | อินเทอร์เฟซวิดีโอ HDMI RX |
rx_vid_de | ป้อนข้อมูล | N | |
rx_vid_hsync | ป้อนข้อมูล | N | |
rx_vid_vsync | ป้อนข้อมูล | N | |
rx_vid_data | ป้อนข้อมูล | N*48 | |
rx_aux_eop | ป้อนข้อมูล | 1 | อินเทอร์เฟซเสริม HDMI RX |
rx_aux_sop | ป้อนข้อมูล | 1 | |
rx_aux_valid | ป้อนข้อมูล | 1 | |
rx_aux_data | ป้อนข้อมูล | 72 | |
tx_vid_de | เอาท์พุต | N | อินเทอร์เฟซวิดีโอ HDMI TX ไม่มีสิบ = พิกเซลต่อนาฬิกา |
tx_vid_hsync | เอาท์พุต | N | |
tx_vid_vsync | เอาท์พุต | N | |
tx_vid_data | เอาท์พุต | น*48 | |
tx_vid_valid | เอาท์พุต | 1 | |
tx_vid_ready | ป้อนข้อมูล | 1 | |
tx_aux_eop | เอาท์พุต | 1 | อินเทอร์เฟซเสริม HDMI TX |
tx_aux_sop | เอาท์พุต | 1 | |
tx_aux_valid | เอาท์พุต | 1 | |
tx_aux_data | เอาท์พุต | 72 | |
tx_aux_ready | ป้อนข้อมูล | 1 |
ตารางที่ 21. สัญญาณระบบของ Platform Designer
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
cpu_clk_in_clk_clk | ป้อนข้อมูล | 1 | นาฬิกาซีพียู |
cpu_rst_in_reset_reset | ป้อนข้อมูล | 1 | รีเซ็ตซีพียู |
edid_ram_slave_translator_avalon_anti_slave_0_ที่อยู่ | เอาท์พุต | 8 | อินเทอร์เฟซการเข้าถึง EDID RAM |
edid_ram_slave_translator_avalon_anti_slave_0_write | เอาท์พุต | 1 | |
edid_ram_slave_translator_avalon_anti_slave_0_อ่าน | เอาท์พุต | 1 | |
edid_ram_slave_translator_avalon_anti_slave_0_readdata | ป้อนข้อมูล | 8 | |
edid_ram_slave_translator_avalon_anti_slave_0_writedata | เอาท์พุต | 8 | |
edid_ram_slave_translator_avalon_anti_slave_0_waitrequest | ป้อนข้อมูล | 1 | |
hdmi_i2c_master_i2c_serial_sda_in | ป้อนข้อมูล | 1 | อินเทอร์เฟซ I2C Master จากโปรเซสเซอร์ Nios II ไปยังบัฟเฟอร์เอาต์พุตสำหรับการควบคุม DDC และ SCDC |
hdmi_i2c_master_i2c_serial_scl_in | ป้อนข้อมูล | 1 | |
hdmi_i2c_master_i2c_serial_sda_oe | เอาท์พุต | 1 | |
hdmi_i2c_master_i2c_serial_scl_oe | เอาท์พุต | 1 | |
redriver_i2c_master_i2c_serial_sda_in | ป้อนข้อมูล | 1 | อินเทอร์เฟซ I2C Master จากโปรเซสเซอร์ Nios II ไปยังบัฟเฟอร์เอาต์พุตสำหรับการกำหนดค่าการตั้งค่า TI redriver |
redriver_i2c_master_i2c_serial_scl_in | ป้อนข้อมูล | 1 | |
redriver_i2c_master_i2c_serial_sda_oe | เอาท์พุต | 1 | |
redriver_i2c_master_i2c_serial_scl_oe | เอาท์พุต | 1 | |
pio_in0_external_connection_export | ป้อนข้อมูล | 32 | อินเทอร์เฟซเอาต์พุตอินพุตแบบขนาน • บิต 0: เชื่อมต่อกับสัญญาณ user_dipsw เพื่อควบคุมโหมดส่งผ่าน EDID • บิต 1: คำขอ TX HPD • บิต 2: ตัวรับส่งสัญญาณ TX พร้อมแล้ว • บิตที่ 3: การกำหนดค่า TX ใหม่เสร็จสิ้น • บิต 4–7: สงวนไว้ • บิต 8–11: อัตรา RX FRL • บิต 12: อัตราส่วนนาฬิกาบิต RX TMDS • บิต 13–16: RX FRL ล็อก • บิต 17–20: ระดับ RX FFE • บิต 21: ล็อคการจัดตำแหน่ง RX |
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
• บิต 22: ล็อควิดีโอ RX • บิต 23: ผู้ใช้กดปุ่ม 2 เพื่ออ่านการลงทะเบียน SCDC จากซิงก์ภายนอก • บิต 24–31: สงวนไว้ |
|||
pio_out0_external_connection_export | เอาท์พุต | 32 | อินเทอร์เฟซเอาต์พุตอินพุตแบบขนาน •บิต 0: TX HPD รับทราบ • บิต 1: การกำหนดค่าเริ่มต้น TX เสร็จสิ้น • บิต 2–7: สงวนไว้ • บิต 8–11: อัตรา TX FRL • บิต 12–27: รูปแบบการฝึกลิงก์ TX FRL • บิต 28: TX FRL เริ่มต้น • บิต 29–31: สงวนไว้ |
pio_out1_external_connection_export | เอาท์พุต | 32 | อินเทอร์เฟซเอาต์พุตอินพุตแบบขนาน • บิต 0: การเข้าถึง RX EDID RAM • บิต 1: RX FLT พร้อม • บิต 2–7: สงวนไว้ • บิต 8–15: การกำหนดค่าการทดสอบแหล่งที่มา RX FRL • บิต 16–31: สงวนไว้ |
2.1. 1. ออกแบบพารามิเตอร์ RTL
ใช้พารามิเตอร์ HDMI TX และ RX Top RTL เพื่อปรับแต่งการออกแบบ เช่นampเล.
พารามิเตอร์การออกแบบส่วนใหญ่มีอยู่ใน การออกแบบอดีตample แท็บของตัวแก้ไขพารามิเตอร์ HDMI Intel FPGA IP คุณยังสามารถเปลี่ยนการออกแบบได้เช่นampการตั้งค่าที่คุณทำในโปรแกรมแก้ไขพารามิเตอร์ผ่านพารามิเตอร์ RTL
ตาราง 22. พารามิเตอร์สูงสุดของ HDMI RX
พารามิเตอร์ |
ค่า |
คำอธิบาย |
SUPPORT_DEEP_COLOR | • 0: ไม่มีสีเข้ม • : สีเข้ม |
กำหนดว่าคอร์สามารถเข้ารหัสรูปแบบสีลึกได้หรือไม่ |
SUPPORT_AUXILIARY | • 0: ไม่มี AUX •1: ช่องรับสัญญาณเสียง |
กำหนดว่ารวมการเข้ารหัสแชนเนลเสริมหรือไม่ |
SYMBOLS_PER_CLOCK | 8 | รองรับ 8 สัญลักษณ์ต่อนาฬิกาสำหรับอุปกรณ์ Intel Arria 10 |
สนับสนุน_เสียง | • 0: ไม่มีเสียง • 1: เสียง |
กำหนดว่าคอร์สามารถเข้ารหัสเสียงได้หรือไม่ |
EDID_RAM_ADDR_WIDTH | 8 (ค่าเริ่มต้น) | บันทึกฐาน 2 ของขนาด EDID RAM |
BITEC_DAUGHTER_CARD_REV | •0: ไม่ได้กำหนดเป้าหมายการ์ดลูก Bitec HDMI ใดๆ •4: รองรับการแก้ไขการ์ดลูกสาว Bitec HDMI 4 •6: การกำหนดเป้าหมายการแก้ไขการ์ดลูกสาว Bitec HDMI 6 • 11: การกำหนดเป้าหมายการ์ดลูกสาว Bitec HDMI การแก้ไข 11 (ค่าเริ่มต้น) |
ระบุการแก้ไขการ์ดลูกสาว Bitec HDMI ที่ใช้ เมื่อคุณเปลี่ยนการแก้ไข การออกแบบอาจเปลี่ยนช่องรับส่งสัญญาณและกลับขั้วตามข้อกำหนดการ์ดลูก Bitec HDMI หากคุณตั้งค่าพารามิเตอร์ BITEC_DAUGHTER_CARD_REV เป็น 0 การออกแบบจะไม่ทำการเปลี่ยนแปลงใดๆ กับช่องรับส่งสัญญาณและขั้ว |
POLARITY_INVERSION | • 0: กลับขั้ว • 1: อย่ากลับขั้ว |
ตั้งค่าพารามิเตอร์นี้เป็น 1 เพื่อกลับค่าของแต่ละบิตของข้อมูลอินพุต การตั้งค่าพารามิเตอร์นี้เป็น 1 จะกำหนด 4'b1111 ให้กับพอร์ต rx_polinv ของตัวรับส่งสัญญาณ RX |
ตาราง 23. พารามิเตอร์สูงสุดของ HDMI TX
พารามิเตอร์ |
ค่า |
คำอธิบาย |
USE_FPLL | 1 | รองรับ fPLL เป็น TX PLL สำหรับอุปกรณ์ Intel Arria 10 เท่านั้น ตั้งค่าพารามิเตอร์นี้เป็น 1 เสมอ |
SUPPORT_DEEP_COLOR | •0: ไม่มีสีเข้ม
• 1: สีเข้ม |
กำหนดว่าคอร์สามารถเข้ารหัสรูปแบบสีลึกได้หรือไม่ |
SUPPORT_AUXILIARY | • 0: ไม่มี AUX • 1: ช่องรับสัญญาณเสียง |
กำหนดว่ารวมการเข้ารหัสแชนเนลเสริมหรือไม่ |
SYMBOLS_PER_CLOCK | 8 | รองรับ 8 สัญลักษณ์ต่อนาฬิกาสำหรับอุปกรณ์ Intel Arria 10 |
สนับสนุน_เสียง | • 0: ไม่มีเสียง • 1: เสียง |
กำหนดว่าคอร์สามารถเข้ารหัสเสียงได้หรือไม่ |
BITEC_DAUGHTER_CARD_REV | • 0: ไม่ได้กำหนดเป้าหมายการ์ดลูก Bitec HDMI ใดๆ • 4: รองรับการแก้ไขการ์ดลูกสาว Bitec HDMI 4 • 6: การกำหนดเป้าหมายการแก้ไขการ์ดลูกสาว Bitec HDMI 6 • 11: การกำหนดเป้าหมายการ์ดลูกสาว Bitec HDMI การแก้ไข 11 (ค่าเริ่มต้น) |
ระบุการแก้ไขการ์ดลูกสาว Bitec HDMI ที่ใช้ เมื่อคุณเปลี่ยนการแก้ไข การออกแบบอาจเปลี่ยนช่องรับส่งสัญญาณและกลับขั้วตามข้อกำหนดการ์ดลูก Bitec HDMI หากคุณตั้งค่าพารามิเตอร์ BITEC_DAUGHTER_CARD_REV เป็น 0 การออกแบบจะไม่ทำการเปลี่ยนแปลงใดๆ กับช่องรับส่งสัญญาณและขั้ว |
POLARITY_INVERSION | • 0: กลับขั้ว • 1: อย่ากลับขั้ว |
ตั้งค่าพารามิเตอร์นี้เป็น 1 เพื่อกลับค่าของแต่ละบิตของข้อมูลอินพุต การตั้งค่าพารามิเตอร์นี้เป็น 1 จะกำหนด 4'b1111 ให้กับพอร์ต tx_polinv ของตัวรับส่งสัญญาณ TX |
2.12. การตั้งค่าฮาร์ดแวร์
การออกแบบที่รองรับ HDMI FRL เช่นample มีความสามารถ HDMI 2.1 และทำการสาธิตการวนซ้ำสำหรับสตรีมวิดีโอ HDMI มาตรฐาน
ในการเรียกใช้การทดสอบฮาร์ดแวร์ ให้เชื่อมต่ออุปกรณ์ที่ใช้ HDMI เช่น การ์ดกราฟิกที่มีอินเทอร์เฟซ HDMI เข้ากับอินพุต HDMI การออกแบบรองรับทั้งแหล่งสัญญาณและซิงก์ HDMI 2.1 หรือ HDMI 2.0/1.4b
- ซิงก์ HDMI จะถอดรหัสพอร์ตเป็นสตรีมวิดีโอมาตรฐาน และส่งไปยังแกนกู้คืนนาฬิกา
- แกน HDMI RX ถอดรหัสวิดีโอ ข้อมูลเสริม และข้อมูลเสียงที่จะวนกลับขนานกับแกน HDMI TX ผ่าน DCFIFO
- พอร์ตต้นทาง HDMI ของการ์ดลูกสาว FMC ส่งภาพไปยังจอภาพ
บันทึก:
หากคุณต้องการใช้บอร์ดพัฒนา Intel FPGA อื่น คุณต้องเปลี่ยนการกำหนดอุปกรณ์และการกำหนดพิน การตั้งค่าอะนาล็อกของตัวรับส่งสัญญาณได้รับการทดสอบสำหรับชุดพัฒนา Intel Arria 10 FPGA และการ์ดลูก Bitec HDMI 2.1 คุณสามารถแก้ไขการตั้งค่าสำหรับบอร์ดของคุณเองได้
ตาราง 24. ปุ่มกดออนบอร์ดและฟังก์ชั่น LED ผู้ใช้
ปุ่มกด/ไฟ LED |
การทำงาน |
cpu_resetn | กดหนึ่งครั้งเพื่อทำการรีเซ็ตระบบ |
user_dipsw | สวิตช์ DIP ที่ผู้ใช้กำหนดเพื่อสลับโหมดพาสทรู •OFF (ตำแหน่งเริ่มต้น) = Passthrough HDMI RX บน FPGA รับ EDID จากซิงก์ภายนอกและนำเสนอไปยังแหล่งภายนอกที่เชื่อมต่ออยู่ • เปิด = คุณสามารถควบคุมอัตรา RX FRL สูงสุดได้จากเทอร์มินัล Nios II คำสั่งแก้ไข RX EDID โดยจัดการค่าอัตรา FRL สูงสุด โปรดดูที่การเรียกใช้การออกแบบในอัตรา FRL ที่แตกต่างกัน ในหน้า 33 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าอัตรา FRL ที่แตกต่างกัน |
ผู้ใช้_pb[0] | กดหนึ่งครั้งเพื่อสลับสัญญาณ HPD ไปยังแหล่งสัญญาณ HDMI มาตรฐาน |
ผู้ใช้_pb[1] | ที่สงวนไว้. |
ผู้ใช้_pb[2] | กดหนึ่งครั้งเพื่ออ่านการลงทะเบียน SCDC จากซิงก์ที่เชื่อมต่อกับ TX ของการ์ดลูกสาว Bitec HDMI 2.1 FMC บันทึก: หากต้องการเปิดใช้งานการอ่าน คุณต้องตั้งค่า DEBUG_MODE เป็น 1 ในซอฟต์แวร์ |
USER_LED[0] | สถานะการล็อก PLL ของนาฬิกา RX TMDS •0 = ปลดล็อค • 1 = ล็อค |
USER_LED[1] | สถานะพร้อมรับส่งสัญญาณ RX •0 = ยังไม่พร้อม • 1 = พร้อม |
USER_LED[2] | ลิงค์ RX นาฬิกาความเร็ว PLL และวิดีโอ RX และสถานะล็อค PLL นาฬิกา FRL • 0 = PLL นาฬิกา RX อันใดอันหนึ่งถูกปลดล็อค • 1 = PLL ของนาฬิกา RX ทั้งคู่ถูกล็อค |
USER_LED[3] | การจัดแนวคอร์ RX HDMI และสถานะการล็อกเดสก์ • 0 = ปลดล็อคอย่างน้อย 1 ช่อง • 1 = ทุกช่องถูกล็อค |
USER_LED[4] | สถานะล็อควิดีโอ RX HDMI • 0 = ปลดล็อค • 1 = ล็อค |
USER_LED[5] | TX link speed clock PLL และวิดีโอ TX และสถานะล็อค FRL clock PLL •0 = PLL นาฬิกา TX อันใดอันหนึ่งถูกปลดล็อค • 1 = PLL ของนาฬิกา TX ทั้งสองถูกล็อค |
USER_LED[6] USER_LED[7] | สถานะพร้อมรับส่งสัญญาณ TX • 0 = ไม่พร้อม • 1 = พร้อม สถานะการฝึกอบรมลิงก์ TX • 0 = ล้มเหลว • 1 = ผ่าน |
2.13. ม้านั่งทดสอบจำลอง
ม้านั่งจำลองจำลองการย้อนกลับอนุกรม HDMI TX ไปยังคอร์ RX
บันทึก:
ม้านั่งทดสอบจำลองนี้ไม่ได้รับการสนับสนุนสำหรับการออกแบบที่เปิดใช้งานพารามิเตอร์ Include I2C
รูปที่ 19. แผนภาพบล็อกม้านั่งทดสอบการจำลอง HDMI Intel FPGA IPตารางที่ 25. ส่วนประกอบของ Testbench
ส่วนประกอบ |
คำอธิบาย |
วีดีโอ ส.ป.ก | ตัวสร้างรูปแบบการทดสอบวิดีโอ (TPG) เป็นตัวกระตุ้นวิดีโอ |
เสียง Sampเลอ เจน | เสียง sampเครื่องกำเนิดไฟฟ้า le ให้เสียง sample กระตุ้น เครื่องกำเนิดสร้างรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นเพื่อส่งผ่านช่องสัญญาณเสียง |
โอกซ์ สampเลอ เจน | auxampเครื่องกำเนิดไฟฟ้า le ให้เครื่องช่วยample กระตุ้น เครื่องกำเนิดไฟฟ้าสร้างข้อมูลคงที่ที่จะส่งจากเครื่องส่งสัญญาณ |
ซีอาร์ซีเช็ค | ตัวตรวจสอบนี้ตรวจสอบว่าความถี่สัญญาณนาฬิกาที่กู้คืนตัวรับส่งสัญญาณ TX ตรงกับอัตราข้อมูลที่ต้องการหรือไม่ |
ตรวจสอบข้อมูลเสียง | การตรวจสอบข้อมูลเสียงจะเปรียบเทียบว่าได้รับและถอดรหัสรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นอย่างถูกต้องหรือไม่ |
ตรวจสอบข้อมูล Aux | การตรวจสอบข้อมูล aux จะเปรียบเทียบว่าได้รับข้อมูล aux ที่คาดหวังและถอดรหัสอย่างถูกต้องที่ฝั่งเครื่องรับหรือไม่ |
เครื่องทดสอบการจำลอง HDMI ทำการทดสอบการตรวจสอบต่อไปนี้:
คุณสมบัติ HDMI |
การตรวจสอบ |
ข้อมูลวิดีโอ | • Testbench ใช้การตรวจสอบ CRC บนวิดีโออินพุตและเอาต์พุต • ตรวจสอบค่า CRC ของข้อมูลที่ส่งเทียบกับ CRC ที่คำนวณในข้อมูลวิดีโอที่ได้รับ • จากนั้น Testbench จะทำการตรวจสอบหลังจากตรวจพบสัญญาณ V-SYNC ที่เสถียร 4 ตัวจากเครื่องรับ |
ข้อมูลเสริม | • aux sampเครื่องกำเนิดไฟฟ้าสร้างข้อมูลคงที่ที่จะส่งจากเครื่องส่งสัญญาณ • ที่ด้านเครื่องรับ เครื่องกำเนิดไฟฟ้าจะเปรียบเทียบว่าข้อมูลเสริมที่คาดไว้นั้นได้รับและถอดรหัสอย่างถูกต้องหรือไม่ |
ข้อมูลเสียง | • เครื่องเสียงample generator สร้างรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นเพื่อส่งผ่านช่องสัญญาณเสียง ตัวตรวจสอบข้อมูลเสียงจะตรวจสอบและเปรียบเทียบว่าได้รับและถอดรหัสรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นอย่างถูกต้องหรือไม่ |
การจำลองที่สำเร็จจะจบลงด้วยข้อความต่อไปนี้:
# สัญลักษณ์_PER_CLOCK = 2
# วิค = 4
# FRL_RATE = 0
# บีพีพี = 0
# AUDIO_FREQUENCY (กิโลเฮิรตซ์) = 48
# เสียง_ช่อง = 8
# บัตรผ่านจำลอง
ตารางที่ 26. การออกแบบ IP ของ HDMI Intel FPGA เช่นample เครื่องจำลองที่รองรับ
โปรแกรมจำลอง |
เวอริล็อก เอชดีแอล |
วีเอชดีแอล |
ModelSim – รุ่น Intel FPGA/ ModelSim – Intel FPGA Starter Edition | ใช่ | ใช่ |
วีซีเอส/วีซีเอส เอ็มเอ็กซ์ | ใช่ | ใช่ |
ริเวียร่า-PRO | ใช่ | ใช่ |
เอ็กซ์ซีเลียมขนาน | ใช่ | เลขที่ |
2.14. ข้อจำกัดในการออกแบบ
คุณต้องคำนึงถึงข้อจำกัดบางประการเมื่อสร้างอินสแตนซ์ของการออกแบบ HDMI 2.1 เช่นampเล.
- TX ไม่สามารถทำงานในโหมด TMDS เมื่ออยู่ในโหมดไม่ผ่าน หากต้องการทดสอบในโหมด TMDS ให้สลับสวิตช์ user_dipsw กลับไปเป็นโหมดพาสทรู
- โปรเซสเซอร์ Nios II ต้องให้บริการการฝึกอบรม TX link จนจบโดยไม่หยุดชะงักจากกระบวนการอื่น
2.15. คุณสมบัติการดีบัก
การออกแบบนี้เช่นample มีคุณสมบัติการดีบักบางอย่างเพื่อช่วยเหลือคุณ
2.15.1. ข้อความการดีบักซอฟต์แวร์
คุณสามารถเปิดข้อความดีบั๊กในซอฟต์แวร์เพื่อให้ความช่วยเหลือรันไทม์ได้
หากต้องการเปิดข้อความดีบักในซอฟต์แวร์ ให้ทำตามขั้นตอนเหล่านี้:
- เปลี่ยน DEBUG_MODE เป็น 1 ในสคริปต์ global.h
- เรียกใช้ script/build_sw.sh บน Nios II Command Shell
- ตั้งโปรแกรมซอฟต์แวร์ที่สร้างขึ้นใหม่/tx_control/tx_control.elf file โดยการรันคำสั่งบน Nios II Command Shell:
ดาวน์โหลด nios2 -r -g ซอฟต์แวร์/tx_control/tx_control.elf - เรียกใช้คำสั่งเทอร์มินัล Nios II บน Nios II Command Shell:
nios2-ขั้ว
เมื่อคุณเปิดข้อความดีบัก ข้อมูลต่อไปนี้จะพิมพ์ออกมา:
- การตั้งค่า TI redriver ทั้ง TX และ RX จะถูกอ่านและแสดงผลหนึ่งครั้งหลังจากตั้งโปรแกรม ELF file.
- ข้อความสถานะสำหรับการกำหนดค่า RX EDID และกระบวนการฮอตปลั๊ก
- ความละเอียดโดยมีหรือไม่มีข้อมูลสนับสนุน FRL ที่ดึงมาจาก EDID บนซิงก์ที่เชื่อมต่อกับ TX ข้อมูลนี้จะแสดงสำหรับทุกฮอตปลั๊ก TX
- ข้อความแสดงสถานะสำหรับขั้นตอนการฝึกลิงก์ TX ระหว่างการฝึกลิงก์ TX
2.15.2. ข้อมูล SCDC จาก Sink ที่เชื่อมต่อกับ TX
คุณสามารถใช้คุณสมบัตินี้เพื่อรับข้อมูล SCDC
- เรียกใช้คำสั่งเทอร์มินัล Nios II บน Nios II Command Shell: nios2-terminal
- กด user_pb[2] บนชุดพัฒนา Intel Arria 10 FPGA
ซอฟต์แวร์อ่านและแสดงข้อมูล SCDC บนซิงก์ที่เชื่อมต่อกับ TX บนเทอร์มินัล Nios II
2.15.3. การวัดความถี่นาฬิกา
ใช้คุณสมบัตินี้เพื่อตรวจสอบความถี่ของนาฬิกาต่างๆ
- ใน hdmi_rx_top และ hdmi_tx_top files, ยกเลิกการแสดงความคิดเห็น “//`define DEBUG_EN 1”
- เพิ่มสัญญาณ refclock_measure จากแต่ละอินสแตนซ์ mr_rate_detect ไปยัง Signal Tap Logic Analyzer เพื่อรับความถี่สัญญาณนาฬิกาของแต่ละสัญญาณนาฬิกา (ในระยะเวลา 10 มิลลิวินาที)
- รวบรวมการออกแบบด้วย Signal Tap Logic Analyzer
- โปรแกรม SOF file และเรียกใช้ตัววิเคราะห์ลอจิกการแตะสัญญาณ
ตารางที่ 27. นาฬิกา
โมดูล | mr_rate_detect อินสแตนซ์ |
นาฬิกาที่จะวัด |
hdmi_rx_top | rx_pll_tmds | นาฬิกาอ้างอิง RX CDR 0 |
rx_clk0_freq | นาฬิการับส่งสัญญาณ RX ออกจากช่อง 0 | |
rx_vid_clk_freq | นาฬิกาวิดีโอ RX | |
rx_frl_clk_freq | นาฬิกา RX FRL | |
rx_hsync_freq | ความถี่ Hsync ของเฟรมวิดีโอที่ได้รับ | |
hdmi_tx_top | tx_clk0_freq | นาฬิการับส่งสัญญาณ TX ออกจากช่อง 0 |
vid_clk_freq | นาฬิกาวิดีโอ TX | |
frl_clk_freq | นาฬิกา TX FRL | |
tx_hsync_freq | ความถี่ Hsync ของเฟรมวิดีโอที่จะส่ง |
2.16. อัปเกรดการออกแบบของคุณ
ตาราง 28. การออกแบบ HDMI เช่นampความเข้ากันได้กับซอฟต์แวร์รุ่นก่อนหน้าของ Intel Quartus Prime Pro Edition
การออกแบบอดีตampเลอ Variant | ความสามารถในการอัปเกรดเป็น Intel Quartus Prime Pro Edition 20.3 |
การออกแบบ HDMI 2.1 เช่นample (สนับสนุน FRL = 1) | เลขที่ |
สำหรับการออกแบบที่ไม่เข้ากันเช่นampคุณต้องทำสิ่งต่อไปนี้:
- สร้างการออกแบบใหม่เช่นampในเวอร์ชันซอฟต์แวร์ Intel Quartus Prime Pro Edition ปัจจุบันโดยใช้การกำหนดค่าเดียวกันกับการออกแบบที่คุณมีอยู่
- เปรียบเทียบการออกแบบทั้งหมด เช่นampไดเร็กทอรี le ที่มีการออกแบบเช่นampไฟล์ที่สร้างขึ้นโดยใช้ซอฟต์แวร์ Intel Quartus Prime Pro Edition รุ่นก่อนหน้า พอร์ตเหนือการเปลี่ยนแปลงที่พบ
การออกแบบ HDMI 2.0 เช่นample (สนับสนุน FRL = 0)
การออกแบบ HDMI Intel FPGA IP เช่นampสาธิตการต่อพ่วงขนานอินสแตนซ์ HDMI หนึ่งอินสแตนซ์ซึ่งประกอบด้วยช่องสัญญาณ RX สามช่องและช่องสัญญาณ TX สี่ช่อง
ตารางที่ 29. การออกแบบ IP ของ HDMI Intel FPGA เช่นampไฟล์สำหรับอุปกรณ์ Intel Arria 10
การออกแบบอดีตample | อัตราข้อมูล | โหมดช่อง | ประเภทย้อนกลับ |
การส่งสัญญาณซ้ำของ Arria 10 HDMI RX-TX | < 6,000 Mbps | ซิมเพล็กซ์ | ขนานกับบัฟเฟอร์ FIFO |
คุณสมบัติ
- การออกแบบสร้างอินสแตนซ์บัฟเฟอร์ FIFO เพื่อดำเนินการสตรีมวิดีโอ HDMI โดยตรงระหว่างซิงก์ HDMI และแหล่งที่มา
- การออกแบบใช้สถานะ LED สำหรับการดีบักในช่วงต้นtage.
- การออกแบบมาพร้อมกับตัวเลือก RX และ TX เท่านั้น
- การออกแบบสาธิตการแทรกและการกรองของ Dynamic Range และ Mastering (HDR) InfoFrame ในโมดูลลิงก์ RX-TX
- การออกแบบแสดงให้เห็นถึงการจัดการการส่งผ่าน EDID จากซิงก์ HDMI ภายนอกไปยังแหล่งสัญญาณ HDMI ภายนอกเมื่อถูกกระตุ้นโดยเหตุการณ์ TX hot-plug
- การออกแบบช่วยให้สามารถควบคุมรันไทม์ผ่านสวิตช์ DIP และปุ่มกดเพื่อจัดการสัญญาณหลัก HDMI TX:
— สัญญาณโหมดเพื่อเลือกเฟรมวิดีโอที่เข้ารหัส DVI หรือ HDMI
— info_avi[47], info_vsi[61] และสัญญาณ audio_info_ai[48] เพื่อเลือกการส่งแพ็กเก็ตเสริมผ่านแถบด้านข้างหรือพอร์ตข้อมูลเสริม
อินสแตนซ์ RX ได้รับแหล่งที่มาของวิดีโอจากตัวสร้างวิดีโอภายนอก จากนั้นข้อมูลจะผ่าน FIFO แบบย้อนกลับก่อนที่จะส่งไปยังอินสแตนซ์ TX
คุณต้องเชื่อมต่อเครื่องวิเคราะห์วิดีโอภายนอก จอภาพ หรือโทรทัศน์ที่มีการเชื่อมต่อ HDMI เข้ากับแกน TX เพื่อตรวจสอบการทำงาน
3.1. HDMI 2.0 RX-TX แผนภาพการออกแบบการส่งสัญญาณซ้ำ
การออกแบบการส่งซ้ำ HDMI 2.0 RX-TX เช่นampสาธิตการวนกลับแบบขนานในโหมดแชนเนลแบบง่ายสำหรับ HDMI Intel FPGA IP
รูปที่ 20 แผนภาพบล็อกการส่งสัญญาณซ้ำ HDMI RX-TX (Intel Quartus Prime Pro Edition)รูปที่ 21 แผนภาพบล็อกการส่งสัญญาณซ้ำ HDMI RX-TX (Intel Quartus Prime Standard Edition)
ข้อมูลที่เกี่ยวข้อง
Jitter ของ PLL Cascading หรือ Non-dedicated Clock Path สำหรับ Arria 10 PLL Reference Clock โปรดดูวิธีแก้ปัญหานี้หากนาฬิกาออกแบบของคุณมีปัญหาเพิ่มเติม
กระวนกระวายใจ
3.2. ข้อกำหนดของฮาร์ดแวร์และซอฟต์แวร์
Intel ใช้ฮาร์ดแวร์และซอฟต์แวร์ต่อไปนี้เพื่อทดสอบการออกแบบ เช่นampเล.
ฮาร์ดแวร์
- ชุดพัฒนา Intel Arria 10 GX FPGA
- แหล่งสัญญาณ HDMI (หน่วยประมวลผลกราฟิก (GPU))
- HDMI Sink (จอภาพ)
- การ์ดลูก Bitec HDMI FMC 2.0 (Revision 11)
- สาย HDMI
บันทึก:
คุณสามารถเลือกการแก้ไขการ์ดลูกสาว Bitec HDMI ของคุณได้ ตั้งค่าพารามิเตอร์ท้องถิ่น BITEC_DAUGHTER_CARD_REV เป็น 4, 6 หรือ 11 ในระดับบนสุด file (a10_hdmi2_demo.v). เมื่อคุณเปลี่ยนการแก้ไข การออกแบบอาจเปลี่ยนช่องรับส่งสัญญาณและกลับขั้วตามข้อกำหนดของการ์ด Bitec HDMI ลูกสาว หากคุณตั้งค่าพารามิเตอร์ BITEC_DAUGHTER_CARD_REV เป็น 0 การออกแบบจะไม่ทำการเปลี่ยนแปลงใดๆ กับช่องรับส่งสัญญาณและขั้ว สำหรับการออกแบบ HDMI 2.1 เช่นampภายใต้ Design Exampแท็บ ตั้งค่าการแก้ไขการ์ดลูกสาว HDMI เป็นเวอร์ชัน 9, เวอร์ชัน 4 หรือไม่มีการ์ดลูกสาว ค่าเริ่มต้นคือการแก้ไข 9
ซอฟต์แวร์
- Intel Quartus Prime เวอร์ชัน 18.1 และใหม่กว่า (สำหรับการทดสอบฮาร์ดแวร์)
- ModelSim – Intel FPGA Edition, ModelSim – Intel FPGA Starter Edition, , RivieraPRO, VCS (Verilog HDL เท่านั้น)/VCS MX หรือ Xcelium Parallel Simulator
3.3. โครงสร้างไดเร็กทอรี
ไดเร็กทอรีประกอบด้วยไฟล์ที่สร้างขึ้น files สำหรับการออกแบบ HDMI Intel FPGA IP เช่นampเล.
รูปที่ 22 โครงสร้างไดเร็กทอรีสำหรับการออกแบบ เช่นampleตารางที่ 30. RTL ที่สร้างขึ้น Files
โฟลเดอร์ | Files |
จีเอ็กซ์บี | • /gxb_rx.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /gxb_rx.ip (รุ่น Intel Quartus Prime Pro) |
• /gxb_rx_reset.qsys (Intel Quartus Prime Standard Edition) • /gxb_rx_reset.ip (รุ่น Intel Quartus Prime Pro) |
|
• /gxb_tx.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /gxb_tx.ip (รุ่น Intel Quartus Prime Pro) |
|
• /gxb_tx_fpll.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /gxb_tx_fpll.ip (รุ่น Intel Quartus Prime Pro) |
|
• /gxb_tx_reset.qsys (Intel Quartus Prime Standard Edition) • /gxb_tx_reset.ip (รุ่น Intel Quartus Prime Pro) |
|
hdmi_rx | •/hdmi_rx.qsys (Intel Quartus Prime รุ่นมาตรฐาน) •/hdmi_rx.ip (รุ่น Intel Quartus Prime Pro) |
/hdmi_rx_top.v | |
/mr_clock_sync.v (Intel Quartus Prime รุ่นมาตรฐาน) | |
/mr_hdmi_rx_core_top.v (Intel Quartus Prime รุ่นมาตรฐาน) | |
/mr_rx_oversample.v (Intel Quartus Prime รุ่นมาตรฐาน) | |
/ symbol_aligner.v | |
Panasonic.hex (รุ่น Intel Quartus Prime Pro) | |
hdmi_tx | • /hdmi_tx.qsys (Intel Quartus Prime รุ่นมาตรฐาน) •/hdmi_tx.ip (รุ่น Intel Quartus Prime Pro) |
/hdmi_tx_top.v | |
/mr_ce.v (Intel Quartus Prime รุ่นมาตรฐาน) | |
/mr_hdmi_tx_core_top.v (Intel Quartus Prime รุ่นมาตรฐาน) | |
/mr_tx_oversample.v (Intel Quartus Prime รุ่นมาตรฐาน) | |
i2c_master
(Intel Quartus Prime รุ่นมาตรฐาน) |
/i2c_master_bit_ctrl.v |
/i2c_master_byte_ctrl.v | |
/i2c_master_defines.v | |
/i2c_master_top.v | |
/oc_i2c_master.v | |
/oc_i2c_master_hw.tcl | |
/timescale.v | |
i2c_slave | /edid_ram.qsys (Intel Quartus Prime รุ่นมาตรฐาน) |
/Panasonic.hex (Intel Quartus Prime รุ่นมาตรฐาน) | |
/i2c_avl_mst_intf_gen.v | |
/i2c_clk_cnt.v | |
/i2c_condt_det.v | |
/i2c_databuffer.v | |
/i2c_rxshifter.v | |
/i2c_slvfsm.v | |
/i2c_spksupp.v | |
/i2c_txout.v | |
/i2c_txshifter.v | |
/i2cslave_to_avlmm_bridge.v | |
พีแอลแอล | • /pll_hdmi.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /pll_hdmi.ip (รุ่น Intel Quartus Prime Pro) |
• /pll_hdmi_reconfig.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /pll_hdmi_reconfig.ip (รุ่น Intel Quartus Prime Pro) |
|
quartus.ini | |
ทั่วไป | • /clock_control.qsys (Intel Quartus Prime Standard Edition) • /clock_control.ip (รุ่น Intel Quartus Prime Pro) |
• /fifo.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /fifo.ip (รุ่น Intel Quartus Prime Pro) |
|
• /output_buf_i2c.qsys (Intel Quartus Prime รุ่นมาตรฐาน) •/output_buf_i2c.ip (รุ่น Intel Quartus Prime Pro) |
|
/reset_controller.qsys (Intel Quartus Prime Standard Edition) | |
/clock_crosser.v |
dcfifo_inst.v | |
debouncer.sv (รุ่น Intel Quartus Prime Pro) | |
เอชดีอาร์ | /altera_hdmi_aux_hdr.v |
/altera_hdmi_aux_snk.v | |
/altera_hdmi_aux_src.v | |
/altera_hdmi_hdr_infoframe.v | |
/avalon_st_mutiplexer.qsys | |
reconfig_mgmt | /mr_compare_pll.v |
/mr_compare_rx.v | |
/mr_rate_detect.v | |
/mr_reconfig_master_pll.v | |
/mr_reconfig_master_rx.v | |
/mr_reconfig_mgmt.v | |
/mr_rom_pll_dprioaddr.v | |
/mr_rom_pll_valuemask_8bpc.v | |
/mr_rom_pll_valuemask_10bpc.v | |
/mr_rom_pll_valuemask_12bpc.v | |
/mr_rom_pll_valuemask_16bpc.v | |
/mr_rom_rx_dprioaddr_bitmask.v | |
/mr_rom_rx_valuemask.v | |
/mr_state_machine.v | |
เอสดีซี | /a10_hdmi2.sdc |
/mr_reconfig_mgmt.sdc | |
/jtag.sdc | |
/rxtx_link.sdc | |
/mr_clock_sync.sdc (Intel Quartus Prime รุ่นมาตรฐาน) |
ตารางที่ 31. การจำลองที่สร้างขึ้น Files
อ้างอิงถึงส่วน Simulation Testbench สำหรับข้อมูลเพิ่มเติม
โฟลเดอร์ | Files |
อัลเดค | /aldec.do |
/rivierapro_setup.tcl | |
จังหวะ | /cds.lib |
/hdl.var | |
<โฟลเดอร์ cds_libs> |
ที่ปรึกษา | /mentor.do |
/msim_setup.tcl | |
บทสรุป | /วีซีเอส/fileรายการฉ |
/vcs/vcs_setup.sh | |
/vcs/vcs_sim.sh | |
/vcsmx/vcsmx_setup.sh | |
/vcsmx/vcsmx_sim.sh | |
/vcsmx/sinopsys_sim_setup | |
เอ็กซ์ซีเลียม
(รุ่น Intel Quartus Prime Pro) |
/cds.lib |
/hdl.var | |
/xcelium_setup.sh | |
/xcelium_sim.sh | |
ทั่วไป
(รุ่น Intel Quartus Prime Pro) |
/modelsim_fileส.ทีคแอล |
/ริเวียร่า_fileส.ทีคแอล | |
/วีซีเอส_fileส.ทีคแอล | |
/vcsmx_fileส.ทีคแอล | |
/เอ็กซ์ซีเลียม_fileส.ทีคแอล | |
hdmi_rx | • /hdmi_rx.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /hdmi_rx.ip (รุ่น Intel Quartus Prime Pro) |
/hdmi_rx.sopcinfo (Intel Quartus Prime Standard Edition) | |
/Panasonic.hex (รุ่น Intel Quartus Prime Pro) | |
/ symbol_aligner.v (รุ่น Intel Quartus Prime Pro) | |
hdmi_tx | • /hdmi_tx.qsys (Intel Quartus Prime รุ่นมาตรฐาน) • /hdmi_tx.ip (รุ่น Intel Quartus Prime Pro) |
/hdmi_tx.sopcinfo (Intel Quartus Prime รุ่นมาตรฐาน) |
ตารางที่ 32.ซอฟต์แวร์ที่สร้างขึ้น Files
โฟลเดอร์ | Files |
tx_control_src บันทึก: โฟลเดอร์ tx_control ยังมีสำเนาเหล่านี้ด้วย files. |
/intel_fpga_i2c.c (รุ่น Intel Quartus Prime Pro) |
/intel_fpga_i2c.h (รุ่น Intel Quartus Prime Pro) | |
/i2c.c (Intel Quartus Prime รุ่นมาตรฐาน) | |
/i2c.h (Intel Quartus Prime รุ่นมาตรฐาน) | |
/main.c | |
/xcvr_gpll_rcfg.c /xcvr_gpll_rcfg.h /ti_i2c.c (Intel Quartus Prime รุ่นมาตรฐาน) /ti_i2c.h (Intel Quartus Prime รุ่นมาตรฐาน) |
3.4. ส่วนประกอบการออกแบบ
การออกแบบ HDMI Intel FPGA IP เช่นample ต้องการส่วนประกอบเหล่านี้
ตารางที่ 33. ส่วนประกอบด้านบนสุดของ HDMI RX
โมดูล |
คำอธิบาย |
แกน HDMI RX | IP ได้รับข้อมูลซีเรียลจาก Transceiver Native PHY และดำเนินการจัดตำแหน่งข้อมูล, channeldesew, การถอดรหัส TMDS, การถอดรหัสข้อมูลเสริม, การถอดรหัสข้อมูลวิดีโอ, การถอดรหัสข้อมูลเสียง และการถอดรหัส |
I2 | I2C เป็นอินเทอร์เฟซที่ใช้สำหรับ Sink Display Data Channel (DDC) และ Status and Data Channel (SCDC) แหล่งสัญญาณ HDMI ใช้ DDC เพื่อกำหนดความสามารถและคุณลักษณะของซิงก์โดยการอ่านโครงสร้างข้อมูล Enhanced Extended Display Identification Data (E-EDID) • ที่อยู่ทาส I8C 2 บิตสำหรับ E-EDID คือ 0xA0 และ 0xA1 LSB ระบุประเภทการเข้าถึง: 1 สำหรับการอ่านและ 0 สำหรับการเขียน เมื่อเกิดเหตุการณ์ HPD สเลฟ I2C จะตอบสนองต่อข้อมูล E-EDID โดยการอ่านจาก RAM บนชิป • ตัวควบคุม I2C Slave-only ยังรองรับ SCDC สำหรับการทำงานของ HDMI 2.0 ที่อยู่สลาฟ I8C 2 บิตสำหรับ SCDC คือ 0xA8 และ 0xA9 เมื่อเกิดเหตุการณ์ HPD สเลฟ I2C จะดำเนินการเขียนหรืออ่านธุรกรรมไปยังหรือจากอินเทอร์เฟซ SCDC ของคอร์ HDMI RX บันทึก: ไม่จำเป็นต้องใช้ตัวควบคุม I2C Slave-only สำหรับ SCDC หากไม่ต้องการใช้ HDMI 2.0b หากคุณเปิด รวม I2C พารามิเตอร์ บล็อกนี้จะรวมอยู่ในคอร์และจะไม่สามารถมองเห็นได้ในระดับนี้ |
อีดีดี แรม | การออกแบบจัดเก็บข้อมูล EDID โดยใช้คอร์ IP ของ RAM 1 พอร์ต โปรโตคอลบัสอนุกรมแบบสองสายมาตรฐาน (นาฬิกาและข้อมูล) (ตัวควบคุมทาสอย่างเดียว I2C) จะถ่ายโอนโครงสร้างข้อมูล E-EDID ที่สอดคล้องกับ CEA-861-D EDID RAM นี้เก็บข้อมูล E- EDID บันทึก: หากคุณเปิด รวม EDID RAM พารามิเตอร์ บล็อกนี้จะรวมอยู่ในคอร์และจะไม่สามารถมองเห็นได้ในระดับนี้ |
ไอโอพีแอล | IOPLL สร้างนาฬิกาอ้างอิง RX CDR, นาฬิกาความเร็วลิงก์ และนาฬิกาวิดีโอสำหรับนาฬิกา TMDS ที่เข้ามา • นาฬิกาเอาต์พุต 0 (นาฬิกาอ้างอิง CDR) • นาฬิกาเอาต์พุต 1 (นาฬิกาความเร็วลิงก์) • นาฬิกาเอาต์พุต 2 (นาฬิกาวิดีโอ) บันทึก: การกำหนดค่า IOPLL เริ่มต้นไม่ถูกต้องสำหรับความละเอียด HDMI ใดๆ IOPLL ได้รับการกำหนดค่าใหม่เป็นการตั้งค่าที่เหมาะสมเมื่อเปิดเครื่อง |
ตัวรับส่งสัญญาณ PHY รีเซ็ตตัวควบคุม | ตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ PHY ช่วยให้มั่นใจได้ถึงการเริ่มต้นตัวรับส่งสัญญาณ RX ที่เชื่อถือได้ อินพุตรีเซ็ตของคอนโทรลเลอร์นี้ถูกกระตุ้นโดยการกำหนดค่า RX ใหม่ และสร้างสัญญาณรีเซ็ตแบบอะนาล็อกและดิจิทัลที่สอดคล้องกันไปยังบล็อก Transceiver Native PHY ตามลำดับการรีเซ็ตภายในบล็อก |
RX เนทีฟ PHY | บล็อกตัวรับส่งสัญญาณแบบแข็งที่รับข้อมูลซีเรียลจากแหล่งวิดีโอภายนอก จะทำการดีซีเรียลไลซ์ข้อมูลซีเรียลให้เป็นข้อมูลแบบขนานก่อนที่จะส่งข้อมูลไปยังแกน HDMI RX |
การจัดการการกำหนดค่าใหม่ RX | การจัดการการกำหนดค่า RX ใหม่ที่ใช้วงจรการตรวจจับอัตราด้วย HDMI PLL เพื่อขับเคลื่อนตัวรับส่งสัญญาณ RX ให้ทำงานที่อัตราการเชื่อมโยงตามอำเภอใจตั้งแต่ 250 Mbps ถึง 6,000 Mbps โปรดดูรูปที่ 23 ในหน้า 63 ด้านล่าง |
การกำหนดค่า IOPLL ใหม่ | บล็อกการกำหนดค่าใหม่ IOPLL ช่วยอำนวยความสะดวกในการกำหนดค่า PLL ใหม่ตามเวลาจริงแบบไดนามิกใน Intel FPGA บล็อกนี้จะอัปเดตความถี่สัญญาณนาฬิกาขาออกและแบนด์วิธ PLL ตามเวลาจริง โดยไม่ต้องกำหนดค่า FPGA ใหม่ทั้งหมด บล็อกนี้ทำงานที่ 100 MHz ในอุปกรณ์ Intel Arria 10 เนื่องจากข้อจำกัดในการกำหนดค่า IOPLL ใหม่ ให้ใช้ Quartus INI permit_nf_pll_reconfig_out_of_lock=on ระหว่างการสร้าง IP การกำหนดค่าใหม่ของ IOPLL หากต้องการใช้ Quartus INI ให้ใส่ “permit_nf_pll_reconfig_out_of_lock=on” ใน quartus.ini file และวางไว้ใน file ไดเรกทอรีโครงการ Intel Quartus Prime คุณควรเห็นข้อความเตือนเมื่อคุณแก้ไข IOPLL reconfiguration block (pll_hdmi_reconfig) ในซอฟต์แวร์ Quartus Prime ด้วย INI บันทึก: หากไม่มี Quartus INI นี้ การกำหนดค่า IOPLL ใหม่จะไม่สามารถทำได้หาก IOPLL สูญเสียการล็อกระหว่างการกำหนดค่าใหม่ |
พีไอโอ | บล็อกอินพุต/เอาต์พุตแบบขนาน (PIO) ทำหน้าที่เป็นส่วนควบคุม สถานะ และรีเซ็ตอินเทอร์เฟซไปยังหรือจากระบบย่อยของ CPU |
รูปที่ 23. โฟลว์ลำดับการกำหนดค่าใหม่หลายอัตรา
รูปภาพแสดงลำดับการกำหนดค่าใหม่แบบหลายอัตราของตัวควบคุม เมื่อได้รับกระแสข้อมูลอินพุตและความถี่สัญญาณนาฬิกาอ้างอิง หรือเมื่อตัวรับส่งสัญญาณถูกปลดล็อกตาราง 34. ส่วนประกอบด้านบนสุดของ HDMI TX
โมดูล |
คำอธิบาย |
แกน HDMI TX | แกน IP รับข้อมูลวิดีโอจากระดับบนสุดและดำเนินการเข้ารหัส TMDS, เข้ารหัสข้อมูลเสริม, เข้ารหัสข้อมูลเสียง, เข้ารหัสข้อมูลวิดีโอ และเข้ารหัสข้อมูล |
I2C มาสเตอร์ | I2C เป็นอินเทอร์เฟซที่ใช้สำหรับ Sink Display Data Channel (DDC) และ Status and Data Channel (SCDC) แหล่งสัญญาณ HDMI ใช้ DDC เพื่อกำหนดความสามารถและคุณลักษณะของซิงก์โดยการอ่านโครงสร้างข้อมูล Enhanced Extended Display Identification Data (E-EDID) • ในฐานะ DDC I2C Master จะอ่าน EDID จากซิงก์ภายนอกเพื่อกำหนดค่าข้อมูล EDID EDID RAM ใน HDMI RX Top หรือสำหรับการประมวลผลวิดีโอ • ในฐานะ SCDC ต้นแบบ I2C จะถ่ายโอนโครงสร้างข้อมูล SCDC จากแหล่ง FPGA ไปยังซิงก์ภายนอกสำหรับการทำงานของ HDMI 2.0b สำหรับอดีตampนอกจากนี้ หากสตรีมข้อมูลขาออกสูงกว่า 3,400 Mbps ตัวประมวลผล Nios II จะสั่งให้ I2C มาสเตอร์อัปเดตบิต TMDS_BIT_CLOCK_RATIO และ SCRAMBLER_ENABLE ของซิงก์การกำหนดค่า SCDC ที่ลงทะเบียนเป็น 1 |
ไอโอพีแอล | IOPLL จัดหานาฬิกาความเร็วลิงค์และนาฬิกาวิดีโอจากนาฬิกา TMDS ที่เข้ามา • นาฬิกาเอาต์พุต 1 (นาฬิกาความเร็วลิงก์) • นาฬิกาเอาต์พุต 2 (นาฬิกาวิดีโอ) บันทึก: การกำหนดค่า IOPLL เริ่มต้นไม่ถูกต้องสำหรับความละเอียด HDMI ใดๆ IOPLL ได้รับการกำหนดค่าใหม่เป็นการตั้งค่าที่เหมาะสมเมื่อเปิดเครื่อง |
ตัวรับส่งสัญญาณ PHY รีเซ็ตตัวควบคุม | ตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ PHY ช่วยให้มั่นใจได้ถึงการเริ่มต้นตัวรับส่งสัญญาณ TX ที่เชื่อถือได้ อินพุตรีเซ็ตของคอนโทรลเลอร์นี้ถูกกระตุ้นจากระดับบนสุด และสร้างสัญญาณรีเซ็ตแบบอะนาล็อกและดิจิทัลที่สอดคล้องกันไปยังบล็อก Transceiver Native PHY ตามลำดับการรีเซ็ตภายในบล็อก สัญญาณเอาต์พุต tx_ready จากบล็อกนี้ยังทำหน้าที่เป็นสัญญาณรีเซ็ตไปยัง HDMI Intel FPGA IP เพื่อระบุว่าตัวรับส่งสัญญาณกำลังทำงานอยู่ และพร้อมที่จะรับข้อมูลจากคอร์ |
ตัวรับส่งสัญญาณ Native PHY | บล็อกตัวรับส่งสัญญาณแบบแข็งที่รับข้อมูลแบบขนานจากคอร์ HDMI TX และทำการซีเรียลไลซ์ข้อมูลจากการส่งสัญญาณ อินเทอร์เฟซการกำหนดค่าใหม่เปิดใช้งานในบล็อก TX Native PHY เพื่อแสดงการเชื่อมต่อระหว่าง TX Native PHY และตัวรับส่งสัญญาณ ไม่มีการกำหนดค่าใหม่สำหรับ TX Native PHY บันทึก: เพื่อให้เป็นไปตามข้อกำหนดการเอียงระหว่างช่องสัญญาณ HDMI TX ให้ตั้งค่าตัวเลือกโหมดการเชื่อมต่อช่องสัญญาณ TX ในตัวแก้ไขพารามิเตอร์ Intel Arria 10 Transceiver Native PHY เป็น การเชื่อม PMA และ PCS. คุณต้องเพิ่มข้อกำหนดข้อจำกัดความเอียงสูงสุด (set_max_skew) ให้กับสัญญาณรีเซ็ตแบบดิจิทัลจากตัวควบคุมการรีเซ็ตตัวรับส่งสัญญาณ (tx_digitalreset) ตามที่แนะนำในส่วน คู่มือผู้ใช้ Intel Arria 10 Transceiver PHY |
TX พีแอลแอล | บล็อก PLL ของเครื่องส่งสัญญาณให้สัญญาณนาฬิกาแบบเร็วแบบอนุกรมไปยังบล็อก Transceiver Native PHY สำหรับการออกแบบ IP ของ HDMI Intel FPGA เช่นample, fPLL ใช้เป็น TX PLL |
การกำหนดค่า IOPLL ใหม่ | บล็อกการกำหนดค่าใหม่ IOPLL ช่วยอำนวยความสะดวกในการกำหนดค่า PLL ใหม่ตามเวลาจริงแบบไดนามิกใน Intel FPGA บล็อกนี้จะอัปเดตความถี่สัญญาณนาฬิกาขาออกและแบนด์วิธ PLL ตามเวลาจริง โดยไม่ต้องกำหนดค่า FPGA ใหม่ทั้งหมด บล็อกนี้ทำงานที่ 100 MHz ในอุปกรณ์ Intel Arria 10 เนื่องจากข้อจำกัดในการกำหนดค่า IOPLL ใหม่ ให้ใช้ Quartus INI permit_nf_pll_reconfig_out_of_lock=on ระหว่างการสร้าง IP การกำหนดค่าใหม่ของ IOPLL หากต้องการใช้ Quartus INI ให้ใส่ “permit_nf_pll_reconfig_out_of_lock=on” ใน quartus.ini file และวางไว้ใน file ไดเรกทอรีโครงการ Intel Quartus Prime คุณควรเห็นข้อความเตือนเมื่อคุณแก้ไข IOPLL reconfiguration block (pll_hdmi_reconfig) ในซอฟต์แวร์ Intel Quartus Prime ด้วย INI บันทึก: หากไม่มี Quartus INI นี้ การกำหนดค่า IOPLL ใหม่จะไม่สามารถทำได้หาก IOPLL สูญเสียการล็อกระหว่างการกำหนดค่าใหม่ |
พีไอโอ | บล็อกอินพุต/เอาต์พุตแบบขนาน (PIO) ทำหน้าที่เป็นส่วนควบคุม สถานะ และรีเซ็ตอินเทอร์เฟซไปยังหรือจากระบบย่อยของ CPU |
ตารางที่ 35 อัตราข้อมูลตัวรับส่งสัญญาณและโอเวอร์ampling Factor สำหรับแต่ละช่วงความถี่สัญญาณนาฬิกา TMDS
ความถี่สัญญาณนาฬิกา TMDS (MHz) | อัตราส่วนสัญญาณนาฬิกาบิต TMDS | แจ็คเก็ตampหลิงแฟคเตอร์ | อัตรารับส่งข้อมูล (Mbps) |
85–150 | 1 | ไม่สามารถใช้งานได้ | 3400–6000 |
100–340 | 0 | ไม่สามารถใช้งานได้ | 1000–3400 |
50–100 | 0 | 5 | 2500–5000 |
35–50 | 0 | 3 | 1050–1500 |
30–35 | 0 | 4 | 1200–1400 |
25–30 | 0 | 5 | 1250–1500 |
ตารางที่ 36. บล็อกทั่วไประดับบนสุด
โมดูล |
คำอธิบาย |
ผู้ตัดสินรับส่งสัญญาณ | บล็อกการทำงานทั่วไปนี้ป้องกันทรานซีฟเวอร์จากการปรับเทียบใหม่พร้อมกัน เมื่อทรานซีฟเวอร์ RX หรือ TX ภายในแชนเนลเดียวกันจำเป็นต้องกำหนดค่าใหม่ การปรับเทียบใหม่พร้อมกันส่งผลกระทบต่อแอปพลิเคชันที่ตัวรับส่งสัญญาณ RX และ TX ภายในช่องสัญญาณเดียวกันถูกกำหนดให้กับการใช้งาน IP ที่เป็นอิสระ อนุญาโตตุลาการตัวรับส่งสัญญาณนี้เป็นส่วนเสริมของความละเอียดที่แนะนำสำหรับการรวม Simplex TX และ Simplex RX เข้ากับช่องทางกายภาพเดียวกัน อนุญาโตตุลาการตัวรับส่งสัญญาณนี้ยังช่วยในการรวมและชี้ขาดคำร้องขอการกำหนดค่าใหม่ของ Avalon-MM RX และ TX ที่กำหนดเป้าหมายตัวรับส่งสัญญาณ Simplex RX และ TX ภายในแชนเนล เนื่องจากพอร์ตอินเทอร์เฟซการกำหนดค่าใหม่ของตัวรับส่งสัญญาณสามารถเข้าถึงได้ตามลำดับเท่านั้น การเชื่อมต่ออินเตอร์เฟสระหว่างตัวรับส่งสัญญาณและบล็อก TX/RX Native PHY/PHY Reset Controller ในการออกแบบนี้ เช่นample สาธิตโหมดทั่วไปที่ใช้สำหรับชุดค่าผสม IP ใดๆ โดยใช้อนุญาโตตุลาการตัวรับส่งสัญญาณ ไม่จำเป็นต้องใช้ตัวรับส่งสัญญาณเมื่อใช้เฉพาะตัวรับส่งสัญญาณ RX หรือ TX ในช่องสัญญาณ ตัวรับส่งสัญญาณจะระบุผู้ร้องขอการกำหนดค่าใหม่ผ่านอินเทอร์เฟซการกำหนดค่าใหม่ Avalon-MM และตรวจสอบให้แน่ใจว่า tx_reconfig_cal_busy หรือ rx_reconfig_cal_busy สอดคล้องกัน สำหรับแอปพลิเคชัน HDMI RX เท่านั้นที่เริ่มต้นการกำหนดค่าใหม่ โดยการส่งสัญญาณคำขอกำหนดค่า Avalon-MM ใหม่ผ่านผู้ชี้ขาด ผู้ชี้ขาดจะระบุว่าคำขอกำหนดค่าใหม่นั้นมาจาก RX ซึ่งจะเกต tx_reconfig_cal_busy จากการยืนยันและอนุญาตให้ rx_reconfig_cal_busy ยืนยัน ประตูกั้นป้องกันไม่ให้ตัวรับส่งสัญญาณ TX ถูกย้ายไปยังโหมดการสอบเทียบโดยไม่ได้ตั้งใจ |
บันทึก: เนื่องจาก HDMI ต้องการการกำหนดค่า RX ใหม่เท่านั้น สัญญาณ tx_reconfig_mgmt_* จึงถูกตัดการเชื่อมต่อ นอกจากนี้ ไม่จำเป็นต้องใช้อินเทอร์เฟซ Avalon-MM ระหว่างผู้ชี้ขาดและบล็อก TX Native PHY บล็อกถูกกำหนดให้กับอินเทอร์เฟซในการออกแบบเช่นampไฟล์เพื่อสาธิตการเชื่อมต่อตัวรับส่งสัญญาณทั่วไปกับ TX/RX Native PHY/PHY Reset Controller | |
ลิงค์ RX-TX | • เอาต์พุตข้อมูลวิดีโอและสัญญาณการซิงโครไนซ์จากแกนหลัก HDMI RX ลูปผ่าน DCFIFO ทั่วทั้งโดเมนนาฬิกาวิดีโอ RX และ TX • General Control Packet (GCP), InfoFrames (AVI, VSI และ AI) ข้อมูลเสริม และการวนลูปข้อมูลเสียงผ่าน DCFIFO ทั่วทั้งโดเมนนาฬิกาความเร็วลิงก์ RX และ TX • พอร์ตข้อมูลเสริมของแกน HDMI TX ควบคุมข้อมูลเสริมที่ไหลผ่าน DCFIFO ผ่านแรงดันย้อนกลับ แรงดันย้อนกลับช่วยให้แน่ใจว่าไม่มีแพ็กเก็ตเสริมที่ไม่สมบูรณ์บนพอร์ตข้อมูลเสริม • บล็อกนี้ทำการกรองภายนอกด้วย: — กรองแพ็กเก็ตข้อมูลเสียงและการสร้างนาฬิกาเสียงใหม่จากสตรีมข้อมูลเสริมก่อนที่จะส่งไปยังพอร์ตข้อมูลเสริมหลัก HDMI TX บันทึก: หากต้องการปิดใช้งานการกรองนี้ ให้กด user_pb[2] เปิดใช้งานการกรองนี้เพื่อให้แน่ใจว่าไม่มีข้อมูลเสียงและแพ็กเก็ตการสร้างนาฬิกาเสียงซ้ำซ้อนในสตรีมข้อมูลเสริมที่ส่งซ้ำ — กรอง InfoFrame ช่วงไดนามิกสูง (HDR) จากข้อมูลเสริม HDMI RX และแทรก example HDR InfoFrame ไปยังข้อมูลเสริมของ HDMI TX ผ่านมัลติเพล็กเซอร์ Avalon ST |
ระบบย่อยซีพียู | ระบบย่อยของ CPU ทำหน้าที่เป็นตัวควบคุม SCDC และ DDC และตัวควบคุมการกำหนดค่าแหล่งที่มาใหม่ • ตัวควบคุม SCDC ต้นทางประกอบด้วยตัวควบคุมหลัก I2C ตัวควบคุมหลัก I2C ถ่ายโอนโครงสร้างข้อมูล SCDC จากแหล่ง FPGA ไปยังซิงก์ภายนอกสำหรับการทำงานของ HDMI 2.0b สำหรับอดีตampนอกจากนี้ หากสตรีมข้อมูลขาออกเป็น 6,000 Mbps ตัวประมวลผล Nios II จะสั่งให้ตัวควบคุมหลัก I2C อัปเดตบิต TMDS_BIT_CLOCK_RATIO และ SCRAMBLER_ENABLE ของซิงก์การกำหนดค่า TMDS ที่ลงทะเบียนเป็น 1 • ต้นแบบ I2C เดียวกันยังถ่ายโอนโครงสร้างข้อมูล DDC (E-EDID) ระหว่างแหล่งสัญญาณ HDMI และซิงก์ภายนอก • Nios II CPU ทำหน้าที่เป็นตัวควบคุมการกำหนดค่าใหม่สำหรับแหล่งสัญญาณ HDMI CPU อาศัยการตรวจจับอัตราเป็นระยะจากโมดูล RX Reconfiguration Management เพื่อพิจารณาว่า TX จำเป็นต้องมีการกำหนดค่าใหม่หรือไม่ ตัวแปลภาษารองของ Avalon-MM ให้อินเทอร์เฟซระหว่างอินเทอร์เฟซหลัก Avalon-MM ของโปรเซสเซอร์ Nios II และอินเทอร์เฟซรองของ Avalon-MM ของ IOPLL และ TX Native PHY ของแหล่งสัญญาณ HDMI ที่สร้างอินสแตนซ์ภายนอก • โฟลว์ลำดับการกำหนดค่าใหม่สำหรับ TX เหมือนกับ RX ยกเว้นว่าการกำหนดค่า PLL และตัวรับส่งสัญญาณใหม่และลำดับการรีเซ็ตจะดำเนินการตามลำดับ โปรดดูรูปที่ 24 ในหน้า 67 |
รูปที่ 24. โฟลว์ลำดับการกำหนดค่าใหม่
รูปภาพแสดงการไหลของซอฟต์แวร์ Nios II ที่เกี่ยวข้องกับการควบคุมสำหรับ I2C master และแหล่งสัญญาณ HDMI3.5. Dynamic Range and Mastering (HDR) การแทรกและการกรอง InfoFrame
การออกแบบ HDMI Intel FPGA IP เช่นample มีการสาธิตการแทรก HDR InfoFrame ในระบบ RX-TX loopback
ข้อมูลจำเพาะ HDMI เวอร์ชัน 2.0b อนุญาตให้ส่งช่วงไดนามิกและ Mastering InfoFrame ผ่านสตรีมเสริม HDMI ในการสาธิต บล็อกการแทรกข้อมูลเสริมรองรับการแทรก HDR คุณต้องฟอร์แมตแพ็กเก็ต HDR InfoFrame ตามที่ระบุไว้ในตารางรายการสัญญาณของโมดูลเท่านั้น และใช้โมดูลควบคุมการแทรก AUX ที่ให้มาเพื่อกำหนดเวลาการแทรก HDR InfoFrame ทุกๆ เฟรมวิดีโอ
ในอดีตที่ผ่านมาampการกำหนดค่า le ในกรณีที่สตรีมเสริมที่เข้ามามี HDR InfoFrame อยู่แล้ว เนื้อหา HDR ที่สตรีมจะถูกกรอง การกรองจะหลีกเลี่ยงการส่ง HDR InfoFrames ที่ขัดแย้งกัน และทำให้แน่ใจว่าเฉพาะค่าที่ระบุใน HDR Sampใช้โมดูลข้อมูล
รูปที่ 25 ลิงก์ RX-TX กับช่วงไดนามิกและการแทรก InfoFrame แบบมาสเตอร์
รูปภาพแสดงบล็อกไดอะแกรมของลิงก์ RX-TX รวมถึงการแทรก Dynamic Range และ Mastering InfoFrame ลงในสตรีมเสริมหลัก HDMI TX
ตารางที่ 37. บล็อกการแทรกข้อมูลเสริม (altera_hdmi_aux_hdr) สัญญาณ
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
นาฬิกาและรีเซ็ต | |||
คล้าก | ป้อนข้อมูล | 1 | อินพุตนาฬิกา นาฬิกานี้ควรเชื่อมต่อกับนาฬิกาความเร็วลิงค์ |
รีเซ็ต | ป้อนข้อมูล | 1 | รีเซ็ตอินพุต |
ตัวสร้างแพ็กเก็ตเสริมและสัญญาณมัลติเพล็กเซอร์ | |||
มัลติเพล็กเซอร์_เอาต์_ดาต้า | เอาท์พุต | 72 | Avalon สตรีมเอาท์พุตจากมัลติเพล็กเซอร์ |
multixer_out_valid | เอาท์พุต | 1 | |
มัลติเพล็กเซอร์_เอาท์_พร้อม | เอาท์พุต | 1 | |
multiplexer_out_startofpacket | เอาท์พุต | 1 | |
multixer_out_endofpacket | เอาท์พุต | 1 | |
มัลติเพล็กเซอร์_เอาต์_แชนเนล | เอาท์พุต | 11 | |
มัลติเพล็กเซอร์_in_data | ป้อนข้อมูล | 72 | สตรีมอินพุต Avalon ไปยังพอร์ต In1 ของมัลติเพล็กเซอร์ การซิงโครไนซ์วิดีโอ HDMI TX สัญญาณนี้ควรซิงโครไนซ์กับโดเมนนาฬิกาความเร็วของลิงค์ แกนหลักจะแทรก HDR InfoFrame เข้ากับสตรีมเสริมที่ขอบที่เพิ่มขึ้นของสัญญาณนี้ |
มัลติเพล็กเซอร์_in_valid | ป้อนข้อมูล | 1 | |
มัลติเพล็กเซอร์_in_ready | ป้อนข้อมูล | 1 | |
มัลติเพล็กเซอร์_in_startofpacket | ป้อนข้อมูล | 1 | |
มัลติเพล็กเซอร์_in_endofpacket hdmi_tx_vsync |
ป้อนข้อมูล ป้อนข้อมูล |
1 1 |
ตารางที่ 38. สัญญาณโมดูลข้อมูล HDR (altera_hdmi_hdr_infoframe)
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
hb0 | เอาท์พุต | 8 | ไบต์ส่วนหัว 0 ของช่วงไดนามิกและการควบคุม InfoFrame: รหัสประเภท InfoFrame |
hb1 | เอาท์พุต | 8 | ไบต์ส่วนหัว 1 ของช่วงไดนามิกและการควบคุม InfoFrame: หมายเลขรุ่นของ InfoFrame |
hb2 | เอาท์พุต | 8 | ไบต์ส่วนหัว 2 ของช่วงไดนามิกและการควบคุม InfoFrame: ความยาวของ InfoFrame |
pb | ป้อนข้อมูล | 224 | ไบต์ข้อมูลของ Dynamic Range และ Mastering InfoFrame |
ตารางที่ 39. Dynamic Range และ Mastering InfoFrame Data Byte Bundle Bit-Fields
บิตฟิลด์ |
คำนิยาม |
เมทาดาทาแบบคงที่ประเภทที่1 |
7:0 น. | ไบต์ข้อมูล 1: {5'h0, EOTF[2:0]} | |
15:8 น. | ไบต์ข้อมูล 2: {5'h0, Static_Metadata_Descriptor_ID[2:0]} | |
23:16 น. | ไบต์ข้อมูล 3: Static_Metadata_Descriptor | display_primaries_x[0], LSB |
31:24 น. | ไบต์ข้อมูล 4: Static_Metadata_Descriptor | display_primaries_x[0], MSB |
39:32 น. | ไบต์ข้อมูล 5: Static_Metadata_Descriptor | display_primaries_y[0], LSB |
47:40 น. | ไบต์ข้อมูล 6: Static_Metadata_Descriptor | display_primaries_y[0], MSB |
55:48 น. | ไบต์ข้อมูล 7: Static_Metadata_Descriptor | display_primaries_x[1], LSB |
63:56 น. | ไบต์ข้อมูล 8: Static_Metadata_Descriptor | display_primaries_x[1], MSB |
71:64 น. | ไบต์ข้อมูล 9: Static_Metadata_Descriptor | display_primaries_y[1], LSB |
79:72 น. | ไบต์ข้อมูล 10: Static_Metadata_Descriptor | display_primaries_y[1], MSB |
87:80 น. | ไบต์ข้อมูล 11: Static_Metadata_Descriptor | display_primaries_x[2], LSB |
95:88 น. | ไบต์ข้อมูล 12: Static_Metadata_Descriptor | display_primaries_x[2], MSB |
103:96 น. | ไบต์ข้อมูล 13: Static_Metadata_Descriptor | display_primaries_y[2], LSB |
111:104 น. | ไบต์ข้อมูล 14: Static_Metadata_Descriptor | display_primaries_y[2], MSB |
119:112 น. | ไบต์ข้อมูล 15: Static_Metadata_Descriptor | white_point_x, LSB |
127:120 น. | ไบต์ข้อมูล 16: Static_Metadata_Descriptor | white_point_x, MSB |
135:128 น. | ไบต์ข้อมูล 17: Static_Metadata_Descriptor | white_point_y, ลส |
143:136 น. | ไบต์ข้อมูล 18: Static_Metadata_Descriptor | white_point_y, MSB |
151:144 น. | ไบต์ข้อมูล 19: Static_Metadata_Descriptor | max_display_mastering_luminance, LSB |
159:152 น. | ไบต์ข้อมูล 20: Static_Metadata_Descriptor | max_display_mastering_luminance, MSB |
167:160 น. | ไบต์ข้อมูล 21: Static_Metadata_Descriptor | min_display_mastering_luminance, LSB |
175:168 น. | ไบต์ข้อมูล 22: Static_Metadata_Descriptor | min_display_mastering_luminance, MSB |
183:176 น. | ไบต์ข้อมูล 23: Static_Metadata_Descriptor | ระดับแสงเนื้อหาสูงสุด LSB |
191:184 น. | ไบต์ข้อมูล 24: Static_Metadata_Descriptor | ระดับแสงเนื้อหาสูงสุด MSB |
199:192 น. | ไบต์ข้อมูล 25: Static_Metadata_Descriptor | ระดับแสงเฉลี่ยเฟรมสูงสุด, LSB |
207:200 น. | ไบต์ข้อมูล 26: Static_Metadata_Descriptor | ระดับแสงเฉลี่ยเฟรมสูงสุด MSB |
215:208 น. | ที่สงวนไว้ | |
223:216 น. | ที่สงวนไว้ |
ปิดใช้งานการแทรกและการกรอง HDR
การปิดใช้งานการแทรกและตัวกรอง HDR ช่วยให้คุณสามารถตรวจสอบการส่งซ้ำของเนื้อหา HDR ที่มีอยู่แล้วในสตรีมเสริมต้นทางโดยไม่มีการแก้ไขใดๆ ในการออกแบบ RX-TX Retransmit เช่นampเล.
หากต้องการปิดใช้งานการแทรกและการกรอง HDR InfoFrame:
- ตั้งค่า block_ext_hdr_infoframe เป็น 1'b0 ใน rxtx_link.v file เพื่อป้องกันการกรอง HDR InfoFrame จากสตรีมเสริม
- ตั้งค่า multiplexer_in0_valid ของอินสแตนซ์ avalon_st_multiplexer ใน altera_hdmi_aux_hdr.v file เป็น 1'b0 เพื่อป้องกันไม่ให้ Auxiliary Packet Generator สร้างและแทรก HDR InfoFrame เพิ่มเติมลงในสตรีมเสริม TX
3.6. โครงการตอกบัตร
รูปแบบการตอกบัตรแสดงโดเมนนาฬิกาในการออกแบบ HDMI Intel FPGA IP เช่นampเล.
รูปที่ 26. การออกแบบ IP ของ HDMI Intel FPGA เช่นampรูปแบบการตอกบัตร (Intel Quartus Prime Pro Edition)รูปที่ 27. การออกแบบ IP ของ HDMI Intel FPGA เช่นampรูปแบบการตอกบัตร (Intel Quartus Prime Standard Edition)
ตารางที่ 40. สัญญาณวงจรการตอกบัตร
นาฬิกา | ชื่อสัญญาณในการออกแบบ |
คำอธิบาย |
นาฬิกาอ้างอิง TX IOPLL/ TX PLL 1 | hdmi_clk_in | นาฬิกาอ้างอิงถึง TX IOPLL และ TX PLL ความถี่สัญญาณนาฬิกาจะเหมือนกับความถี่สัญญาณนาฬิกา TMDS ที่คาดหวังจากช่องนาฬิกา HDMI TX TMDS สำหรับการออกแบบ IP ของ HDMI Intel FPGA เช่นample, นาฬิกานี้เชื่อมต่อกับนาฬิกา RX TMDS เพื่อจุดประสงค์ในการสาธิต ในแอปพลิเคชันของคุณ คุณต้องจัดหานาฬิกาเฉพาะที่มีความถี่สัญญาณนาฬิกา TMDS จากออสซิลเลเตอร์ที่ตั้งโปรแกรมได้เพื่อประสิทธิภาพการกระวนกระวายใจที่ดีขึ้น บันทึก: อย่าใช้พิน RX ของตัวรับส่งสัญญาณเป็นนาฬิกาอ้างอิง TX PLL การออกแบบของคุณจะไม่พอดีหากคุณวางตัวอ้างอิง HDMI TX บนพิน RX |
นาฬิกาตัวรับส่งสัญญาณ TX | tx_clk | นาฬิกาเอาต์คืนจากตัวรับส่งสัญญาณ และความถี่จะแตกต่างกันไปขึ้นอยู่กับอัตราข้อมูลและสัญลักษณ์ต่อนาฬิกา ความถี่คล็อกเอาท์ของตัวรับส่งสัญญาณ TX = อัตราข้อมูลตัวรับส่งสัญญาณ/ (สัญลักษณ์ต่อสัญญาณนาฬิกา*10) |
TX PLL นาฬิกาอนุกรม | tx_bonding_clocks | นาฬิกาเร็วแบบอนุกรมที่สร้างโดย TX PLL ความถี่นาฬิกาถูกตั้งค่าตามอัตราข้อมูล |
นาฬิกาความเร็วลิงก์ TX/RX | ls_clk | ลิงค์นาฬิกาความเร็ว ความถี่สัญญาณนาฬิกาความเร็วลิงก์ขึ้นอยู่กับความถี่สัญญาณนาฬิกา TMDS ที่คาดไว้ampling factor, symbol per clock, และ TMDS bit clock ratio. |
อัตราส่วนนาฬิกาบิต TMDS | เชื่อมโยงความถี่สัญญาณนาฬิกาความเร็ว | ||
0 | ความถี่นาฬิกา TMDS/ สัญลักษณ์ต่อนาฬิกา | ||
1 | ความถี่สัญญาณนาฬิกา TMDS *4 / สัญลักษณ์ต่อสัญญาณนาฬิกา | ||
นาฬิกาวิดีโอ TX/RX | vid_clk | นาฬิกาข้อมูลวิดีโอ ความถี่นาฬิกาข้อมูลวิดีโอมาจากนาฬิกาความเร็วลิงค์ TX ตามความลึกของสี | |
อัตราส่วนนาฬิกาบิต TMDS | ความถี่นาฬิกาข้อมูลวิดีโอ | ||
0 | นาฬิกา TMDS/ สัญลักษณ์ต่อนาฬิกา/ ปัจจัยความลึกของสี | ||
1 | นาฬิกา TMDS *4 / สัญลักษณ์ต่อนาฬิกา / ปัจจัยความลึกของสี | ||
บิตต่อสี | ปัจจัยความลึกของสี | ||
8 | 1 | ||
10 | 1.25 | ||
12 | 1.5 | ||
16 | 2.0 | ||
นาฬิกา RX TMDS | tmds_clk_in | ช่องสัญญาณนาฬิกา TMDS จาก HDMI RX และเชื่อมต่อกับนาฬิกาอ้างอิงไปยัง IOPLL | |
นาฬิกาอ้างอิง RX CDR 0 /TX PLL นาฬิกาอ้างอิง 0 | fr_clk | นาฬิกาอ้างอิงการทำงานฟรีไปยัง RX CDR และ TX PLL นาฬิกานี้จำเป็นสำหรับการสอบเทียบการเปิดเครื่อง | |
นาฬิกาอ้างอิง RX CDR 1 | iopll_outclk0 | นาฬิกาอ้างอิงไปยัง RX CDR ของตัวรับส่งสัญญาณ RX | |
อัตราข้อมูล | ความถี่นาฬิกาอ้างอิง RX | ||
อัตราข้อมูล <1 Gbps | 5× ความถี่สัญญาณนาฬิกา TMDS | ||
1 Gbps< อัตราข้อมูล
<3.4 Gbps |
ความถี่สัญญาณนาฬิกา TMDS | ||
อัตราข้อมูล >3.4 Gbps | 4× ความถี่สัญญาณนาฬิกา TMDS | ||
• อัตราข้อมูล <1 Gbps: สำหรับโอเวอร์ampหลิงเพื่อตอบสนองความต้องการอัตราข้อมูลขั้นต่ำของตัวรับส่งสัญญาณ • อัตราข้อมูล >3.4 Gbps: เพื่อชดเชยอัตราบิต TMDS ต่อสัญญาณนาฬิกาที่ 1/40 เพื่อรักษาอัตราข้อมูลตัวรับส่งสัญญาณต่อสัญญาณนาฬิกาที่ 1/10 บันทึก: อย่าใช้พิน RX ของตัวรับส่งสัญญาณเป็นนาฬิกาอ้างอิง CDR การออกแบบของคุณจะไม่พอดีหากคุณวางตัวอ้างอิง HDMI RX บนพิน RX |
|||
RX ตัวรับส่งสัญญาณนาฬิกาออก | rx_clk | นาฬิกาเอาต์คืนจากตัวรับส่งสัญญาณ และความถี่จะแตกต่างกันไปขึ้นอยู่กับอัตราข้อมูลและสัญลักษณ์ต่อนาฬิกา
ความถี่คล็อกเอาท์ของตัวรับส่งสัญญาณ RX = อัตราข้อมูลตัวรับส่งสัญญาณ/ (สัญลักษณ์ต่อสัญญาณนาฬิกา*10) |
|
นาฬิกาจัดการ | mgmt_clk | นาฬิกา 100 MHz ที่รันฟรีสำหรับส่วนประกอบเหล่านี้: |
• อินเทอร์เฟซ Avalon-MM สำหรับการกำหนดค่าใหม่ — ข้อกำหนดช่วงความถี่อยู่ระหว่าง 100– 125 MHz • ตัวควบคุมการรีเซ็ต PHY สำหรับลำดับการรีเซ็ตตัวรับส่งสัญญาณ — ข้อกำหนดช่วงความถี่อยู่ระหว่าง 1–500 MHz • การกำหนดค่า IOPLL ใหม่ — ความถี่สัญญาณนาฬิกาสูงสุดคือ 100 MHz • RX Reconfiguration สำหรับการจัดการ • ซีพียู • ปริญญาโท I2C |
||
นาฬิกาไอทูซี | i2c_clk | อินพุตสัญญาณนาฬิกา 100 MHz ที่ส่งสัญญาณนาฬิกา I2C Slave, SCDC ลงทะเบียนในแกน HDMI RX และ EDID RAM |
ข้อมูลที่เกี่ยวข้อง
- ใช้ตัวรับส่งสัญญาณ RX Pin เป็นนาฬิกาอ้างอิง CDR
- ใช้ตัวรับส่งสัญญาณ RX Pin เป็นนาฬิกาอ้างอิง TX PLL
3.7. สัญญาณอินเทอร์เฟซ
ตารางแสดงรายการสัญญาณสำหรับการออกแบบ HDMI Intel FPGA IP เช่นampเล.
ตารางที่ 41. สัญญาณระดับบนสุด
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
สัญญาณออสซิลเลเตอร์ออนบอร์ด | |||
clk_fpga_b3_p | ป้อนข้อมูล | 1 | นาฬิกาทำงานฟรี 100 MHz สำหรับนาฬิกาอ้างอิงหลัก |
REFCLK_FMCB_P (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | นาฬิกาทำงานฟรี 625 MHz สำหรับนาฬิกาอ้างอิงตัวรับส่งสัญญาณ นาฬิกานี้สามารถเป็นความถี่ใดก็ได้ |
ปุ่มกดและไฟ LED สำหรับผู้ใช้ | |||
user_pb | ป้อนข้อมูล | 1 | ปุ่มกดเพื่อควบคุมการทำงานการออกแบบ HDMI Intel FPGA IP |
cpu_resetn | ป้อนข้อมูล | 1 | โกลบอลรีเซ็ต |
user_led_g | เอาท์พุต | 4 | จอแสดงผล LED สีเขียว โปรดดูที่การตั้งค่าฮาร์ดแวร์ในหน้า 89 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน LED |
user_led_r | เอาท์พุต | 4 | จอแสดงผล LED สีแดง โปรดดูที่การตั้งค่าฮาร์ดแวร์ในหน้า 89 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน LED |
พินการ์ดลูกสาว HDMI FMC บนพอร์ต FMC B | |||
fmcb_gbtclk_m2c_p_0 | ป้อนข้อมูล | 1 | นาฬิกา HDMI RX TMDS |
fmcb_dp_m2c_p | ป้อนข้อมูล | 3 | ช่องข้อมูล HDMI RX สีแดง เขียว และน้ำเงิน • การแก้ไขบัตรลูกสาว Bitec 11 — [0]: RX TMDS ช่อง 1 (สีเขียว) — [1]: RX TMDS ช่อง 2 (สีแดง) — [2]: RX TMDS ช่อง 0 (สีน้ำเงิน) • การ์ดลูกสาว Bitec การแก้ไข 4 หรือ 6 — [0]: RX TMDS Channel 1 (สีเขียว)— กลับขั้ว — [1]: RX TMDS Channel 0 (สีน้ำเงิน)— ขั้วกลับด้าน — [2]: RX TMDS Channel 2 (สีแดง)— ขั้วกลับด้าน |
fmcb_dp_c2m_p | เอาท์พุต | 4 | นาฬิกา HDMI TX ช่องข้อมูลสีแดง เขียว และน้ำเงิน • การแก้ไขบัตรลูกสาว Bitec 11 — [0]: TX TMDS ช่อง 2 (สีแดง) — [1]: TX TMDS ช่อง 1 (สีเขียว) — [2]: TX TMDS ช่อง 0 (สีน้ำเงิน) — [3]: ช่องนาฬิกา TX TMDS • การ์ดลูกสาว Bitec การแก้ไข 4 หรือ 6 — [0]: ช่องนาฬิกา TX TMDS — [1]: TX TMDS ช่อง 0 (สีน้ำเงิน) — [2]: TX TMDS ช่อง 1 (สีเขียว) — [3]: TX TMDS ช่อง 2 (สีแดง) |
fmcb_la_rx_p_9 | ป้อนข้อมูล | 1 | ตรวจจับกำลังไฟ HDMI RX +5V |
fmcb_la_rx_p_8 | อินเอาท์ | 1 | ตรวจจับฮอตปลั๊ก HDMI RX |
fmcb_la_rx_n_8 | อินเอาท์ | 1 | HDMI RX I2C SDA สำหรับ DDC และ SCDC |
fmcb_la_tx_p_10 | ป้อนข้อมูล | 1 | HDMI RX I2C SCL สำหรับ DDC และ SCDC |
fmcb_la_tx_p_12 | ป้อนข้อมูล | 1 | ตรวจจับฮอตปลั๊ก HDMI TX |
fmcb_la_tx_n_12 | อินเอาท์ | 1 | HDMI I2C SDA สำหรับ DDC และ SCDC |
fmcb_la_rx_p_10 | อินเอาท์ | 1 | HDMI I2C SCL สำหรับ DDC และ SCDC |
fmcb_la_tx_p_11 | อินเอาท์ | 1 | HDMI I2C SDA สำหรับการควบคุม redriver |
fmcb_la_rx_n_9 | อินเอาท์ | 1 | HDMI I2C SCL สำหรับการควบคุม redriver |
ตารางที่ 42. สัญญาณระดับบนสุดของ HDMI RX
สัญญาณ | ทิศทาง | ความกว้าง |
คำอธิบาย |
นาฬิกาและรีเซ็ตสัญญาณ | |||
mgmt_clk | ป้อนข้อมูล | 1 | สัญญาณนาฬิการะบบ (100 MHz) |
fr_clk (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | นาฬิกาทำงานฟรี (625 MHz) สำหรับนาฬิกาอ้างอิงตัวรับส่งสัญญาณหลัก นาฬิกานี้จำเป็นสำหรับการสอบเทียบตัวรับส่งสัญญาณระหว่างสถานะเปิดเครื่อง นาฬิกานี้สามารถเป็นความถี่ใดก็ได้ |
รีเซ็ต | ป้อนข้อมูล | 1 | อินพุตรีเซ็ตระบบ |
สัญญาณ |
ทิศทาง | ความกว้าง |
คำอธิบาย |
นาฬิกาและรีเซ็ตสัญญาณ | |||
reset_xcvr_powerup (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | อินพุตรีเซ็ตตัวรับส่งสัญญาณ สัญญาณนี้ถูกยืนยันในระหว่างกระบวนการเปลี่ยนนาฬิกาอ้างอิง (จากนาฬิกาวิ่งฟรีเป็นนาฬิกา TMDS) ในสถานะเปิดเครื่อง |
tmds_clk_in | ป้อนข้อมูล | 1 | นาฬิกา HDMI RX TMDS |
i2c_clk | ป้อนข้อมูล | 1 | อินพุตนาฬิกาสำหรับอินเทอร์เฟซ DDC และ SCDC |
vid_clk_out | เอาท์พุต | 1 | เอาต์พุตนาฬิกาวิดีโอ |
ls_clk_out | เอาท์พุต | 1 | ลิงค์เอาต์พุตนาฬิกาความเร็ว |
sys_init | เอาท์พุต | 1 | การเริ่มต้นระบบเพื่อรีเซ็ตระบบเมื่อเปิดเครื่อง |
ตัวรับส่งสัญญาณ RX และสัญญาณ IOPLL | |||
rx_serial_data | ป้อนข้อมูล | 3 | ข้อมูลอนุกรม HDMI ไปยัง RX Native PHY |
gxb_rx_ready | เอาท์พุต | 1 | แสดงว่า RX Native PHY พร้อมแล้ว |
gxb_rx_cal_busy_out | เอาท์พุต | 3 | การสอบเทียบ RX Native PHY ไม่ว่างกับตัวรับส่งสัญญาณ |
gxb_rx_cal_busy_in | ป้อนข้อมูล | 3 | สัญญาณไม่ว่างในการสอบเทียบจากตัวรับส่งสัญญาณไปยัง RX Native PHY |
iopll_locked | เอาท์พุต | 1 | ระบุว่า IOPLL ถูกล็อค |
gxb_reconfig_write | ป้อนข้อมูล | 3 | การกำหนดค่าตัวรับส่งสัญญาณอินเทอร์เฟซ Avalon-MM ใหม่จาก RX Native PHY ไปยังตัวรับส่งสัญญาณ |
gxb_reconfig_read | ป้อนข้อมูล | 3 | |
gxb_reconfig_address | ป้อนข้อมูล | 30 | |
gxb_reconfig_writedata | ป้อนข้อมูล | 96 | |
gxb_reconfig_readdata | เอาท์พุต | 96 | |
gxb_reconfig_waitrequest | เอาท์พุต | 3 |
การจัดการการกำหนดค่าใหม่ RX | |||
rx_reconfig_en | เอาท์พุต | 1 | RX Reconfiguration เปิดใช้งานสัญญาณ |
วัด | เอาท์พุต | 24 | การวัดความถี่สัญญาณนาฬิกา HDMI RX TMDS (ใน 10 มิลลิวินาที) |
วัด_ถูกต้อง | เอาท์พุต | 1 | บ่งชี้ว่าสัญญาณการวัดถูกต้อง |
os | เอาท์พุต | 1 | แจ็คเก็ตampปัจจัยหลิง: • 0: ไม่โอเวอร์ampหลิง • 1: 5× ทับampหลิง |
reconfig_mgmt_write | เอาท์พุต | 1 | การจัดการการกำหนดค่าใหม่ RX อินเตอร์เฟสที่แมปหน่วยความจำ Avalon ไปยังตัวรับส่งสัญญาณ |
reconfig_mgmt_read | เอาท์พุต | 1 | |
reconfig_mgmt_address | เอาท์พุต | 12 |
reconfig_mgmt_writedata | เอาท์พุต | 32 | |
reconfig_mgmt_readdata | ป้อนข้อมูล | 32 | |
reconfig_mgmt_waitrequest | ป้อนข้อมูล | 1 |
สัญญาณหลัก HDMI RX | |||
TMDS_Bit_clock_Ratio | เอาท์พุต | 1 | อินเทอร์เฟซลงทะเบียน SCDC |
เสียง_de | เอาท์พุต | 1 | อินเทอร์เฟซเสียงหลัก HDMI RX โปรดดูส่วนอินเทอร์เฟซ Sink ในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
ข้อมูลเสียง | เอาท์พุต | 256 | |
audio_info_ai | เอาท์พุต | 48 | |
เสียง_N | เอาท์พุต | 20 | |
เสียง_CTS | เอาท์พุต | 20 | |
เสียง_ข้อมูลเมตา | เอาท์พุต | 165 | |
เสียง_รูปแบบ | เอาท์พุต | 5 | |
aux_pkt_data | เอาท์พุต | 72 | อินเทอร์เฟซเสริมหลัก HDMI RX โปรดดูส่วนอินเทอร์เฟซ Sink ในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
aux_pkt_addr | เอาท์พุต | 6 | |
aux_pkt_wr | เอาท์พุต | 1 | |
aux_data | เอาท์พุต | 72 | |
aux_sop | เอาท์พุต | 1 | |
aux_eop | เอาท์พุต | 1 | |
aux_valid | เอาท์พุต | 1 | |
aux_error | เอาท์พุต | 1 | |
จีซีพี | เอาท์พุต | 6 | สัญญาณแถบด้านข้างหลัก HDMI RX โปรดดูส่วนอินเทอร์เฟซ Sink ในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
info_avi | เอาท์พุต | 112 | |
info_vsi | เอาท์พุต | 61 | |
colorความลึก_mgmt_sync | เอาท์พุต | 2 | |
vid_data | เอาท์พุต | N*48 | พอร์ตวิดีโอหลัก HDMI RX ไม่มีสิบ = สัญลักษณ์ต่อนาฬิกา อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
vid_vsync | เอาท์พุต | N | |
vid_hsync | เอาท์พุต | N | |
vid_de | เอาท์พุต | N | |
โหมด | เอาท์พุต | 1 | พอร์ตควบคุมหลักและสถานะ HDMI RX ไม่มีสิบ = สัญลักษณ์ต่อนาฬิกา อ้างถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
Ctrl | เอาท์พุต | N*6 | |
ล็อค | เอาท์พุต | 3 | |
vid_lock | เอาท์พุต | 1 | |
ใน_5v_power | ป้อนข้อมูล | 1 | ตรวจจับ HDMI RX 5V และตรวจจับฮอตปลั๊ก อ้างอิงถึง ซิงค์อินเตอร์เฟส ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
hdmi_rx_hpd_n | อินเอาท์ | 1 |
hdmi_rx_i2c_sda | อินเอาท์ | 1 | อินเทอร์เฟซ HDMI RX DDC และ SCDC |
hdmi_rx_i2c_scl | อินเอาท์ | 1 |
สัญญาณ RX EDID RAM | |||
edid_ram_access | ป้อนข้อมูล | 1 | อินเทอร์เฟซการเข้าถึง HDMI RX EDID RAM ยืนยัน edid_ram_access เมื่อคุณต้องการเขียนหรืออ่านจาก EDID RAM มิฉะนั้นสัญญาณนี้ควรอยู่ในระดับต่ำ |
edid_ram_address | ป้อนข้อมูล | 8 | |
edid_ram_write | ป้อนข้อมูล | 1 | |
edid_ram_read | ป้อนข้อมูล | 1 | |
edid_ram_readdata | เอาท์พุต | 8 | |
edid_ram_writedata | ป้อนข้อมูล | 8 | |
edid_ram_waitrequest | เอาท์พุต | 1 |
ตาราง 43. สัญญาณระดับบนสุดของ HDMI TX
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
นาฬิกาและรีเซ็ตสัญญาณ | |||
mgmt_clk | ป้อนข้อมูล | 1 | สัญญาณนาฬิการะบบ (100 MHz) |
fr_clk (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | นาฬิกาทำงานฟรี (625 MHz) สำหรับนาฬิกาอ้างอิงตัวรับส่งสัญญาณหลัก นาฬิกานี้จำเป็นสำหรับการสอบเทียบตัวรับส่งสัญญาณระหว่างสถานะเปิดเครื่อง นาฬิกานี้สามารถเป็นความถี่ใดก็ได้ |
รีเซ็ต | ป้อนข้อมูล | 1 | อินพุตรีเซ็ตระบบ |
hdmi_clk_in | ป้อนข้อมูล | 1 | นาฬิกาอ้างอิงถึง TX IOPLL และ TX PLL ความถี่สัญญาณนาฬิกาจะเหมือนกับความถี่สัญญาณนาฬิกา TMDS |
vid_clk_out | เอาท์พุต | 1 | เอาต์พุตนาฬิกาวิดีโอ |
ls_clk_out | เอาท์พุต | 1 | ลิงค์เอาต์พุตนาฬิกาความเร็ว |
sys_init | เอาท์พุต | 1 | การเริ่มต้นระบบเพื่อรีเซ็ตระบบเมื่อเปิดเครื่อง |
รีเซ็ต_xcvr | ป้อนข้อมูล | 1 | รีเซ็ตเป็นตัวรับส่งสัญญาณ TX |
รีเซ็ต_pl | ป้อนข้อมูล | 1 | รีเซ็ตเป็น IOPLL และ TX PLL |
รีเซ็ต_pll_reconfig | เอาท์พุต | 1 | รีเซ็ตเป็นการกำหนดค่าใหม่ PLL |
ตัวรับส่งสัญญาณ TX และสัญญาณ IOPLL | |||
tx_serial_data | เอาท์พุต | 4 | ข้อมูลอนุกรม HDMI จาก TX Native PHY |
gxb_tx_ready | เอาท์พุต | 1 | แสดงว่า TX Native PHY พร้อมแล้ว |
gxb_tx_cal_busy_out | เอาท์พุต | 4 | TX Native PHY สอบเทียบสัญญาณไม่ว่างไปยังผู้ตัดสินรับส่งสัญญาณ |
gxb_tx_cal_busy_in | ป้อนข้อมูล | 4 | สัญญาณไม่ว่างในการสอบเทียบจากตัวรับส่งสัญญาณไปยัง TX Native PHY |
ตัวรับส่งสัญญาณ TX และสัญญาณ IOPLL | |||
iopll_locked | เอาท์พุต | 1 | ระบุว่า IOPLL ถูกล็อค |
txpll_locked | เอาท์พุต | 1 | ระบุว่า TX PLL ถูกล็อก |
gxb_reconfig_write | ป้อนข้อมูล | 4 | การกำหนดค่าตัวรับส่งสัญญาณใหม่ อินเทอร์เฟซที่แมปหน่วยความจำ Avalon จาก TX Native PHY ไปยังตัวรับส่งสัญญาณ |
gxb_reconfig_read | ป้อนข้อมูล | 4 | |
gxb_reconfig_address | ป้อนข้อมูล | 40 | |
gxb_reconfig_writedata | ป้อนข้อมูล | 128 | |
gxb_reconfig_readdata | เอาท์พุต | 128 | |
gxb_reconfig_waitrequest | เอาท์พุต | 4 |
สัญญาณการกำหนดค่าใหม่ TX IOPLL และ TX PLL | |||
pll_reconfig_write/ tx_pll_reconfig_write | ป้อนข้อมูล | 1 | การกำหนดค่า TX IOPLL/TX PLL ใหม่ อินเทอร์เฟซที่แมปหน่วยความจำ Avalon |
pll_reconfig_read/ tx_pll_reconfig_read | ป้อนข้อมูล | 1 | |
pll_reconfig_address/ tx_pll_reconfig_address | ป้อนข้อมูล | 10 | |
pll_reconfig_writedata/ tx_pll_reconfig_writedata | ป้อนข้อมูล | 32 | |
pll_reconfig_readdata/ tx_pll_reconfig_readdata | เอาท์พุต | 32 | |
pll_reconfig_waitrequest/ tx_pll_reconfig_waitrequest | เอาท์พุต | 1 | |
os | ป้อนข้อมูล | 2 | แจ็คเก็ตampปัจจัยหลิง: • 0: ไม่โอเวอร์ampหลิง • 1: 3× ทับampหลิง • 2: 4× ทับampหลิง • 3: 5× ทับampหลิง |
วัด | ป้อนข้อมูล | 24 | ระบุความถี่สัญญาณนาฬิกา TMDS ของความละเอียดวิดีโอที่กำลังส่ง |
สัญญาณหลัก HDMI TX | |||
Ctrl | ป้อนข้อมูล | 6*N | อินเทอร์เฟซการควบคุมหลัก HDMI TX ไม่มีสิบ = สัญลักษณ์ต่อนาฬิกา อ้างถึงส่วนอินเทอร์เฟซต้นทางใน HDMI คู่มือผู้ใช้ Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
โหมด | ป้อนข้อมูล | 1 | |
TMDS_Bit_clock_Ratio | ป้อนข้อมูล | 1 | SCอินเตอร์เฟสลงทะเบียน DC
โปรดดูส่วนอินเทอร์เฟซต้นทางในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
Scrambler_เปิดใช้งาน | ป้อนข้อมูล | 1 | |
เสียง_de | ป้อนข้อมูล | 1 | อินเทอร์เฟซเสียงหลัก HDMI TX
อ้างถึง อินเทอร์เฟซแหล่งที่มา ส่วนใน คู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
เสียง_ปิดเสียง | ป้อนข้อมูล | 1 | |
ข้อมูลเสียง | ป้อนข้อมูล | 256 | |
ต่อเนื่อง… |
สัญญาณหลัก HDMI TX | |||
audio_info_ai | ป้อนข้อมูล | 49 | |
เสียง_N | ป้อนข้อมูล | 22 | |
เสียง_CTS | ป้อนข้อมูล | 22 | |
เสียง_ข้อมูลเมตา | ป้อนข้อมูล | 166 | |
เสียง_รูปแบบ | ป้อนข้อมูล | 5 | |
i2c_master_write | ป้อนข้อมูล | 1 | อินเทอร์เฟซที่แมปหน่วยความจำ Avalon ต้นแบบ TX I2C กับต้นแบบ I2C ภายในคอร์ TX บันทึก: สัญญาณเหล่านี้จะใช้ได้เฉพาะเมื่อคุณเปิดเครื่อง รวม I2C พารามิเตอร์. |
i2c_master_read | ป้อนข้อมูล | 1 | |
i2c_master_address | ป้อนข้อมูล | 4 | |
i2c_master_writedata | ป้อนข้อมูล | 32 | |
i2c_master_readdata | เอาท์พุต | 32 | |
aux_พร้อม | เอาท์พุต | 1 | อินเทอร์เฟซเสริมหลัก HDMI TX
โปรดดูส่วนอินเทอร์เฟซต้นทางในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
aux_data | ป้อนข้อมูล | 72 | |
aux_sop | ป้อนข้อมูล | 1 | |
aux_eop | ป้อนข้อมูล | 1 | |
aux_valid | ป้อนข้อมูล | 1 | |
จีซีพี | ป้อนข้อมูล | 6 | สัญญาณแถบด้านข้างหลัก HDMI TX โปรดดูส่วนอินเทอร์เฟซต้นทางในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
info_avi | ป้อนข้อมูล | 113 | |
info_vsi | ป้อนข้อมูล | 62 | |
vid_data | ป้อนข้อมูล | N*48 | พอร์ตวิดีโอหลัก HDMI TX หมายเหตุ: N = สัญลักษณ์ต่อนาฬิกา โปรดดูส่วนอินเทอร์เฟซต้นทางในคู่มือผู้ใช้ HDMI Intel FPGA IP สำหรับข้อมูลเพิ่มเติม |
vid_vsync | ป้อนข้อมูล | N | |
vid_hsync | ป้อนข้อมูล | N | |
vid_de | ป้อนข้อมูล | N |
I2สัญญาณตรวจจับ C และ Hot Plug | |||
nios_tx_i2c_sda_in (รุ่น Intel Quartus Prime Pro) บันทึก: เมื่อคุณเปิดไฟล์ รวม I2C พารามิเตอร์ สัญญาณนี้จะอยู่ในคอร์ TX และจะไม่สามารถมองเห็นได้ในระดับนี้ |
เอาท์พุต | 1 | อินเทอร์เฟซที่แมปหน่วยความจำ I2C Master Avalon |
nios_tx_i2c_scl_in (รุ่น Intel Quartus Prime Pro) บันทึก: เมื่อคุณเปิดไฟล์ รวม I2C พารามิเตอร์ สัญญาณนี้จะอยู่ในคอร์ TX และจะไม่สามารถมองเห็นได้ในระดับนี้ |
เอาท์พุต | 1 | |
nios_tx_i2c_sda_oe (รุ่น Intel Quartus Prime Pro) บันทึก: เมื่อคุณเปิดไฟล์ รวม I2C พารามิเตอร์ สัญญาณนี้จะอยู่ในคอร์ TX และจะไม่สามารถมองเห็นได้ในระดับนี้ |
ป้อนข้อมูล | 1 | |
ต่อเนื่อง… |
I2สัญญาณตรวจจับ C และ Hot Plug | |||
nios_tx_i2c_scl_oe (รุ่น Intel Quartus Prime Pro) บันทึก: เมื่อคุณเปิดไฟล์ รวม I2C พารามิเตอร์ สัญญาณนี้จะอยู่ในคอร์ TX และจะไม่สามารถมองเห็นได้ในระดับนี้ |
ป้อนข้อมูล | 1 | |
nios_ti_i2c_sda_in (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
nios_ti_i2c_scl_in (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
nios_ti_i2c_sda_oe (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
nios_ti_i2c_scl_oe (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
hdmi_tx_i2c_sda | อินเอาท์ | 1 | อินเทอร์เฟซ HDMI TX DDC และ SCDC |
hdmi_tx_i2c_scl | อินเอาท์ | 1 | |
hdmi_ti_i2c_sda (รุ่น Intel Quartus Prime Pro) | อินเอาท์ | 1 | อินเทอร์เฟซ I2C สำหรับ Bitec Daughter Card Revision 11 TI181 Control |
hdmi_tx_ti_i2c_sda (Intel Quartus Prime รุ่นมาตรฐาน) | อินเอาท์ | 1 | |
hdmi_ti_i2c_scl (รุ่น Intel Quartus Prime Pro) | อินเอาท์ | 1 | |
hdmi_tx_ti_i2c_scl (Intel Quartus Prime รุ่นมาตรฐาน) | อินเอาท์ | 1 | |
tx_i2c_avalon_waitrequest | เอาท์พุต | 1 | อินเทอร์เฟซที่แมปหน่วยความจำ Avalon ของต้นแบบ I2C |
tx_i2c_avalon_address (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 3 | |
tx_i2c_avalon_writedata (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 8 | |
tx_i2c_avalon_readdata (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 8 | |
tx_i2c_avalon_chipselect (Intel Quartus Prime Standard Edition) | ป้อนข้อมูล | 1 | |
tx_i2c_avalon_write (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 1 | |
tx_i2c_irq (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 1 | |
tx_ti_i2c_avalon_waitrequest
(Intel Quartus Prime รุ่นมาตรฐาน) |
เอาท์พุต | 1 | |
tx_ti_i2c_avalon_address (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 3 | |
tx_ti_i2c_avalon_writedata (Intel Quartus Prime Standard Edition) | ป้อนข้อมูล | 8 | |
tx_ti_i2c_avalon_readdata (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 8 | |
ต่อเนื่อง… |
I2สัญญาณตรวจจับ C และ Hot Plug | |||
tx_ti_i2c_avalon_chipselect (Intel Quartus Prime Standard Edition) | ป้อนข้อมูล | 1 | |
tx_ti_i2c_avalon_write (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 1 | |
tx_ti_i2c_irq (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 1 | |
hdmi_tx_hpd_n | ป้อนข้อมูล | 1 | อินเทอร์เฟซตรวจจับฮอตปลั๊ก HDMI TX |
tx_hpd_ack | ป้อนข้อมูล | 1 | |
tx_hpd_req | เอาท์พุต | 1 |
ตารางที่ 44. สัญญาณ Arbiter ของตัวรับส่งสัญญาณ
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
คล้าก | ป้อนข้อมูล | 1 | นาฬิกากำหนดค่าใหม่ นาฬิกานี้ต้องใช้นาฬิกาเดียวกันกับบล็อกการจัดการการกำหนดค่าใหม่ |
รีเซ็ต | ป้อนข้อมูล | 1 | รีเซ็ตสัญญาณ การรีเซ็ตนี้ต้องแชร์การรีเซ็ตเดียวกันกับบล็อกการจัดการการกำหนดค่าใหม่ |
rx_rcfg_en | ป้อนข้อมูล | 1 | การกำหนดค่าใหม่ RX เปิดใช้งานสัญญาณ |
tx_rcfg_en | ป้อนข้อมูล | 1 | TX reconfiguration เปิดใช้งานสัญญาณ |
rx_rcfg_ch | ป้อนข้อมูล | 2 | ระบุช่องที่จะกำหนดค่าใหม่บนคอร์ RX สัญญาณนี้จะต้องได้รับการยืนยันเสมอ |
tx_rcfg_ch | ป้อนข้อมูล | 2 | ระบุช่องที่จะกำหนดค่าใหม่บนคอร์ TX สัญญาณนี้จะต้องได้รับการยืนยันเสมอ |
rx_reconfig_mgmt_write | ป้อนข้อมูล | 1 | การกำหนดค่าอินเทอร์เฟซ Avalon-MM ใหม่จากการจัดการการกำหนดค่า RX ใหม่ |
rx_reconfig_mgmt_read | ป้อนข้อมูล | 1 | |
rx_reconfig_mgmt_address | ป้อนข้อมูล | 10 | |
rx_reconfig_mgmt_writedata | ป้อนข้อมูล | 32 | |
rx_reconfig_mgmt_readdata | เอาท์พุต | 32 | |
rx_reconfig_mgmt_waitrequest | เอาท์พุต | 1 | |
tx_reconfig_mgmt_write | ป้อนข้อมูล | 1 | การกำหนดค่าอินเทอร์เฟซ Avalon-MM ใหม่จากการจัดการการกำหนดค่าใหม่ TX |
tx_reconfig_mgmt_read | ป้อนข้อมูล | 1 | |
tx_reconfig_mgmt_address | ป้อนข้อมูล | 10 | |
tx_reconfig_mgmt_writedata | ป้อนข้อมูล | 32 | |
tx_reconfig_mgmt_readdata | เอาท์พุต | 32 | |
tx_reconfig_mgmt_waitrequest | เอาท์พุต | 1 | |
กำหนดค่าใหม่_เขียน | เอาท์พุต | 1 | กำหนดค่าอินเทอร์เฟซ Avalon-MM ใหม่ให้กับตัวรับส่งสัญญาณ |
กำหนดค่าใหม่_อ่าน | เอาท์พุต | 1 | |
ต่อเนื่อง… |
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
reconfig_address | เอาท์พุต | 10 | |
reconfig_writedata | เอาท์พุต | 32 | |
rx_reconfig_readdata | ป้อนข้อมูล | 32 | |
rx_reconfig_waitrequest | ป้อนข้อมูล | 1 | |
tx_reconfig_readdata | ป้อนข้อมูล | 1 | |
tx_reconfig_waitrequest | ป้อนข้อมูล | 1 | |
rx_cal_busy | ป้อนข้อมูล | 1 | สัญญาณสถานะการสอบเทียบจากตัวรับส่งสัญญาณ RX |
tx_cal_busy | ป้อนข้อมูล | 1 | สัญญาณสถานะการสอบเทียบจากตัวรับส่งสัญญาณ TX |
rx_reconfig_cal_busy | เอาท์พุต | 1 | สัญญาณสถานะการสอบเทียบไปยังตัวควบคุมการรีเซ็ต PHY ของตัวรับส่งสัญญาณ RX |
tx_reconfig_cal_busy | เอาท์พุต | 1 | สัญญาณสถานะการสอบเทียบจากตัวควบคุมการรีเซ็ต PHY ของตัวรับส่งสัญญาณ TX |
ตารางที่ 45. สัญญาณลิงค์ RX-TX
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
รีเซ็ต | ป้อนข้อมูล | 1 | รีเซ็ตเป็นบัฟเฟอร์ FIFO ของวิดีโอ/เสียง/อุปกรณ์เสริม/แถบด้านข้าง |
hdmi_tx_ls_clk | ป้อนข้อมูล | 1 | นาฬิกาความเร็วลิงก์ HDMI TX |
hdmi_rx_ls_clk | ป้อนข้อมูล | 1 | นาฬิกาความเร็วลิงก์ HDMI RX |
hdmi_tx_vid_clk | ป้อนข้อมูล | 1 | นาฬิกาวิดีโอ HDMI TX |
hdmi_rx_vid_clk | ป้อนข้อมูล | 1 | นาฬิกาวิดีโอ HDMI RX |
hdmi_rx_locked | ป้อนข้อมูล | 3 | ระบุสถานะล็อค HDMI RX |
hdmi_rx_de | ป้อนข้อมูล | N | อินเทอร์เฟซวิดีโอ HDMI RX ไม่มีสิบ = สัญลักษณ์ต่อนาฬิกา |
hdmi_rx_hsync | ป้อนข้อมูล | N | |
hdmi_rx_vsync | ป้อนข้อมูล | N | |
hdmi_rx_data | ป้อนข้อมูล | น*48 | |
rx_audio_format | ป้อนข้อมูล | 5 | อินเทอร์เฟซเสียง HDMI RX |
rx_audio_metadata | ป้อนข้อมูล | 165 | |
rx_audio_info_ai | ป้อนข้อมูล | 48 | |
rx_audio_CTS | ป้อนข้อมูล | 20 | |
rx_audio_N | ป้อนข้อมูล | 20 | |
rx_audio_de | ป้อนข้อมูล | 1 | |
rx_audio_data | ป้อนข้อมูล | 256 | |
rx_gcp | ป้อนข้อมูล | 6 | อินเทอร์เฟซแถบข้าง HDMI RX |
rx_info_avi | ป้อนข้อมูล | 112 | |
rx_info_vsi | ป้อนข้อมูล | 61 | |
ต่อเนื่อง… |
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
rx_aux_eop | ป้อนข้อมูล | 1 | อินเทอร์เฟซเสริม HDMI RX |
rx_aux_sop | ป้อนข้อมูล | 1 | |
rx_aux_valid | ป้อนข้อมูล | 1 | |
rx_aux_data | ป้อนข้อมูล | 72 | |
hdmi_tx_de | เอาท์พุต | N | อินเทอร์เฟซวิดีโอ HDMI TX
ไม่มีสิบ = สัญลักษณ์ต่อนาฬิกา |
hdmi_tx_hsync | เอาท์พุต | N | |
hdmi_tx_vsync | เอาท์พุต | N | |
hdmi_tx_data | เอาท์พุต | น*48 | |
tx_audio_format | เอาท์พุต | 5 | อินเทอร์เฟซเสียง HDMI TX |
tx_audio_metadata | เอาท์พุต | 165 | |
tx_audio_info_ai | เอาท์พุต | 48 | |
tx_audio_CTS | เอาท์พุต | 20 | |
tx_audio_N | เอาท์พุต | 20 | |
tx_audio_de | เอาท์พุต | 1 | |
tx_audio_data | เอาท์พุต | 256 | |
tx_gcp | เอาท์พุต | 6 | อินเทอร์เฟซแถบด้านข้าง HDMI TX |
tx_info_avi | เอาท์พุต | 112 | |
tx_info_vsi | เอาท์พุต | 61 | |
tx_aux_eop | เอาท์พุต | 1 | อินเทอร์เฟซเสริม HDMI TX |
tx_aux_sop | เอาท์พุต | 1 | |
tx_aux_valid | เอาท์พุต | 1 | |
tx_aux_data | เอาท์พุต | 72 | |
tx_aux_ready | เอาท์พุต | 1 |
ตารางที่ 46. สัญญาณระบบของ Platform Designer
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
cpu_clk (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 1 | คล็อกซีพียู |
clock_bridge_0_in_clk_clk (รุ่น Intel Quartus Prime Pro) | |||
cpu_clk_reset_n (Intel Quartus Prime รุ่นมาตรฐาน) | ป้อนข้อมูล | 1 | รีเซ็ต CPU |
reset_bridge_0_reset_reset_n (รุ่น Intel Quartus Prime Pro) | |||
tmds_bit_clock_ratio_pio_external_connectio n_export | ป้อนข้อมูล | 1 | อัตราส่วนนาฬิกาบิต TMDS |
วัด_pio_external_connection_export | ป้อนข้อมูล | 24 | ความถี่สัญญาณนาฬิกา TMDS ที่คาดหวัง |
ต่อเนื่อง… |
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
Measure_valid_pio_external_connection_exor t | ป้อนข้อมูล | 1 | บ่งชี้ว่าการวัด PIO ถูกต้อง |
i2c_master_i2c_serial_sda_in (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | อินเทอร์เฟซ I2C Master |
i2c_master_i2c_serial_scl_in (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
i2c_master_i2c_serial_sda_oe (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
i2c_master_i2c_serial_scl_oe (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
i2c_master_ti_i2c_serial_sda_in (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
i2c_master_ti_i2c_serial_scl_in (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
i2c_master_ti_i2c_serial_sda_oe (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
i2c_master_ti_i2c_serial_scl_oe (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_address (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 3 | อินเทอร์เฟซที่แมปหน่วยความจำ I2C Master Avalon สำหรับ DDC และ SCDC |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_write (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_readdata (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 32 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_writedata (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 32 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_waitrequest (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_chipselect (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
oc_i2c_master_ti_avalon_anti_slave_address (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 3 | อินเทอร์เฟซที่แมปหน่วยความจำ I2C Master Avalon สำหรับการ์ดลูกสาว Bitec การแก้ไข 11, การควบคุม T1181 |
oc_i2c_master_ti_avalon_anti_slave_write (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 1 | |
oc_i2c_master_ti_avalon_anti_slave_readdata (Intel Quartus Prime Standard Edition) | ป้อนข้อมูล | 32 | |
oc_i2c_master_ti_avalon_anti_slave_writedat และ (Intel Quartus Prime Standard Edition) | เอาท์พุต | 32 | |
oc_i2c_master_ti_avalon_anti_slave_waitrequ เป็น (Intel Quartus Prime Standard Edition) | ป้อนข้อมูล | 1 | |
oc_i2c_master_ti_avalon_anti_slave_chipsele ct (Intel Quartus Prime รุ่นมาตรฐาน) | เอาท์พุต | 1 | |
ต่อเนื่อง… |
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
edid_ram_access_pio_external_connection_exp หรือ | เอาท์พุต | 1 | อินเทอร์เฟซการเข้าถึง EDID RAM ยืนยัน edid_ram_access_pio_ external_connection_ export เมื่อคุณต้องการเขียนหรืออ่านจาก EDID RAM ที่ด้านบนของ RX เชื่อมต่อทาส EDID RAM ที่เข้าถึง Avalon-MM ใน Platform Designer กับอินเทอร์เฟซ EDID RAM บนโมดูล RX ระดับบนสุด |
edid_ram_slave_translator_address | เอาท์พุต | 8 | |
edid_ram_slave_translator_write | เอาท์พุต | 1 | |
edid_ram_slave_translator_read | เอาท์พุต | 1 | |
edid_ram_slave_translator_readdata | ป้อนข้อมูล | 8 | |
edid_ram_slave_translator_writedata | เอาท์พุต | 8 | |
edid_ram_slave_translator_waitrequest | ป้อนข้อมูล | 1 | |
powerup_cal_done_export (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | อินเทอร์เฟซที่แมปหน่วยความจำของ Avalon การกำหนดค่าใหม่ RX PMA |
rx_pma_cal_busy_export (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
rx_pma_ch_export (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 2 | |
rx_pma_rcfg_mgmt_address (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 12 | |
rx_pma_rcfg_mgmt_write (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
rx_pma_rcfg_mgmt_read (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
rx_pma_rcfg_mgmt_readdata (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 32 | |
rx_pma_rcfg_mgmt_writedata (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 32 | |
rx_pma_rcfg_mgmt_waitrequest (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
rx_pma_waitrequest_export (รุ่น Intel Quartus Prime Pro) | ป้อนข้อมูล | 1 | |
rx_rcfg_en_export (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
rx_rst_xcvr_export (รุ่น Intel Quartus Prime Pro) | เอาท์พุต | 1 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_sla ve_waitrequest | ป้อนข้อมูล | 1 | TX PLL การกำหนดค่าใหม่ อินเตอร์เฟสที่แมปหน่วยความจำ Avalon |
tx_pll_rcfg_mgmt_translator_avalon_anti_sla ve_writedata | เอาท์พุต | 32 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_sla ve_address | เอาท์พุต | 10 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_sla ve_write | เอาท์พุต | 1 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_sla ve_read | เอาท์พุต | 1 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_sla ve_readdata | ป้อนข้อมูล | 32 | |
ต่อเนื่อง… |
สัญญาณ | ทิศทาง | ความกว้าง | คำอธิบาย |
tx_pll_waitrequest_pio_external_connection_ ส่งออก | ป้อนข้อมูล | 1 | คำขอรอ TX PLL |
tx_pma_rcfg_mgmt_translator_avalon_anti_sla ve_address | เอาท์พุต | 12 | อินเทอร์เฟซที่แมปหน่วยความจำ Avalon การกำหนดค่าใหม่ TX PMA |
tx_pma_rcfg_mgmt_translator_avalon_anti_sla ve_write | เอาท์พุต | 1 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_sla ve_read | เอาท์พุต | 1 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_sla ve_readdata | ป้อนข้อมูล | 32 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_sla ve_writedata | เอาท์พุต | 32 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_sla ve_waitrequest | ป้อนข้อมูล | 1 | |
tx_pma_waitrequest_pio_external_connection_ ส่งออก | ป้อนข้อมูล | 1 | คำขอรอ TX PMA |
tx_pma_cal_busy_pio_external_connection_exp หรือ | ป้อนข้อมูล | 1 | การสอบเทียบ TX PMA ไม่ว่าง |
tx_pma_ch_export | เอาท์พุต | 2 | ช่อง TX PMA |
tx_rcfg_en_pio_external_connection_export | เอาท์พุต | 1 | เปิดใช้งานการกำหนดค่าใหม่ TX PMA |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_writedata | เอาท์พุต | 32 | TX IOPLL คอนฟิกูเรชันใหม่ อินเตอร์เฟสที่แมปหน่วยความจำ Avalon |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_readdata | ป้อนข้อมูล | 32 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_waitrequest | ป้อนข้อมูล | 1 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_address | เอาท์พุต | 9 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_write | เอาท์พุต | 1 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_read | เอาท์พุต | 1 | |
tx_os_pio_external_connection_export | เอาท์พุต | 2 | แจ็คเก็ตampปัจจัยหลิง: • 0: ไม่โอเวอร์ampหลิง • 1: 3× ทับampหลิง • 2: 4× ทับampหลิง • 3: 5× ทับampหลิง |
tx_rst_pll_pio_external_connection_export | เอาท์พุต | 1 | รีเซ็ตเป็น IOPLL และ TX PLL |
tx_rst_xcvr_pio_external_connection_export | เอาท์พุต | 1 | รีเซ็ตเป็น TX Native PHY |
wd_timer_resetrequest_reset | เอาท์พุต | 1 | รีเซ็ตตัวจับเวลาการเฝ้าระวัง |
color_deep_pio_external_connection_export | ป้อนข้อมูล | 2 | ความลึกของสี |
tx_hpd_ack_pio_external_connection_export | เอาท์พุต | 1 | สำหรับ TX hotplug ตรวจจับการจับมือกัน |
tx_hpd_req_pio_external_connection_export | ป้อนข้อมูล | 1 |
3.8. ออกแบบพารามิเตอร์ RTL
ใช้พารามิเตอร์ HDMI TX และ RX Top RTL เพื่อปรับแต่งการออกแบบ เช่นampเล.
พารามิเตอร์การออกแบบส่วนใหญ่มีอยู่ใน Design Exampแท็บของตัวแก้ไขพารามิเตอร์ HDMI Intel FPGA IP คุณยังสามารถเปลี่ยนการออกแบบได้เช่นampการตั้งค่าคุณ
ทำในโปรแกรมแก้ไขพารามิเตอร์ผ่านพารามิเตอร์ RTL
ตาราง 47. พารามิเตอร์สูงสุดของ HDMI RX
พารามิเตอร์ | ค่า | คำอธิบาย |
SUPPORT_DEEP_COLOR | • 0: ไม่มีสีเข้ม • 1: สีเข้ม |
กำหนดว่าคอร์สามารถเข้ารหัสรูปแบบสีลึกได้หรือไม่ |
SUPPORT_AUXILIARY | • 0: ไม่มี AUX • 1: ช่องรับสัญญาณเสียง |
กำหนดว่ารวมการเข้ารหัสแชนเนลเสริมหรือไม่ |
SYMBOLS_PER_CLOCK | 8 | รองรับ 8 สัญลักษณ์ต่อนาฬิกาสำหรับอุปกรณ์ Intel Arria 10 |
สนับสนุน_เสียง | • 0: ไม่มีเสียง • 1: เสียง |
กำหนดว่าคอร์สามารถเข้ารหัสเสียงได้หรือไม่ |
EDID_RAM_ADDR_WIDTH (Intel Quartus Prime Standard Edition) | 8 (ค่าเริ่มต้น) | บันทึกฐาน 2 ของขนาด EDID RAM |
BITEC_DAUGHTER_CARD_REV | • 0: ไม่ได้กำหนดเป้าหมายการ์ดลูก Bitec HDMI ใดๆ • 4: รองรับการแก้ไขการ์ดลูกสาว Bitec HDMI 4 • 6: การกำหนดเป้าหมายการแก้ไขการ์ดลูกสาว Bitec HDMI 6 •11: การกำหนดเป้าหมายการ์ดลูกสาว Bitec HDMI การแก้ไข 11 (ค่าเริ่มต้น) |
ระบุการแก้ไขการ์ดลูกสาว Bitec HDMI ที่ใช้ เมื่อคุณเปลี่ยนการแก้ไข การออกแบบอาจเปลี่ยนช่องรับส่งสัญญาณและกลับขั้วตามข้อกำหนดการ์ดลูก Bitec HDMI หากคุณตั้งค่าพารามิเตอร์ BITEC_DAUGHTER_CARD_REV เป็น 0 การออกแบบจะไม่ทำการเปลี่ยนแปลงใดๆ กับช่องรับส่งสัญญาณและขั้ว |
POLARITY_INVERSION | • 0: กลับขั้ว • 1: อย่ากลับขั้ว |
ตั้งค่าพารามิเตอร์นี้เป็น 1 เพื่อกลับค่าของแต่ละบิตของข้อมูลอินพุต การตั้งค่าพารามิเตอร์นี้เป็น 1 จะกำหนด 4'b1111 ให้กับพอร์ต rx_polinv ของตัวรับส่งสัญญาณ RX |
ตาราง 48. พารามิเตอร์สูงสุดของ HDMI TX
พารามิเตอร์ | ค่า | คำอธิบาย |
USE_FPLL | 1 | รองรับ fPLL เป็น TX PLL สำหรับอุปกรณ์ Intel Cyclone® 10 GX เท่านั้น ตั้งค่าพารามิเตอร์นี้เป็น 1 เสมอ |
SUPPORT_DEEP_COLOR | • 0: ไม่มีสีเข้ม • 1: สีเข้ม |
กำหนดว่าคอร์สามารถเข้ารหัสรูปแบบสีลึกได้หรือไม่ |
SUPPORT_AUXILIARY | • 0: ไม่มี AUX • 1: ช่องรับสัญญาณเสียง |
กำหนดว่ารวมการเข้ารหัสแชนเนลเสริมหรือไม่ |
SYMBOLS_PER_CLOCK | 8 | รองรับ 8 สัญลักษณ์ต่อนาฬิกาสำหรับอุปกรณ์ Intel Arria 10 |
ต่อเนื่อง… |
พารามิเตอร์ | ค่า | คำอธิบาย |
สนับสนุน_เสียง | • 0: ไม่มีเสียง • 1: เสียง |
กำหนดว่าคอร์สามารถเข้ารหัสเสียงได้หรือไม่ |
BITEC_DAUGHTER_CARD_REV | • 0: ไม่ได้กำหนดเป้าหมายการ์ดลูก Bitec HDMI ใดๆ • 4: รองรับการแก้ไขการ์ดลูกสาว Bitec HDMI 4 • 6: การกำหนดเป้าหมายการแก้ไขการ์ดลูกสาว Bitec HDMI 6 • 11: การกำหนดเป้าหมายการ์ดลูกสาว Bitec HDMI การแก้ไข 11 (ค่าเริ่มต้น) |
ระบุการแก้ไขการ์ดลูกสาว Bitec HDMI ที่ใช้ เมื่อคุณเปลี่ยนการแก้ไข การออกแบบอาจเปลี่ยนช่องรับส่งสัญญาณและกลับขั้วตามข้อกำหนดการ์ดลูก Bitec HDMI หากคุณตั้งค่าพารามิเตอร์ BITEC_DAUGHTER_CARD_REV เป็น 0 การออกแบบจะไม่ทำการเปลี่ยนแปลงใดๆ กับช่องรับส่งสัญญาณและขั้ว |
POLARITY_INVERSION | • 0: กลับขั้ว • 1: อย่ากลับขั้ว |
ตั้งค่าพารามิเตอร์นี้เป็น 1 เพื่อกลับค่าของแต่ละบิตของข้อมูลอินพุต การตั้งค่าพารามิเตอร์นี้เป็น 1 จะกำหนด 4'b1111 ให้กับพอร์ต tx_polinv ของตัวรับส่งสัญญาณ TX |
3.9. การตั้งค่าฮาร์ดแวร์
การออกแบบ HDMI Intel FPGA IP เช่นample รองรับ HDMI 2.0b และทำการสาธิตการวนซ้ำสำหรับสตรีมวิดีโอ HDMI มาตรฐาน
ในการเรียกใช้การทดสอบฮาร์ดแวร์ ให้เชื่อมต่ออุปกรณ์ที่ใช้ HDMI เช่น การ์ดกราฟิกที่มีอินเทอร์เฟซ HDMI เข้ากับบล็อก Transceiver Native PHY RX และตัวรับ HDMI
ป้อนข้อมูล.
- ซิงก์ HDMI จะถอดรหัสพอร์ตเป็นสตรีมวิดีโอมาตรฐาน และส่งไปยังแกนกู้คืนนาฬิกา
- แกน HDMI RX ถอดรหัสวิดีโอ ข้อมูลเสริม และข้อมูลเสียงที่จะวนกลับขนานกับแกน HDMI TX ผ่าน DCFIFO
- พอร์ตต้นทาง HDMI ของการ์ดลูกสาว FMC ส่งภาพไปยังจอภาพ
บันทึก:
หากคุณต้องการใช้บอร์ดพัฒนา Intel FPGA อื่น คุณต้องเปลี่ยนการกำหนดอุปกรณ์และการกำหนดพิน การตั้งค่าอะนาล็อกของตัวรับส่งสัญญาณได้รับการทดสอบสำหรับชุดพัฒนา Intel Arria 10 FPGA และการ์ดลูก Bitec HDMI 2.0 คุณสามารถแก้ไขการตั้งค่าสำหรับบอร์ดของคุณเองได้
ตาราง 49. ปุ่มกดออนบอร์ดและฟังก์ชั่น LED ผู้ใช้
ปุ่มกด/ไฟ LED | การทำงาน |
cpu_resetn | กดหนึ่งครั้งเพื่อทำการรีเซ็ตระบบ |
ผู้ใช้_pb[0] | กดหนึ่งครั้งเพื่อสลับสัญญาณ HPD ไปยังแหล่งสัญญาณ HDMI มาตรฐาน |
ผู้ใช้_pb[1] | • กดค้างไว้เพื่อสั่งให้แกน TX ส่งสัญญาณเข้ารหัส DVI • ปล่อยเพื่อส่งสัญญาณเข้ารหัส HDMI |
ผู้ใช้_pb[2] | • กดค้างไว้เพื่อสั่งให้แกน TX หยุดส่ง InfoFrames จากสัญญาณแถบด้านข้าง • ปล่อยเพื่อดำเนินการส่ง InfoFrames จากสัญญาณแถบข้าง |
USER_LED[0] | สถานะล็อค RX HDMI PLL • 0 = ปลดล็อค • 1 = ล็อค |
USER_LED[1] | สถานะพร้อมรับส่งสัญญาณ RX |
ต่อเนื่อง… |
ปุ่มกด/ไฟ LED | การทำงาน |
• 0 = ไม่พร้อม • 1 = พร้อม |
|
USER_LED[2] | สถานะล็อคแกน RX HDMI • 0 = ปลดล็อคอย่างน้อย 1 ช่อง • 1 = ล็อกทั้ง 3 ช่อง |
USER_LED[3] | RX โอเวอร์ampสถานะหลิง • 0 = ไม่โอเวอร์ampนำ (อัตราข้อมูล > 1,000 Mbps ในอุปกรณ์ Intel Arria 10) • 1 = โอเวอร์ampนำ (อัตราข้อมูล < 100 Mbps ในอุปกรณ์ Intel Arria 10) |
USER_LED[4] | สถานะล็อค TX HDMI PLL • 0 = ปลดล็อค • 1 = ล็อค |
USER_LED[5] | สถานะพร้อมรับส่งสัญญาณ TX • 0 = ไม่พร้อม • 1 = พร้อม |
USER_LED[6] | สถานะล็อค PLL ของตัวรับส่งสัญญาณ TX • 0 = ปลดล็อค • 1 = ล็อค |
USER_LED[7] | TX โอเวอร์ampสถานะหลิง • 0 = ไม่โอเวอร์ampนำ (อัตราข้อมูล > 1,000 Mbps ในอุปกรณ์ Intel Arria 10) • 1 = โอเวอร์ampนำ (อัตราข้อมูล < 1,000 Mbps ในอุปกรณ์ Intel Arria 10) |
3.10. ม้านั่งทดสอบจำลอง
ม้านั่งจำลองจำลองการย้อนกลับอนุกรม HDMI TX ไปยังคอร์ RX
บันทึก:
ม้านั่งทดสอบจำลองนี้ไม่ได้รับการสนับสนุนสำหรับการออกแบบที่เปิดใช้งานพารามิเตอร์ Include I2C
3. การออกแบบ HDMI 2.0 เช่นample (สนับสนุน FRL = 0)
683156 | 2022.12.27
รูปที่ 28 แผนภาพบล็อกการทดสอบการจำลองแบบ HDMI Intel FPGA IP
ตารางที่ 50. ส่วนประกอบของ Testbench
ส่วนประกอบ | คำอธิบาย |
วีดีโอ ส.ป.ก | ตัวสร้างรูปแบบการทดสอบวิดีโอ (TPG) เป็นตัวกระตุ้นวิดีโอ |
เสียง Sampเลอ เจน | เสียง sampเครื่องกำเนิดไฟฟ้า le ให้เสียง sample กระตุ้น เครื่องกำเนิดสร้างรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นเพื่อส่งผ่านช่องสัญญาณเสียง |
โอกซ์ สampเลอ เจน | auxampเครื่องกำเนิดไฟฟ้า le ให้เครื่องช่วยample กระตุ้น เครื่องกำเนิดไฟฟ้าสร้างข้อมูลคงที่ที่จะส่งจากเครื่องส่งสัญญาณ |
ซีอาร์ซีเช็ค | ตัวตรวจสอบนี้ตรวจสอบว่าความถี่สัญญาณนาฬิกาที่กู้คืนตัวรับส่งสัญญาณ TX ตรงกับอัตราข้อมูลที่ต้องการหรือไม่ |
ตรวจสอบข้อมูลเสียง | การตรวจสอบข้อมูลเสียงจะเปรียบเทียบว่าได้รับและถอดรหัสรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นอย่างถูกต้องหรือไม่ |
ตรวจสอบข้อมูล Aux | การตรวจสอบข้อมูล aux จะเปรียบเทียบว่าได้รับข้อมูล aux ที่คาดหวังและถอดรหัสอย่างถูกต้องที่ฝั่งเครื่องรับหรือไม่ |
เครื่องทดสอบการจำลอง HDMI ทำการทดสอบการตรวจสอบต่อไปนี้:
คุณสมบัติ HDMI | การตรวจสอบ |
ข้อมูลวิดีโอ | • Testbench ใช้การตรวจสอบ CRC บนวิดีโออินพุตและเอาต์พุต • ตรวจสอบค่า CRC ของข้อมูลที่ส่งเทียบกับ CRC ที่คำนวณในข้อมูลวิดีโอที่ได้รับ • จากนั้น Testbench จะทำการตรวจสอบหลังจากตรวจพบสัญญาณ V-SYNC ที่เสถียร 4 ตัวจากเครื่องรับ |
ข้อมูลเสริม | • aux sampเครื่องกำเนิดไฟฟ้าสร้างข้อมูลคงที่ที่จะส่งจากเครื่องส่งสัญญาณ • ที่ด้านเครื่องรับ เครื่องกำเนิดไฟฟ้าจะเปรียบเทียบว่าข้อมูลเสริมที่คาดไว้นั้นได้รับและถอดรหัสอย่างถูกต้องหรือไม่ |
ข้อมูลเสียง | • เครื่องเสียงample generator สร้างรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นเพื่อส่งผ่านช่องสัญญาณเสียง ตัวตรวจสอบข้อมูลเสียงจะตรวจสอบและเปรียบเทียบว่าได้รับและถอดรหัสรูปแบบข้อมูลการทดสอบที่เพิ่มขึ้นอย่างถูกต้องหรือไม่ |
การจำลองที่สำเร็จจะจบลงด้วยข้อความต่อไปนี้:
# สัญลักษณ์_PER_CLOCK = 2
# วิค = 4
# FRL_RATE = 0
# บีพีพี = 0
# AUDIO_FREQUENCY (กิโลเฮิรตซ์) = 48
# เสียง_ช่อง = 8
# บัตรผ่านจำลอง
ตารางที่ 51. การออกแบบ IP ของ HDMI Intel FPGA เช่นample เครื่องจำลองที่รองรับ
โปรแกรมจำลอง | เวอริล็อก เอชดีแอล | วีเอชดีแอล |
ModelSim – รุ่น Intel FPGA/ ModelSim – Intel FPGA Starter Edition | ใช่ | ใช่ |
วีซีเอส/วีซีเอส เอ็มเอ็กซ์ | ใช่ | ใช่ |
ริเวียร่า-PRO | ใช่ | ใช่ |
เอ็กซ์ซีเลียมขนาน | ใช่ | เลขที่ |
3.11. อัปเกรดการออกแบบของคุณ
ตาราง 52. การออกแบบ HDMI เช่นampความเข้ากันได้กับซอฟต์แวร์รุ่นก่อนหน้าของ Intel Quartus Prime Pro Edition
การออกแบบอดีตampเลอ Variant | ความสามารถในการอัปเกรดเป็น Intel Quartus Prime Pro Edition 20.3 |
การออกแบบ HDMI 2.0 เช่นample (สนับสนุน FRL = 0) | เลขที่ |
สำหรับการออกแบบที่ไม่เข้ากันเช่นampคุณต้องทำสิ่งต่อไปนี้:
- สร้างการออกแบบใหม่เช่นampในเวอร์ชันซอฟต์แวร์ Intel Quartus Prime Pro Edition ปัจจุบันโดยใช้การกำหนดค่าเดียวกันกับการออกแบบที่คุณมีอยู่
- เปรียบเทียบการออกแบบทั้งหมด เช่นampไดเร็กทอรี le ที่มีการออกแบบเช่นampไฟล์ที่สร้างขึ้นโดยใช้ซอฟต์แวร์ Intel Quartus Prime Pro Edition รุ่นก่อนหน้า พอร์ตเหนือการเปลี่ยนแปลงที่พบ
HDCP ผ่านการออกแบบ HDMI 2.0/2.1 เช่นample
การออกแบบฮาร์ดแวร์ HDCP over HDMI เช่นample ช่วยให้คุณประเมินการทำงานของคุณลักษณะ HDCP และช่วยให้คุณสามารถใช้คุณลักษณะนี้ในการออกแบบ Intel Arria 10 ของคุณได้
บันทึก:
คุณลักษณะ HDCP ไม่รวมอยู่ในซอฟต์แวร์ Intel Quartus Prime Pro Edition หากต้องการเข้าถึงคุณลักษณะ HDCP โปรดติดต่อ Intel ที่ https://www.intel.com/content/www/us/en/broadcast/products/programmable/applications/connectivity-solutions.html.
4.1. การป้องกันเนื้อหาดิจิทัลแบนด์วิธสูง (HDCP)
High-bandwidth Digital Content Protection (HDCP) เป็นรูปแบบของการปกป้องสิทธิ์ดิจิทัลเพื่อสร้างการเชื่อมต่อที่ปลอดภัยระหว่างแหล่งที่มากับจอแสดงผล
Intel สร้างเทคโนโลยีดั้งเดิมซึ่งได้รับอนุญาตจากกลุ่ม Digital Content Protection LLC HDCP เป็นวิธีป้องกันการคัดลอกที่สตรีมเสียง/วิดีโอได้รับการเข้ารหัสระหว่างตัวส่งและตัวรับ ป้องกันการคัดลอกที่ผิดกฎหมาย
คุณสมบัติ HDCP เป็นไปตามข้อกำหนด HDCP เวอร์ชัน 1.4 และข้อกำหนด HDCP เวอร์ชัน 2.3
HDCP 1.4 และ HDCP 2.3 IPs ทำการคำนวณทั้งหมดภายในลอจิกแกนของฮาร์ดแวร์โดยไม่มีค่าที่เป็นความลับ (เช่น คีย์ส่วนตัวและคีย์เซสชัน) ที่สามารถเข้าถึงได้จากภายนอก IP ที่เข้ารหัส
ตาราง 53. ฟังก์ชัน HDCP IP
เอชดีซีพี ไอพี | ฟังก์ชั่น |
HDCP 1.4 ไอพี | • การแลกเปลี่ยนการรับรองความถูกต้อง — การคำนวณมาสเตอร์คีย์ (กม.) — การสร้าง An แบบสุ่ม — การคำนวณคีย์เซสชัน (Ks), M0 และ R0 • การรับรองความถูกต้องด้วยทวน — การคำนวณและการตรวจสอบ V และ V' • การตรวจสอบความถูกต้องของลิงค์ — การคำนวณคีย์เฟรม (Ki), Mi และ Ri |
ต่อเนื่อง… |
อินเทล คอร์ปอเรชั่น สงวนลิขสิทธิ์. Intel, โลโก้ Intel และเครื่องหมาย Intel อื่นๆ เป็นเครื่องหมายการค้าของ Intel Corporation หรือบริษัทในเครือ Intel รับประกันประสิทธิภาพของผลิตภัณฑ์ FPGA และเซมิคอนดักเตอร์ตามข้อมูลจำเพาะปัจจุบันตามการรับประกันมาตรฐานของ Intel แต่ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า Intel ไม่รับผิดชอบหรือรับผิดใดๆ ที่เกิดขึ้นจากแอปพลิเคชันหรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใดๆ ที่อธิบายไว้ในที่นี้ ยกเว้นตามที่ Intel ตกลงเป็นลายลักษณ์อักษรโดยชัดแจ้ง ขอแนะนำให้ลูกค้าของ Intel ได้รับข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่ใดๆ และก่อนที่จะทำการสั่งซื้อผลิตภัณฑ์หรือบริการ
*ชื่อและยี่ห้ออื่น ๆ อาจถูกอ้างสิทธิ์โดยถือเป็นทรัพย์สินของผู้อื่น
ไอเอสโอ
9001:2015 น.
ลงทะเบียนแล้ว
เอชดีซีพี ไอพี | ฟังก์ชั่น |
• โหมดการเข้ารหัสทั้งหมดรวมถึง hdcpBlockCipher, hdcpStreamCipher, hdcpRekeyCipher และ hdcpRngCipher • การส่งสัญญาณสถานะการเข้ารหัสดั้งเดิม (DVI) และการส่งสัญญาณสถานะการเข้ารหัสขั้นสูง (HDMI) • เครื่องกำเนิดตัวเลขสุ่มจริง (TRNG) — ใช้ฮาร์ดแวร์ การใช้งานแบบดิจิทัลเต็มรูปแบบ และตัวสร้างตัวเลขสุ่มแบบไม่กำหนด |
|
HDCP 2.3 ไอพี | • มาสเตอร์คีย์ (กม.) คีย์เซสชัน (ks) และรุ่นที่ไม่ใช่ (rn, riv) — สอดคล้องกับการสร้างตัวเลขสุ่ม NIST.SP800-90A • การรับรองความถูกต้องและการแลกเปลี่ยนคีย์ — การสร้างตัวเลขสุ่มสำหรับ rtx และ rrx ที่สอดคล้องกับการสร้างตัวเลขสุ่ม NIST.SP800-90A — การตรวจสอบลายเซ็นของใบรับรองผู้รับ (certrx) โดยใช้รหัสสาธารณะ DCP (kpubdcp) — 3072 บิต RSASSA-PKCS#1 v1.5 — การเข้ารหัส RSAES-OAEP (PKCS#1 v2.1) และถอดรหัสมาสเตอร์คีย์ (กม.) — ที่มาของ kd (dkey0, dkey1) โดยใช้โหมด AES-CTR — การคำนวณและการตรวจสอบ H และ H' — การคำนวณ Ekh (กม.) และกม. (จับคู่) • การรับรองความถูกต้องด้วยทวน — การคำนวณและการตรวจสอบ V และ V' — การคำนวณและการตรวจสอบของ M และ M' • การต่ออายุระบบ (SRM) — การตรวจสอบลายเซ็น SRM โดยใช้ kpubdcp — 3072 บิต RSASSA-PKCS#1 v1.5 • การแลกเปลี่ยนคีย์เซสชัน • การสร้างและการคำนวณของ Edkey(ks) และ riv • ที่มาของ dkey2 โดยใช้โหมด AES-CTR • ตรวจสอบท้องที่ — การคำนวณและการตรวจสอบ L และ L' — รุ่น nonce (rn) • การจัดการสตรีมข้อมูล — การสร้างคีย์สตรีมตามโหมด AES-CTR • อัลกอริทึมการเข้ารหัสแบบอสมมาตร — RSA ที่มีความยาวโมดูลัส 1024 (kpubrx) และ 3072 (kpubdcp) บิต — RSA-CRT (ทฤษฎีบทส่วนที่เหลือของจีน) ที่มีความยาวโมดูลัส 512 (kprivrx) บิตและความยาวเลขชี้กำลัง 512 (kprivrx) บิต • ฟังก์ชันการเข้ารหัสระดับต่ำ — อัลกอริธึมการเข้ารหัสแบบสมมาตร • โหมด AES-CTR ที่มีความยาวคีย์ 128 บิต — อัลกอริธึมแฮช MGF และ HMAC • SHA256 • HMAC-SHA256 • MGF1-SHA256 — เครื่องกำเนิดตัวเลขสุ่มจริง (TRNG) • เป็นไปตามมาตรฐาน NIST.SP800-90A • ฮาร์ดแวร์ตามการใช้งานดิจิตอลเต็มรูปแบบและเครื่องกำเนิดตัวเลขสุ่มที่ไม่ได้กำหนด |
4.1.1. HDCP ผ่านการออกแบบ HDMI เช่นampเลอ สถาปัตยกรรม
คุณสมบัติ HDCP ปกป้องข้อมูลเมื่อข้อมูลถูกส่งระหว่างอุปกรณ์ที่เชื่อมต่อผ่าน HDMI หรืออินเทอร์เฟซดิจิทัลอื่น ๆ ที่ป้องกัน HDCP
ระบบป้องกัน HDCP ประกอบด้วยอุปกรณ์สามประเภท:
4. การออกแบบ HDCP ผ่าน HDMI 2.0/2.1 เช่นample
683156 | 2022.12.27
• แหล่งที่มา (TX)
• อ่างล้างจาน (RX)
• ขาประจำ
การออกแบบนี้เช่นample สาธิตระบบ HDCP ในอุปกรณ์ทวนสัญญาณที่รับข้อมูล ถอดรหัส จากนั้นเข้ารหัสข้อมูลอีกครั้ง และสุดท้ายส่งข้อมูลซ้ำ ตัวทำซ้ำมีทั้งอินพุตและเอาต์พุต HDMI จะสร้างอินสแตนซ์บัฟเฟอร์ FIFO เพื่อทำการส่งผ่านสตรีมวิดีโอ HDMI โดยตรงระหว่างซิงก์ HDMI และแหล่งสัญญาณ อาจทำการประมวลผลสัญญาณบางอย่าง เช่น การแปลงวิดีโอเป็นรูปแบบที่มีความละเอียดสูงขึ้นโดยแทนที่บัฟเฟอร์ FIFO ด้วยแกนประมวลผลวิดีโอและรูปภาพ (VIP) Suite IP
รูปที่ 29. การออกแบบ HDCP Over HDMI เช่นample บล็อกไดอะแกรม
คำอธิบายต่อไปนี้เกี่ยวกับสถาปัตยกรรมของการออกแบบเช่นampสอดคล้องกับการออกแบบ HDCP ผ่าน HDMI เช่นampแผนภาพบล็อก เมื่อ SUPPORT FRL = 1 หรือ
สนับสนุนการจัดการคีย์ HDCP = 1 การออกแบบเช่นampลำดับชั้นจะแตกต่างจากรูปที่ 29 ในหน้า 95 เล็กน้อย แต่ฟังก์ชัน HDCP พื้นฐานยังคงเป็น
เดียวกัน.
- HDCP1x และ HDCP2x เป็น IP ที่มีอยู่ในตัวแก้ไขพารามิเตอร์ HDMI Intel FPGA IP เมื่อคุณกำหนดค่า HDMI IP ในโปรแกรมแก้ไขพารามิเตอร์ คุณสามารถเปิดใช้งานและรวม HDCP1x หรือ HDCP2x หรือ IP ทั้งสองเป็นส่วนหนึ่งของระบบย่อย เมื่อเปิดใช้งาน HDCP IP ทั้งคู่ HDMI IP จะกำหนดค่าตัวเองในโทโพโลยีแบบคาสเคดที่ HDCP2x และ HDCP1x IP เชื่อมต่อแบบกลับไปกลับมา
• อินเทอร์เฟซขาออก HDCP ของ HDMI TX ส่งข้อมูลวิดีโอเสียงที่ไม่ได้เข้ารหัส
• ข้อมูลที่ไม่ได้เข้ารหัสจะถูกเข้ารหัสโดยบล็อก HDCP ที่ใช้งานอยู่ และส่งกลับไปยัง HDMI TX ผ่านอินเทอร์เฟซ HDCP Ingress สำหรับการส่งผ่านลิงก์
• ระบบย่อย CPU เป็นตัวควบคุมหลักการตรวจสอบความถูกต้องทำให้มั่นใจได้ว่า IP ของ HDCP TX หนึ่งตัวเท่านั้นที่เปิดใช้งานในเวลาที่กำหนด และอีกอันเป็นแบบพาสซีฟ
• ในทำนองเดียวกัน HDCP RX ยังถอดรหัสข้อมูลที่ได้รับผ่านลิงก์จาก HDCP TX ภายนอกอีกด้วย - คุณต้องตั้งโปรแกรม IP ของ HDCP ด้วยรหัสการผลิตที่ออกโดย Digital Content Protection (DCP) โหลดคีย์ต่อไปนี้:
ตารางที่ 54. รหัสการผลิตที่ออกโดย DCP
เอชดีซีพี เท็กซัส/อาร์เอ็กซ์ กุญแจ HDCP2x TX 16 ไบต์: Global Constant (lc128) RX • 16 ไบต์ (เหมือนกับ TX): Global Constant (lc128)
• 320 ไบต์: รหัสส่วนตัว RSA (kprivrx)
• 522 ไบต์: ใบรับรองคีย์สาธารณะ RSA (certrx)HDCP1x TX • 5 ไบต์: TX Key Selection Vector (Aksv)
• 280 ไบต์: TX คีย์อุปกรณ์ส่วนตัว (Akeys)RX • 5 ไบต์: RX Key Selection Vector (Bksv)
• 280 ไบต์: RX คีย์อุปกรณ์ส่วนตัว (Bkeys)การออกแบบเช่นample ใช้หน่วยความจำหลักเป็น RAM แบบซิงโครนัสสองพอร์ตแบบสองนาฬิกา สำหรับคีย์ขนาดเล็ก เช่น HDCP2x TX IP จะใช้หน่วยความจำคีย์โดยใช้รีจิสเตอร์ในลอจิกปกติ
หมายเหตุ: Intel ไม่ได้ให้รหัสการผลิต HDCP มาพร้อมกับการออกแบบ เช่นample หรือ Intel FPGA IPs ไม่ว่าในกรณีใดๆ หากต้องการใช้ HDCP IP หรือการออกแบบ เช่นampคุณจะต้องเป็นผู้รับใช้ HDCP และได้รับคีย์การผลิตโดยตรงจาก Digital Content Protection LLC (DCP)
เพื่อเรียกใช้การออกแบบเช่นample, คุณแก้ไขหน่วยความจำหลัก fileในเวลาคอมไพล์เพื่อรวมคีย์การผลิตหรือใช้บล็อกลอจิกเพื่ออ่านคีย์การผลิตอย่างปลอดภัยจากอุปกรณ์จัดเก็บข้อมูลภายนอก และเขียนลงในหน่วยความจำคีย์ในขณะรันไทม์ - คุณสามารถตอกบัตรฟังก์ชันเข้ารหัสที่ใช้ใน HDCP2x IP ด้วยความถี่ใดก็ได้สูงสุด 200 MHz ความถี่ของนาฬิกานี้กำหนดความเร็วของ
การรับรองความถูกต้อง HDCP2x ดำเนินการ คุณสามารถเลือกแชร์สัญญาณนาฬิกา 100 MHz ที่ใช้สำหรับโปรเซสเซอร์ Nios II ได้ แต่เวลาแฝงในการตรวจสอบสิทธิ์จะเพิ่มเป็นสองเท่าเมื่อเทียบกับการใช้สัญญาณนาฬิกา 200 MHz - ค่าที่ต้องแลกเปลี่ยนระหว่าง HDCP TX และ HDCP RX จะถูกสื่อสารผ่านอินเทอร์เฟซ HDMI DDC (อินเทอร์เฟซอนุกรม I2 C) ของ HDCP-
อินเทอร์เฟซที่ได้รับการป้องกัน HDCP RX ต้องแสดงอุปกรณ์โลจิคัลบนบัส I2C สำหรับแต่ละลิงก์ที่รองรับ ทาส I2C ซ้ำสำหรับพอร์ต HDCP ที่มีที่อยู่อุปกรณ์ 0x74 มันขับเคลื่อนพอร์ตการลงทะเบียน HDCP (Avalon-MM) ของทั้ง HDCP2x และ HDCP1x RX IP - HDMI TX ใช้ IC master เพื่ออ่าน EDID จาก RX และถ่ายโอนข้อมูล SCDC ที่จำเป็นสำหรับการทำงานของ HDMI 2.0 ไปยัง RX ต้นแบบ I2C เดียวกันที่ขับเคลื่อนโดยโปรเซสเซอร์ Nios II ยังใช้เพื่อถ่ายโอนข้อความ HDCP ระหว่าง TX และ RX I2C master ถูกฝังอยู่ในระบบย่อยของ CPU
- โปรเซสเซอร์ Nios II ทำหน้าที่เป็นมาสเตอร์ในโปรโตคอลการตรวจสอบสิทธิ์ และขับเคลื่อนการควบคุมและการลงทะเบียนสถานะ (Avalon-MM) ของทั้ง HDCP2x และ HDCP1x TX
IP ไดรเวอร์ซอฟต์แวร์ใช้เครื่องสถานะโปรโตคอลการตรวจสอบสิทธิ์ รวมถึงการตรวจสอบลายเซ็นใบรับรอง การแลกเปลี่ยนมาสเตอร์คีย์ การตรวจสอบตำแหน่งที่ตั้ง การแลกเปลี่ยนคีย์เซสชัน การจับคู่ การตรวจสอบความสมบูรณ์ของลิงก์ (HDCP1x) และการรับรองความถูกต้องด้วยตัวทำซ้ำ เช่น การเผยแพร่ข้อมูลโทโพโลยีและการเผยแพร่ข้อมูลการจัดการสตรีม ไดรเวอร์ซอฟต์แวร์ไม่ได้ใช้ฟังก์ชันการเข้ารหัสใด ๆ ที่กำหนดโดยโปรโตคอลการตรวจสอบความถูกต้อง ฮาร์ดแวร์ HDCP IP จะใช้ฟังก์ชันการเข้ารหัสทั้งหมดแทน เพื่อให้แน่ใจว่าจะไม่สามารถเข้าถึงค่าที่เป็นความลับได้
7. ในการสาธิตทวนสัญญาณจริงซึ่งจำเป็นต้องมีการเผยแพร่ข้อมูลโทโพโลยีอัปสตรีม โปรเซสเซอร์ Nios II จะขับเคลื่อนพอร์ตข้อความ Repeater (Avalon-MM) ของ IP ทั้ง HDCP2x และ HDCP1x RX โปรเซสเซอร์ Nios II ล้างบิต RX REPEATER เป็น 0 เมื่อตรวจพบว่าดาวน์สตรีมที่เชื่อมต่อไม่รองรับ HDCP หรือเมื่อไม่มีการเชื่อมต่อดาวน์สตรีม หากไม่มีการเชื่อมต่อดาวน์สตรีม ระบบ RX จะกลายเป็นเครื่องรับปลายทาง แทนที่จะเป็นเครื่องทวนสัญญาณ ในทางกลับกัน โปรเซสเซอร์ Nios II จะตั้งค่าบิต RX REPEATER เป็น 1 เมื่อตรวจพบว่าดาวน์สตรีมนั้นรองรับ HDCP
4.2. การไหลของซอฟต์แวร์โปรเซสเซอร์ Nios II
แผนผังลำดับงานของซอฟต์แวร์ Nios II รวมถึงการควบคุมการตรวจสอบสิทธิ์ HDCP ผ่านแอปพลิเคชัน HDMI
รูปที่ 30 ผังงานซอฟต์แวร์โปรเซสเซอร์ Nios II
- ซอฟต์แวร์ Nios II เริ่มต้นและรีเซ็ต HDMI TX PLL, TX transceiver PHY, I2C master และ TI retimer ภายนอก
- ซอฟต์แวร์ Nios II ทำการสำรวจสัญญาณการตรวจจับอัตราที่ถูกต้องเป็นระยะจากวงจรตรวจจับอัตรา RX เพื่อพิจารณาว่าความละเอียดของวิดีโอมีการเปลี่ยนแปลงหรือไม่ และจำเป็นต้องกำหนดค่า TX ใหม่หรือไม่ ซอฟต์แวร์ยังสำรวจสัญญาณตรวจจับฮอตปลั๊ก TX เพื่อระบุว่ามีเหตุการณ์ TX ฮอตปลั๊กเกิดขึ้นหรือไม่
- เมื่อได้รับสัญญาณที่ถูกต้องจากวงจรตรวจจับอัตรา RX ซอฟต์แวร์ Nios II จะอ่านค่า SCDC และความลึกของสัญญาณนาฬิกาจาก HDMI RX และดึงแถบความถี่สัญญาณนาฬิกาตามอัตราที่ตรวจพบ เพื่อพิจารณาว่าจำเป็นต้องมีการกำหนดค่า HDMI TX PLL และตัวรับส่งสัญญาณ PHY ใหม่หรือไม่ หากจำเป็นต้องมีการกำหนดค่า TX ใหม่ ซอฟต์แวร์ Nios II จะสั่งให้ I2C master ส่งค่า SCDC ไปยัง RX ภายนอก จากนั้นจะสั่งให้กำหนดค่าตัวรับส่งสัญญาณ HDMI TX PLL และ TX ใหม่
PHY ตามด้วยการปรับเทียบอุปกรณ์ใหม่ และลำดับการรีเซ็ต หากอัตราไม่เปลี่ยนแปลง ไม่จำเป็นต้องกำหนดค่า TX ใหม่หรือตรวจสอบความถูกต้องอีกครั้งของ HDCP - เมื่อเกิดเหตุการณ์ TX hot-plug ซอฟต์แวร์ Nios II จะสั่งให้ I2C master ส่งค่า SCDC ไปยัง RX ภายนอก จากนั้นจึงอ่าน EDID จาก RX
และอัปเดต EDID RAM ภายใน จากนั้นซอฟต์แวร์จะเผยแพร่ข้อมูล EDID ไปยังอัปสตรีม - ซอฟต์แวร์ Nios II เริ่มกิจกรรม HDCP โดยสั่งให้ต้นแบบ I2C อ่านออฟเซ็ต 0x50 จาก RX ภายนอกเพื่อตรวจสอบว่าดาวน์สตรีมรองรับ HDCP หรือไม่
มิฉะนั้น:
• หากค่า HDCP2Version ที่ส่งคืนคือ 1 ดาวน์สตรีมจะเป็น HDCP2xcapable
• หากค่าที่ส่งคืนของการอ่าน 0x50 ทั้งหมดเป็น 0 แสดงว่าดาวน์สตรีมนั้นรองรับ HDCP1x
• หากค่าที่ส่งคืนของการอ่านค่า 0x50 ทั้งหมดเป็น 1 แสดงว่าดาวน์สตรีมไม่รองรับ HDCP หรือไม่ได้ใช้งาน
• หากก่อนหน้านี้ดาวน์สตรีมไม่รองรับ HDCP หรือไม่ได้ใช้งาน แต่ปัจจุบันรองรับ HDCP ซอฟต์แวร์จะตั้งค่าบิต REPEATER ของทวนสตรีมอัปสตรีม (RX) เป็น 1 เพื่อระบุว่า RX เป็นรีพีตเตอร์แล้ว
• หากดาวน์สตรีมก่อนหน้านี้รองรับ HDCP แต่ปัจจุบันไม่รองรับ HDCP หรือไม่ได้ใช้งาน ซอฟต์แวร์จะตั้งค่าบิต REPEATER เป็น 0 เพื่อระบุว่า RX เป็นตัวรับสัญญาณปลายทาง - ซอฟต์แวร์เริ่มต้นโปรโตคอลการตรวจสอบสิทธิ์ HDCP2x ซึ่งรวมถึงการตรวจสอบลายเซ็นใบรับรอง RX, การแลกเปลี่ยนมาสเตอร์คีย์, การตรวจสอบตำแหน่งที่ตั้ง, การแลกเปลี่ยนเซสชันคีย์, การจับคู่, การตรวจสอบความถูกต้องด้วยตัวทำซ้ำ เช่น การเผยแพร่ข้อมูลโทโพโลยี
- เมื่ออยู่ในสถานะรับรองความถูกต้อง ซอฟต์แวร์ Nios II จะสั่งให้ต้นแบบ I2C สำรวจการลงทะเบียน RxStatus จาก RX ภายนอก และหากซอฟต์แวร์ตรวจพบว่ามีการตั้งค่าบิต REAUTH_REQ ซอฟต์แวร์จะเริ่มการตรวจสอบสิทธิ์อีกครั้งและปิดใช้งานการเข้ารหัส TX
- เมื่อดาวน์สตรีมเป็นรีพีทเตอร์และบิต READY ของรีจิสเตอร์ RxStatus ถูกตั้งค่าเป็น 1 ซึ่งมักจะบ่งชี้ว่าโทโพโลยีดาวน์สตรีมมีการเปลี่ยนแปลง ดังนั้น ซอฟต์แวร์ Nios II จึงสั่งให้ I2C master อ่าน ReceiverID_List จากดาวน์สตรีมและตรวจสอบรายการ หากรายการถูกต้องและไม่พบข้อผิดพลาดโทโพโลยี ซอฟต์แวร์จะดำเนินการต่อไปยังโมดูล Content Stream Management มิฉะนั้น จะเริ่มการตรวจสอบสิทธิ์อีกครั้งและปิดใช้งานการเข้ารหัส TX
- ซอฟต์แวร์ Nios II เตรียมค่า ReceiverID_List และ RxInfo แล้วเขียนไปยังพอร์ต Avalon-MM Repeater Message ของทวนสตรีม (RX) จากนั้น RX จะเผยแพร่รายการไปยัง TX ภายนอก (อัปสตรีม)
- การตรวจสอบสิทธิ์เสร็จสมบูรณ์ ณ จุดนี้ ซอฟต์แวร์เปิดใช้งานการเข้ารหัส TX
- ซอฟต์แวร์เริ่มต้นโปรโตคอลการตรวจสอบสิทธิ์ HDCP1x ที่มีการแลกเปลี่ยนคีย์และการรับรองความถูกต้องด้วยตัวทำซ้ำ
- ซอฟต์แวร์ Nios II ทำการตรวจสอบความสมบูรณ์ของลิงก์โดยการอ่านและเปรียบเทียบ Ri' และ Ri จาก RX ภายนอก (ดาวน์สตรีม) และ HDCP1x TX ตามลำดับ ถ้าค่า
ไม่ตรงกัน แสดงว่าสูญเสียการซิงโครไนซ์และซอฟต์แวร์เริ่มต้นการตรวจสอบสิทธิ์ใหม่และปิดใช้งานการเข้ารหัส TX - หากดาวน์สตรีมเป็นรีพีทเตอร์และบิต READY ของรีจิสเตอร์ Bcaps ถูกตั้งค่าเป็น 1 ซึ่งมักจะบ่งชี้ว่าโทโพโลยีดาวน์สตรีมมีการเปลี่ยนแปลง ดังนั้น ซอฟต์แวร์ Nios II จึงสั่งให้ I2C master อ่านค่ารายการ KSV จากดาวน์สตรีมและตรวจสอบรายการ หากรายการถูกต้องและไม่พบข้อผิดพลาดโทโพโลยี ซอฟต์แวร์จะเตรียมรายการ KSV และค่า Bstatus และเขียนไปยังพอร์ต Avalon-MM Repeater Message ของทวนสตรีม (RX) จากนั้น RX จะเผยแพร่รายการไปยัง TX ภายนอก (อัปสตรีม) มิฉะนั้น จะเริ่มการตรวจสอบสิทธิ์ซ้ำและปิดใช้งานการเข้ารหัส TX
4.3. คำแนะนำการออกแบบ
การตั้งค่าและใช้งาน HDCP ผ่านการออกแบบ HDMI เช่นample ประกอบด้วยห้าวินาทีtagใช่
- ตั้งค่าฮาร์ดแวร์
- สร้างการออกแบบ
- แก้ไขหน่วยความจำคีย์ HDCP fileเพื่อรวมคีย์การผลิต HDCP ของคุณ
ก. จัดเก็บคีย์การผลิต HDCP ธรรมดาใน FPGA (รองรับ HDCP Key Management = 0)
ข. จัดเก็บรหัสการผลิต HDCP ที่เข้ารหัสไว้ในหน่วยความจำแฟลชภายนอกหรือ EEPROM (รองรับการจัดการคีย์ HDCP = 1) - รวบรวมการออกแบบ
- View ผลลัพธ์
4.3.1. ตั้งค่าฮาร์ดแวร์
ส. แรกtagอีของการสาธิตคือการตั้งค่าฮาร์ดแวร์
เมื่อ SUPPORT FRL = 0 ให้ทำตามขั้นตอนเหล่านี้เพื่อตั้งค่าฮาร์ดแวร์สำหรับการสาธิต:
- เชื่อมต่อการ์ดลูกสาว Bitec HDMI 2.0 FMC (การแก้ไข 11) เข้ากับชุดพัฒนา Arria 10 GX ที่พอร์ต FMC B
- เชื่อมต่อชุดพัฒนา Arria 10 GX กับพีซีของคุณโดยใช้สาย USB
- เชื่อมต่อสาย HDMI จากขั้วต่อ HDMI RX บนการ์ดลูกสาว Bitec HDMI 2.0 FMC เข้ากับอุปกรณ์ HDMI ที่เปิดใช้งาน HDCP เช่น การ์ดกราฟิกที่มีเอาต์พุต HDMI
- เชื่อมต่อสาย HDMI อีกเส้นจากขั้วต่อ HDMI TX บนการ์ดลูกสาว Bitec HDMI 2.0 FMC เข้ากับอุปกรณ์ HDMI ที่เปิดใช้งาน HDCP เช่น โทรทัศน์ที่มีอินพุต HDMI
เมื่อ SUPPORT FRL = 1 ให้ทำตามขั้นตอนเหล่านี้เพื่อตั้งค่าฮาร์ดแวร์สำหรับ สาธิต:
- เชื่อมต่อการ์ดลูกสาว Bitec HDMI 2.1 FMC (Revision 9) เข้ากับชุดพัฒนา Arria 10 GX ที่พอร์ต FMC B
- เชื่อมต่อชุดพัฒนา Arria 10 GX กับพีซีของคุณโดยใช้สาย USB
- เชื่อมต่อสาย HDMI 2.1 Category 3 จากขั้วต่อ HDMI RX บนการ์ดลูกสาว Bitec HDMI 2.1 FMC เข้ากับแหล่งสัญญาณ HDMI 2.1 ที่เปิดใช้งาน HDCP เช่น Quantum Data 980 48G Generator
- เชื่อมต่อสาย HDMI 2.1 Category 3 อีกเส้นจากขั้วต่อ HDMI TX บนการ์ดลูกสาว Bitec HDMI 2.1 FMC เข้ากับอ่างล้างข้อมูล HDMI 2.1 ที่เปิดใช้งาน HDCP เช่น
เครื่องวิเคราะห์ข้อมูลควอนตัม 980 48G
4.3.2. สร้างการออกแบบ
หลังจากตั้งค่าฮาร์ดแวร์แล้ว คุณต้องสร้างการออกแบบ
ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าได้ติดตั้งคุณลักษณะ HDCP ในซอฟต์แวร์ Intel Quartus Prime Pro Edition
- คลิก Tools ➤ IP Catalog และเลือก Intel Arria 10 เป็นตระกูลอุปกรณ์เป้าหมาย
บันทึก: การออกแบบ HDCP เช่นample รองรับเฉพาะอุปกรณ์ Intel Arria 10 และ Intel Stratix® 10 - ใน IP Catalog ค้นหาและคลิกสองครั้งที่ HDMI Intel FPGA IP หน้าต่างรูปแบบ IP ใหม่จะปรากฏขึ้น
- ระบุชื่อระดับบนสุดสำหรับรูปแบบ IP ที่คุณกำหนดเอง ตัวแก้ไขพารามิเตอร์จะบันทึกการตั้งค่าความแปรผันของ IP ใน a file ชื่อ .qsys หรือ .ip
- คลิกตกลง ตัวแก้ไขพารามิเตอร์จะปรากฏขึ้น
- บนแท็บ IP ให้กำหนดค่าพารามิเตอร์ที่ต้องการสำหรับทั้ง TX และ RX
- เปิดพารามิเตอร์ Support HDCP 1.4 หรือ Support HDCP 2.3 เพื่อสร้างการออกแบบ HDCP เช่นampเล.
- เปิดพารามิเตอร์ Support HDCP Key Management หากคุณต้องการจัดเก็บคีย์การผลิต HDCP ในรูปแบบที่เข้ารหัสในหน่วยความจำแฟลชภายนอกหรือ EEPROM มิฉะนั้น ให้ปิดพารามิเตอร์ Support HDCP Key Management เพื่อจัดเก็บคีย์การผลิต HDCP ในรูปแบบธรรมดาใน FPGA
- เกี่ยวกับการออกแบบampจากแท็บ เลือก Arria 10 HDMI RX-TX Retransmit
- เลือกการสังเคราะห์เพื่อสร้างการออกแบบฮาร์ดแวร์เช่นampเล.
- สำหรับสร้าง File รูปแบบ เลือก Verilog หรือ VHDL
- สำหรับ Target Development Kit ให้เลือก Arria 10 GX FPGA Development Kit หากคุณเลือกชุดพัฒนา อุปกรณ์เป้าหมาย (ที่เลือกในขั้นตอนที่ 4) จะเปลี่ยนไปเพื่อให้ตรงกับอุปกรณ์ในชุดพัฒนา สำหรับ Arria 10 GX FPGA Development Kit อุปกรณ์เริ่มต้นคือ 10AX115S2F45I1SG
- คลิกสร้าง เช่นample ออกแบบเพื่อสร้างโครงการ files และซอฟต์แวร์โปรแกรม Executable and Linking Format (ELF) file.
4.3.3. รวมรหัสการผลิต HDCP
4.3.3.1. จัดเก็บคีย์การผลิต HDCP ธรรมดาใน FPGA (รองรับคีย์ HDCP การจัดการ = 0)
หลังจากสร้างการออกแบบแล้ว ให้แก้ไขหน่วยความจำคีย์ HDCP fileเพื่อรวมคีย์การผลิตของคุณ
หากต้องการรวมคีย์การผลิต ให้ทำตามขั้นตอนเหล่านี้
- ค้นหาหน่วยความจำคีย์ต่อไปนี้ fileอยู่ใน /rtl/hdcp/ ไดเรกทอรี:
• hdcp2x_tx_kmem.v
• hdcp2x_rx_kmem.v
• hdcp1x_tx_kmem.v
• hdcp1x_rx_kmem.v - เปิด hdcp2x_rx_kmem.v file และค้นหารหัสโทรสารที่กำหนดไว้ล่วงหน้า R1 สำหรับใบรับรองสาธารณะของผู้รับและรหัสส่วนตัว RX และค่าคงที่ส่วนกลางตามที่แสดงในตัวอย่างampข้างล่างนี้
รูปที่ 31 Wire Array ของคีย์โทรสาร R1 สำหรับใบรับรองสาธารณะของผู้รับ
รูปที่ 32 Wire Array ของคีย์โทรสาร R1 สำหรับคีย์ส่วนตัว RX และค่าคงที่ส่วนกลาง
- ค้นหาตัวยึดตำแหน่งสำหรับคีย์การผลิตและแทนที่ด้วยคีย์การผลิตของคุณเองในอาร์เรย์ลวดที่เกี่ยวข้องในรูปแบบ endian ขนาดใหญ่
รูปภาพ 33 Wire Array ของคีย์การผลิต HDCP (ตัวยึดตำแหน่ง)
- ทำซ้ำขั้นตอนที่ 3 สำหรับหน่วยความจำคีย์อื่นๆ ทั้งหมด fileส. เมื่อคุณรวมคีย์การผลิตของคุณในหน่วยความจำคีย์ทั้งหมดเสร็จแล้ว files ตรวจสอบให้แน่ใจว่าพารามิเตอร์ USE_FACSIMILE ถูกตั้งค่าเป็น 0 ที่การออกแบบ เช่นampระดับสูงสุด file (a10_hdmi2_demo.v)
4.3.3.1.1. การแมปคีย์ HDCP จากคีย์ DCP Files
ส่วนต่อไปนี้อธิบายการแมปคีย์การผลิต HDCP ที่จัดเก็บไว้ในคีย์ DCP fileเข้าไปใน wire array ของ HDCP kmem files.
4.3.3.1.2. hdcp1x_tx_kmem.v และ hdcp1x_rx_kmem.v files
สำหรับ hdcp1x_tx_kmem.v และ hdcp1x_rx_kmem.v files
- ทั้งสองนี้ fileกำลังแบ่งปันรูปแบบเดียวกัน
- เพื่อระบุคีย์ HDCP1 TX DCP ที่ถูกต้อง file สำหรับ hdcp1x_tx_kmem.v ตรวจสอบให้แน่ใจว่า 4 ไบต์แรกของ file คือ “0x01, 0x00, 0x00, 0x00”
- เพื่อระบุคีย์ HDCP1 RX DCP ที่ถูกต้อง file สำหรับ hdcp1x_rx_kmem.v ตรวจสอบให้แน่ใจว่า 4 ไบต์แรกของ file คือ “0x02, 0x00, 0x00, 0x00”
- คีย์ในคีย์ DCP files อยู่ในรูปแบบ little-endian เพื่อใช้ในกม files, คุณต้องแปลงให้เป็น big-endian.
รูปที่ 34. การแมปไบต์จากคีย์ HDCP1 TX DCP file ลงใน hdcp1x_tx_kmem.v
บันทึก:
หมายเลขไบต์แสดงในรูปแบบด้านล่าง:
- ขนาดคีย์เป็นไบต์ * หมายเลขคีย์ + หมายเลขไบต์ในแถวปัจจุบัน + ค่าชดเชยคงที่ + ขนาดแถวเป็นไบต์ * หมายเลขแถว
- 308*n ระบุว่าชุดคีย์แต่ละชุดมี 308 ไบต์
- 7*y ระบุว่าแต่ละแถวมี 7 ไบต์
รูปที่ 35. คีย์ HDCP1 TX DCP file เติมค่าขยะ
รูปที่ 36. Wire Array ของ hdcp1x_tx_kmem.v
Example ของ hdcp1x_tx_kmem.v และวิธีการแมปอาร์เรย์ลวดกับอดีตampไฟล์ของคีย์ HDCP1 TX DCP file ในรูปที่ 35 หน้า 105
4.3.3.1.3. hdcp2x_rx_kmem.v file
สำหรับ hdcp2x_rx_kmem.v file
- เพื่อระบุคีย์ HDCP2 RX DCP ที่ถูกต้อง file สำหรับ hdcp2x_rx_kmem.v ตรวจสอบให้แน่ใจว่า 4 ไบต์แรกของ file คือ “0x00, 0x00, 0x00, 0x02”
- คีย์ในคีย์ DCP files อยู่ในรูปแบบ little-endian
รูปที่ 37. การแมปไบต์จากคีย์ HDCP2 RX DCP file ลงใน hdcp2x_rx_kmem.v
ภาพด้านล่างแสดงการแมปไบต์ที่แน่นอนจากคีย์ HDCP2 RX DCP file ลงใน hdcp2x_rx_kmem.v
บันทึก:
หมายเลขไบต์แสดงในรูปแบบด้านล่าง:
- ขนาดคีย์เป็นไบต์ * หมายเลขคีย์ + หมายเลขไบต์ในแถวปัจจุบัน + ค่าชดเชยคงที่ + ขนาดแถวเป็นไบต์ * หมายเลขแถว
- 862*n ระบุว่าชุดคีย์แต่ละชุดมี 862 ไบต์
- 16*y ระบุว่าแต่ละแถวมี 16 ไบต์ มีข้อยกเว้นใน cert_rx_prod โดยที่ ROW 32 มีเพียง 10 ไบต์
รูปที่ 38. คีย์ HDCP2 RX DCP file เติมค่าขยะ
รูปที่ 39. Wire Array ของ hdcp2x_rx_kmem.v
รูปนี้แสดง wire arrays สำหรับแผนที่ hdcp2x_rx_kmem.v (cert_rx_prod, kprivrx_qinv_prod และ lc128_prod) กับ exampไฟล์ของคีย์ HDCP2 RX DCP file in
รูปที่ 38 ในหน้า 108
4.3.3.1.4. hdcp2x_tx_kmem.v file
สำหรับ hdcp2x_tx_kmem.v file:
- เพื่อระบุคีย์ HDCP2 TX DCP ที่ถูกต้อง file สำหรับ hdcp2x_tx_kmem.v ตรวจสอบให้แน่ใจว่า 4 ไบต์แรกของ file คือ “0x00, 0x00, 0x00, 0x01”
- คีย์ในคีย์ DCP files อยู่ในรูปแบบ little-endian
- หรืออีกวิธีหนึ่ง คุณสามารถใช้ lc128_prod จาก hdcp2x_rx_kmem.v โดยตรงใน hdcp2x_tx_kmem.v คีย์ใช้ค่าเดียวกัน
รูปที่ 40. อาร์เรย์ของ hdcp2x_tx_kmem.v
รูปนี้แสดงการแมปไบต์ที่แน่นอนจากคีย์ HDCP2 TX DCP file ลงใน hdcp2x_tx_kmem.v
4.3.3.2. จัดเก็บรหัสการผลิต HDCP ที่เข้ารหัสไว้ในหน่วยความจำแฟลชภายนอกหรือ EEPROM (รองรับการจัดการคีย์ HDCP = 1)
รูปที่ 41 ระดับสูงเกินview ของการจัดการคีย์ HDCP
เมื่อเปิดใช้งานพารามิเตอร์ Support HDCP Key Management คุณจะควบคุมการเข้ารหัสคีย์การผลิต HDCP โดยใช้ยูทิลิตีซอฟต์แวร์การเข้ารหัสคีย์ (KEYENC) และการออกแบบโปรแกรมเมอร์คีย์ที่ Intel มีให้ คุณต้องระบุรหัสการผลิต HDCP และรหัสป้องกัน HDCP 128 บิต คีย์ป้องกัน HDCP
เข้ารหัสคีย์การผลิต HDCP และจัดเก็บคีย์ไว้ในหน่วยความจำแฟลชภายนอก (เช่นample, EEPROM) บนการ์ดลูกสาว HDMI
เปิดพารามิเตอร์ Support HDCP Key Management และคุณสมบัติการถอดรหัสคีย์ (KEYDEC) จะพร้อมใช้งานในคอร์ HDCP IP การป้องกัน HDCP เดียวกัน
ควรใช้คีย์ใน KEYDEC เพื่อดึงคีย์การผลิต HDCP ณ รันไทม์สำหรับโปรแกรมประมวลผล KEYENC และ KEYDEC รองรับ Atmel AT24CS32 32-Kbit serial EEPROM, Atmel AT24C16A 16-Kbit serial EEPROM และอุปกรณ์ I2C EEPROM ที่ใช้งานร่วมกันได้ที่มีขนาด 16-Kbit rom เป็นอย่างน้อย
บันทึก:
- สำหรับการ์ดลูก HDMI 2.0 FMC Revision 11 ตรวจสอบให้แน่ใจว่า EEPROM บนการ์ดลูกเป็น Atmel AT24CS32 มีการใช้ EEPROM สองขนาดที่แตกต่างกันบนการ์ดลูกสาว Bitec HDMI 2.0 FMC Revision 11
- หากคุณเคยใช้ KEYENC เพื่อเข้ารหัสคีย์การผลิต HDCP และเปิดการรองรับการจัดการคีย์ HDCP ในเวอร์ชัน 21.2 หรือก่อนหน้า คุณต้องเข้ารหัสคีย์การผลิต HDCP อีกครั้งโดยใช้ยูทิลิตี้ซอฟต์แวร์ KEYENC และสร้าง IP ของ HDCP ใหม่จากเวอร์ชัน 21.3
ต่อไป.
4.3.3.2.1. อินเทล คีย์เอ็นซี
KEYENC เป็นยูทิลิตี้ซอฟต์แวร์บรรทัดคำสั่งที่ Intel ใช้เพื่อเข้ารหัสคีย์การผลิต HDCP ด้วยคีย์ป้องกัน HDCP 128 บิตที่คุณให้มา KEYENC ส่งออกคีย์การผลิต HDCP ที่เข้ารหัสในรูปแบบ hex หรือ bin หรือ header file รูปแบบ. KEYENC ยังสร้าง mif file มีรหัสป้องกัน HDCP 128 บิตที่คุณให้มา คีย์เดค
ต้องใช้ mif file.
ความต้องการของระบบ:
- เครื่อง x86 64 บิตพร้อมระบบปฏิบัติการ Windows 10
- แพ็คเกจ Visual C++ ที่แจกจ่ายต่อได้สำหรับ Visual Studio 2019(x64)
บันทึก:
คุณต้องติดตั้ง Microsoft Visual C++ สำหรับ VS 2019 คุณสามารถตรวจสอบว่าติดตั้ง Visual C++ แบบแจกจ่ายซ้ำได้จาก Windows ➤ แผงควบคุม ➤ โปรแกรมและคุณลักษณะหรือไม่ หากติดตั้ง Microsoft Visual C++ คุณจะเห็น Visual C++ xxxx
แจกจ่ายซ้ำได้ (x64) มิฉะนั้น คุณสามารถดาวน์โหลดและติดตั้ง Visual C++
แจกจ่ายซ้ำได้จาก Microsoft webเว็บไซต์. อ้างอิงถึงข้อมูลที่เกี่ยวข้องสำหรับลิงค์ดาวน์โหลด
ตารางที่ 55. ตัวเลือกบรรทัดคำสั่ง KEYENC
ตัวเลือกบรรทัดคำสั่ง | อาร์กิวเมนต์ / คำอธิบาย |
-k | <HDCP protection key file> ข้อความ file มีเฉพาะคีย์ป้องกัน HDCP 128 บิตในเลขฐานสิบหก อดีตample: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff |
-hdcp1tx | <HDCP 1.4 TX production keys file> คีย์การผลิตเครื่องส่งสัญญาณ HDCP 1.4 file จาก DCP (.bin file) |
-hdcp1rx | <HDCP 1.4 RX production keys file> คีย์การผลิตตัวรับ HDCP 1.4 file จาก DCP (.bin file) |
-hdcp2tx | <HDCP 2.3 TX production keys file> คีย์การผลิตเครื่องส่งสัญญาณ HDCP 2.3 file จาก DCP (.bin file) |
-hdcp2rx | <HDCP 2.3 RX production keys file> คีย์การผลิตตัวรับ HDCP 2.3 file จาก DCP (.bin file) |
-hdcp1txkeys | ระบุช่วงคีย์สำหรับอินพุตที่เลือก (.bin) files -hdcp1txkeys|hdcp1rxkeys|hdcp2rxkeys นาโนเมตร โดยที่ n = ปุ่มเริ่ม (1 หรือ >1) m = ปุ่มสิ้นสุด (n หรือ >n) เช่นampเลอ: เลือก 1 ถึง 1000 คีย์จากแต่ละ HDCP 1.4 TX, HDCP 1.4 RX และ HCDP 2.3 คีย์การผลิต RX file. “-hdcp1txkeys 1-1000 -hdcp1rxkeys 1-1000 -hdcp2rxkeys 1-1000” |
-hdcp1rxkeys | |
-hdcp2rxkeys | |
ต่อเนื่อง… |
ตัวเลือกบรรทัดคำสั่ง | อาร์กิวเมนต์ / คำอธิบาย |
บันทึก: 1. หากคุณไม่ได้ใช้คีย์การผลิต HDCP ใดๆ fileคุณจะไม่ต้องการช่วงคีย์ HDCP หากคุณไม่ได้ใช้อาร์กิวเมนต์ในบรรทัดคำสั่ง ช่วงคีย์เริ่มต้นคือ 0 2. คุณยังสามารถเลือกดัชนีที่แตกต่างกันของคีย์สำหรับคีย์การผลิต HDCP file. อย่างไรก็ตาม จำนวนคีย์ควรตรงกับตัวเลือกที่เลือก Example: เลือก 100 คีย์ที่แตกต่างกัน เลือก 100 คีย์แรกจากคีย์การผลิต HDCP 1.4 TX file “-hdcp1txkeys 1-100” เลือกคีย์ 300 ถึง 400 สำหรับคีย์การผลิต HDCP 1.4 RX file “-hdcp1rxkeys 300-400” เลือกคีย์ 600 ถึง 700 สำหรับคีย์การผลิต HDCP 2.3 RX file “-hdcp2rxkeys 600-700” |
|
-o | เอาท์พุต file รูปแบบ . ค่าเริ่มต้นคือฐานสิบหก file. สร้างรหัสการผลิต HDCP ที่เข้ารหัสในรูปแบบไบนารี file รูปแบบ: -o bin สร้างคีย์การผลิต HDCP ที่เข้ารหัสในรูปแบบฐานสิบหก file รูปแบบ: -o hex สร้างรหัสการผลิต HDCP ที่เข้ารหัสในส่วนหัว file รูปแบบ: -oh |
– ตรวจสอบคีย์ | พิมพ์จำนวนปุ่มที่มีอยู่ในอินพุต fileNS. อดีตampเลอ: |
keyenc.exe -hdcp1tx file> -hdcp1rx <HDCP 1.4 RX production keys file> -hdcp2tx file> -hdcp2rx file> – ตรวจสอบคีย์ |
|
บันทึก: ใช้พารามิเตอร์ –check-keys ที่ส่วนท้ายของบรรทัดคำสั่งตามที่กล่าวไว้ข้างต้นเช่นampเล. | |
–เวอร์ชัน | พิมพ์หมายเลขเวอร์ชัน KEYENC |
คุณสามารถเลือกรหัสการผลิต HDCP 1.4 และ/หรือ HDCP 2.3 เพื่อเข้ารหัส สำหรับอดีตample หากต้องการใช้เฉพาะคีย์การผลิต HDCP 2.3 RX เพื่อเข้ารหัส ให้ใช้ -hdcp2rx เท่านั้น
<HDCP 2.3 RX production keys file> -hdcp2rxkeys ในพารามิเตอร์บรรทัดคำสั่ง
ตารางที่ 56. แนวทางปฏิบัติเกี่ยวกับข้อความแสดงข้อผิดพลาดทั่วไปของ KEYENC
ข้อความแสดงข้อผิดพลาด | แนวทางปฏิบัติ |
ข้อผิดพลาด: คีย์ป้องกัน HDCP file หายไป | ไม่มีพารามิเตอร์บรรทัดคำสั่ง -k file> |
ข้อผิดพลาด: คีย์ควรเป็นเลขฐานสิบหก 32 หลัก (เช่น f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff) | รหัสป้องกัน HDCP file ควรมีเพียงรหัสป้องกัน HDCP ที่เป็นเลขฐานสิบหก 32 หลัก |
ข้อผิดพลาด: โปรดระบุช่วงคีย์ | ไม่ได้ระบุช่วงคีย์สำหรับคีย์การผลิต HDCP อินพุตที่กำหนด file. |
ข้อผิดพลาด: ช่วงคีย์ไม่ถูกต้อง | ช่วงคีย์ที่ระบุสำหรับ -hdcp1txkeys หรือ -hdcp1rxkeys หรือ -hdcp2rxkeys ไม่ถูกต้อง |
ข้อผิดพลาด: ไม่สามารถสร้างได้Fileชื่อ> | ตรวจสอบการอนุญาตโฟลเดอร์จาก keyenc.exe ที่รันอยู่ |
ข้อผิดพลาด: -hdcp1txkeys อินพุตไม่ถูกต้อง | รูปแบบช่วงคีย์อินพุตสำหรับคีย์การผลิต HDCP 1.4 TX ไม่ถูกต้อง รูปแบบที่ถูกต้องคือ “-hdcp1txkeys nm” โดยที่ n >= 1, m >= n |
ข้อผิดพลาด: -hdcp1rxkeys อินพุตไม่ถูกต้อง | รูปแบบช่วงคีย์อินพุตสำหรับคีย์การผลิต HDCP 1.4 RX ไม่ถูกต้อง รูปแบบที่ถูกต้องคือ “-hdcp1rxkeys nm” โดยที่ n >= 1, m >= n |
ข้อผิดพลาด: -hdcp2rxkeys อินพุตไม่ถูกต้อง | รูปแบบช่วงคีย์อินพุตสำหรับคีย์การผลิต HDCP 2.3 RX ไม่ถูกต้อง รูปแบบที่ถูกต้องคือ “-hdcp2rxkeys nm” โดยที่ n >= 1, m >= n |
ต่อเนื่อง… |
ข้อความแสดงข้อผิดพลาด | แนวทางปฏิบัติ |
ข้อผิดพลาด: ไม่ถูกต้อง file <fileชื่อ> | รหัสการผลิต HDCP ไม่ถูกต้อง file. |
ข้อผิดพลาด: file พิมพ์หายไปสำหรับ -o ตัวเลือก | ไม่มีพารามิเตอร์บรรทัดคำสั่งสำหรับ –o . |
ข้อผิดพลาด: ไม่ถูกต้อง fileชื่อ -fileชื่อ> | <fileชื่อ> ไม่ถูกต้อง โปรดใช้ที่ถูกต้อง fileชื่อที่ไม่มีอักขระพิเศษ |
เข้ารหัส Single Key สำหรับ Single EEPROM
เรียกใช้บรรทัดคำสั่งต่อไปนี้จากพรอมต์คำสั่งของ Windows เพื่อเข้ารหัสคีย์เดียวของ HDCP 1.4 TX, HDCP 1.4 RX, HDCP 2.3 TX และ HDCP 2.3 RX พร้อมเอาต์พุต file รูปแบบของส่วนหัว file สำหรับ EEPROM เดียว:
keyenc.exe -k file> -hdcp1tx file> -hdcp1rx file> -hdcp2tx file> -hdcp2rx file> -hdcp1txkeys 1-1 -hdcp1rxkeys 1-1 -hdcp2rxkeys 1-1 -โอ้
เข้ารหัส N คีย์สำหรับ N EEPROM
เรียกใช้บรรทัดคำสั่งต่อไปนี้จากพรอมต์คำสั่งของ Windows เพื่อเข้ารหัสคีย์ N (เริ่มจากคีย์ 1) ของ HDCP 1.4 TX, HDCP 1.4 RX, HDCP 2.3 TX และ HDCP 2.3 RX พร้อมเอาต์พุต file รูปแบบของเลขฐานสิบหก file สำหรับ N EEPROM:
keyenc.exe -k file> -hdcp1tx file> -hdcp1rx file> -hdcp2tx file> -hdcp2rx file> -hdcp1txkeys 1 -hdcp1rxคีย์ 1- -hdcp2rxkeys 1- -o hex โดยที่ N คือ >= 1 และควรตรงกับตัวเลือกทั้งหมด
ข้อมูลที่เกี่ยวข้อง
Microsoft Visual C++ สำหรับ Visual Studio 2019
ให้แพคเกจ Microsoft Visual C++ x86 แบบแจกจ่ายต่อได้ (vc_redist.x86.exe) สำหรับการดาวน์โหลด หากลิงก์เปลี่ยนไป Intel ขอแนะนำให้คุณค้นหา “Visual C++ redistributable” จากเครื่องมือค้นหาของ Microsoft
4.3.3.2.2. คีย์โปรแกรมเมอร์
หากต้องการตั้งโปรแกรมคีย์การผลิต HDCP ที่เข้ารหัสไว้บน EEPROM ให้ทำตามขั้นตอนเหล่านี้:
- คัดลอกการออกแบบโปรแกรมเมอร์หลัก fileจากพาธต่อไปนี้ไปยังไดเร็กทอรีการทำงานของคุณ: /hdcp2x/hw_demo/key_programmer/
- คัดลอกส่วนหัวของซอฟต์แวร์ file (hdcp_key .h) สร้างจากยูทิลิตี้ซอฟต์แวร์ KEYENC (ส่วน เข้ารหัส Single Key สำหรับ Single EEPROM ในหน้า 113 ) ไปยังไดเร็กทอรี software/key_programmer_src/ และเปลี่ยนชื่อเป็น hdcp_key.h
- รัน ./runall.tcl. สคริปต์นี้รันคำสั่งต่อไปนี้:
• สร้างแค็ตตาล็อก IP files
• สร้างระบบ Platform Designer
• สร้างโครงการ Intel Quartus Prime
• สร้างพื้นที่ทำงานซอฟต์แวร์และสร้างซอฟต์แวร์
• ทำการรวบรวมทั้งหมด - ดาวน์โหลดวัตถุซอฟต์แวร์ File (.sof) ไปยัง FPGA เพื่อตั้งโปรแกรมคีย์การผลิต HDCP ที่เข้ารหัสไว้บน EEPROM
สร้าง Stratix 10 HDMI RX-TX Retransmit design เช่นample โดยเปิดใช้งานพารามิเตอร์ Support HDCP 2.3 และ Support HDCP 1.4 จากนั้นทำตามขั้นตอนต่อไปนี้เพื่อรวมคีย์ป้องกัน HDCP
- คัดลอก mif file (hdcp_kmem.mif) ที่สร้างขึ้นจากยูทิลิตี้ซอฟต์แวร์ KEYENC (ส่วนเข้ารหัส Single Key สำหรับ Single EEPROM ในหน้า 113) ไปยัง /quartus/hdcp/ ไดเร็กทอรี
4.3.4. รวบรวมการออกแบบ
หลังจากที่คุณรวมคีย์การผลิต HDCP ธรรมดาของคุณเองใน FPGA หรือตั้งโปรแกรมคีย์การผลิต HDCP ที่เข้ารหัสไว้ใน EEPROM แล้ว ตอนนี้คุณสามารถคอมไพล์การออกแบบได้แล้ว
- เปิดใช้ซอฟต์แวร์ Intel Quartus Prime Pro Edition และเปิด /quartus/a10_hdmi2_demo.qpf.
- คลิกการประมวลผล ➤ เริ่มการคอมไพล์
4.3.5. View ผลลัพธ์
ในตอนท้ายของการสาธิต คุณจะสามารถ view ผลลัพธ์บนซิงก์ภายนอก HDCPenabled HDMI
ถึง view ผลการสาธิตทำตามขั้นตอนต่อไปนี้:
- เพิ่มพลังให้กับบอร์ด Intel FPGA
- เปลี่ยนไดเร็กทอรีเป็น /ควอร์ตัส/.
- พิมพ์คำสั่งต่อไปนี้บน Nios II Command Shell เพื่อดาวน์โหลด Software Object File (.sof) ไปยัง FPGA nios2-กำหนดค่า-sof output_fileวินาที/ .sof
- เปิดแหล่งจ่ายและซิงก์ HDMI ภายนอกที่รองรับ HDCP (หากยังไม่ได้ดำเนินการ) ซิงก์ภายนอก HDMI แสดงผลของแหล่งสัญญาณภายนอก HDMI ของคุณ
4.3.5.1. ปุ่มกดและฟังก์ชั่น LED
ใช้ปุ่มกดและฟังก์ชั่น LED บนบอร์ดเพื่อควบคุมการสาธิตของคุณ
ตาราง 57. ปุ่มกดและไฟ LED (SUPPORT FRL = 0)
ปุ่มกด/ไฟ LED | ฟังก์ชั่น |
cpu_resetn | กดหนึ่งครั้งเพื่อทำการรีเซ็ตระบบ |
ผู้ใช้_pb[0] | กดหนึ่งครั้งเพื่อสลับสัญญาณ HPD ไปยังแหล่งสัญญาณ HDMI มาตรฐาน |
ผู้ใช้_pb[1] | • กดค้างไว้เพื่อสั่งให้แกน TX ส่งสัญญาณเข้ารหัส DVI • ปล่อยเพื่อส่งสัญญาณเข้ารหัส HDMI • ตรวจสอบให้แน่ใจว่าวิดีโอที่เข้ามาอยู่ในพื้นที่สี RGB 8 bpc |
ผู้ใช้_pb[2] | • กดค้างไว้เพื่อสั่งให้แกน TX หยุดส่ง InfoFrames จากสัญญาณแถบด้านข้าง • ปล่อยเพื่อดำเนินการส่ง InfoFrames จากสัญญาณแถบข้าง |
ผู้ใช้_led[0] | สถานะล็อค RX HDMI PLL • 0: ปลดล็อค • 1: ล็อค |
ผู้ใช้_led[1] | สถานะล็อคแกน RX HDMI • 0: ปลดล็อคอย่างน้อย 1 ช่อง • 1: ล็อกทั้ง 3 ช่อง |
ผู้ใช้_led[2] | สถานะการถอดรหัส IP RX HDCP1x • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ผู้ใช้_led[3] | สถานะการถอดรหัส IP RX HDCP2x • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ผู้ใช้_led[4] | สถานะล็อค TX HDMI PLL • 0: ปลดล็อค • 1: ล็อค |
ผู้ใช้_led[5] | สถานะล็อค PLL ของตัวรับส่งสัญญาณ TX • 0: ปลดล็อค • 1: ล็อค |
ผู้ใช้_led[6] | สถานะการเข้ารหัส TX HDCP1x IP • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ผู้ใช้_led[7] | สถานะการเข้ารหัส TX HDCP2x IP • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ตาราง 58. ปุ่มกดและไฟ LED (SUPPORT FRL = 1)
ปุ่มกด/ไฟ LED | ฟังก์ชั่น |
cpu_resetn | กดหนึ่งครั้งเพื่อทำการรีเซ็ตระบบ |
user_dipsw | สวิตช์ DIP ที่ผู้ใช้กำหนดเพื่อสลับโหมดพาสทรู • OFF (ตำแหน่งเริ่มต้น) = Passthrough HDMI RX บน FPGA รับ EDID จากซิงก์ภายนอกและนำเสนอไปยังแหล่งภายนอกที่เชื่อมต่ออยู่ • เปิด = คุณสามารถควบคุมอัตรา RX FRL สูงสุดได้จากเทอร์มินัล Nios II คำสั่งแก้ไข RX EDID โดยจัดการค่าอัตรา FRL สูงสุด อ้างถึง เรียกใช้การออกแบบในอัตรา FRL ที่แตกต่างกัน ในหน้า 33 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าอัตรา FRL ต่างๆ |
ต่อเนื่อง… |
ปุ่มกด/ไฟ LED | ฟังก์ชั่น |
ผู้ใช้_pb[0] | กดหนึ่งครั้งเพื่อสลับสัญญาณ HPD ไปยังแหล่งสัญญาณ HDMI มาตรฐาน |
ผู้ใช้_pb[1] | ที่สงวนไว้. |
ผู้ใช้_pb[2] | กดหนึ่งครั้งเพื่ออ่านการลงทะเบียน SCDC จากซิงก์ที่เชื่อมต่อกับ TX ของการ์ดลูกสาว Bitec HDMI 2.1 FMC บันทึก: หากต้องการเปิดใช้งานการอ่าน คุณต้องตั้งค่า DEBUG_MODE เป็น 1 ในซอฟต์แวร์ |
ผู้ใช้_led_g[0] | สถานะการล็อก PLL ของนาฬิกา RX FRL • 0: ปลดล็อค • 1: ล็อค |
ผู้ใช้_led_g[1] | สถานะล็อควิดีโอ RX HDMI • 0: ปลดล็อค • 1: ล็อค |
ผู้ใช้_led_g[2] | สถานะการถอดรหัส IP RX HDCP1x • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ผู้ใช้_led_g[3] | สถานะการถอดรหัส IP RX HDCP2x • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ผู้ใช้_led_g[4] | สถานะการล็อก PLL ของนาฬิกา TX FRL • 0: ปลดล็อค • 1: ล็อค |
ผู้ใช้_led_g[5] | สถานะล็อควิดีโอ TX HDMI • 0 = ปลดล็อค • 1 = ล็อค |
ผู้ใช้_led_g[6] | สถานะการเข้ารหัส TX HDCP1x IP • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
ผู้ใช้_led_g[7] | สถานะการเข้ารหัส TX HDCP2x IP • 0: ไม่ใช้งาน • 1: ใช้งานอยู่ |
4.4. การป้องกันคีย์เข้ารหัสที่ฝังอยู่ในการออกแบบ FPGA
การออกแบบ FPGA จำนวนมากใช้การเข้ารหัส และบ่อยครั้งจำเป็นต้องฝังคีย์ลับในบิตสตรีมของ FPGA ในตระกูลอุปกรณ์ใหม่ๆ เช่น Intel Stratix 10 และ Intel Agilex มีบล็อก Secure Device Manager ที่สามารถจัดเตรียมและจัดการคีย์ลับเหล่านี้ได้อย่างปลอดภัย ในกรณีที่ไม่มีคุณลักษณะเหล่านี้ คุณสามารถรักษาความปลอดภัยเนื้อหาของบิตสตรีม FPGA รวมถึงคีย์ผู้ใช้ลับที่ฝังตัวด้วยการเข้ารหัส
คีย์ผู้ใช้ควรได้รับการรักษาความปลอดภัยภายในสภาพแวดล้อมการออกแบบของคุณ และเพิ่มลงในการออกแบบโดยใช้กระบวนการรักษาความปลอดภัยแบบอัตโนมัติ ขั้นตอนต่อไปนี้แสดงวิธีที่คุณสามารถใช้กระบวนการดังกล่าวกับเครื่องมือ Intel Quartus Prime
- พัฒนาและเพิ่มประสิทธิภาพ HDL ใน Intel Quartus Prime ในสภาพแวดล้อมที่ไม่ปลอดภัย
- ถ่ายโอนการออกแบบไปยังสภาพแวดล้อมที่ปลอดภัยและใช้กระบวนการอัตโนมัติเพื่ออัปเดตรหัสลับ หน่วยความจำบนชิปฝังค่าคีย์ เมื่อคีย์ได้รับการอัพเดต หน่วยความจำเริ่มต้น file (.mif) สามารถเปลี่ยนแปลงได้และโฟลว์แอสเซมเบลอร์ “quartus_cdb –update_mif” สามารถเปลี่ยนคีย์ป้องกัน HDCP ได้โดยไม่ต้องคอมไพล์ใหม่ ขั้นตอนนี้ทำงานเร็วมากและรักษาเวลาเดิมไว้
- จากนั้นบิตสตรีม Intel Quartus Prime จะเข้ารหัสด้วยคีย์ FPGA ก่อนที่จะถ่ายโอนบิตสตรีมที่เข้ารหัสกลับไปยังสภาพแวดล้อมที่ไม่ปลอดภัยสำหรับการทดสอบและการปรับใช้ขั้นสุดท้าย
ขอแนะนำให้ปิดการเข้าถึงการแก้ไขจุดบกพร่องทั้งหมดที่สามารถกู้คืนรหัสลับจาก FPGA คุณสามารถปิดใช้งานความสามารถในการดีบักได้อย่างสมบูรณ์โดยปิดใช้งาน JTAG พอร์ตหรือเลือกปิดใช้งานและเปลี่ยนใหม่view ไม่มีคุณสมบัติการดีบักเช่นตัวแก้ไขหน่วยความจำในระบบหรือการแตะสัญญาณที่สามารถกู้คืนคีย์ได้ อ้างถึง AN 556: การใช้คุณสมบัติความปลอดภัยการออกแบบใน Intel FPGA สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้คุณสมบัติความปลอดภัย FPGA รวมถึงขั้นตอนเฉพาะในการเข้ารหัสบิตสตรีม FPGA และกำหนดค่าตัวเลือกความปลอดภัย เช่น การปิดใช้งาน JTAG เข้าถึง.
บันทึก:
คุณสามารถพิจารณาขั้นตอนเพิ่มเติมของการทำให้ยุ่งเหยิงหรือการเข้ารหัสด้วยคีย์อื่นของคีย์ลับในที่เก็บข้อมูล MIF
ข้อมูลที่เกี่ยวข้อง
AN 556: การใช้ Design Security Features ใน Intel FPGA
4.5. การพิจารณาความปลอดภัย
เมื่อใช้คุณสมบัติ HDCP โปรดคำนึงถึงข้อควรพิจารณาด้านความปลอดภัยต่อไปนี้
- เมื่อออกแบบระบบทวนสัญญาณ คุณต้องบล็อกวิดีโอที่ได้รับไม่ให้เข้าสู่ TX IP ในเงื่อนไขต่อไปนี้:
— หากวิดีโอที่ได้รับเข้ารหัส HDCP (เช่น ระบุสถานะการเข้ารหัส hdcp1_enabled หรือ hdcp2_enabled จาก RX IP) และวิดีโอที่ส่งไม่ได้เข้ารหัส HDCP (เช่น สถานะการเข้ารหัส hdcp1_enabled หรือ hdcp2_enabled จาก TX IP ไม่ถูกยืนยัน)
— หากวิดีโอที่ได้รับเป็น HDCP TYPE 1 (เช่น มีการยืนยันสถานะ streamid_type จาก RX IP) และวิดีโอที่ส่งถูกเข้ารหัส HDCP 1.4 (เช่น ระบุสถานะการเข้ารหัส hdcp1_enabled จาก TX IP) - คุณควรรักษาความลับและความสมบูรณ์ของคีย์การผลิต HDCP และคีย์การเข้ารหัสของผู้ใช้
- Intel ขอแนะนำอย่างยิ่งให้คุณพัฒนาโครงการ Intel Quartus Prime และแหล่งที่มาของการออกแบบ fileที่มีคีย์การเข้ารหัสในสภาพแวดล้อมการประมวลผลที่ปลอดภัยเพื่อปกป้องคีย์
- Intel ขอแนะนำอย่างยิ่งให้คุณใช้คุณสมบัติการรักษาความปลอดภัยของการออกแบบใน FPGA เพื่อปกป้องการออกแบบ รวมถึงคีย์เข้ารหัสแบบฝังตัวใดๆ จากการคัดลอกโดยไม่ได้รับอนุญาต การทำวิศวกรรมย้อนกลับ และampering
ข้อมูลที่เกี่ยวข้อง
AN 556: การใช้ Design Security Features ใน Intel FPGA
4.6. แนวทางการแก้ไขข้อบกพร่อง
ส่วนนี้อธิบายถึงสัญญาณสถานะ HDCP และพารามิเตอร์ซอฟต์แวร์ที่มีประโยชน์ซึ่งสามารถใช้สำหรับการดีบัก นอกจากนี้ยังมีคำถามที่พบบ่อย (FAQ) เกี่ยวกับการเรียกใช้การออกแบบ เช่นampเล.
4.6.1. สัญญาณสถานะ HDCP
มีสัญญาณหลายอย่างที่เป็นประโยชน์ในการระบุสภาพการทำงานของคอร์ HDCP IP สัญญาณเหล่านี้มีอยู่ที่การออกแบบเช่นampระดับบนสุดและเชื่อมโยงกับไฟ LED ออนบอร์ด:
ชื่อสัญญาณ | การทำงาน |
hdcp1_enabled_rx | RX HDCP1x IP สถานะการถอดรหัส 0: ไม่ได้ใช้งาน 1: ใช้งานอยู่ |
hdcp2_enabled_rx | RX HDCP2x IP สถานะการถอดรหัส 0: ไม่ได้ใช้งาน 1: ใช้งานอยู่ |
hdcp1_enabled_tx | สถานะการเข้ารหัส TX HDCP1x IP 0: ไม่ได้ใช้งาน 1: ใช้งานอยู่ |
hdcp2_enabled_tx | สถานะการเข้ารหัส TX HDCP2x IP 0: ไม่ได้ใช้งาน 1: ใช้งานอยู่ |
โปรดดูตาราง 57 ในหน้า 115 และตาราง 58 ในหน้า 115 สำหรับตำแหน่ง LED ตามลำดับ
สถานะที่แอ็คทีฟของสัญญาณเหล่านี้บ่งชี้ว่า HDCP IP ได้รับการตรวจสอบสิทธิ์และรับ/ส่งสตรีมวิดีโอที่เข้ารหัส สำหรับแต่ละทิศทาง เฉพาะ HDCP1x หรือ HDCP2x
สัญญาณสถานะการเข้ารหัส/ถอดรหัสทำงานอยู่ สำหรับอดีตample ถ้า hdcp1_enabled_rx หรือ hdcp2_enabled_rx เปิดใช้งานอยู่ HDCP ที่ฝั่ง RX จะถูกเปิดใช้งานและถอดรหัสสตรีมวิดีโอที่เข้ารหัสจากแหล่งวิดีโอภายนอก
4.6.2. การแก้ไขพารามิเตอร์ซอฟต์แวร์ HDCP
เพื่ออำนวยความสะดวกในกระบวนการดีบัก HDCP คุณสามารถแก้ไขพารามิเตอร์ใน hdcp.c
ตารางด้านล่างสรุปรายการพารามิเตอร์ที่กำหนดค่าได้และฟังก์ชันต่างๆ
พารามิเตอร์ | การทำงาน |
สนับสนุน_HDCP1X | เปิดใช้งาน HDCP 1.4 ที่ฝั่ง TX |
สนับสนุน_HDCP2X | เปิดใช้งาน HDCP 2.3 ที่ฝั่ง TX |
DEBUG_MODE_HDCP | เปิดใช้งานข้อความดีบักสำหรับ TX HDCP |
ทำซ้ำ_MODE | เปิดใช้งานโหมดทวนสัญญาณสำหรับการออกแบบ HDCP เช่นample |
หากต้องการแก้ไขพารามิเตอร์ ให้เปลี่ยนค่าเป็นค่าที่ต้องการใน hdcp.c ก่อนเริ่มการคอมไพล์ ให้ทำการเปลี่ยนแปลงต่อไปนี้ใน build_sw_hdcp.sh:
- ค้นหาบรรทัดต่อไปนี้และแสดงความคิดเห็นเพื่อป้องกันซอฟต์แวร์ที่แก้ไข file ถูกแทนที่ด้วยของเดิม fileจากเส้นทางการติดตั้งซอฟต์แวร์ Intel Quartus Prime
- เรียกใช้ “./build_sw_hdcp.sh” เพื่อคอมไพล์ซอฟต์แวร์ที่อัพเดต
- .elf ที่สร้างขึ้น file สามารถรวมไว้ในการออกแบบได้สองวิธี:
ก. รัน “nios2-download -g file ชื่อ>”. รีเซ็ตระบบหลังจากกระบวนการดาวน์โหลดเสร็จสิ้นเพื่อให้แน่ใจว่ามีการทำงานที่เหมาะสม
ข. เรียกใช้ “quartus_cdb –-update_mif” เพื่ออัปเดตการเริ่มต้นหน่วยความจำ fileส. เรียกใช้แอสเซมเบลอร์เพื่อสร้าง .sof ใหม่ file ซึ่งรวมถึงซอฟต์แวร์ที่อัปเดตแล้ว
4.6.3. คำถามที่พบบ่อย (FAQ)
ตารางที่ 59. อาการและแนวทางปฏิบัติของความล้มเหลว
ตัวเลข | อาการล้มเหลว | แนวทางปฏิบัติ |
1. | RX กำลังรับวิดีโอที่เข้ารหัส แต่ TX กำลังส่งวิดีโอคงที่เป็นสีน้ำเงินหรือสีดำ | นี่เป็นเพราะการตรวจสอบสิทธิ์ TX กับซิงก์ภายนอกไม่สำเร็จ ตัวทำซ้ำที่รองรับ HDCP ต้องไม่ส่งวิดีโอในรูปแบบที่ไม่ได้เข้ารหัส หากวิดีโอขาเข้าจากอัปสตรีมถูกเข้ารหัส เพื่อให้บรรลุเป้าหมายนี้ วิดีโอแบบคงที่ในสีน้ำเงินหรือสีดำจะแทนที่วิดีโอขาออกเมื่อสัญญาณสถานะการเข้ารหัส TX HDCP ไม่ทำงานในขณะที่สัญญาณสถานะการถอดรหัส RX HDCP ทำงานอยู่ สำหรับแนวทางที่แน่นอน โปรดดูที่ ข้อควรพิจารณาด้านความปลอดภัย ในหน้า 117 อย่างไรก็ตาม ลักษณะการทำงานนี้อาจขัดขวางกระบวนการดีบักเมื่อเปิดใช้งานการออกแบบ HDCP ด้านล่างนี้เป็นวิธีการปิดใช้งานการบล็อกวิดีโอในการออกแบบ เช่นampเลอ: 1. ค้นหาการเชื่อมต่อพอร์ตต่อไปนี้ที่ระดับบนสุดของการออกแบบ เช่นampเลอ พอร์ตนี้เป็นของโมดูล hdmi_tx_top 2. แก้ไขการเชื่อมต่อพอร์ตเป็นบรรทัดต่อไปนี้: |
2. | สัญญาณสถานะการเข้ารหัส TX HDCP ทำงานอยู่ แต่ภาพหิมะแสดงที่ดาวน์สตรีมซิงก์ | นี่เป็นเพราะดาวน์สตรีมซิงก์ไม่ได้ถอดรหัสวิดีโอที่เข้ารหัสขาออกอย่างถูกต้อง ตรวจสอบให้แน่ใจว่าคุณระบุค่าคงที่ส่วนกลาง (LC128) ให้กับ TX HDCP IP มูลค่าต้องเป็นมูลค่าการผลิตและถูกต้อง |
3. | สัญญาณสถานะการเข้ารหัส TX HDCP ไม่เสถียรหรือไม่ได้ใช้งานตลอดเวลา | นี่เป็นเพราะการพิสูจน์ตัวตน TX กับ downstream sink ไม่สำเร็จ เพื่ออำนวยความสะดวกในกระบวนการดีบัก คุณสามารถเปิดใช้งาน DEBUG_MODE_HDCP พารามิเตอร์ใน hdcp.c อ้างถึง การแก้ไขพารามิเตอร์ซอฟต์แวร์ HDCP ในหน้า 118 เกี่ยวกับแนวทางปฏิบัติ 3a-3c ต่อไปนี้อาจเป็นสาเหตุที่เป็นไปได้ของการพิสูจน์ตัวตน TX ที่ไม่สำเร็จ |
3 ก. | บันทึกการแก้ไขข้อบกพร่องของซอฟต์แวร์พิมพ์ข้อความนี้ต่อไปว่า "HDCP 1.4 ไม่รองรับโดยดาวน์สตรีม (Rx)" | ข้อความระบุว่าดาวน์สตรีมซิงก์ไม่รองรับทั้ง HDCP 2.3 และ HDCP 1.4 ตรวจสอบให้แน่ใจว่าซิงก์ดาวน์สตรีมรองรับ HDCP 2.3 หรือ HDCP 1.4 |
3 ข. | การตรวจสอบสิทธิ์ TX ล้มเหลวกลางคัน | นี่เป็นเพราะส่วนหนึ่งส่วนใดของการตรวจสอบสิทธิ์ TX เช่น การตรวจสอบลายเซ็น การตรวจสอบตำแหน่งที่ตั้ง ฯลฯ อาจล้มเหลวได้ ตรวจสอบให้แน่ใจว่าซิงก์ดาวน์สตรีมใช้รหัสการผลิต แต่ไม่ใช่รหัสโทรสาร |
3ค. | บันทึกการดีบั๊กของซอฟต์แวร์ยังคงพิมพ์ “การตรวจสอบซ้ำ | ข้อความนี้ระบุว่าดาวน์สตรีมซิงก์ร้องขอการตรวจสอบสิทธิ์อีกครั้ง เนื่องจากวิดีโอที่ได้รับไม่ได้ถอดรหัสอย่างถูกต้อง ตรวจสอบให้แน่ใจว่าคุณระบุค่าคงที่ส่วนกลาง (LC128) ให้กับ TX HDCP IP มูลค่าต้องเป็นมูลค่าการผลิตและมูลค่าถูกต้อง |
ต่อเนื่อง… |
ตัวเลข | อาการล้มเหลว | แนวทางปฏิบัติ |
จำเป็น” หลังจากการตรวจสอบ HDCP เสร็จสิ้น | ||
4. | สัญญาณสถานะการถอดรหัส RX HDCP ไม่ทำงานแม้ว่าต้นทางอัปสตรีมจะเปิดใช้งาน HDCP | สิ่งนี้บ่งชี้ว่า RX HDCP IP ยังไม่ผ่านสถานะการรับรองความถูกต้อง โดยค่าเริ่มต้น ทำซ้ำ_MODE เปิดใช้งานพารามิเตอร์ในการออกแบบเช่นampเลอ ถ้า ทำซ้ำ_MODE เปิดใช้งานอยู่ ตรวจสอบให้แน่ใจว่า TX HDCP IP ได้รับการตรวจสอบสิทธิ์แล้ว
เมื่อ ทำซ้ำ_MODE เปิดใช้งานพารามิเตอร์ RX HDCP IP จะพยายามตรวจสอบสิทธิ์ในฐานะตัวทำซ้ำ หาก TX เชื่อมต่อกับซิงก์ที่รองรับ HDCP การรับรองความถูกต้องหยุดลงครึ่งหนึ่งขณะรอ TX HDCP IP ดำเนินการรับรองความถูกต้องด้วยดาวน์สตรีมซิงก์ให้เสร็จสมบูรณ์ และส่ง RECEIVERID_LIST ไปยัง RX HDCP IP หมดเวลาตามที่กำหนดในข้อกำหนด HDCP คือ 2 วินาที หาก TX HDCP IP ไม่สามารถดำเนินการตรวจสอบความถูกต้องให้เสร็จสมบูรณ์ได้ในช่วงเวลานี้ ต้นทางอัปสตรีมจะถือว่าการรับรองความถูกต้องนั้นล้มเหลว และเริ่มต้นการตรวจสอบความถูกต้องอีกครั้งตามที่ระบุไว้ในข้อกำหนด HDCP |
บันทึก: • อ้างถึง การแก้ไขพารามิเตอร์ซอฟต์แวร์ HDCP ในหน้า 118 สำหรับวิธีการปิดการใช้งาน ทำซ้ำ_MODE พารามิเตอร์สำหรับการดีบัก หลังจากปิดการใช้งาน ทำซ้ำ_MODE พารามิเตอร์ RX HDCP IP จะพยายามตรวจสอบสิทธิ์ในฐานะผู้รับปลายทางเสมอ TX HDCP IP ไม่ได้เกตกระบวนการตรวจสอบสิทธิ์ | ||
• ถ้า ทำซ้ำ_MODE ไม่ได้เปิดใช้งานพารามิเตอร์ ตรวจสอบให้แน่ใจว่าคีย์ HDCP ที่ให้กับ HDCP IP เป็นค่าการผลิตและค่าถูกต้อง | ||
5. | สัญญาณสถานะการถอดรหัส RX HDCP ไม่เสถียร | ซึ่งหมายความว่า RX HDCP IP ได้ร้องขอการรับรองความถูกต้องอีกครั้งทันทีหลังจากที่บรรลุสถานะการรับรองความถูกต้องแล้ว อาจเป็นเพราะวิดีโอที่เข้ารหัสขาเข้าไม่ได้ถอดรหัสอย่างถูกต้องโดย RX HDCP IP ตรวจสอบให้แน่ใจว่าค่าคงที่ส่วนกลาง (LC128) ที่กำหนดให้กับคอร์ RX HDCP IP เป็นค่าการผลิตและค่าถูกต้อง |
HDMI Intel Arria 10 FPGA IP Design เช่นample คู่มือผู้ใช้เอกสารสำคัญ
สำหรับเวอร์ชันล่าสุดและก่อนหน้าของคู่มือผู้ใช้นี้ โปรดดูที่ HDMI Intel® Arria 10 FPGA IP Design Exampคู่มือผู้ใช้. หาก IP หรือเวอร์ชั่นของซอฟต์แวร์ไม่อยู่ในรายการ ให้ใช้คู่มือผู้ใช้สำหรับ IP หรือเวอร์ชั่นของซอฟต์แวร์ก่อนหน้า
เวอร์ชัน IP จะเหมือนกับซอฟต์แวร์ Intel Quartus Prime Design Suite เวอร์ชันสูงสุดถึง v19.1 จากซอฟต์แวร์ Intel Quartus Prime Design Suite เวอร์ชัน 19.2 หรือใหม่กว่า IP
คอร์มีรูปแบบการกำหนดเวอร์ชัน IP ใหม่
ประวัติการแก้ไขสำหรับ HDMI Intel Arria 10 FPGA IP Design Example คู่มือผู้ใช้
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | IPVersion | การเปลี่ยนแปลง |
2022.12.27 | 22.4 | 19.7.1 | เพิ่มพารามิเตอร์ใหม่สำหรับการเลือกการแก้ไขการ์ดลูกสาว HDMI ลงในส่วนข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์ของการออกแบบ เช่นampไฟล์สำหรับ HDMI 2.0 (โหมด non-FRL) |
2022.07.29 | 22.2 | 19.7.0 | • การแจ้งเตือนการลบส่วนประกอบ Cygwin ออกจาก Nios II EDS เวอร์ชัน Windows* และข้อกำหนดในการติดตั้ง WSL สำหรับผู้ใช้ Windows* • อัปเดตเวอร์ชันการ์ดลูกสาวจากการแก้ไข 4 เป็น 9 ที่เกี่ยวข้องตลอดทั้งเอกสาร |
2021.11.12 | 21.3 | 19.6.1 | • อัปเดตส่วนย่อย จัดเก็บคีย์การผลิต HDCP ที่เข้ารหัสไว้ในหน่วยความจำแฟลชภายนอกหรือ EEPROM (สนับสนุนการจัดการคีย์ HDCP = 1) เพื่ออธิบายยูทิลิตีซอฟต์แวร์เข้ารหัสคีย์ใหม่ (KEYENC) • นำตัวเลขต่อไปนี้ออก: — อาร์เรย์ข้อมูลของ Facsimile Key R1 สำหรับ RX Private Key — อาร์เรย์ข้อมูลของคีย์การผลิต HDCP (ตัวยึดตำแหน่ง) — อาร์เรย์ข้อมูลของ HDCP Protection Key (คีย์ที่กำหนดไว้ล่วงหน้า) — รหัสป้องกัน HDCP เริ่มต้นใน hdcp2x_tx_kmem.mif — รหัสป้องกัน HDCP เริ่มต้นใน hdcp1x_rx_kmem.mif — รหัสป้องกัน HDCP เริ่มต้นใน hdcp1x_tx_kmem.mif • ย้ายการแมปคีย์ HDCP ส่วนย่อยจากคีย์ DCP Files จากแนวทางการดีบักเพื่อจัดเก็บคีย์การผลิต HDCP ธรรมดาใน FPGA (รองรับการจัดการคีย์ HDCP = 0) |
2021.09.15 | 21.1 | 19.6.0 | ลบการอ้างอิงถึง ncsim |
2021.05.12 | 21.1 | 19.6.0 | • เพิ่มเมื่อ SUPPORT FRL = 1 หรือ SUPPORT HDCP KEY MANAGEMENT = 1 ในคำอธิบายสำหรับรูปที่ 29 HDCP Over HDMI Design Example บล็อกไดอะแกรม • เพิ่มขั้นตอนในหน่วยความจำคีย์ HDCP fileใน Design Walkthrough • เพิ่มเมื่อ SUPPORT FRL = 0 ในส่วน ตั้งค่าอาร์ดแวร์ • เพิ่มขั้นตอนในการเปิดพารามิเตอร์ Support HDCP Key Management ใน Generate the Design • เพิ่มส่วนย่อยใหม่ เก็บรหัสการผลิต HDCP ที่เข้ารหัสไว้ในหน่วยความจำแฟลชภายนอกหรือ EEPROM (สนับสนุนการจัดการคีย์ HDCP = 1) |
ต่อเนื่อง… |
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | IPVersion | การเปลี่ยนแปลง |
• เปลี่ยนชื่อปุ่มกดตารางและไฟแสดงสถานะ LED เป็นปุ่มกดและไฟแสดงสถานะ LED (SUPPORT FRL = 0) • เพิ่มปุ่มกดตารางและไฟแสดงสถานะ LED (SUPPORT FRL = 1) • เพิ่มบทใหม่ การป้องกันคีย์เข้ารหัสที่ฝังอยู่ในการออกแบบ FPGA • เพิ่มแนวทางการแก้ไขข้อบกพร่องบทใหม่และหัวข้อย่อย สัญญาณสถานะ HDCP การแก้ไขพารามิเตอร์ซอฟต์แวร์ HDCP และคำถามที่พบบ่อย |
|||
2021.04.01 | 21.1 | 19.6.0 | • อัปเดตองค์ประกอบที่จำเป็นสำหรับ RX-Only หรือ TX-Only Design • อัปเดตตารางที่สร้าง RTL Files. • อัปเดตคอมโพเนนต์ยอดนิยมของ HDMI RX • ลบส่วนขั้นตอนการฝึกอบรมการเชื่อมต่อด้านบน HDMI RX • อัปเดตขั้นตอนในการเรียกใช้การออกแบบในอัตรา FRL ที่ต่างกัน • รูปที่อัปเดตการออกแบบ HDMI 2.1 เช่นample Clocking Scheme • อัปเดตสัญญาณ Scheme ตารางการตอกบัตร • อัปเดตรูปภาพ HDMI RX-TX Block Diagram เพื่อเพิ่มการเชื่อมต่อจาก Transceiver Arbiter ไปยัง TX top |
2020.09.28 | 20.3 | 19.5.0 | • ลบข้อความว่าการออกแบบ HDMI 2.1 เช่นample ในโหมด FRL รองรับเฉพาะอุปกรณ์ความเร็วระดับ –1 ใน HDMI Intel FPGA IP Design Example คู่มือเริ่มต้นใช้งานอย่างย่อสำหรับอุปกรณ์ Intel Arria 10 และการออกแบบ HDMI 2.1 เช่นample (สนับสนุน FRL = 1) ส่วน การออกแบบรองรับทุกเกรดความเร็ว • ลบข้อมูล ls_clk ออกจากการออกแบบ HDMI 2.1 ทั้งหมด เช่นampส่วนที่เกี่ยวข้อง โดเมน ls_clk ไม่ได้ใช้ในการออกแบบอีกต่อไป เช่นampเล. • อัปเดตบล็อกไดอะแกรมสำหรับการออกแบบ HDMI 2.1 เช่นampในโหมด FRL ของ HDMI 2.1 Design Example (รองรับ FRL = 1), การสร้าง RX- เท่านั้นหรือ TX-Only Designs Design Components และส่วน Clocking Scheme • อัปเดตไดเร็กทอรีและสร้าง fileรายการในส่วนโครงสร้างไดเร็กทอรี • นำสัญญาณที่ไม่เกี่ยวข้องออก และเพิ่มหรือแก้ไขคำอธิบายของการออกแบบ HDMI 2.1 ต่อไปนี้ เช่นampสัญญาณในส่วนสัญญาณอินเตอร์เฟส: — sys_init — txpll_frl_locked — tx_os — สัญญาณ txphy_rcfg* — tx_reconfig_done — txcore_tbcr — pio_in0_external_connection_export • เพิ่มพารามิเตอร์ต่อไปนี้ในส่วนพารามิเตอร์การออกแบบ RTL: — EDID_RAM_ADDR_WIDTH — BITEC_DAUGHTER_CARD_REV — ใช้ FPLL — POLARITY_INVERSION |
ต่อเนื่อง… |
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | IPVersion | การเปลี่ยนแปลง |
• อัปเดตบล็อกไดอะแกรมสำหรับการออกแบบ HDMI 2.0 เช่นampไฟล์สำหรับซอฟต์แวร์ Intel Quartus Prime Pro Edition ใน HDMI 2.0 Design Example (รองรับ FRL = 0), การสร้างส่วนประกอบการออกแบบการออกแบบ RX-Only หรือ TX-Only Designs และส่วน Clocking Scheme • อัปเดตนาฬิกาและรีเซ็ตชื่อสัญญาณในส่วน Dynamic Range and Mastering (HDR) InfoFrame Insertion and Filtering • นำสัญญาณที่ไม่เกี่ยวข้องออก และเพิ่มหรือแก้ไขคำอธิบายของการออกแบบ HDMI 2.0 ต่อไปนี้ เช่นampสัญญาณในส่วนสัญญาณอินเตอร์เฟส: — clk_fpga_b3_p — REFCLK_FMCB_P — fmcb_la_tx_p_11 — fmcb_la_rx_n_9e — fr_clck — reset_xcvr_powerup — สัญญาณ nios_tx_i2c* — สัญญาณ hdmi_ti_i2c* — สัญญาณ tx_i2c_avalon* — clock_bridge_0_in_clk_clk — reset_bridge_0_reset_reset_n — สัญญาณ i2c_master* — สัญญาณ nios_tx_i2c* — วัด_valid_pio_external_connectio n_export — สัญญาณ oc_i2c_av_slave_translator_avalon_an ti_slave_0* — powerup_cal_done_export — rx_pma_cal_busy_export — rx_pma_ch_export — สัญญาณ rx_pma_rcfg_mgmt* • เพิ่มหมายเหตุว่าไม่รองรับแบบจำลองการทดสอบสำหรับการออกแบบด้วย รวม I2C พารามิเตอร์เปิดใช้งานและอัปเดตข้อความจำลองในส่วน Simulation Testbench • อัปเดตส่วนการอัปเกรดการออกแบบของคุณ |
|||
2020.04.13 | 20.1 | 19.4.0 | • เพิ่มหมายเหตุว่าการออกแบบ HDMI 2.1 เช่นample ในโหมด FRL รองรับเฉพาะอุปกรณ์ความเร็วระดับ –1 ใน HDMI Intel FPGA IP Design Example คู่มือเริ่มต้นใช้งานอย่างย่อสำหรับอุปกรณ์ Intel Arria 10 และคำอธิบายโดยละเอียดสำหรับการออกแบบ HDMI 2.1 เช่นample (สนับสนุน FRL = 1) ส่วน • ย้าย HDCP ผ่านการออกแบบ HDMI เช่นample สำหรับส่วนอุปกรณ์ Intel Arria 10 จากคู่มือผู้ใช้ HDMI Intel FPGA IP • แก้ไขส่วนการจำลองการออกแบบเพื่อรวมไฟล์เสียงample generator, sideband data generator และ auxiliary data generator และอัพเดทข้อความจำลองสำเร็จ • ลบหมายเหตุที่ระบุว่าการจำลองใช้ได้เฉพาะสำหรับ สนับสนุน FRL หมายเหตุการออกแบบที่ปิดใช้งาน ขณะนี้การจำลองพร้อมใช้งานแล้วสำหรับ สนับสนุน FRL เปิดใช้งานการออกแบบด้วย • อัปเดตคำอธิบายคุณลักษณะในคำอธิบายโดยละเอียดสำหรับการออกแบบ HDMI 2.1 เช่นampส่วน le (สนับสนุน FRL ที่เปิดใช้งาน) |
ต่อเนื่อง… |
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | IPVersion | การเปลี่ยนแปลง |
• แก้ไขแผนภาพบล็อกในแผนภาพบล็อกการออกแบบ HDMI 2.1 RX-TX, ส่วนประกอบการออกแบบ และส่วนการสร้าง RX-Only หรือ TX-Only Designs สำหรับการออกแบบ HDMI 2.1 เช่นampเลอ เพิ่มส่วนประกอบใหม่และส่วนประกอบที่นำออกซึ่งไม่สามารถใช้งานได้อีกต่อไป • แก้ไขคำสั่งสคริปต์ main.c ในส่วนการสร้างการออกแบบ RX-Only หรือ TX-Only • อัปเดตส่วนโครงสร้างไดเร็กทอรีเพื่อเพิ่มโฟลเดอร์ใหม่และ files สำหรับทั้ง HDMI 2.0 และ HDMI 2.1 การออกแบบ เช่นampเลส. • อัปเดตส่วนข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์สำหรับการออกแบบ HDMI 2.1 เช่นampเล. • อัปเดตบล็อกไดอะแกรมและคำอธิบายสัญญาณในส่วน Dynamic Range and Mastering (HDR) InfoFrame Insertion and Filtering สำหรับการออกแบบ HDMI 2.1 เช่นampเล. • เพิ่มส่วนใหม่ การเรียกใช้การออกแบบในอัตรา FRL ที่แตกต่างกัน สำหรับการออกแบบ HDMI 2.1 เช่นampเลส. • อัปเดตบล็อกไดอะแกรมและคำอธิบายสัญญาณในส่วน Clocking Scheme สำหรับการออกแบบ HDMI 2.1 เช่นampเล. • เพิ่มคำอธิบายเกี่ยวกับสวิตช์ DIP ของผู้ใช้ในส่วนการตั้งค่าฮาร์ดแวร์สำหรับการออกแบบ HDMI 2.1 เช่นampเล. • อัปเดตส่วนข้อจำกัดการออกแบบสำหรับการออกแบบ HDMI 2.1 เช่นampเล. • อัปเดตส่วนการอัปเกรดการออกแบบของคุณ • อัปเดตส่วน Simulation Testbench สำหรับการออกแบบทั้ง HDMI 2.0 และ HDMI 2.1 เช่นampเลส. |
|||
2020.01.16 | 19.4 | 19.3.0 | • อัปเดต HDMI Intel FPGA IP Design Example คู่มือเริ่มต้นใช้งานอย่างย่อสำหรับอุปกรณ์ Intel Arria 10 พร้อมข้อมูลเกี่ยวกับการออกแบบ HDMI 2.1 ที่เพิ่มเข้ามาใหม่ เช่นampด้วยโหมด FRL • เพิ่มบทใหม่ คำอธิบายโดยละเอียดสำหรับ HDMI 2.1 Design Example (รองรับ FRL Enabled) ที่มีข้อมูลที่เกี่ยวข้องทั้งหมดเกี่ยวกับการออกแบบที่เพิ่มเข้ามาใหม่ เช่นampเล. • เปลี่ยนชื่อเป็น HDMI Intel FPGA IP Design Example คำอธิบายโดยละเอียดเป็นคำอธิบายโดยละเอียดสำหรับการออกแบบ HDMI 2.0 เช่นample เพื่อความชัดเจนยิ่งขึ้น |
2019.10.31 | 18.1 | 18.1 | • สร้างเพิ่ม files ในโฟลเดอร์ tx_control_src: ti_i2c.c และ ti_i2c.h • เพิ่มการรองรับการ์ดลูกสาว FMC การแก้ไข 11 ในส่วนข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์ และการคอมไพล์และการทดสอบการออกแบบ • นำส่วนข้อจำกัดการออกแบบออก ข้อจำกัดเกี่ยวกับการละเมิดเวลาบนข้อจำกัดการเอียงสูงสุดได้รับการแก้ไขแล้วในเวอร์ชัน 18.1 ของ HDMI Intel FPGA IP • เพิ่มพารามิเตอร์ RTL ใหม่ BITEC_DAUGHTER_CARD_REV เพื่อให้คุณสามารถเลือกการแก้ไขการ์ดลูก Bitec HDMI ได้ |
ต่อเนื่อง… |
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | IPVersion | การเปลี่ยนแปลง |
• อัปเดตคำอธิบายสำหรับสัญญาณ fmcb_dp_m2c_p และ fmcb_dp_c2m_p เพื่อรวมข้อมูลเกี่ยวกับการ์ดลูกสาว FMC การแก้ไข 11, 6 และ 4 • เพิ่มสัญญาณใหม่ต่อไปนี้สำหรับการแก้ไขการ์ดลูกสาว Bitec 11: — hdmi_tx_ti_i2c_sda — hdmi_tx_ti_i2c_scl — ที่อยู่ oc_i2c_master_ti_avalon_anti_slave_a — oc_i2c_master_ti_avalon_anti_slave_w พิธีกรรม — oc_i2c_master_ti_avalon_anti_slave_r eaddata — oc_i2c_master_ti_avalon_anti_slave_w ritedata — oc_i2c_master_ti_avalon_anti_slave_w aitrequest • เพิ่มส่วนเกี่ยวกับการอัปเกรดการออกแบบของคุณ |
|||
2017.11.06 | 17.1 | 17.1 | • เปลี่ยนชื่อคอร์ HDMI IP เป็น HDMI Intel FPGA IP ตามการรีแบรนด์ของ Intel • เปลี่ยนคำว่า Qsys เป็น Platform Designer • เพิ่มข้อมูลเกี่ยวกับ Dynamic Range และ Mastering InfoFrame (HDR) แทรกและคุณลักษณะการกรอง • อัปเดตโครงสร้างไดเร็กทอรี: — เพิ่มสคริปต์และโฟลเดอร์ซอฟต์แวร์และ files. - อัปเดตทั่วไปและ HDR files. - เอา atx ออก files. - ความแตกต่าง files สำหรับ Intel Quartus Prime Standard Edition และ Intel Quartus Prime Pro Edition • อัปเดตส่วนการสร้างการออกแบบเพื่อเพิ่มอุปกรณ์ที่ใช้เป็น 10AX115S2F4I1SG • แก้ไขอัตราข้อมูลตัวรับส่งสัญญาณสำหรับความถี่นาฬิกา 50-100 MHz TMDS เป็น 2550-5000 Mbps • อัปเดตข้อมูลลิงก์ RX-TX ที่คุณสามารถปล่อยปุ่ม user_pb[2] เพื่อปิดใช้งานการกรองภายนอก • อัปเดตไดอะแกรมการไหลของซอฟต์แวร์ Nios II ที่เกี่ยวข้องกับการควบคุมสำหรับ I2C master และแหล่งสัญญาณ HDMI • เพิ่มข้อมูลเกี่ยวกับ การออกแบบอดีตample พารามิเตอร์ GUI • เพิ่มพารามิเตอร์การออกแบบ HDMI RX และ TX Top • เพิ่มสัญญาณระดับบนสุดของ HDMI RX และ TX: — mgmt_clk - รีเซ็ต — i2c_clk — hdmi_clk_in — ลบสัญญาณระดับบนสุดของ HDMI RX และ TX เหล่านี้: • รุ่น • i2c_clk |
ต่อเนื่อง… |
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | IPVersion | การเปลี่ยนแปลง |
• เพิ่มหมายเหตุว่าการตั้งค่าอะนาล็อกของตัวรับส่งสัญญาณได้รับการทดสอบสำหรับ Intel Arria 10 FPGA Development Kit และ Bitec HDMI 2.0 Daughter card คุณสามารถแก้ไขการตั้งค่าอะนาล็อกสำหรับบอร์ดของคุณได้ • เพิ่มลิงก์สำหรับวิธีแก้ไขปัญหาเพื่อหลีกเลี่ยงการกระตุกของ PLL เรียงซ้อนหรือเส้นทางนาฬิกาที่ไม่เฉพาะสำหรับนาฬิกาอ้างอิง Intel Arria 10 PLL • เพิ่มหมายเหตุว่าคุณไม่สามารถใช้พิน RX ตัวรับส่งสัญญาณเป็น CDR refclk สำหรับ HDMI RX หรือเป็น TX PLL refclk สำหรับ HDMI TX • เพิ่มหมายเหตุเกี่ยวกับวิธีเพิ่มข้อจำกัด set_max_skew สำหรับการออกแบบที่ใช้การเชื่อม TX PMA และ PCS |
|||
2017.05.08 | 17.0 | 17.0 | • เปลี่ยนชื่อเป็น Intel • เปลี่ยนหมายเลขชิ้นส่วน • อัปเดตโครงสร้างไดเร็กทอรี: - เพิ่ม HDR files. — เปลี่ยน qsys_vip_passthrough.qsys เป็น nios.qsys - เพิ่ม fileกำหนดไว้สำหรับ Intel Quartus Prime Pro Edition • อัปเดตข้อมูลที่บล็อก RX-TX Link ยังทำการกรองภายนอกบนกรอบข้อมูล High Dynamic Range (HDR) จากข้อมูลเสริม HDMI RX และแทรก example HDR Infoframe ไปยังข้อมูลเสริมของ HDMI TX ผ่านมัลติเพล็กเซอร์ Avalon ST • เพิ่มหมายเหตุสำหรับคำอธิบาย Transceiver Native PHY เพื่อให้เป็นไปตามข้อกำหนดการเอียงระหว่างช่องสัญญาณ HDMI TX คุณต้องตั้งค่าตัวเลือกโหมดการเชื่อมต่อช่องสัญญาณ TX ในตัวแก้ไขพารามิเตอร์ Arria 10 Transceiver Native PHY เป็น การเชื่อม PMA และ PCS. • อัปเดตคำอธิบายสำหรับระบบปฏิบัติการและวัดสัญญาณ • แก้ไขโอเวอร์ampling factor สำหรับอัตราข้อมูลตัวรับส่งสัญญาณที่แตกต่างกันในแต่ละช่วงความถี่สัญญาณนาฬิกา TMDS เพื่อรองรับรูปแบบสัญญาณนาฬิกา TX FPLL โดยตรง • เปลี่ยนรูปแบบ TX IOPLL เป็น TX FPLL cascade clocking เป็น TX FPLL direct scheme • เพิ่มสัญญาณการกำหนดค่าใหม่ TX PMA • แก้ไข USER_LED[7] โอเวอร์ampสถานะหลิง 1 หมายถึงโอเวอร์ampนำ (อัตราข้อมูล < 1,000 Mbps ในอุปกรณ์ Arria 10) • อัปเดตการออกแบบ HDMI เช่นampตารางโปรแกรมจำลองที่รองรับ ไม่รองรับ VHDL สำหรับ NCSim • เพิ่มลิงก์ไปยังเวอร์ชันที่เก็บถาวรของ Arria 10 HDMI IP Core Design Exampคู่มือผู้ใช้. |
2016.10.31 | 16.1 | 16.1 | การเปิดตัวครั้งแรก |
อินเทล คอร์ปอเรชั่น สงวนลิขสิทธิ์. Intel, โลโก้ Intel และเครื่องหมายอื่นๆ ของ Intel เป็นเครื่องหมายการค้าของ Intel Corporation หรือบริษัทในเครือ Intel รับประกันประสิทธิภาพของ FPGA และผลิตภัณฑ์เซมิคอนดักเตอร์ตามข้อกำหนดปัจจุบันตามการรับประกันมาตรฐานของ Intel แต่ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ Intel จะไม่รับผิดชอบหรือรับผิดใด ๆ ที่เกิดขึ้นจากแอปพลิเคชันหรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใด ๆ ที่อธิบายไว้ในที่นี้ ยกเว้นตามที่ตกลงไว้อย่างชัดแจ้งเป็นลายลักษณ์อักษรโดย Intel ขอแนะนำให้ลูกค้า Intel ขอรับข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่และก่อนทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและแบรนด์อื่น ๆ อาจเป็นทรัพย์สินของผู้อื่น
เวอร์ชั่นออนไลน์
ส่งคำติชม
รหัส : 683156
เวอร์ชัน : 2022.12.27
เอกสาร / แหล่งข้อมูล
![]() |
Intel HDMI Arria 10 FPGA IP Design เช่นample [พีดีเอฟ] คู่มือการใช้งาน HDMI Arria 10 FPGA IP Design เช่นample, HDMI Arria, 10 FPGA IP Design เช่นampเลอ, Design Example |