You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让2.4英寸SPI TFT LCD与Beaglebone Black正常工作

BeagleBone Black 启用SPI与TFT LCD(含FB_TFT)配置指南

一、需启用的内核片段

基础SPI支持

  • 启用SPI核心框架:CONFIG_SPI
  • 启用BBB的OMAP SPI控制器驱动:CONFIG_SPI_OMAP24XX
  • 可选:启用SPI用户空间调试设备:CONFIG_SPI_SPIDEV

FB_TFT相关片段

  • 启用FB_TFT核心框架:CONFIG_FB_TFT
  • 根据你的TFT型号选择对应驱动(以下为常见型号示例):
    • ILI9341:CONFIG_FB_TFT_ILI9341
    • ST7789V:CONFIG_FB_TFT_ST7789V
    • HX8357D:CONFIG_FB_TFT_HX8357D
  • 启用帧缓冲基础操作支持:CONFIG_FB_SYS_FILLRECT、CONFIG_FB_SYS_COPYAREA、CONFIG_FB_SYS_IMAGEBLIT

二、设备树修改

2.1 启用SPI总线(以SPI0为例)

BBB的SPI0默认禁用,需修改设备树启用总线及引脚复用:

&am33xx_pinmux {
    mcspi1_pins: mcspi1-pins {
        pinctrl-single,pins = <
            0x190 0x13  /* SPI0_SCLK: MODE3, 上拉 */
            0x194 0x13  /* SPI0_D0: MODE3, 上拉 */
            0x198 0x13  /* SPI0_D1: MODE3, 上拉(若屏幕无MISO可省略) */
            0x19C 0x13  /* SPI0_CS0: MODE3, 上拉 */
        >;
    };
};

&mcspi1 { /* OMAP命名为mcspi1,对应BBB的SPI0 */
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&mcspi1_pins>;
};

2.2 添加FB_TFT设备节点

在SPI总线节点下添加TFT对应的节点,以ILI9341为例:

&mcspi1 {
    /* 保留上述SPI启用代码 */
    tft_display@0 {
        compatible = "ilitek,ili9341";
        reg = <0>; /* 对应SPI CS0 */
        spi-max-frequency = <30000000>; /* 屏幕支持的最大SPI频率 */
        rotate = <0>; /* 屏幕旋转角度:0/90/180/270 */
        fps = <30>;
        buswidth = <8>; /* 硬件数据总线宽度,根据实际连接选8或16 */
        dc-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; /* DC引脚,需匹配你的硬件连接 */
        reset-gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; /* RESET引脚,可选 */
        led-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>; /* 背光控制引脚,可选 */
        status = "okay";
    };
};

注意:dc-gpios、reset-gpios等GPIO编号需对应BBB实际引脚,比如gpio0 29对应P9_12引脚。

三、物理连接细节(以SPI0 + ILI9341为例)

BeagleBone Black引脚TFT LCD引脚说明
P9_22(SPI0_SCLK)SCLKSPI时钟
P9_18(SPI0_D0)MOSISPI主机发送数据
P9_17(SPI0_CS0)CSSPI片选
P9_12(GPIO0_29)DC数据/命令选择
P9_11(GPIO0_30)RST复位(可选)
P9_13(GPIO0_31)BL背光控制(可选)
P9_3/P9_4(3.3V)VCC电源(确保屏幕为3.3V供电)
P9_1/P9_2(GND)GND接地

连接注意事项

  • 禁止给BBB引脚接5V,TFT必须是3.3V兼容型号
  • 若TFT功耗较高,建议外接独立电源,避免拉低BBB的3.3V电压
  • SPI频率不要超过屏幕标注的最大值,ILI9341一般支持30MHz以内

四、FB_TFT使用与调试

  • 若FB_TFT编译为模块,加载对应驱动:modprobe fb_ili9341(替换为你的屏幕驱动)
  • 驱动加载成功后,会生成帧缓冲设备(通常为/dev/fb1),可用fbi测试显示:fbi -d /dev/fb1 -T 1 test_image.jpg
  • 若显示异常,优先检查设备树的rotate、buswidth参数,以及GPIO引脚连接是否正确

内容的提问来源于stack exchange,提问作者mahegaik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:09:50