Matrix - 2'8 SPI TFT/zh

From FriendlyELEC WiKi
Revision as of 08:26, 10 December 2015 by Wuweidong (Talk | contribs)

Jump to: navigation, search

English

1 介绍

2 特性

  • PCB尺寸(mm):

File:Matrix-SPI TFT PCB.png

  • 引脚说明:
名称 描述

3 工作原理

4 下载Matrix源码

Matrix配件相关的代码是完全开源的,统一由一个仓库进行管理:git://github.com/friendlyarm/matrix.git
该仓库里不同的分支代表着Matrix配件所支持的不同开发板。

  • nanopi分支用于支持NanoPi;
  • nanopi2分支用于支持NanoPi 2;
  • tiny4412分支用于支持Tiny4412;
  • raspberrypi分支用于支持RaspberryPi;

在主机PC上安装git,以Ubuntu14.04为例

$ sudo apt-get install git

克隆Matrix配件代码仓库

$ git clone git://github.com/friendlyarm/matrix.git

克隆完成后会得到一个名为matrix的目录,里面存放着所有Matrix配件的代码。

5 与NanoPi 2连接使用

5.1 硬件连接

参考下图连接模块Matrix-2'8_SPI_TFT和NanoPi 2:
Matrix-SPI_TFT_nanopi_2

连接说明:

Matrix-2'8_SPI_TFT NanoPi 2
GND Pin6
5V Pin2
LED_EN Pin1
LCD_RESET Pin7
LCD_D/C Pin11
LCD_CS Pin12
SPICLK Pin23
SPIMOSI Pin19
SPIMISO Pin21
T_CS Pin13
T_IRQ Pin15

5.2 加载驱动程序

将带有Debian系统的SD卡插入一台运行Linux的电脑,可以挂载SD卡上的boot和rootfs分区。
假设rootfs分区的挂载路径为/media/rootfs,执行以下命令将Matrix的硬件驱动、库文件和测试程序拷贝到NanoPi 2的文件系统上。

$ cp modules /media/rootfs/ -r
$ cp install/lib/* /media/rootfs/lib/ -d
$ cp install/usr/bin/* /media/rootfs/usr/bin/

将SD卡重新插入NanoPi 2,上电启动,在Debian的shell终端中执行以下命令加载硬件驱动。

$ cd /modules
$ insmod fbtft_device.ko name=matrix-st7789s gpios=dc:61,reset:60,cs:58
$ insmod matrix_ads7846.ko

fbtft_device是LCD驱动,成功加载驱动后,可以看到LCD被清屏;
matrix_ads7846是触摸驱动。

执行以下命令选择模块Matrix-2'8_SPI_TFT作为桌面显示设备:

$ sudo FRAMEBUFFER=/dev/fb-st7789s startx &

&表示让其在后台运行,可以看到类似下面的打印信息:
Log file: "/var/log/Xorg.2.log",表明X窗口的DISPLAY=2。

触摸校准:

$ DISPLAY=:2.0 xinput_calibrator

用触摸笔在屏幕上点击4个点即可完成校准,完成校准后会有类似如下的打印信息: Section "InputClass"

       Identifier      "calibration" 
       MatchProduct    "ADS7846 Touchscreen" 
       Option  "Calibration"   "196 3825 3887 358" 
       Option  "SwapAxes"      "0" 

EndSection 将上述内容保存在/usr/share/X11/xorg.conf.d/99-calibration.conf中,以后再也无需进行校准了。

6 与NanoPi连接使用

6.1 准备工作

在NanoPi上运行Debian系统,然后在主机PC上安装并使用相应的编译器。参考wiki:NanoPi
注意:必须使用nanopi-v4.1.y-matrix分支编译出来的内核。
下载NanoPi内核源代码并编译

$ git clone https://github.com/friendlyarm/linux-4.x.y.git
$ cd linux-4.x.y
$ git checkout nanopi-v4.1.y-matrix
$ make nanopi_defconfig
$ touch .scmversion
$ make

6.2 硬件连接

参考下图连接模块Matrix-2'8_SPI_TFT和NanoPi
Matrix-SPI_TFT_nanopi

连接说明:

Matrix-2'8_SPI_TFT NanoPi
GND Pin6
5V Pin2
LED_EN Pin1
LCD_RESET Pin7
LCD_D/C Pin11
LCD_CS Pin12
SPICLK Pin23
SPIMOSI Pin19
SPIMISO
T_CS
T_IRQ

6.3 加载驱动模块

启动NanoPi,在其Debian的shell终端上加载芯片对应的驱动模块

$ modprobe fbtft_device name=matrix-spi_tft gpios=dc:161,reset:162,cs:163
$ modprobe matrix_ads7846

模块fbtft_device是芯片ili9341的驱动,模块matrix_ads7846是芯片xpt2046的驱动

6.4 安装软件包

在NanoPi的shell终端上安装软件包qtembedded和matrix-tslib

$ apt-get update
$ apt-get install qtembedded
$ apt-get install matrix-tslib

qtembedded是qt相关的库,matrix-tslib则用于触摸屏校准。

6.5 运行测试程序

启动Qt应用程序

$ . /usr/bin/matrix-setqt4env
$ /usr/local/Trolltech/QtEmbedded-4.8.5-arm/examples/tetrix -qws

matrix-setqt4env用于设置环境变量,第一次运行该脚本时,会出现触摸校准的界面,根据提示点击5个点后完成校准。 tetrix是一个qt4编写俄罗斯方块小游戏,点击start按钮后就可以开始娱乐了。

7 与Tiny4412连接使用

8 与RaspberryPi连接使用

9 与Arduino连接使用

10 相关资料