NanoPi M1

From FriendlyELEC WiKi
Revision as of 07:30, 18 March 2016 by Wuweidong (Talk | contribs)

Jump to: navigation, search

此页面目前仍处于编辑状态中,请稍后查看...
English

1 介绍

Overview
Front
Back
frameless
  • NanoPi M1(以下简称M1)是友善之臂团队面向创客、嵌入式爱好者,电子艺术家、发烧友等群体推出的又一款完全开源的掌上创客神器,它的大小只有树莓派的大约2/3,可运行Debian、Ubuntu-MATE、Ubuntu-Core、Android等操作系统。
  • NanoPi M1采用了全志高性能处理器Allwinner H3,集成以太网、红外接收、视频/音频输出等接口,支持HDMI、AVOUT视频输出等功能。
  • 尽管体积很小,设计却紧凑美观。NanoPi M1引出了相当丰富的接口,包括HDMI、以太网、USB-Host、USB-OTG、DVP camera和AVOUT(音频+视频)等。而且集成了板载麦克风,红外接收器,并且兼容树莓派GPIO口,并且拥有独立的调试串口等。

2 资源特性

  • CPU:Allwinner H3, Quad-core Cortex-A7@1.2GHz
  • GPU:Mali400MP2@600MHz,Supports OpenGL ES2.0
  • DDR3 RAM:512MB
  • 网络:10/100M以太网
  • 音频:3.5mm耳机座/Via HDMI
  • 麦克风:板载麦克风
  • 红外:板载红外接收模块
  • USB Host:Type A型号,USB 2.0 x 3
  • MicroSD Slot:x1
  • MicroUSB :支持供电和数据传输,有OTG功能
  • 视频输出: HDMI 1.4 1080P高清显示, CVBS
  • DVP Camera接口:24pin,0.5mm间距竖直贴片FPC座
  • 调试串口:4Pin,2.54mm排针
  • GPIO: 40pin, 2.54mm间距,兼容RasberryPi2的扩展GPIO,含UART, SPI, I2C, PWM, IO等管脚资源
  • 按键:电源按键x1,复位按键x1
  • PC Size: 64 x 50mm
  • Power Supply: DC 5V/2A
  • OS/Software: u-boot,Debian,Ubuntu-MATE,Ubuntu-Core

compact

3 接口布局和尺寸

3.1 接口布局

NanoPi M1接口布局
  • GPIO管脚定义
Pin# Name Pin# Name
1 SYS_3.3V 2 VDD_5V
3 I2C0_SDA 4 VDD_5V
5 I2C0_SCL 6 GND
7 GPIOG11 8 UART1_TX/GPIOG6
9 GND 10 UART1_RX/GPIOG7
11 UART2_TX/GPIOA0 12 PWM1/GPIOA6
13 UART2_RTS/GPIOA2 14 GND
15 UART2_CTS/GPIOA3 16 UART1_RTS/GPIOG8
17 SYS_3.3V 18 UART1_CTS/GPIOG9
19 SPI0_MOSI/GPIOC0 20 GND
21 SIP0_MISO/GPIOC1 22 UART2_RX/GPIOA1
23 SPI0_CLK/GPIOC29 24 SPI0_CS/GPIOC3
25 GND 26 SPDIF-OUT/GPIOA17
27 I2C1_SDA/GPIOA19 28 I2C1_SCL/GPIOA18
29 GPIOA20 30 GND
31 GGPIOA21 32 GPIOA7
33 GPIOA8 34 GND
35 UART3_CTS/SPI1_MISO/GPIOA16 36 UART3_TX/SPI1_CS/GPIOA13
37 GPIOA9 38 UART3_RTS/SPI1_MOSI/GPIOA15
39 GND 40 UART3_RX/SPI1_CLK/GPIOA14
  • Debug Port(UART0)
Pin# Name
1 GND
2 VDD_5V
3 UART_TXD0
4 UART_RXD0
  • DVP Camera IF 管脚定义
Pin# Name Description
1, 2 SYS_3.3V 3.3V电源输出给外部摄像头模块
7,9,13,15,24 GND 参考地, 0V
3 I2C2_SCL I2C时钟信号
4 I2C2_SDA I2C数据信号
5 GPIOE15 普通GPIO, 施加给外部摄像头模块的控制信号
6 GPIOE14 普通GPIO, 施加给外部摄像头模块的控制信号
8 MCLK 提供给外部摄像头模块的时钟信号
10 NC 没有连接
11 VSYNC 外部摄像头模块输出给CPU的行信号
12 HREF/HSYNC 外部摄像头模块输出给CPU的场信号
14 PCLK 外部摄像头模块输出给CPU的像数点信号
16-23 Data bit7-0 数据信号
说明
  1. SYS_3.3V: 3.3V电源输出
  2. VDD_5V: 5V电源输入/输出。当电压大于MicroUSB时,向板子供电,否则板子从MicroUSB取电。输入范围:4.7~5.6V
  3. 全部信号引脚均为3.3V电平,输出电流为5mA,可以带动小负荷模块,io都不能带负载
  4. 更详细的信息请查看原理图:NanoPi-M1-1603-Schematic.pdf

3.2 机械尺寸

NanoPi-M1-1603-dimensions.png

详细尺寸:pcb的dxf文件

4 快速入门

4.1 准备工作

要开启你的NanoPi M1新玩具,请先准备好以下硬件

  • NanoPi M1主板
  • microSD卡/TF卡: Class10或以上的 8GB SDHC卡
  • 一个microUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)
  • 一台支持HDMI输入的显示器或者电视
  • 一套USB键盘鼠标,同时连接还需要USB HUB (或选购串口转接板,要PC上进行操作)
  • 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统

4.2 经测试使用的TF卡

制作启动NanoPi M1的TF卡时,建议Class10或以上的 8GB SDHC卡。以下是经友善之臂测试验证过的高速TF卡:

  • SanDisk闪迪 TF 8G Class10 Micro/SD 高速 TF卡:

SanDisk MicroSD 8G

  • SanDisk闪迪 TF128G 至尊高速MicroSDXC TF 128G Class10 48MB/S:

SanDisk MicroSD 128G

  • 川宇 8G手机内存卡 8GTF卡存储卡 C10高速class10 micro SD卡:

chuanyu MicroSD 8G

4.3 制作一张带运行系统的microSD卡

4.3.1 简易方法制作

首先访问此处的下载地址下载需要的固件文件:

使用以下固件:
nanopi-m1-debian-sd4g.img.zip Debian系统固件
烧写工具:
win32diskimager.rar Windows平台下的烧写工具,Linux系统可以用dd命令
  • 将固件和烧写工具分别解压,在Windows下插入SD卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, 在win32diskimager工具的界面上,选择你的SD卡盘符,选择你要烧写的系统固件,点击 Write 按钮烧写即可。
  • 当制作完成SD卡后,拔出SD卡插入NanoPi M1的BOOT卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到绿灯常亮以及蓝灯闪烁,这时你已经成功启动 NanoPi M1。


5 Debian系统的使用

5.1 连接有线网络

NanoPi M1在加电开机前如果已正确的连接网线,则系统启动时会自动获取IP地址,如果没有连接网线、没有DHCP服务或是其它网络问题,则会导致获取IP地址失败,同时系统启动会因此等待约15~60秒的时间。

  • 1) 配置MAC地址

板子没有提供有效的Ethernet的MAC地址,系统在连接网络时会自动生成一个随机的MAC地址,您可以修改 /etc/network/interfaces.d/eth0 ,配置一个固定的MAC地址:

vi /etc/network/interfaces.d/eth0

以下是配置文件的具体内容:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
hwaddress 76:92:d4:85:f3:0f

其中"hwaddress" 就是用来指定MAC地址,"76:92:d4:85:f3:0f"是一个随机生成的地址,为防止冲突导致网络问题,请修改为一个不同的且有效的地址。
需要注意的一点是,MAC地址必须符合IEEE的规则,请不要随意指定,否则会出现无法获取IP地址、无法上网等问题。 修改完配置文件并保存后,可重启板子或直接下列命令重启网络服务:

systemctl restart networking

5.2 测试GPU

启动Debian系统,在HDMI输出的界面下登录Debian,打开终端并运行程序glmark2-es2:

glmark2-es2

m1-gpu-glmark2

5.3 测试VPU

访问此处下载地址下载视频文件。
启动Debian系统,在HDMI输出的界面下登录Debian,打开终端运行mplayer播放视频:

mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau, ./big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4

经测试,可流畅播放1080p视频。

6 如何编译Debian系统

下载源码,进入目录lichee:

cd lichee

6.1 编译完整源码

一次性编译整个源码包,包括U-boot、Linux Kernel和Module:

./build.sh -p sun8iw7p1 -b nanopi-h3
./gen_script.sh

gen_script.sh会打包所有可执行文件,并生成支持不同分辨率的script.bin。 script.bin是全志cpu的配置文件,相关信息请查看script.bin

6.2 烧写系统到SD卡

烧写U-boot、Linux Kernel和script.bin到SD卡上:

./burn_into_sd.sh /dev/sdx

/dev/sdx请替换为实际的SD卡设备文件名,该脚本会烧写U-boot到SD卡中,并拷贝uImage和script.bin到SD卡boot分区。

6.3 编译U-boot

./build.sh -p sun8iw7p1 -b nanopi-h3 -m uboot

编译生成的可执行文件需打上补丁后才能烧写到SD卡上运行,执行./gen_script.sh脚本能完成打补丁的操作。
如何手动打补丁请查看H3_Manual_build_howto

6.4 编译Linux Kernel

./build.sh -p sun8iw7p1 -b nanopi-h3 -m kernel

编译完成后uImage和内核模块均位于linux-3.4/output目录下。

6.5 清理源码

./build.sh -p sun8iw7p1 -b nanopi-h3 -m clean

7 如何编译Android系统

8 更多OS

8.1 Ubuntu-Core

Ubuntu-Core是一个轻量级的Ubuntu系统,无桌面环境,可通过ssh登录。
仅提供给进阶爱好者交流使用,不对该系统提供专业技术支持。

  • 访问此处下载地址下载系统固件。
  • 将固件解压后,在Windows下使用友善官方提供 win32diskimager 工具烧写即可。
  • 烧写完成后,将SD卡插入NanoPi M1,上电即可体验Ubuntu-Core。
  • 登录账号:root或fa ; 登录密码:fa

8.2 Ubuntu-MATE

Ubuntu-MATE基于Ubuntu系统,使用的桌面环境是MATE-desktop,界面简洁易用,需配合HDMI使用,可通过ssh登录。
仅提供给进阶爱好者交流使用,不对该系统提供专业技术支持。

  • 访问此处下载地址下载系统固件。
  • 将固件解压后,在Windows下使用友善官方提供 win32diskimager 工具烧写Ubuntu-MATE即可。
  • 烧写完成后,将SD卡插入NanoPi M1,上电即可体验Ubuntu-MATE。
  • 登录账号:root或fa ; 登录密码:fa

9 资源连接

原理图 NanoPi-M1-1603-Schematic.pdf
尺寸图 pcb的dxf文件
H3芯片手册 Allwinner_H3_Datasheet_V1.2.pdf