banner
홈페이지 / 소식 / DisplayPort: 후드 아래
소식

DisplayPort: 후드 아래

Jun 15, 2023Jun 15, 2023

지난번에는 DisplayPort를 사용자에게 독특하게 만드는 모든 사항을 살펴보았습니다. 해커를 독특하게 만드는 것은 무엇입니까? DisplayPort가 현대 기술 논쟁에서 귀하에게 도움을 줄 수 있는 모든 방법을 살펴보겠습니다.

DisplayPort를 사용하면 우리가 항상 VGA, DVI 및 HDMI와 함께 번들로 제공되는 I2C 버스가 더 이상 AUX 버스로 대체되었습니다. AUX는 1MHz 양방향 diffpair입니다. 값싼 로직 분석기에는 너무 복잡하지만 RP2040의 PIO와는 논쟁이 될 수 있습니다. 해킹적인 생각은 제쳐두고, 이는 I2C를 투명하게 대체하므로 소프트웨어를 다시 작성할 필요가 없습니다. 예를 들어 일반적으로 AUX를 통해 I2C 장치 패스스루를 수행하므로 EDID 데이터가 모니터의 별도 EEPROM 칩에 계속 저장될 수 있습니다. 또는 eDP LCD 패널.

AUX는 단순한 차동 버스가 아니라 USB2와 같이 의사 차동에 가깝습니다. 예를 들어 AUX_P와 AUX_N은 1MΩ 및 100kΩ 풀업과 풀다운의 조합으로 물리적 연결의 다양한 상태를 신호로 보내 별도로 사용됩니다. AUX+의 풀업과 AUX-의 풀다운은 외부 장치가 연결되었음을 의미합니다. 어떤 저항 조합이 무엇을 의미하는지 알고 싶다면 공개적으로 배포되지는 않지만 구하기도 어렵지 않은 DisplayPort 사양에서 찾을 수 있습니다.

또한 DisplayPort 링크 트레이닝은 AUX를 통해 이루어지며 이를 용이하게 하기 위해 DPCD라는 메커니즘을 통해 DisplayPort 컨트롤러의 외부 메모리 일부가 일반적으로 AUX 채널을 통해 노출됩니다. "DPCD"를 키워드로 사용하면 DisplayPort 연결의 하위 수준 세부 정보에 쉽게 접근할 수 있습니다. DPCD 메모리 맵 중 일부는 정적이며 일부는 데이터를 유입시키거나 유출시킬 수 있는 FIFO입니다. DPCD 구조를 설명하는 다양한 문서를 온라인에서 찾을 수 있습니다. 현재는 AMD 및 Intel용 Linux 그래픽 드라이버에서 작동하는 Bash 조각이 있으며 DPCD의 처음 16바이트를 보여줍니다.

# sudo dd if=/dev/drm_dp_aux0 bs=1 Skip=256 count=16 |xxd00000000: 0084 0000 0000 0000 0108 0000 0000 0000 ..........[...]

특히 여기서 네 번째 니블(숫자)은 설정된 DisplayPort 링크에 대한 레인 수를 설명합니다. 보시다시피 제 노트북은 4레인 링크를 사용합니다. 또한 /dev/drm_dp_aux0 경로를 장치에 맞게 조정해야 할 수도 있습니다. DP 링크를 디버깅하려는 경우 이와 같이 DPCD 메모리 공간에 직접 액세스하면 상당한 도움이 될 수 있습니다! 지금은 다른 실용적인 측면으로 넘어가겠습니다.

eDP 디스플레이가 편리하고 프로젝트에서 이를 재사용하고 싶다면 어떻게 해야 합니까? 먼저 핀아웃을 알고 싶을 것입니다. 노트북 디스플레이의 경우 eDP 패널 핀아웃은 합리적으로 표준화되어 있습니다. 3개의 핀아웃이 있으며 그 중 하나는 30핀 2레인, 하나는 터치스크린 배선을 위한 추가 USB 및 I2C 핀이 있는 40핀 2레인, 하나는 40핀 2레인입니다. 4레인 핀 커넥터, 터치스크린 지원 없음; 여기에서 핀아웃에 대한 자세한 내용을 볼 수 있습니다. 다른 핀아웃도 있지만 그런 경우는 드뭅니다. 내 친구는 지금까지 Wacom 태블릿에서 30핀 핀아웃을 사용하지만 핀을 뒤집어서 핀 1이 커넥터의 핀 30에 매핑되는 디스플레이를 발견했습니다. ; 안타깝게도 이로 인해 마법의 연기가 발생했습니다. 그렇긴 하지만, 이는 드문 일이며, 확실하지 않은 경우 빠른 보드 추적 관찰이나 멀티미터 확인을 통해 그러한 문제를 피할 수 있습니다. 또한, 패널 데이터시트는 귀하의 모든 질문에 답변해 드립니다.

핀아웃이 30핀이라면 운이 좋을 것입니다. 동일한 하드웨어와 패널 맞춤형 펌웨어를 갖춘 다양한 드라이버 보드가 있습니다. 지난 5년 동안 노트북 화면에서 가장 인기 있는 해상도인 1920 x 1080 패널에서 잘 작동하는 일반 보드도 있습니다. 해당 보드는 DisplayPort 링크 관리와 관련하여 특정 종류의 지름길을 만들 수 있는 것처럼 보입니다. 그러나 프로그래밍된 패널의 링크 트레이닝 매개변수를 가정하든 픽셀 형식이든 내 경험에 따르면 – 특정 패널에 맞게 프로그래밍되도록 라벨이 붙은 보드를 구할 수 있다면 그렇게 하는 것을 고려해 보십시오. 그렇지 않으면 시작되지 않거나 시각적 인터페이스가 나타나거나 이상하게 깜박일 수 있습니다. 반면에 노트북 디스플레이 재사용에 들어가면서 점퍼를 사용하여 DP 패널 해상도를 설정할 수 있는 보드 몇 개를 발견했는데 충분히 보편적인 것으로 입증되었으므로 가능하다면 사전 프로그래밍된 보드 주문과 함께 하나를 선택하면 추가 eDP 땜질 모험에서 기대하는 것보다 더 큰 호환성을 얻을 수 있습니다.