Difference between revisions of "NanoPi M1"

From FriendlyELEC WiKi
Jump to: navigation, search
(Undo revision 4593 by Wuweidong (talk))
Line 1: Line 1:
<span style="color:#ff0000"> 此页面目前仍处于编辑状态中,请稍后查看...<br></span>
+
[[NanoPi M1/zh|查看中文]]
[[NanoPi M1|English]]
+
  
 
==介绍==
 
==介绍==
Line 7: Line 6:
 
[[File:NanoPi M1-3.jpg|thumb|frameless|300px|Back]]
 
[[File:NanoPi M1-3.jpg|thumb|frameless|300px|Back]]
 
[[File:NanoPi M1-4.jpg|thumb|frameless|300px]]
 
[[File:NanoPi M1-4.jpg|thumb|frameless|300px]]
* NanoPi M1(以下简称M1)是友善之臂团队面向创客、嵌入式爱好者,电子艺术家、发烧友等群体推出的又一款完全开源的掌上创客神器,它的大小只有树莓派的大约2/3,可运行Debian、Ubuntu-MATE、Ubuntu-Core、Android等操作系统。
+
* NanoPi M1(以下简称M1)是友善之臂团队面向创客、嵌入式爱好者,电子艺术家、发烧友等群体推出的又一款完全开源的掌上创客神器,它的大小只有树莓派的大约2/3,可运行Ubuntu MATE、Debian、Android等操作系统。
 
* NanoPi M1采用了全志高性能处理器Allwinner H3,集成以太网、红外接收、视频/音频输出等接口,支持HDMI、AVOUT视频输出等功能。  
 
* NanoPi M1采用了全志高性能处理器Allwinner H3,集成以太网、红外接收、视频/音频输出等接口,支持HDMI、AVOUT视频输出等功能。  
 
* 尽管体积很小,设计却紧凑美观。NanoPi M1引出了相当丰富的接口,包括HDMI、以太网、USB-Host、USB-OTG、DVP camera和AVOUT(音频+视频)等。而且集成了板载麦克风,红外接收器,并且兼容树莓派GPIO口,并且拥有独立的调试串口等。
 
* 尽管体积很小,设计却紧凑美观。NanoPi M1引出了相当丰富的接口,包括HDMI、以太网、USB-Host、USB-OTG、DVP camera和AVOUT(音频+视频)等。而且集成了板载麦克风,红外接收器,并且兼容树莓派GPIO口,并且拥有独立的调试串口等。
  
==资源特性==
+
==Features==
* CPU:Allwinner H3, Quad-core Cortex-A7@1.2GHz
+
* CPU: Allwinner H3, Quad-core Cortex-A7@1.2GHz
* GPU:Mali400MP2@600MHz,Supports OpenGL ES2.0
+
* GPU: Mali400MP2@600MHz,Supports OpenGL ES2.0
* DDR3 RAM:512MB
+
* DDR3 RAM: 512MB
* 网络:10/100M以太网
+
* Connectivity: 10/100M Ethernet
* 音频:3.5mm耳机座/Via HDMI
+
* Audio: 3.5mm audio jack/Via HDMI
* 麦克风:板载麦克风
+
* Microphone: Onboard microphone
* 红外:板载红外接收模块
+
* IR Receiver: Onboard IR receiver
* USB Host:Type A型号,USB 2.0 x 3
+
* USB Host:Type A, USB 2.0 x 3
* MicroSD Slot:x1
+
* MicroSD Slot x 1
* MicroUSB :支持供电和数据传输,有OTG功能
+
* MicroUSB: for data transmission and power input, OTG
* 视频输出: HDMI 1.4 1080P高清显示, CVBS
+
* Video Output: HDMI 1.4 1080P, CVBS
* DVP Camera接口:24pin,0.5mm间距竖直贴片FPC座
+
* DVP Camera Interface: 24pin, 0.5mm pitch FPC seat
* 调试串口:4Pin,2.54mm排针
+
* Debug Serial Port: 4Pin, 2.54mm pitch pin header
* GPIO: 40pin, 2.54mm间距,兼容RasberryPi2的扩展GPIO,含UART, SPI, I2C, PWM, IO等管脚资源
+
* GPIO: 2.54mm spacing 40pin, compatible with Raspberry Pi's GPIO. It includes UART, SPI, I2C, IO etc
* 按键:电源按键x1,复位按键x1
+
* User Key: Power LED x 1, Reset x 1
 
* PC Size: 64 x 50mm
 
* PC Size: 64 x 50mm
 
* Power Supply: DC 5V/2A
 
* Power Supply: DC 5V/2A
* OS/Software: u-boot,Debian,Ubuntu-MATE,Ubuntu-Core
+
* OS/Software: u-boot,Ubuntu MATE,Debian
 
[[File:NanoPi M1-B03.png|frameless|500px|compact]]
 
[[File:NanoPi M1-B03.png|frameless|500px|compact]]
  
==接口布局和尺寸==
+
==Diagram, Layout and Dimension==
===接口布局===
+
===Layout===
[[File:NanoPi-M1-1602-if01.png |thumb|600px|NanoPi M1接口布局]]
+
[[File:NanoPi-M1-1602-if01.png |thumb|600px|NanoPi M1 Layout]]
  
* '''GPIO管脚定义'''
+
* '''GPIO Pin Spec'''
 
::{| class="wikitable"
 
::{| class="wikitable"
 
|-
 
|-
Line 96: Line 95:
 
|}
 
|}
  
* '''DVP Camera IF 管脚定义'''
+
* '''DVP Camera IF Pin Spec'''
 
::{| class="wikitable"
 
::{| class="wikitable"
 
|-
 
|-
 
|Pin# || Name      || Description   
 
|Pin# || Name      || Description   
 
|-
 
|-
|1, 2 || SYS_3.3V  || 3.3V电源输出给外部摄像头模块
+
|1, 2 || SYS_3.3V  || 3.3V power output, to camera modules
 
|-
 
|-
|7,9,13,15,24 || GND || 参考地, 0V
+
|7,9,13,15,24 || GND || Gound, 0V
 
|-
 
|-
|3    || I2C2_SCL || I2C时钟信号
+
|3    || I2C2_SCL || I2C Clock Signal
 
|-  
 
|-  
|4    || I2C2_SDA  || I2C数据信号
+
|4    || I2C2_SDA  || I2C Data Signal
 
|-
 
|-
|5    || GPIOE15  || 普通GPIO, 施加给外部摄像头模块的控制信号
+
|5    || GPIOE15  || Regular GPIO, control signals output to camera modules
 
|-
 
|-
|6    || GPIOE14 || 普通GPIO, 施加给外部摄像头模块的控制信号
+
|6    || GPIOE14 || Regular GPIO, control signals output to camera modules
 
|-
 
|-
|8    || MCLK      || 提供给外部摄像头模块的时钟信号
+
|8    || MCLK      || Clock signals output to camera modules
 
|-
 
|-
|10  || NC || 没有连接
+
|10  || NC || Not Connected
 
|-
 
|-
|11  || VSYNC || 外部摄像头模块输出给CPU的行信号
+
|11  || VSYNC || vertical synchronization to CPU from camera modules
 
|-  
 
|-  
|12  || HREF/HSYNC || 外部摄像头模块输出给CPU的场信号
+
|12  || HREF/HSYNC || HREF/HSYNC signal to CPU from camera modules
 
|-
 
|-
|14  || PCLK      || 外部摄像头模块输出给CPU的像数点信号
+
|14  || PCLK      || PCLK signal to CPU from camera modules
 
|-
 
|-
|16-23 || Data bit7-0 || 数据信号
+
|16-23 || Data bit7-0 || data signals
 
|}
 
|}
:'''说明'''
+
:'''Note:'''
::#SYS_3.3V: 3.3V电源输出
+
::#SYS_3.3V: 3.3V power output
::#VDD_5V: 5V电源输入/输出。当电压大于MicroUSB时,向板子供电,否则板子从MicroUSB取电。输入范围:4.7~5.6V
+
::#VDD_5V: 5V power input/output. When the external device’s power is greater than the MicroUSB’s the external device is charging the board otherwise the board powers the external device. The input range is 4.7V ~ 5.6V
::#全部信号引脚均为3.3V电平,输出电流为5mA,可以带动小负荷模块,io都不能带负载
+
::#All pins are 3.3V and output current is 5mA. It can drive small loads.可以带动小负荷模块,io都不能带负载
::#更详细的信息请查看原理图:[http://wiki.friendlyarm.com/wiki/images/d/d8/NanoPi-M1-1603-Schematic.pdf NanoPi-M1-1603-Schematic.pdf]
+
::#For more details please refer to the document: [http://wiki.friendlyarm.com/wiki/images/d/d8/NanoPi-M1-1603-Schematic.pdf NanoPi-M1-1603-Schematic.pdf]
  
===机械尺寸===
+
===Board Dimension===
 
[[File:NanoPi-M1-1603-dimensions.png|frameless|500px|]]
 
[[File:NanoPi-M1-1603-dimensions.png|frameless|500px|]]
  
::详细尺寸:[http://wiki.friendlyarm.com/wiki/images/a/ad/NanoPi-M1-1603-dimensions%28dxf%29.zip pcb的dxf文件]
+
::For more details please refer to: [http://wiki.friendlyarm.com/wiki/images/a/ad/NanoPi-M1-1603-dimensions%28dxf%29.zip pcb file in dxf]
  
 
==快速入门==
 
==快速入门==
 
===准备工作===
 
===准备工作===
要开启你的NanoPi M1新玩具,请先准备好以下硬件
 
* NanoPi M1主板
 
* microSD卡/TF卡: Class10或以上的 8GB SDHC卡
 
* 一个microUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)
 
* 一台支持HDMI输入的显示器或者电视
 
* 一套USB键盘鼠标,同时连接还需要USB HUB (或选购串口转接板,要PC上进行操作)
 
* 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统
 
===经测试使用的TF卡===
 
制作启动NanoPi M1的TF卡时,建议Class10或以上的 8GB SDHC卡。以下是经友善之臂测试验证过的高速TF卡:
 
*SanDisk闪迪 TF 8G Class10 Micro/SD 高速 TF卡:
 
[[File:SanDisk MicroSD.png|frameless|100px|SanDisk MicroSD 8G]]
 
*SanDisk闪迪 TF128G 至尊高速MicroSDXC TF 128G Class10 48MB/S:
 
[[File:SanDisk MicroSD-01.png|frameless|100px|SanDisk MicroSD 128G]]
 
*川宇 8G手机内存卡 8GTF卡存储卡 C10高速class10 micro SD卡:
 
[[File:SanDisk MicroSD-02.png|frameless|100px|chuanyu MicroSD 8G]]
 
  
===制作一张带运行系统的microSD卡===
+
==Resources==
====简易方法制作====
+
:Schematic [http://wiki.friendlyarm.com/wiki/images/d/d8/NanoPi-M1-1603-Schematic.pdf NanoPi-M1-1603-Schematic.pdf]
首先访问[http://wiki.friendlyarm.com/wiki/nanopi-m1/download/ 此处的下载地址]下载需要的固件文件:<br />
+
:Dimensional Diagram [http://wiki.friendlyarm.com/wiki/images/a/ad/NanoPi-M1-1603-dimensions%28dxf%29.zip pcb file in dxf]
 
+
::{| class="wikitable"
+
|-
+
|colspan=2|使用以下固件:
+
|-
+
|nanopi-m1-debian-sd4g.img.zip      || Debian系统固件                 
+
|-
+
|colspan=2|烧写工具: 
+
|-
+
|win32diskimager.rar || Windows平台下的烧写工具,Linux系统可以用dd命令
+
|-
+
|}
+
*将固件和烧写工具分别解压,在Windows下插入SD卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, 在win32diskimager工具的界面上,选择你的SD卡盘符,选择你要烧写的系统固件,点击 Write 按钮烧写即可。
+
*当制作完成SD卡后,拔出SD卡插入NanoPi M1的BOOT卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到绿灯常亮以及蓝灯闪烁,这时你已经成功启动 NanoPi M1。<br />
+
 
+
 
+
==Debian系统的使用==
+
===连接有线网络===
+
NanoPi M1在加电开机前如果已正确的连接网线,则系统启动时会自动获取IP地址,如果没有连接网线、没有DHCP服务或是其它网络问题,则会导致获取IP地址失败,同时系统启动会因此等待约15~60秒的时间。
+
* 1) 配置MAC地址
+
板子没有提供有效的Ethernet的MAC地址,系统在连接网络时会自动生成一个随机的MAC地址,您可以修改 /etc/network/interfaces.d/eth0 ,配置一个固定的MAC地址:
+
<syntaxhighlight lang="bash">
+
vi /etc/network/interfaces.d/eth0
+
</syntaxhighlight>
+
以下是配置文件的具体内容:
+
<syntaxhighlight lang="bash">
+
auto eth0
+
allow-hotplug eth0
+
iface eth0 inet dhcp
+
hwaddress 76:92:d4:85:f3:0f
+
</syntaxhighlight>
+
其中"hwaddress" 就是用来指定MAC地址,"76:92:d4:85:f3:0f"是一个随机生成的地址,为防止冲突导致网络问题,请修改为一个不同的且有效的地址。<br />
+
需要注意的一点是,MAC地址必须符合IEEE的规则,请不要随意指定,否则会出现无法获取IP地址、无法上网等问题。
+
修改完配置文件并保存后,可重启板子或直接下列命令重启网络服务:
+
<syntaxhighlight lang="bash">
+
systemctl restart networking
+
</syntaxhighlight>
+
 
+
===测试GPU===
+
启动Debian系统,在HDMI输出的界面下登录Debian,打开终端并运行程序glmark2-es2:
+
<syntaxhighlight lang="bash">
+
glmark2-es2
+
</syntaxhighlight>
+
[[File:m1-gpu-glmark2.png|frameless|500px|m1-gpu-glmark2]]
+
 
+
===测试VPU===
+
访问此处[http://pan.baidu.com/s/1eRefpT4 下载地址]下载视频文件。<br>
+
启动Debian系统,在HDMI输出的界面下登录Debian,打开终端运行mplayer播放视频:
+
<syntaxhighlight lang="bash">
+
mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau, ./big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4
+
</syntaxhighlight>
+
经测试,可流畅播放1080p视频。
+
 
+
==如何编译Debian系统==
+
下载源码,进入目录lichee:
+
<syntaxhighlight lang="bash">
+
cd lichee
+
</syntaxhighlight>
+
 
+
===编译完整源码===
+
一次性编译整个源码包,包括U-boot、Linux Kernel和Module:
+
<syntaxhighlight lang="bash">
+
./build.sh -p sun8iw7p1 -b nanopi-h3
+
./gen_script.sh
+
</syntaxhighlight>
+
gen_script.sh会打包所有可执行文件,并生成支持不同分辨率的script.bin。
+
script.bin是全志cpu的配置文件,相关信息请查看[http://linux-sunxi.org/Script.bin script.bin]
+
 
+
===烧写系统到SD卡===
+
烧写U-boot、Linux Kernel和script.bin到SD卡上:
+
<syntaxhighlight lang="bash">
+
./burn_into_sd.sh /dev/sdx
+
</syntaxhighlight>
+
/dev/sdx请替换为实际的SD卡设备文件名,该脚本会烧写U-boot到SD卡中,并拷贝uImage和script.bin到SD卡boot分区。
+
 
+
===编译U-boot===
+
<syntaxhighlight lang="bash">
+
./build.sh -p sun8iw7p1 -b nanopi-h3 -m uboot
+
</syntaxhighlight>
+
编译生成的可执行文件需打上补丁后才能烧写到SD卡上运行,执行./gen_script.sh脚本能完成打补丁的操作。<br>
+
如何手动打补丁请查看[http://linux-sunxi.org/H3_Manual_build_howto H3_Manual_build_howto]
+
 
+
===编译Linux Kernel===
+
<syntaxhighlight lang="bash">
+
./build.sh -p sun8iw7p1 -b nanopi-h3 -m kernel
+
</syntaxhighlight>
+
编译完成后uImage和内核模块均位于linux-3.4/output目录下。
+
 
+
===清理源码===
+
<syntaxhighlight lang="bash">
+
./build.sh -p sun8iw7p1 -b nanopi-h3 -m clean
+
</syntaxhighlight>
+
 
+
==如何编译Android系统==
+
 
+
==更多OS==
+
===Ubuntu-Core===
+
Ubuntu-Core是一个轻量级的Ubuntu系统,无桌面环境,可通过ssh登录。<br>
+
仅提供给进阶爱好者交流使用,不对该系统提供专业技术支持。<br>
+
* 访问此处[http://pan.baidu.com/s/1hrbFm0s 下载地址]下载系统固件。
+
* 将固件解压后,在Windows下使用友善官方提供 win32diskimager 工具烧写即可。
+
* 烧写完成后,将SD卡插入NanoPi M1,上电即可体验Ubuntu-Core。
+
* 登录账号:root或fa ; 登录密码:fa
+
 
+
===Ubuntu-MATE===
+
Ubuntu-MATE基于Ubuntu系统,使用的桌面环境是MATE-desktop,界面简洁易用,需配合HDMI使用,可通过ssh登录。<br>
+
仅提供给进阶爱好者交流使用,不对该系统提供专业技术支持。
+
* 访问此处[http://pan.baidu.com/s/1boiCWWJ 下载地址]下载系统固件。
+
* 将固件解压后,在Windows下使用友善官方提供 win32diskimager 工具烧写Ubuntu-MATE即可。
+
* 烧写完成后,将SD卡插入NanoPi M1,上电即可体验Ubuntu-MATE。
+
* 登录账号:root或fa ; 登录密码:fa
+
 
+
==资源连接==
+
:原理图 [http://wiki.friendlyarm.com/wiki/images/d/d8/NanoPi-M1-1603-Schematic.pdf NanoPi-M1-1603-Schematic.pdf]
+
:尺寸图 [http://wiki.friendlyarm.com/wiki/images/a/ad/NanoPi-M1-1603-dimensions%28dxf%29.zip pcb的dxf文件]
+
:H3芯片手册 [http://wiki.friendlyarm.com/wiki/images/4/4b/Allwinner_H3_Datasheet_V1.2.pdf Allwinner_H3_Datasheet_V1.2.pdf]
+

Revision as of 08:16, 18 March 2016

查看中文

1 介绍

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

2 Features

  • CPU: Allwinner H3, Quad-core Cortex-A7@1.2GHz
  • GPU: Mali400MP2@600MHz,Supports OpenGL ES2.0
  • DDR3 RAM: 512MB
  • Connectivity: 10/100M Ethernet
  • Audio: 3.5mm audio jack/Via HDMI
  • Microphone: Onboard microphone
  • IR Receiver: Onboard IR receiver
  • USB Host:Type A, USB 2.0 x 3
  • MicroSD Slot x 1
  • MicroUSB: for data transmission and power input, OTG
  • Video Output: HDMI 1.4 1080P, CVBS
  • DVP Camera Interface: 24pin, 0.5mm pitch FPC seat
  • Debug Serial Port: 4Pin, 2.54mm pitch pin header
  • GPIO: 2.54mm spacing 40pin, compatible with Raspberry Pi's GPIO. It includes UART, SPI, I2C, IO etc
  • User Key: Power LED x 1, Reset x 1
  • PC Size: 64 x 50mm
  • Power Supply: DC 5V/2A
  • OS/Software: u-boot,Ubuntu MATE,Debian

compact

3 Diagram, Layout and Dimension

3.1 Layout

NanoPi M1 Layout
  • GPIO Pin Spec
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 Spec
Pin# Name Description
1, 2 SYS_3.3V 3.3V power output, to camera modules
7,9,13,15,24 GND Gound, 0V
3 I2C2_SCL I2C Clock Signal
4 I2C2_SDA I2C Data Signal
5 GPIOE15 Regular GPIO, control signals output to camera modules
6 GPIOE14 Regular GPIO, control signals output to camera modules
8 MCLK Clock signals output to camera modules
10 NC Not Connected
11 VSYNC vertical synchronization to CPU from camera modules
12 HREF/HSYNC HREF/HSYNC signal to CPU from camera modules
14 PCLK PCLK signal to CPU from camera modules
16-23 Data bit7-0 data signals
Note:
  1. SYS_3.3V: 3.3V power output
  2. VDD_5V: 5V power input/output. When the external device’s power is greater than the MicroUSB’s the external device is charging the board otherwise the board powers the external device. The input range is 4.7V ~ 5.6V
  3. All pins are 3.3V and output current is 5mA. It can drive small loads.可以带动小负荷模块,io都不能带负载
  4. For more details please refer to the document: NanoPi-M1-1603-Schematic.pdf

3.2 Board Dimension

NanoPi-M1-1603-dimensions.png

For more details please refer to: pcb file in dxf

4 快速入门

4.1 准备工作

5 Resources

Schematic NanoPi-M1-1603-Schematic.pdf
Dimensional Diagram pcb file in dxf