จอสำหรับ ESP32-P4
ESP32-P4 ขับพาเนล MIPI DSI ผ่าน 2 เลน ที่อัตราสูงสุด 1.5 Gbps ต่อเลน พร้อมรองรับจอแบบขนาน RGB 8/16/24 บิต และจอ 8080 ส่วน frame buffer ของพาเนล MIPI จะอยู่ใน PSRAM ที่ฝังในตัวชิป
ESP32-P4 รองรับอินเทอร์เฟซจอใดบ้าง?
| อินเทอร์เฟซ | ความละเอียดสูงสุดในทางปฏิบัติ | หมายเหตุ |
|---|---|---|
| MIPI DSI | Up 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
จับคู่ตามอินเทอร์เฟซและความละเอียด เราส่งรายงานการทดสอบเฉพาะโมดูลที่เคยทดลองบนบอร์ดนี้ หากต้องการโปรดสอบถาม

TFT LCD 1.77" 128×160 MCU (PJ177Z12)
- ขนาด
- 1.77"
- ความละเอียด
- 128×160
- ไดรเวอร์ IC
- ILI9163V

TFT LCD IPS 8" 800×1280 MIPI DSI (PJ8002I01-26H31P200)
- ขนาด
- 8"
- ความละเอียด
- 800×1280
- ความสว่าง
- 200 nit

TFT LCD IPS 7" 800×480 RGB (PJ7004I38-57H40P1000)
- ขนาด
- 7"
- ความละเอียด
- 800×480
- ความสว่าง
- 1000 nit
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 ขั้นตอน:
esp_lcd_new_dsi_bus()สร้างบัสและเริ่มต้น D-PHY: ตั้งค่าnum_data_lanes(2) และlane_bit_rate_mbpsesp_lcd_new_panel_io_dbi()เปิดช่องทางคำสั่ง ตัวควบคุมพาเนล (เช่นesp_lcd_new_panel_ili9881c()) จะส่ง init sequence ผ่านช่องทางนี้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
แหล่งที่มา
ไม่แน่ใจว่าจอแบบใดเหมาะกับงานออกแบบของคุณ?
ส่งขนาด อินเทอร์เฟซ และโปรเซสเซอร์โฮสต์มาให้เรา วิศวกรจอจะตอบกลับภายใน 12 ชั่วโมงพร้อมตัวเลือก 2–3 รายการ datasheet และโค้ดเริ่มต้น ตัวอย่างเริ่มที่ 1 ชิ้น