ข้ามไปยังเนื้อหา
Display Engineer
Espressif · MCU

จอสำหรับ ESP32-P4

ESP32-P4 ขับพาเนล MIPI DSI ผ่าน 2 เลน ที่อัตราสูงสุด 1.5 Gbps ต่อเลน พร้อมรองรับจอแบบขนาน RGB 8/16/24 บิต และจอ 8080 ส่วน frame buffer ของพาเนล MIPI จะอยู่ใน PSRAM ที่ฝังในตัวชิป

DEDisplay Engineer Applications Team · วิศวกรแอปพลิเคชันด้านจออัปเดต 4 พ.ย. 2569

ESP32-P4 รองรับอินเทอร์เฟซจอใดบ้าง?

อินเทอร์เฟซความละเอียดสูงสุดในทางปฏิบัติหมายเหตุ
MIPI DSIUp to 1080p (Espressif)2 เลน × 1.5 Gbps; พาเนลต้องรองรับโหมด 2 เลน
RGB parallel—8/16/24 บิต ผ่าน LCD_CAM; frame buffer อยู่ใน PSRAM
8080 parallel—8/16/24 บิต ผ่าน LCD_CAM; สำหรับพาเนลที่มี GRAM ในตัวเอง
SPI—GP-SPI2 / GP-SPI3 สำหรับจอสถานะขนาดเล็ก

โมดูลอ้างอิงสำหรับ ESP32-P4

จับคู่ตามอินเทอร์เฟซและความละเอียด เราส่งรายงานการทดสอบเฉพาะโมดูลที่เคยทดลองบนบอร์ดนี้ หากต้องการโปรดสอบถาม

ESP32-P4 มีอะไรที่น่าสนใจสำหรับงานจอแสดงผล

ดาต้าชีตของ ESP32-P4 (v0.7) ระบุเส้นทางการแสดงผลไว้ 2 แบบ คือ:

  • MIPI DSI: มี data lane 2 เลน ที่อัตราสูงสุด 1.5 Gbps ต่อเลน รองรับมาตรฐาน D-PHY v1.1 รูปแบบอินพุตได้แก่ RGB888, RGB666, RGB565, YUV422, YUV420 และขาวดำ (grey) รูปแบบเอาต์พุตได้แก่ RGB888, RGB666 และ RGB565 พาเนลถูกขับในโหมด video mode จึงไม่ต้องมีหน่วยความจำเก็บเฟรมในตัวเอง
  • LCD_CAM: เอาต์พุตแบบขนาน 8, 16 หรือ 24 บิต ในรูปแบบ RGB, MOTO6800 หรือ I8080 โดยใช้ GPIO ใดก็ได้ผ่าน GPIO matrix

ด้านกราฟิก มาพร้อม 2D-DMA controller และ pixel-processing accelerator (PPA) ที่ทำหน้าที่หมุนภาพ (0°, 90°, 180°, 270°), ปรับขนาด, พลิกภาพ และ alpha-blend ต่างจาก ESP32-S3 ที่ไม่มี MIPI DSI ตัว P4 สามารถขับพาเนล MIPI DSI ที่ใช้ในมือถือและแท็บเล็ตได้

จำนวนเลน: ตรวจสอบสิ่งนี้ก่อน

สองเลนคือขีดจำกัด พาเนล MIPI ขนาด 7″–10.1″ จำนวนมากถูกออกแบบมาสำหรับ 4 เลน บางรุ่นสามารถตั้งค่าให้ใช้ 2 เลนได้ แต่หลายรุ่นทำไม่ได้ ก่อนสั่งซื้อตัวอย่าง ให้ตรวจสอบตัวเลือกจำนวนเลนในดาต้าชีตของพาเนล และลำดับคำสั่งเริ่มต้น (init sequence) ที่ผู้ผลิตจัดเตรียมมาสำหรับโหมด 2 เลน

แบนด์วิดท์และ frame buffer

ที่ 60 Hz ใน RGB888 (24 บิตต่อพิกเซล) ข้อมูลพิกเซลเพียงอย่างเดียวมีขนาด:

  • 480×640: ประมาณ 0.44 Gbps, frame buffer 900 KB
  • 1024×600: ประมาณ 0.88 Gbps, frame buffer 1,800 KB
  • 720×1280: ประมาณ 1.33 Gbps, frame buffer 2,700 KB (2.64 MB)
  • 800×1280: ประมาณ 1.47 Gbps, frame buffer 3,000 KB
  • 1920×1080: ประมาณ 2.99 Gbps, frame buffer ประมาณ 5.9 MB

สองเลนรับข้อมูลได้สูงสุด 3 Gbps และพาเนลยังต้องมีช่วง blanking ด้วย ดังนั้น 1080p ที่ 60 Hz ใน RGB888 จึงแทบไม่เหลือ headroom; การใช้ RGB565 จะลดข้อมูลลงหนึ่งในสาม frame buffer ทั้งหมดนี้มีขนาดใหญ่กว่า L2MEM บนชิปที่มี 768 KB นั่นคือเหตุผลที่ frame buffer ต้องอยู่ใน PSRAM: ชิป ESP32-P4 มี PSRAM ขนาด 16 MB (ESP32-P4NRW16X) หรือ 32 MB (ESP32-P4NRW32X) ฝังอยู่ในแพ็กเกจ

ขั้นตอนการ bring-up บน ESP-IDF

ไดรเวอร์ MIPI DSI LCD ของ ESP-IDF ตั้งค่าจอแสดงผลใน 3 ขั้นตอน:

  1. esp_lcd_new_dsi_bus() สร้างบัสและเริ่มต้น D-PHY: ตั้งค่า num_data_lanes (2) และ lane_bit_rate_mbps
  2. esp_lcd_new_panel_io_dbi() เปิดช่องทางคำสั่ง ตัวควบคุมพาเนล (เช่น esp_lcd_new_panel_ili9881c()) จะส่ง init sequence ผ่านช่องทางนี้
  3. esp_lcd_new_panel_dpi() เริ่มส่งสตรีมวิดีโอ: ตั้งค่า dpi_clock_freq_mhz (pixel clock), in_color_format และ out_color_format, num_fbs และค่า porch ของ video_timing จากดาต้าชีตของพาเนล

สองประเด็นที่มักทำให้ติดขัด:

  • แหล่งจ่ายไฟ D-PHY. MIPI D-PHY ต้องการแหล่งจ่ายไฟ 2.5 V เฉพาะที่ VDD_MIPI_DPHY ซึ่งสามารถใช้จาก LDO ภายในของ P4 ที่ปรับค่าได้ โดยต้องตั้งค่าเป็น 2.5 V ก่อนไดรเวอร์ DSI เริ่มทำงาน
  • Pixel clock. ESP-IDF ระบุว่า pixel clock ที่สูงขึ้นให้อัตรารีเฟรชสูงขึ้น แต่อาจทำให้เกิดภาพกะพริบหากแบนด์วิดท์ DMA ไม่เพียงพอ หากภาพฉีกหรือกะพริบ ให้ลด dpi_clock_freq_mhz เป็นอย่างแรก

เพื่อคัดลอกบิตแมปได้เร็วขึ้น ไดรเวอร์สามารถใช้ 2D-DMA ได้ (esp_lcd_dpi_panel_enable_dma2d())

พาเนลและทัชสกรีน

บอร์ด ESP32-P4-Function-EV-Board ของ Espressif จับคู่ P4 กับจอทัชแบบ capacitive ขนาด 7″ ความละเอียด 1024×600 ผ่าน LCD adapter board ยูนิต M5Stack Tab5 ที่ผลิตก่อนวันที่ 14 ตุลาคม 2025 ใช้ ILI9881C ร่วมกับตัวควบคุมทัช GT911 แยกต่างหาก ส่วนยูนิตที่ผลิตภายหลังใช้ตัวควบคุมจอและทัช ST7123 หรือ ST7121 ซึ่ง init sequence ไม่สามารถใช้แทนกันได้ พาเนล capacitive จำนวนมากใช้ตัวควบคุมทัช GT911 ซึ่งตอบสนองที่ I2C address 0x5D หรือ 0x14 ขึ้นอยู่กับระดับลอจิกขา INT ตอนรีเซ็ต

รุ่น MIPI DSI ของเราประกอบด้วย 3.5″ 480×640, 4.99″ 720×1280 IPS พร้อม ILI9881D และ 8″ 800×1280 IPS การตั้งค่าจำนวนเลนจะยืนยันเป็นรายโครงการ: ส่งบอร์ดที่คุณใช้มาให้เรา เราจะตรวจสอบการทำงานแบบ 2 เลนและ init sequence ก่อนส่งตัวอย่าง

คำถามที่พบบ่อย

ESP32-P4 ขับจอ MIPI DSI แบบ 4 เลนได้หรือไม่?

ได้ ก็ต่อเมื่อพาเนลสามารถทำงานบน data lane 2 เลนได้ อินเทอร์เฟซ MIPI DSI ของ ESP32-P4 มี 2 เลน ที่อัตราสูงสุด 1.5 Gbps ต่อเลน ให้ตรวจสอบตัวเลือกจำนวนเลนในดาต้าชีตของพาเนล พาเนลแบบ 4 เลนบางรุ่นมีโหมด 2 เลน แต่หลายรุ่นไม่มี

ESP32-P4 ขับความละเอียดสูงสุดเท่าไรบน MIPI DSI?

Espressif ระบุไว้สูงสุดถึง 1080p ที่ 60 Hz ใน RGB888 ความละเอียด 720×1280 ต้องการข้อมูลพิกเซลประมาณ 1.33 Gbps และ 1024×600 ประมาณ 0.88 Gbps ซึ่งอยู่ภายในขีดจำกัด 3 Gbps ของสองเลนอย่างสบาย ส่วน 1920×1080 ที่ 60 Hz ใน RGB888 ต้องการประมาณ 2.99 Gbps ก่อนหักช่วง blanking จึงแทบไม่เหลือ headroom

ESP32-P4 ต้องมี PSRAM สำหรับจอ MIPI หรือไม่?

ในทางปฏิบัติ ต้องใช้ครับ เพราะพาเนล MIPI ไม่มีหน่วยความจำเฟรมในตัวเองในโหมดวิดีโอ ทำให้ P4 ต้องเก็บเฟรมไว้ใน RAM: 720×1280 ใน RGB888 ใช้ 2.64 MB และแม้แต่ 480×640 ก็ยังใช้ถึง 900 KB ซึ่งมากกว่า L2MEM บนชิปที่มีเพียง 768 KB ชิป ESP32-P4 มาพร้อม PSRAM ในแพ็กเกจขนาด 16 หรือ 32 MB

แหล่งที่มา

  1. Espressif: ESP32-P4 Series Datasheet v0.7 (2026-07-14)
  2. Espressif: หน้าผลิตภัณฑ์ ESP32-P4
  3. ESP-IDF: MIPI DSI Interfaced LCD (ESP32-P4)
  4. Espressif: คู่มือการใช้งาน ESP32-P4-Function-EV-Board
  5. ESPHome: ไดรเวอร์จอ MIPI DSI (หมายเหตุ M5Stack Tab5)

ไม่แน่ใจว่าจอแบบใดเหมาะกับงานออกแบบของคุณ?

ส่งขนาด อินเทอร์เฟซ และโปรเซสเซอร์โฮสต์มาให้เรา วิศวกรจอจะตอบกลับภายใน 12 ชั่วโมงพร้อมตัวเลือก 2–3 รายการ datasheet และโค้ดเริ่มต้น ตัวอย่างเริ่มที่ 1 ชิ้น