Difference between revisions of "Matrix - 2'8 SPI Key TFT/zh"
Line 31: | Line 31: | ||
* 引脚说明: | * 引脚说明: | ||
+ | Matrix-2'8_SPI_Key_TFT目前已经推出过2个版本,引脚定义如下: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | | | + | | style="background: PaleTurquoise; color: black" colspan="4"| '''Matrix-2'8_SPI_Key_TFT-1512''' |
+ | |- | ||
+ | |Pin# || Name ||Pin# || Name | ||
|- | |- | ||
|1 || VDD_3.3V ||2 || VDD_5V | |1 || VDD_3.3V ||2 || VDD_5V | ||
Line 61: | Line 64: | ||
|25 || GND ||26 || T_CS | |25 || GND ||26 || T_CS | ||
|- | |- | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | style="background: PaleTurquoise; color: black" colspan="4"| '''Matrix-2'8_SPI_Key_TFT-1706''' | ||
+ | |- | ||
+ | |Pin# || Name ||Pin# || Name | ||
+ | |- | ||
+ | |1 || VDD_3.3V ||2 || VDD_5V | ||
+ | |- | ||
+ | |3 || NC ||4 || VDD_5V | ||
+ | |- | ||
+ | |5 || NC ||6 || GND | ||
+ | |- | ||
+ | |7 || LCD_RESET ||8 || NC | ||
+ | |- | ||
+ | |9 || GND ||10 || NC | ||
+ | |- | ||
+ | |11 || LED_EN ||12 || T_CS | ||
+ | |- | ||
+ | |13 || KEY_1 ||14 || GND | ||
+ | |- | ||
+ | |15 || KEY_2 ||16 || KEY_3 | ||
+ | |- | ||
+ | |17 || VDD_3.3V ||18 || T_IRQ | ||
+ | |- | ||
+ | |19 || SPI_MOSI ||20 || GND | ||
+ | |- | ||
+ | |21 || SPI_MISO ||22 || LCD_D/C | ||
+ | |- | ||
+ | |23 || SPI_CLK ||24 || LCD_CS | ||
+ | |- | ||
+ | |25 || GND ||26 || NC | ||
+ | |- | ||
+ | |} | ||
+ | Matrix-2'8_SPI_Key_TFT-1706将触摸芯片的使能引脚T_CS从Pin26修改为Pin12,这样修改之后NEO/NEO2/NEO-Plus2等引脚是24Pin兼容的开发板就能正常使用触摸芯片了。 | ||
+ | |||
+ | ==支持该配件的开发板型号和软件版本== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | |序号 ||CPU型号|| 开发板型号 || 软件版本 | ||
+ | |- | ||
+ | |1 ||H3||NanoPi NEO|| 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM | ||
+ | |- | ||
+ | |2 ||H3||NanoPi NEO Air || 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM | ||
+ | |- | ||
+ | |3 ||H3||NanoPi M1 || 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM | ||
+ | |- | ||
+ | |4 ||H3||NanoPi M1 Plus || 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM | ||
+ | |- | ||
+ | |5 ||H5||NanoPi NEO2 || 使用开源社区Linux-4.x内核的ROM | ||
+ | |- | ||
+ | |6 ||H5||NanoPi NEO Plus2 || 使用开源社区Linux-4.x内核的ROM | ||
|} | |} | ||
==硬件连接== | ==硬件连接== | ||
− | ===连接NanoPi M1=== | + | ===H3系列=== |
+ | ====连接NanoPi M1==== | ||
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
[[File:Matrix-2'8_SPI_Key_TFT_nanopi_m1.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_m1]] | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_m1.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_m1]] | ||
− | ===连接NanoPi M1 Plus=== | + | ====连接NanoPi M1 Plus==== |
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
[[File:Matrix-2'8_SPI_Key_TFT_nanopi_m1_plus.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_m1_plus]] | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_m1_plus.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_m1_plus]] | ||
− | ===连接NanoPi NEO=== | + | ====连接NanoPi NEO==== |
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
[[File:Matrix-2'8_SPI_Key_TFT_nanopi_neo.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_neo]] | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_neo.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_neo]] | ||
− | ===连接NanoPi NEO Air=== | + | ====连接NanoPi NEO Air==== |
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
[[File:Matrix-2'8_SPI_Key_TFT_nanopi_neo_air.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_neo_air]] | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_neo_air.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_neo_air]] | ||
− | ===连接NanoPi 2=== | + | ===H5系列=== |
+ | ====连接NanoPi NEO2==== | ||
+ | 参考下图连接模块:<br> | ||
+ | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_neo2.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_neo2]] | ||
+ | |||
+ | ====连接NanoPi NEO Plus2==== | ||
+ | 参考下图连接模块:<br> | ||
+ | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_neo_plus2.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_neo_plus2]] | ||
+ | |||
+ | ===4418系列=== | ||
+ | ====连接NanoPi2==== | ||
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
[[File:Matrix-2'8_SPI_Key_TFT_nanopi2.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi2]] | [[File:Matrix-2'8_SPI_Key_TFT_nanopi2.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi2]] | ||
− | ===连接NanoPi M2 / | + | ====连接NanoPi M2 / NanoPi2 Fire==== |
NanoPi M2和NanoPi 2 Fire的40 Pin引脚定义是一模一样的,所以它们操作Matrix配件的步骤是一样的,这里仅以NanoPi M2为例。<br> | NanoPi M2和NanoPi 2 Fire的40 Pin引脚定义是一模一样的,所以它们操作Matrix配件的步骤是一样的,这里仅以NanoPi M2为例。<br> | ||
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
[[File:Matrix-2'8_SPI_Key_TFT_nanopi_m2.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_m2]] | [[File:Matrix-2'8_SPI_Key_TFT_nanopi_m2.jpg|frameless|600px|Matrix-2'8_SPI_Key_TFT_nanopi_m2]] | ||
− | == | + | ==测试方法== |
− | ===在Ubuntu-Core上运行Qt程序=== | + | ===H3/H5配合Linux-4.x内核=== |
+ | 当使用的开发板为H3或者H5系列时,假设使用的ROM是基于Linux-4.x主线内核的Ubuntu-Core with Qt-Embedded系统,那么首先需要通过npi-config工具来使能Matrix-2'8_SPI_Key_TFT。<br> | ||
+ | 启动系统,在root用户下执行下列命令运行npi-config: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ npi-config | ||
+ | </syntaxhighlight> | ||
+ | 然后依次进入下列菜单项:<br> | ||
+ | [[File:tft-1.png|frameless|1000px|tft-1]]<br> | ||
+ | 进入SPI菜单:<br> | ||
+ | [[File:tft-2.png|frameless|1000px|tft-2]]<br> | ||
+ | 选择是否使能SPI0:<br> | ||
+ | [[File:tft-3.png|frameless|1000px|tft-3]]<br> | ||
+ | 选择enable SPI0后,再选择SPI0上连接的设备为Matrix-2'8_SPI_Key_TFT:<br> | ||
+ | [[File:pcm5102a-4.png|frameless|1000px|pcm5102a-4]]<br> | ||
+ | 最后返回主菜单,选择<Finish>,然后根据提示重启系统。重新启动系统后,执行下列命令检查Matrix-2'8_SPI_Key_TFT的显示芯片和触摸芯片是否被使能: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ls /dev/fb-st7789s | ||
+ | /dev/fb-st7789s | ||
+ | </syntaxhighlight> | ||
+ | /dev/fb-st7789s就是显示芯片的framebuffer设备节点。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ls /dev/input/ts-ads7846 | ||
+ | /dev/input/ts-ads7846 | ||
+ | </syntaxhighlight> | ||
+ | /dev/input/ts-ads7846就是触摸芯片的设备节点。 | ||
+ | 第一次进入系统时会进行触摸校准,根据屏幕的提示点击5个点完成校准即可。<br> | ||
+ | 通过npi-config使能Matrix-2'8_SPI_Key_TFT后,系统会将默认的登录显示设备设置为Matrix-2'8_SPI_Key_TFT,效果如下: | ||
+ | |||
+ | |||
+ | ===H3配合Linux-3.4内核/4418配合Linux-3.4内核=== | ||
+ | ====在Ubuntu-Core上运行Qt程序==== | ||
由于Ubuntu-Core系统带有Qt环境,我们可以在该系统上运行一个简单且带图形界面的Qt程序。<br> | 由于Ubuntu-Core系统带有Qt环境,我们可以在该系统上运行一个简单且带图形界面的Qt程序。<br> | ||
启动开发板并运行Ubuntu-Core系统,进入系统后克隆Matrix代码仓库: | 启动开发板并运行Ubuntu-Core系统,进入系统后克隆Matrix代码仓库: | ||
Line 123: | Line 220: | ||
三原色可以呈现出屏幕的最佳显示效果。 | 三原色可以呈现出屏幕的最佳显示效果。 | ||
− | ===在2.8寸屏上显示Debian桌面=== | + | ====在2.8寸屏上显示Debian桌面==== |
对于支持Debian系统的开发板,用户可以通过下列操作将Debian的桌面显示在2.8寸屏上。<br> | 对于支持Debian系统的开发板,用户可以通过下列操作将Debian的桌面显示在2.8寸屏上。<br> | ||
Revision as of 05:31, 4 July 2017
1 介绍
- Matrix-2'8_SPI_Key_TFT模块是一款2.8英寸的TFT 触摸LCD,模块采用ST7789S驱动IC和XPT2046电阻式触摸IC,屏幕分辨率为240*320,采用SPI控制接口,模块还包含3个独立按键,可根据需要自定义功能。
- 详细规格如下所示:
LCD尺寸 | 2.8寸 |
显示区域 | 57.6mm*43.2mm |
驱动IC | ST7789S |
分辨率 | 240*320(RGB) |
接口方式 | SPI |
工作电压 | 5V |
背光电压 | 5V |
触摸屏类型 | 电阻式,钢化玻璃触摸屏 |
模块上电默认打开背光,可通过置低LED_EN引脚关闭背光。如果需要关闭上电打开背光,只需要拿到电路板上的R12电阻,再通过置高LED_EN引脚打开背光;
2 特性
- PCB尺寸(mm):
- 引脚说明:
Matrix-2'8_SPI_Key_TFT目前已经推出过2个版本,引脚定义如下:
Matrix-2'8_SPI_Key_TFT-1512 | |||
Pin# | Name | Pin# | Name |
1 | VDD_3.3V | 2 | VDD_5V |
3 | NC | 4 | VDD_5V |
5 | NC | 6 | GND |
7 | LCD_RESET | 8 | NC |
9 | GND | 10 | NC |
11 | LED_EN | 12 | NC |
13 | KEY_1 | 14 | GND |
15 | KEY_2 | 16 | KEY_3 |
17 | VDD_3.3V | 18 | T_IRQ |
19 | SPI_MOSI | 20 | GND |
21 | SPI_MISO | 22 | LCD_D/C |
23 | SPI_CLK | 24 | LCD_CS |
25 | GND | 26 | T_CS |
Matrix-2'8_SPI_Key_TFT-1706 | |||
Pin# | Name | Pin# | Name |
1 | VDD_3.3V | 2 | VDD_5V |
3 | NC | 4 | VDD_5V |
5 | NC | 6 | GND |
7 | LCD_RESET | 8 | NC |
9 | GND | 10 | NC |
11 | LED_EN | 12 | T_CS |
13 | KEY_1 | 14 | GND |
15 | KEY_2 | 16 | KEY_3 |
17 | VDD_3.3V | 18 | T_IRQ |
19 | SPI_MOSI | 20 | GND |
21 | SPI_MISO | 22 | LCD_D/C |
23 | SPI_CLK | 24 | LCD_CS |
25 | GND | 26 | NC |
Matrix-2'8_SPI_Key_TFT-1706将触摸芯片的使能引脚T_CS从Pin26修改为Pin12,这样修改之后NEO/NEO2/NEO-Plus2等引脚是24Pin兼容的开发板就能正常使用触摸芯片了。
3 支持该配件的开发板型号和软件版本
序号 | CPU型号 | 开发板型号 | 软件版本 |
1 | H3 | NanoPi NEO | 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM |
2 | H3 | NanoPi NEO Air | 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM |
3 | H3 | NanoPi M1 | 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM |
4 | H3 | NanoPi M1 Plus | 使用全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核的ROM |
5 | H5 | NanoPi NEO2 | 使用开源社区Linux-4.x内核的ROM |
6 | H5 | NanoPi NEO Plus2 | 使用开源社区Linux-4.x内核的ROM |
4 硬件连接
4.1 H3系列
4.1.1 连接NanoPi M1
4.1.2 连接NanoPi M1 Plus
4.1.3 连接NanoPi NEO
4.1.4 连接NanoPi NEO Air
4.2 H5系列
4.2.1 连接NanoPi NEO2
4.2.2 连接NanoPi NEO Plus2
参考下图连接模块:
Matrix-2'8_SPI_Key_TFT_nanopi_neo_plus2
4.3 4418系列
4.3.1 连接NanoPi2
4.3.2 连接NanoPi M2 / NanoPi2 Fire
NanoPi M2和NanoPi 2 Fire的40 Pin引脚定义是一模一样的,所以它们操作Matrix配件的步骤是一样的,这里仅以NanoPi M2为例。
参考下图连接模块:
Matrix-2'8_SPI_Key_TFT_nanopi_m2
5 测试方法
5.1 H3/H5配合Linux-4.x内核
当使用的开发板为H3或者H5系列时,假设使用的ROM是基于Linux-4.x主线内核的Ubuntu-Core with Qt-Embedded系统,那么首先需要通过npi-config工具来使能Matrix-2'8_SPI_Key_TFT。
启动系统,在root用户下执行下列命令运行npi-config:
$ npi-config
然后依次进入下列菜单项:
进入SPI菜单:
选择是否使能SPI0:
选择enable SPI0后,再选择SPI0上连接的设备为Matrix-2'8_SPI_Key_TFT:
最后返回主菜单,选择<Finish>,然后根据提示重启系统。重新启动系统后,执行下列命令检查Matrix-2'8_SPI_Key_TFT的显示芯片和触摸芯片是否被使能:
$ ls /dev/fb-st7789s /dev/fb-st7789s
/dev/fb-st7789s就是显示芯片的framebuffer设备节点。
$ ls /dev/input/ts-ads7846 /dev/input/ts-ads7846
/dev/input/ts-ads7846就是触摸芯片的设备节点。
第一次进入系统时会进行触摸校准,根据屏幕的提示点击5个点完成校准即可。
通过npi-config使能Matrix-2'8_SPI_Key_TFT后,系统会将默认的登录显示设备设置为Matrix-2'8_SPI_Key_TFT,效果如下:
5.2 H3配合Linux-3.4内核/4418配合Linux-3.4内核
5.2.1 在Ubuntu-Core上运行Qt程序
由于Ubuntu-Core系统带有Qt环境,我们可以在该系统上运行一个简单且带图形界面的Qt程序。
启动开发板并运行Ubuntu-Core系统,进入系统后克隆Matrix代码仓库:
$ apt-get update && apt-get install git $ git clone https://github.com/friendlyarm/matrix.git
克隆完成后会得到一个名为matrix的目录。
编译并运行Qt测试程序:
cd matrix/demo/nanopi-status ./build.sh ./run.sh /dev/fb-st7789s
nanopi-status是一个简单的Qt程序,可用于显示系统的基本信息,效果如下:
脚本run.sh会先加载tft屏的驱动模块然后运行Qt程序,驱动模块加载成功后会生成设备节点/dev/fb-st7789s,下列命令可以确定驱动模块是否成功加载:
lsmod Module Size Used by fbtft_device 29235 0
在确定tft驱动模块已加载的前提下,运行下列命令可以显示三原色:
cd matrix/demo/matrix-lcdtest make export LCDSET_FB_DEV=/dev/fb-st7789s ./matrix-lcdtest
三原色可以呈现出屏幕的最佳显示效果。
5.2.2 在2.8寸屏上显示Debian桌面
对于支持Debian系统的开发板,用户可以通过下列操作将Debian的桌面显示在2.8寸屏上。
启动开发板并运行Debian系统,进入系统后克隆Matrix代码仓库:
$ apt-get update && apt-get install git $ git clone https://github.com/friendlyarm/matrix.git
克隆完成后会得到一个名为matrix的目录。
对于H3系列的开发板,需要先修改X11的配置文件:
$ vi /etc/X11/xorg.conf
将字样“/dev/fb0”修改为“/dev/fb-st7789s”。
执行下列命令在2.8寸屏上启动Debian桌面:
$ cd matrix/demo/nanopi-status/ $ ./display-debian.sh /dev/fb-st7789s
用触摸笔在屏幕上点击4个点完成校准并进入Debian桌面,效果如下:
完成触摸校准后终端会有类似如下的打印信息:
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 相关资料
- [Schematic](Matrix - 2'8 SPI Key TFT-Schematic.pdf)