เจเจน เจตเฉเจกเฉเจ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ: เจเฉฑเจ Raspberry Pi3 เจฌเฉเจฐเจก, เจเจฟเจธ เจจเจพเจฒ, GPIO เจเจจเฉเจเจเจฐ เจฆเฉเจเจฐเจพ, เจเฉฑเจ FPGA เจฎเจพเจฐเจธ เจฐเฉเจตเจฐ2rpi (เจธเจพเจเจเจฒเฉเจจ IV) เจฌเฉเจฐเจก เจเฉเฉเจฟเจ เจนเฉเจเจ เจนเฉ, เจเจฟเจธ เจจเจพเจฒ เจเฉฑเจ HDMI เจฎเจพเจจเฉเจเจฐ เจเฉเฉเจฟเจ เจนเฉเจเจ เจนเฉเฅค เจฆเฉเจเจพ เจฎเจพเจจเฉเจเจฐ เจฎเจฟเจเจฐเฉ Raspberry Pi3 HDMI เจเจจเฉเจเจเจฐ เจฐเจพเจนเฉเจ เจเฉเฉเจฟเจ เจนเฉเจเจ เจนเฉเฅค เจเจน เจธเจญ เจฎเจฟเจฒ เจเฉ เจเฉฑเจ เจกเฉเจ เจฒ เจฎเจพเจจเฉเจเจฐ เจธเจฟเจธเจเจฎ เจตเจพเจเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค
เจ
เฉฑเจเฉ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเฉฑเจธเจพเจเจเจพ เจเจฟ เจเจธเจจเฉเฉฐ เจเจฟเจตเฉเจ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ.
เจชเฉเจฐเจธเจฟเฉฑเจง Raspberry Pi3 เจฌเฉเจฐเจก เจตเจฟเฉฑเจ เจเฉฑเจ GPIO เจเจจเฉเจเจเจฐ เจนเฉ เจเจฟเจธ เจฐเจพเจนเฉเจ เจคเฉเจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเจธเจคเจพเจฐ เจฌเฉเจฐเจกเจพเจ เจจเฉเฉฐ เจเฉเฉ เจธเจเจฆเฉ เจนเฉ: เจธเฉเจเจธเจฐ, LED, เจธเจเฉเจชเจฐ เจฎเฉเจเจฐ เจกเจฐเจพเจเจตเจฐ เจ เจคเฉ เจนเฉเจฐ เจฌเจนเฉเจค เจเฉเจเฅค เจเฉเจจเฉเจเจเจฐ 'เจคเฉ เจนเจฐเฉเจ เจชเจฟเฉฐเจจ เจฆเจพ เจเจพเจธ เจซเฉฐเจเจธเจผเจจ เจชเฉเจฐเจ เจธเฉฐเจฐเจเจจเจพ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉเฅค GPIO ALT2 เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจจเฉเจเจเจฐ เจจเฉเฉฐ DPI เจเฉฐเจเจฐเจซเฉเจธ เจฎเฉเจก, เจกเจฟเจธเจชเจฒเฉ เจชเฉเจฐเจฒเจฒ เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉเฅค VGA เจฎเจพเจจเฉเจเจฐเจพเจ เจจเฉเฉฐ DPI เจฐเจพเจนเฉเจ เจเฉเฉเจจ เจฒเจ เจตเจฟเจธเจคเจพเจฐ เจฌเฉเจฐเจก เจนเจจเฅค เจนเจพเจฒเจพเจเจเจฟ, เจชเจนเจฟเจฒเจพเจ, VGA เจฎเจพเจจเฉเจเจฐ เจนเฉเจฃ HDMI เจเจฟเฉฐเจจเฉ เจเจฎ เจจเจนเฉเจ เจนเจจ, เจ เจคเฉ เจฆเฉเจเจพ, เจกเจฟเจเฉเจเจฒ เจเฉฐเจเจฐเจซเฉเจธ เจเจจเจพเจฒเจพเจ เจจเจพเจฒเฉเจ เจฌเจฟเจนเจคเจฐ เจนเฉ เจฐเจฟเจนเจพ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจ เจเจฟเจนเฉ VGA เจตเจฟเจธเจคเจพเจฐ เจเจพเจฐเจกเจพเจ 'เจคเฉ DAC เจเจฎ เจคเฉเจฐ 'เจคเฉ R-2-R เจเฉเจจเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฌเจฃเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจ เจเจธเจฐ เจชเฉเจฐเจคเฉ เจฐเฉฐเจ 6 เจฌเจฟเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค
ALT2 เจฎเฉเจก เจตเจฟเฉฑเจ, GPIO เจเจจเฉเจเจเจฐ เจฆเฉ เจชเจฟเฉฐเจจ เจฆเฉ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจ เจฐเจฅ เจนเจจ:
เจเฉฑเจฅเฉ เจฎเฉเจ เจเจจเฉเจเจเจฐ เจฆเฉ RGB เจชเจฟเฉฐเจจ เจจเฉเฉฐ เจเฉเจฐเจฎเจตเจพเจฐ เจฒเจพเจฒ, เจนเจฐเจพ เจ
เจคเฉ เจจเฉเจฒเจพ เจฐเฉฐเจ เจฆเจฟเฉฑเจคเจพ เจนเฉเฅค เจนเฉเจฐ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจธเจฟเจเจจเจฒ V-SYNC เจ
เจคเฉ H-SYNC เจธเจตเฉเจช เจธเจฟเฉฐเจ เจธเจฟเจเจจเจฒ, เจ
เจคเฉ เจจเจพเจฒ เจนเฉ CLK เจนเจจเฅค CLK เจเฉเฉ เจฆเฉ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจเจน เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจนเฉ เจเจฟเจธ 'เจคเฉ เจชเจฟเจเจธเจฒ เจฎเฉเฉฑเจฒ เจเจจเฉเจเจเจฐ เจจเฉเฉฐ เจเจเจเจชเฉเฉฑเจ เจนเฉเฉฐเจฆเฉ เจนเจจ เจ
เจคเฉ เจเฉเจฃเฉ เจเจ เจตเฉเจกเฉเจ เจฎเฉเจก 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเจจเฅค
เจเฉฑเจ เจกเจฟเจเฉเจเจฒ HDMI เจฎเจพเจจเฉเจเจฐ เจจเฉเฉฐ เจเจจเฉเจเจ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ DPI เจเฉฐเจเจฐเจซเฉเจธ เจธเจฟเจเจจเจฒเจพเจ เจจเฉเฉฐ เจเฉเจชเจเจฐ เจเจฐเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ HDMI เจธเจฟเจเจจเจฒเจพเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจน เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจฟเจธเฉ เจตเฉ FPGA เจฌเฉเจฐเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ. เจเจฟเจตเฉเจ เจเจฟ เจเจน เจจเจฟเจเจฒเจฟเจ, เจฎเจพเจฐเจธ เจฐเฉเจตเจฐ 2 เจเจฐเจชเฉเจเจ เจฌเฉเจฐเจก เจเจธ เจเจฆเฉเจธเจผ เจฒเจ เจขเฉเจเจตเจพเจ เจนเฉเฅค เจ เจธเจฒ เจตเจฟเฉฑเจ, เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจ เจกเจพเจชเจเจฐ เจฆเฉเจเจฐเจพ เจเจธ เจฌเฉเจฐเจก เจจเฉเฉฐ เจเฉเฉเจจ เจฆเจพ เจฎเฉเฉฑเจ เจตเจฟเจเจฒเจช เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ:
เจเจธ เจฌเฉเจฐเจก เจฆเฉ เจตเจฐเจคเฉเจ GPIO เจชเฉเจฐเจเจพเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจตเจงเจพเจเจฃ เจ
เจคเฉ เจฐเจธเจฌเฉเจฐเฉ เจจเจพเจฒ เจนเฉเจฐ เจชเฉเจฐเฉเจซเจฟเจฐเจฒเจพเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจธเฉ เจธเจฎเฉเจ, เจเจธ เจเฉเจจเฉเจเจธเจผเจจ เจฆเฉ เจจเจพเจฒ 4 GPIO เจธเจฟเจเจจเจฒ JTAG เจธเจฟเจเจจเจฒเจพเจ เจฒเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเจจ, เจคเจพเจ เจเฉ เจตเฉฐเจก เจคเฉเจ เจชเฉเจฐเฉเจเจฐเจพเจฎ FPGA เจซเจฐเจฎเจตเฉเจ
เจฐ เจจเฉเฉฐ FPGA เจตเจฟเฉฑเจ เจฒเฉเจก เจเจฐ เจธเจเฉเฅค เจเจธเจฆเฉ เจเจพเจฐเจจ, เจ
เจเจฟเจนเจพ เจจเจฟเจฏเจฎเจค เจเฉเจจเฉเจเจธเจผเจจ เจฎเฉเจฐเฉ เจฒเจ เจ
เจจเฉเจเฉเจฒ เจจเจนเฉเจ เจนเฉ, 4 เจกเฉเจชเฉเจเจ เจธเจฟเจเจจเจฒ เจฌเจพเจนเจฐ เจจเจฟเจเจฒเจฆเฉ เจนเจจ. เจเฉเจธเจผเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจฌเฉเจฐเจก 'เจคเฉ เจตเจพเจงเฉ เจเฉฐเจเฉเจเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเจธเจฌเฉเจฐเฉ-เจ
เจจเฉเจเฉเจฒ เจชเจฟเจจเจเจเจ เจนเฉเฅค เจคเจพเจ เจเฉ เจฎเฉเจ เจฌเฉเจฐเจก เจจเฉเฉฐ 90 เจกเจฟเจเจฐเฉ เจเฉเฉฐเจฎเจพ เจธเจเจพเจ เจ
เจคเฉ เจซเจฟเจฐ เจตเฉ เจเจธเจจเฉเฉฐ เจฎเฉเจฐเฉ เจฐเจธเจฌเฉเจฐเฉ เจจเจพเจฒ เจเฉเฉ เจธเจเจพเจ:
เจฌเฉเจธเจผเฉฑเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจฌเจพเจนเจฐเฉ JTAG เจชเฉเจฐเฉเจเจฐเจพเจฎเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเฉ เจชเจตเฉเจเฉ, เจชเจฐ เจเจน เจเฉเจ เจธเจฎเฉฑเจธเจฟเจ เจจเจนเฉเจ เจนเฉเฅค
เจ เจเฉ เจตเฉ เจเฉฑเจ เจเฉเจเฉ เจเจฟเจนเฉ เจธเจฎเฉฑเจธเจฟเจ เจนเฉเฅค เจนเจฐ FPGA เจชเจฟเฉฐเจจ เจจเฉเฉฐ เจเจฒเจพเจ เจเฉฐเจชเฉเฉฑเจ เจตเจเฉเจ เจจเจนเฉเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพเฅค เจเฉฑเจฅเฉ เจธเจฟเจฐเจซเจผ เจเฉเจ เจนเฉ เจธเจฎเจฐเจชเจฟเจค เจชเจฟเฉฐเจจ เจนเจจ เจเฉ เจเจธ เจเจฆเฉเจธเจผ เจฒเจ เจตเจฐเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค เจเจธ เจฒเจ เจเจน เจเฉฑเจฅเฉ เจธเจพเจนเจฎเจฃเฉ เจเจเจ เจเจฟ GPIO_0 CLK เจธเจฟเจเจจเจฒ FPGA เจเจจเจชเฉเจ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ, เจเจฟเจธเจจเฉเฉฐ FPGA เจเฉเฉ เจเจจเจชเฉเจ เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ เจธเจญ เจเฉฑเจเฉ เจเจฟเจนเจพ, เจฎเฉเจจเฉเฉฐ เจเฉฑเจ เจธเจเจพเจฐเจซเจผ 'เจคเฉ เจเฉฑเจ เจชเฉเจธเจเจฟเฉฐเจ เจธเฉเฉฑเจเจฃเฉ เจชเจเฅค เจฎเฉเจ เจฌเฉเจฐเจก เจฆเฉ GPIO_0 เจ เจคเฉ KEY[1] เจธเจฟเจเจจเจฒ เจจเฉเฉฐ เจเจจเฉเจเจ เจเจฐเจฆเจพ เจนเจพเจ:
เจนเฉเจฃ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ FPGA เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจพเจฐเฉ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจฆเฉฑเจธเจพเจเจเจพ. HDMI เจธเจฟเจเจจเจฒเจพเจ เจฆเฉ เจเจ เจจ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจ เจฎเฉเจธเจผเจเจฒ เจฌเจนเฉเจค เจเฉฑเจเฉ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจนเฉ. HDMI เจเจจเฉเจเจเจฐ เจฆเฉ เจชเจฟเจจเจเจเจ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเฉเจ, เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ RGB เจธเจฟเจเจจเจฒ เจนเฉเจฃ เจธเฉเจฐเฉเจ
เจฒ เจกเจฟเจซเจฐเฉเจเจธเจผเฉเจ
เจฒ เจธเจฟเจเจจเจฒ เจนเจจ:
เจเฉฑเจ เจกเจฟเจซเจฐเฉเจเจธเจผเฉเจ
เจฒ เจธเจฟเจเจจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจฐเจพเจเจธเจฎเจฟเจธเจผเจจ เจฒเจพเจเจจ 'เจคเฉ เจเจฎ เจฎเฉเจก เจธเจผเฉเจฐ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจนเจฐเฉเจ เจฐเฉฐเจ เจธเจฟเจเจจเจฒ เจฆเจพ เจ
เจธเจฒ เจ
เฉฑเจ -เจฌเจฟเฉฑเจ เจเฉเจก เจเฉฑเจ 10-เจฌเจฟเฉฑเจ TMDS (เจเฉเจฐเจพเจเจเจผเจฟเจธเจผเจจ-เจฎเจฟเจจเฉเจฎเจพเจเจเจผเจก เจกเจฟเจซเจฐเฉเจเจธเจผเฉเจ
เจฒ เจธเจฟเจเจจเจฒ) เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจธเจฟเจเจจเจฒ เจคเฉเจ เจกเฉเจธเฉ เจเฉฐเจชเฉเจจเฉเจเจ เจจเฉเฉฐ เจนเจเจพเจเจฃ เจ
เจคเฉ เจกเจฟเจซเจฐเฉเจเจธเจผเฉเจ
เจฒ เจฒเจพเจเจจ เจตเจฟเฉฑเจ เจธเจฟเจเจจเจฒ เจธเจตเจฟเจเจฟเฉฐเจ เจจเฉเฉฐ เจเฉฑเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจเจจเจเฉเจกเจฟเฉฐเจ เจตเจฟเจงเฉ เจนเฉเฅค เจเจฟเจเจเจเจฟ เจนเฉเจฃ เจธเฉเจฐเฉเจ
เจฒ เจฒเจพเจเจจ เจเฉฑเจคเฉ เจชเฉเจฐเจคเฉ เจฌเจพเจเจ เจฐเฉฐเจ เจธเฉฐเจเจพเจฐ เจเจฐเจจ เจฒเจ 10 เจฌเจฟเฉฑเจ เจนเจจ, เจเจน เจชเจคเจพ เจเจฒเจฆเจพ เจนเฉ เจเจฟ เจธเฉเจฐเฉเจ
เจฒเจพเจเจเจผเจฐ เจฆเฉ เจเฉเฉ เจฆเฉ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจชเจฟเจเจธเจฒ เจฆเฉ เจเฉเฉ เจฆเฉ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจจเจพเจฒเฉเจ 10 เจเฉเจฃเจพ เจตเฉฑเจง เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค เจเฉเจเจฐ เจ
เจธเฉเจ เจเจฆเจพเจนเจฐเจจ เจฒเจ เจตเฉเจกเฉเจ เจฎเฉเจก 1280x720 60Hz เจฒเฉเจเจฆเฉ เจนเจพเจ, เจคเจพเจ เจเจธ เจฎเฉเจก เจฆเฉ เจชเจฟเจเจธเจฒ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ 74,25MHz เจนเฉเฅค เจธเฉเจฐเฉเจ
เจฒเจพเจเจเจผเจฐ 742,5 MHz เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจชเจฐเฉฐเจชเจฐเจพเจเจค FPGAs เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจธ เจฆเฉ เจฏเฉเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ, เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ. เจนเจพเจฒเจพเจเจเจฟ, เจธเจพเจกเฉ เจเจฟเจธเจฎเจค เจฒเจ, FPGA เจเฉเจฒ เจฌเจฟเจฒเจ-เจเจจ DDIO เจชเจฟเฉฐเจจ เจนเจจเฅค เจเจน เจเจน เจธเจฟเฉฑเจเฉ เจนเจจ เจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจนเจจ, เจเจฟเจตเฉเจ เจเจฟ เจเจน เจธเจจ, 2-เจคเฉเจ-1 เจธเฉเจฐเฉเจ เจฒเจพเจเจเจผเจฐเฅค เจญเจพเจต, เจเจน เจเฉเฉเจนเจจ เจ เจคเฉ เจกเจฟเฉฑเจเจฃ เจตเจพเจฒเฉ เจเฉเฉ เจฆเฉ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจฆเฉ เจจเจพเจฒ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจฆเฉ เจฌเจฟเฉฑเจเจพเจ เจจเฉเฉฐ เจเจเจเจชเฉเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเจจเฅค เจเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ FPGA เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ 740 MHz เจจเจนเฉเจ, เจธเจเฉเจ 370 MHz เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจคเฉเจนเจพเจจเฉเฉฐ FPGA เจตเจฟเฉฑเจ DDIO เจเจเจเจชเฉเฉฑเจ เจคเฉฑเจคเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเฉฑเจฅเฉ 370 MHz เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฑเจ เจชเฉเจฐเจพเจชเจคเฉเจฏเฉเจ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจนเฉเฅค เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, 1280 ร 720 เจฎเฉเจก เจธเฉเจฎเจพ เจนเฉเฅค Rover2rpi เจฌเฉเจฐเจก 'เจคเฉ เจธเจฅเจพเจชเจฟเจค เจธเจพเจกเฉ FPGA เจเฉฑเจเจฐเจตเจพเจค IV เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเฉเจเจผเฉเจฒเจฟเจเจธเจผเจจ เจชเฉเจฐเจพเจชเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจเจธ เจฒเจ, เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ, เจเจจเจชเฉเจ เจชเจฟเจเจธเจฒ เจซเฉเจฐเฉเจเฉเจเจเจธเฉ CLK PLL เจจเฉเฉฐ เจซเฉเจก เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจเจฟเฉฑเจฅเฉ เจเจธเจจเฉเฉฐ 5 เจจเจพเจฒ เจเฉเจฃเจพ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจธ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ 'เจคเฉ, R, G, B เจฌเจพเจเจเจพเจ เจจเฉเฉฐ เจฌเจฟเฉฑเจ เจเฉเฉเจฟเจเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจเจน เจนเฉ เจเฉ TMDS เจเจจเจเฉเจกเจฐ เจเจฐเจฆเจพ เจนเฉเฅค Verilog HDL 'เจคเฉ เจธเจฐเฉเจค เจเฉเจก เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจฆเจพ เจนเฉ:
module hdmi(
input wire pixclk, // 74MHz
input wire clk_TMDS2, // 370MHz
input wire hsync,
input wire vsync,
input wire active,
input wire [7:0]red,
input wire [7:0]green,
input wire [7:0]blue,
output wire TMDS_bh,
output wire TMDS_bl,
output wire TMDS_gh,
output wire TMDS_gl,
output wire TMDS_rh,
output wire TMDS_rl
);
wire [9:0] TMDS_red, TMDS_green, TMDS_blue;
TMDS_encoder encode_R(.clk(pixclk), .VD(red ), .CD({vsync,hsync}), .VDE(active), .TMDS(TMDS_red));
TMDS_encoder encode_G(.clk(pixclk), .VD(green), .CD({vsync,hsync}), .VDE(active), .TMDS(TMDS_green));
TMDS_encoder encode_B(.clk(pixclk), .VD(blue ), .CD({vsync,hsync}), .VDE(active), .TMDS(TMDS_blue));
reg [2:0] TMDS_mod5=0; // modulus 5 counter
reg [4:0] TMDS_shift_bh=0, TMDS_shift_bl=0;
reg [4:0] TMDS_shift_gh=0, TMDS_shift_gl=0;
reg [4:0] TMDS_shift_rh=0, TMDS_shift_rl=0;
wire [4:0] TMDS_blue_l = {TMDS_blue[9],TMDS_blue[7],TMDS_blue[5],TMDS_blue[3],TMDS_blue[1]};
wire [4:0] TMDS_blue_h = {TMDS_blue[8],TMDS_blue[6],TMDS_blue[4],TMDS_blue[2],TMDS_blue[0]};
wire [4:0] TMDS_green_l = {TMDS_green[9],TMDS_green[7],TMDS_green[5],TMDS_green[3],TMDS_green[1]};
wire [4:0] TMDS_green_h = {TMDS_green[8],TMDS_green[6],TMDS_green[4],TMDS_green[2],TMDS_green[0]};
wire [4:0] TMDS_red_l = {TMDS_red[9],TMDS_red[7],TMDS_red[5],TMDS_red[3],TMDS_red[1]};
wire [4:0] TMDS_red_h = {TMDS_red[8],TMDS_red[6],TMDS_red[4],TMDS_red[2],TMDS_red[0]};
always @(posedge clk_TMDS2)
begin
TMDS_shift_bh <= TMDS_mod5[2] ? TMDS_blue_h : TMDS_shift_bh [4:1];
TMDS_shift_bl <= TMDS_mod5[2] ? TMDS_blue_l : TMDS_shift_bl [4:1];
TMDS_shift_gh <= TMDS_mod5[2] ? TMDS_green_h : TMDS_shift_gh [4:1];
TMDS_shift_gl <= TMDS_mod5[2] ? TMDS_green_l : TMDS_shift_gl [4:1];
TMDS_shift_rh <= TMDS_mod5[2] ? TMDS_red_h : TMDS_shift_rh [4:1];
TMDS_shift_rl <= TMDS_mod5[2] ? TMDS_red_l : TMDS_shift_rl [4:1];
TMDS_mod5 <= (TMDS_mod5[2]) ? 3'd0 : TMDS_mod5+3'd1;
end
assign TMDS_bh = TMDS_shift_bh[0];
assign TMDS_bl = TMDS_shift_bl[0];
assign TMDS_gh = TMDS_shift_gh[0];
assign TMDS_gl = TMDS_shift_gl[0];
assign TMDS_rh = TMDS_shift_rh[0];
assign TMDS_rl = TMDS_shift_rl[0];
endmodule
module TMDS_encoder(
input clk,
input [7:0] VD, // video data (red, green or blue)
input [1:0] CD, // control data
input VDE, // video data enable, to choose between CD (when VDE=0) and VD (when VDE=1)
output reg [9:0] TMDS = 0
);
wire [3:0] Nb1s = VD[0] + VD[1] + VD[2] + VD[3] + VD[4] + VD[5] + VD[6] + VD[7];
wire XNOR = (Nb1s>4'd4) || (Nb1s==4'd4 && VD[0]==1'b0);
wire [8:0] q_m = {~XNOR, q_m[6:0] ^ VD[7:1] ^ {7{XNOR}}, VD[0]};
reg [3:0] balance_acc = 0;
wire [3:0] balance = q_m[0] + q_m[1] + q_m[2] + q_m[3] + q_m[4] + q_m[5] + q_m[6] + q_m[7] - 4'd4;
wire balance_sign_eq = (balance[3] == balance_acc[3]);
wire invert_q_m = (balance==0 || balance_acc==0) ? ~q_m[8] : balance_sign_eq;
wire [3:0] balance_acc_inc = balance - ({q_m[8] ^ ~balance_sign_eq} & ~(balance==0 || balance_acc==0));
wire [3:0] balance_acc_new = invert_q_m ? balance_acc-balance_acc_inc : balance_acc+balance_acc_inc;
wire [9:0] TMDS_data = {invert_q_m, q_m[8], q_m[7:0] ^ {8{invert_q_m}}};
wire [9:0] TMDS_code = CD[1] ? (CD[0] ? 10'b1010101011 : 10'b0101010100) : (CD[0] ? 10'b0010101011 : 10'b1101010100);
always @(posedge clk) TMDS <= VDE ? TMDS_data : TMDS_code;
always @(posedge clk) balance_acc <= VDE ? balance_acc_new : 4'h0;
endmodule
เจซเจฟเจฐ เจเจเจเจชเฉเฉฑเจ เจเฉเฉเจฟเจเจ เจจเฉเฉฐ DDIO เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจเฉเจเจเจ เจเจพเจเจฆเจพ เจนเฉ, เจเฉ เจเฉเจฐเจฎเจตเจพเจฐ เจตเจพเจงเจพ เจ เจคเฉ เจเจฟเจฐเจพเจตเจ 'เจคเฉ เจเฉฑเจ-เจฌเจฟเฉฑเจ เจธเจฟเจเจจเจฒ เจชเฉเจฆเจพ เจเจฐเจฆเจพ เจนเฉเฅค
เจกเฉเจกเฉเจเจเจ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจตเฉเจฐเฉเจฒเฉเจ เจเฉเจก เจจเจพเจฒ เจตเจฐเจฃเจจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
module ddio(
input wire d0,
input wire d1,
input wire clk,
output wire out
);
reg r_d0;
reg r_d1;
always @(posedge clk)
begin
r_d0 <= d0;
r_d1 <= d1;
end
assign out = clk ? r_d0 : r_d1;
endmodule
เจชเจฐ เจเจน เจธเจผเจพเจเจฆ เจเจธ เจคเจฐเฉเจนเจพเจ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเฉเจเจพเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจ เจธเจฒ เจตเจฟเฉฑเจ DDIO เจเจเจเจชเฉเฉฑเจ เจคเฉฑเจคเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฒเจ Altera เจฆเฉ ALTDIO_OUT เจฎเฉเจเจพเจซเฉฐเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจฎเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ, เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจเฉฐเจชเฉเจจเฉเจเจ ALTDIO_OUT เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจน เจธเจญ เจเฉเจ เจฎเฉเจธเจผเจเจฒ เจฒเฉฑเจ เจธเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจน เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ.
เจคเฉเจธเฉเจ เจตเฉเจฐเฉเจฒเฉเจ HDL เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจธเจพเจฐเจพ เจธเจฐเฉเจค เจเฉเจก เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ
FPGA เจฒเจ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจซเจฐเจฎเจตเฉเจ เจฐ เจจเฉเฉฐ Mars Rover2rpi เจฌเฉเจฐเจก 'เจคเฉ เจธเจฅเจพเจชเจฟเจค EPCS เจเจฟเฉฑเจช เจตเจฟเฉฑเจ เจเจฎเจฌเฉเจก เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจเจธ เจคเจฐเฉเจนเจพเจ, เจเจฆเฉเจ FPGA เจฌเฉเจฐเจก 'เจคเฉ เจชเจพเจตเจฐ เจฒเจพเจเฉ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, FPGA เจซเจฒเฉเจธเจผ เจฎเฉเจฎเฉเจฐเฉ เจคเฉเจ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจตเฉเจเจพ เจ เจคเฉ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจตเฉเจเจพเฅค
เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจฐเจธเจฌเฉเจฐเฉ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจฌเจพเจฐเฉ เจฅเฉเฉเฉ เจเฉฑเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ.
เจฎเฉเจ เจกเฉเจฌเฉเจ
เจจ เจฌเจธเจเจฐ, เจธเฉฐเจธเจเจฐเจฃ: เจ
เจเจธเจค 32, 'เจคเฉ เจ
เจงเจพเจฐเจค เจฐเจพเจธเจฌเฉเจฐเฉ PI OS (2020 เจฌเจฟเฉฑเจ) 'เจคเฉ เจชเฉเจฐเจฏเฉเจ เจเจฐ เจฐเจฟเจนเจพ เจนเจพเจ,
เจฐเจฟเจฒเฉเจเจผ เจฎเจฟเจคเฉ: 2020-08-20, เจเจฐเจจเจฒ เจธเฉฐเจธเจเจฐเจฃ: 5.4.
เจคเฉเจนเจพเจจเฉเฉฐ เจฆเฉ เจเฉเจเจผเจพเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- config.txt เจซเจพเจเจฒ เจจเฉเฉฐ เจธเฉเจงเฉ;
- เจฆเฉ เจฎเจพเจจเฉเจเจฐเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ X เจธเจฐเจตเจฐ เจธเฉฐเจฐเจเจจเจพ เจฌเจฃเจพเจเฅค
/boot/config.txt เจซเจพเจเจฒ เจจเฉเฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจเจฐเจจ เจตเฉเจฒเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- i2c, i2s, spi เจฆเฉ เจตเจฐเจคเฉเจ เจจเฉเฉฐ เจ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ;
- เจเจตเจฐเจฒเฉ dtoverlay=dpi24 เจฆเฉ เจจเจพเจฒ DPI เจฎเฉเจก เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ;
- เจตเฉเจกเฉเจ เจฎเฉเจก เจธเฉเฉฑเจ เจเจฐเฉ 1280ร720 60Hz, 24 เจฌเจฟเฉฑเจ เจชเฉเจฐเจคเฉ เจชเฉเจเจเฉฐเจ เจชเฉเจฐเจคเฉ DPI;
- เจซเจฐเฉเจฎเจฌเจซเจฐเจธ 2 เจฆเฉ เจฒเฉเฉเฉเจเจฆเฉ เจธเฉฐเจเจฟเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเฉ (max_framebuffers=2, เจเฉเจตเจฒ เจคเจฆ เจนเฉ เจฆเฉเจเฉ เจกเจฟเจตเจพเจเจธ /dev/fb1 เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเฉ)
config.txt เจซเจพเจเจฒ เจฆเจพ เจชเฉเจฐเจพ เจเฉเจเจธเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16
# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720
# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
dtparam=i2c_arm=off
dtparam=spi=off
dtparam=i2s=off
dtoverlay=dpi24
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
framebuffer_width=1280
framebuffer_height=720
display_default_lcd=0
enable_dpi_lcd=1
dpi_group=2
dpi_mode=87
#dpi_group=1
#dpi_mode=4
dpi_output_format=0x6f027
dpi_timings=1280 1 110 40 220 720 1 5 5 20 0 0 0 60 0 74000000 3
# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d
max_framebuffers=2
[all]
#dtoverlay=vc4-fkms-v3d
max_framebuffers=2
เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจคเฉเจนเจพเจจเฉเฉฐ เจฆเฉ เจซเจฐเฉเจฎเจฌเจซเจฐ /dev/fb0 เจ เจคเฉ /dev/fb1 'เจคเฉ เจฆเฉ เจฎเจพเจจเฉเจเจฐ เจตเจฐเจคเจฃ เจฒเจ X เจธเจฐเจตเจฐ เจฒเจ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
เจฎเฉเจฐเฉ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจนเฉ /usr/share/x11/xorg.conf.d/60-dualscreen.conf เจเจธ เจคเจฐเฉเจนเจพเจ
Section "Device"
Identifier "LCD"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "ShadowFB" "off"
Option "SwapbuffersWait" "true"
EndSection
Section "Device"
Identifier "HDMI"
Driver "fbturbo"
Option "fbdev" "/dev/fb1"
Option "ShadowFB" "off"
Option "SwapbuffersWait" "true"
EndSection
Section "Monitor"
Identifier "LCD-monitor"
Option "Primary" "true"
EndSection
Section "Monitor"
Identifier "HDMI-monitor"
Option "RightOf" "LCD-monitor"
EndSection
Section "Screen"
Identifier "screen0"
Device "LCD"
Monitor "LCD-monitor"
EndSection
Section "Screen"
Identifier "screen1"
Device "HDMI"
Monitor "HDMI-monitor"
EndSection
Section "ServerLayout"
Identifier "default"
Option "Xinerama" "on"
Option "Clone" "off"
Screen 0 "screen0"
Screen 1 "screen1" RightOf "screen0"
EndSection
เจเฉเจฐ, เจเฉ เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจธเจฅเจพเจชเจฟเจค เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจผเฉเจจเฉเจฐเจฎเจพ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ. เจซเจฟเจฐ เจกเฉเจธเจเจเฉเจช เจธเจชเฉเจธ เจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจฎเจพเจจเฉเจเจฐเจพเจ เจคเฉฑเจ เจตเจงเจพเจเจ เจเจพเจตเฉเจเจพ, เจเจฟเจตเฉเจ เจเจฟ เจเจชเจฐเฉเจเจค เจกเฉเจฎเฉ เจตเฉเจกเฉเจ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจเจ เจเจฟเจ เจนเฉเฅค
เจเจน เจธเจผเจพเจเจฆ เจธเจญ เจเฉเจ เจนเฉเฅค เจนเฉเจฃ, Raspberry Pi3 เจฆเฉ เจฎเจพเจฒเจ เจฆเฉ เจฎเจพเจจเฉเจเจฐเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจฃเจเฉ.
เจฎเจพเจฐเจธ เจฐเฉเจตเจฐ2เจเจฐเจชเฉเจเจ เจฌเฉเจฐเจก เจฆเจพ เจตเฉเจฐเจตเจพ เจ
เจคเฉ เจเจฟเฉฑเจคเจฐ เจนเฉ เจธเจเจฆเจพ เจนเฉ
เจธเจฐเฉเจค: www.habr.com