Bootstrap

(盈鹏飞嵌入式T113-S4主板)-GPIO的测试

SBC-T113S产品特性:

  • 采用Allwinner公司Cortex-A7双核T113-S3/S4处理器,运行最高速度为1.2GHZ;
  • 内置64-bit XuanTie C906 RISC-V协处理器(仅T113-S4支持);
  • 支持JPEG/MJPEG视频编码,最大分辨率1080p@60fps;支持多格式1080P@60fps视频解码 (H.265,H.264, MPEG-1/2/4);
  • 支持RGB666/LVDS/MIPI-DSI,分辨率最高1920x1080;
  • 支持128-256M Bytes DDR3 SDRAM,其中T113-S3内置128MB;T113-S4内置256MB;
  • 支持SPI NAND存储和启动(默认:256MB)或者EMMC启动(默认:4GB,最大32GB);
  • 支持一路USB2.0 OTG(设计为TYPE-A接口);支持二路USB2.0 HOST;
  • 支持七路RS232通信或者6路RS232和1路RS485(非隔离);
  • 支持一路CAN BUS通信(非隔离);
  • 支持一路10/100M以太网;
  • 稳定的操作系统的支持,可预装LINUX 5.4(Preempt)或者OpenWRT;
  • 经典尺寸主板,尺寸为120*100MM;

SBC-T113S产品功能评估图:

GPIO的测试: 

SBC-T113S主板上引出了一些GPIO(CN1),它们和RGB666显示接口是复用的,也就是说,当使用RGB666接口(CN23)时,这些GPIO是不能被分配的。当使用LVDS显示(CN21)时,这些GPIO可以单独使用或者配置为SPI总线。因此,为了能够正常操作这些GPIO,务必烧写LVDS的固件。为了演示GPIO的控制,本章节以GPIO-PD17进行说明。CN1的信号的定义如下:

图69 GPIO接口位置 

脚位

定义

说明

1

GND

2

VCC3V3_IO

3.3V电源

3

SPI1-CS

SPI片选信号,连接主处理器的PD10

4

SPI1-CLK

SPI时钟信号,连接主处理器的PD11

5

SPI1-MISO

SPI主入从出信号,连接主处理器的PD13

6

SPI1-MOSI

SPI主出从入信号,连接主处理器的PD12

7

SPI1-WP

SPI写保护信号,连接主处理器的PD15

8

SPI1-HOLD

SPI HOLD信号,连接主处理器的PD14

9

PWM0

连接主处理器的PD16

10

PWM1

连接主处理器的PD17

 GPIO的控制是通过文件系统sysfs接口来实现的,下面内容以PD17为例说明GPIO的使用过程。

计算gpio对应引脚的数值= n*32+x

(全志GPIO口是分组来命名的,PA是一组,PB是一组,依次类推;对于公式中的n, PA一组gpio为0,PB为1,以此类推,PD对应的是 3;x表示GPIO的序号,比如PD17,那么x=17。

计算如下:

PD17 = 3 * 32 + 17 = 113

使用GPIO前,先要导出GPIO,见如下指令:

echo 113 > /sys/class/gpio/export

设置GPIO的方向,例如输入或者输出,见如下指令:

echo out > /sys/class/gpio113/direction

如果设置GPIO的方向为输出,则可以控制输出电平,见如下指令:

echo 1 > /sys/class/gpio/gpio113/value (高电平)

echo 0 > /sys/class/gpio/gpio113/value (低电平)

如果设置GPIO的方式为输入,则可以读取GPIO的电平,见如下指令:

cat /sys/class/gpio/gpio113/value

以下是指令的具体操作过程:

1.  导出GPIO

[root@T113-Embfly:/]# echo 113 > /sys/class/gpio/export

导出成功后会在/sys/class/gpio/目录下生成gpio113这个目录。

2.  设置/查看GPIO方向

  • 设置输入

 [root@T113-Embfly:/]# echo in > /sys/class/gpio/gpio113/direction

  • 设置输出

[root@T113-Embfly:/]# echo out > /sys/class/gpio/gpio113/direction

  • 查看gpio方向

[root@T113-Embfly:/]# cat /sys/class/gpio/gpio113/direction

out

返回in表示输入,返回out表示输出。

3.  设置/查看GPIO的值

  • 设置输出低

[root@T113-Embfly:/]# echo "0" > /sys/class/gpio/gpio113/value 

  • 设置输出高

[root@T113-Embfly:/]# echo "1" > /sys/class/gpio/gpio113/value 

  • 查看gpio值

[root@T113-Embfly:/]# cat /sys/class/gpio/gpio113/value

1

可以看到PD17输出高电平,可以用万用表测量CN1的PD17引脚,可以看到电压为3.3V左右。 

;