1. 前言
Spresense在与 Arduino 兼容的索尼主板电脑中搭载了索尼自有的感应处理器 CXD5602。CXD5602 是一款面向IoT的高性能处理器,带有GPS定位功能、高解析音源播放&录制功能和低功耗多核微处理器。

下面2章将对Spresense的硬件与软件相关内容进行简单说明。
想要马上尝试使用Spresense进行编程的用户请浏览下面的章节。
关于 CXD5602 的详细信息请参考以下网站页面。
请访问。
2. Spresense 硬件相关
2.1. Spresense 电路板
Spresense 电路板由以下3块电路板组成。
Spresense 主板上搭载了索尼开发的面向IoT的感应处理器,Spresense 主板亦可独立运行。
-
CXD5602 感应处理器
-
CXD5247 电源管理&音频模拟IC
Spresense扩展板是用来扩展Spresense主板接口的一块基板。 Spresense 主板与Spresense 扩展板通过Board-to-Board (B-2-B)接口连接后可形成与Arduino Uno兼容的插口形状。 但是、Spresense 扩展板的插口规格与Arduino Uno仍存在一定差异。具体请参见 Spresense 与 Arduino Uno 的区别 。

2.1.1. Spresense 主板
Spresense 主板的特征如下:
-
搭载感应处理器 CXD5602
-
8 MB 闪存
-
封装印制好的小型基板
-
Camera 专用接口
-
GNSS (GPS)天线
-
具备可扩展性的接口、功能
-
各种GPIO (UART, SPI, I2C, I2S)
-
ADC 双通道
-
Application LED x 4 (绿)
-
通电标识LED(蓝)
-
Spresense 主板的标准I/O电压为1.8V。电压超过1.8V时,可能会导致 Spresense 芯片组发生损坏。使用时请注意。 |

主板上配置的接口及开关等在回路上的名称如下:
各部名称 | 说明 |
---|---|
[PWR] Power LED |
电源LED。通电时蓝灯亮。 |
[RST] Reset button |
复位按钮 |
[LED0] - [LED3] |
可通过APP使用的4个内置式绿色LED |
[CN2] |
micro USB Type-B接口。导入Sketch等程序或调试时所用的USB/UART接口。 |
[CN4] |
B-2-B接口,连接扩展板用的100针接口(在背面配置)。 |
[CN5] Camera Connector |
专用相机接口。与Spresense相机电路板连接。 |
[BR] Boot Recovery Button |
恢复为出厂状态时使用。一般情况下不使用。 |
主板的各区块图解如下:

主板回路图的PDF文件可点击下面的链接获取。
2.1.2. Spresense 扩展板
Spresense 扩展板在与Arduino Uno兼容的插座之外,还配备了以下插口。
-
耳机插孔
-
micro SD 卡槽
-
USB 接口
-
Mic连接用插口

扩展板上配置的接口及开关等在回路上的名称如下:
接口・跳线名 | 说明 |
---|---|
CN3 |
B-2-B接口。与主板连接时用的100针接口 |
CN4 |
MicroSD卡槽 |
CN6 |
microUSB Type-B接口。可提供USB的MSC(Mass Storage Class)功能,PC可直接访问扩展板上的SD卡。 |
CN7 |
耳机插孔 3极 3.5mm接口 |
JP1 |
数据输入/输出端口标准电电压。5V或3.3V |
JP10 - pin 3 to 16 |
Mic连接用。可连接模拟或是数字Mic。具体请参照 Mic的使用方法。 |
JP10 - pin 1, 2 |
选择在主板还是在扩展板中使用UART2 端口(D00, D01)。短路状态下,主板上的UART2 端口(1.8V)变为可用。 |
JP14 |
通过短路的方法可将JP10指定为数字Mic端口。具体请参照:Mic的使用方法。 |
microSD |
可以与 Spresense 扩展板一起使用的microSD卡必须格式化为FAT32格式。从制造商发货时使用FAT32格式化的microSD卡将仅为“SDHC”。如果使用其他文件系统格式化卡,请使用带有PC等SD卡的格式化工具预先在FAT32中格式化。 |
扩展板的各区块图解如下:

扩展板回路图的PDF文件可点击下面的链接获取。
2.1.3. Spresense 相机板
Spresense 相机板 搭载了索尼 ISX012 图像传感器和镜头. 索尼ISX012 拥有5.11M 的有效像素,并带有板载编码器,可支持JPEG, Y/C 和RGB格式的图片输出。

图像传感器 | |
---|---|
传感器类型 |
1/4 型CMOS 图像传感器 |
有效像素 |
5.11M 像素 |
记录像素 |
5.04M 像素 |
相机控制 |
|
ISO 敏感度 |
ISO 40~800 |
场景选择 |
12 种预设 |
曝光模式 |
自动, 快门优先, ISO 敏感度优先, 长时间AE |
测光模式 |
多模式,中央重点测光,平均测光,点测光 |
曝光补偿 |
±2EV, 1/3 EV STEP |
快门速度 |
1/8 秒(长时间AE模式) 到1/42000 秒 |
白平衡 |
自动,日光,多云,荧光,白炽灯 |
图片格式 |
|
图像格式 |
JPEG(4:2:2), Y/Cb/Cr, YUV, RGB, JPEG+YUV(thumbnail) |
静态数据速率 |
5M 像素15 帧/秒JPEG 输出 |
动态数据速率 |
SVGA 30 帧/秒YCbCr 输出 |
HD 视频输出 |
1080p(1920×1030 30 帧/秒), 720p(1208×720 60 帧/秒) |
下表为镜头规格。
功能 | 规格 |
---|---|
镜头类型 |
1/4 英寸4 片组 |
有效焦距 |
2.74mm |
F值 |
2.0±5% |
视角 |
78°±3° |
CRA(主光角) |
<33.5° |
畸变 |
<1.5% |
画质 |
中心 1100 线, 近边角 900 线 |
焦距 |
1.5m |
变焦范围 |
77.5 to 237.06cm |
请从下面的链接获取相机板回路图pdf 文件:
2.2. Spresense 电路板的使用方法
2.2.1. Spresense 主板遮光膜的粘贴方法
使用Spresense 主板前,请将附带的遮光膜按照下图粘贴至IC4处。


在阳光直射或是强光下使用时可能会导致运行操作,所以请务必粘贴遮光膜。 |
再粘贴时推荐使用下面的遮光膜。
生产厂家 | 品名 |
---|---|
施特普(Shurtape)公司 |
CP-743 |
2.2.2. Spresense主板与Spresense扩展板的连接方法
下面说明Spresense扩展板与Spresense主板的安装方法。
Spresense 扩展板上带有与主板连接用的4个垫片。

将该垫片插入Spresense扩展板的通孔中。请注意通孔的位置。

Spresense扩展板上装好垫片后开始安装Spresense主板。

安装时请注意主板的朝向。请安装到与USB接口相同的方向。 |

安装到与USB接口朝向相同的方向,Spresense主板与Spresense扩展板就连接好了。

安装完成后,请上下按压主板和扩展板以确认B-2-B插头连接完好。 请注意如果连接不良,扩展板功能如micro SD卡和音频可能不工作。
在安装/拆卸主板和扩展板时,请注意不要施加负荷。 |
2.2.3. 如何连接Spresense 主板和Spresense 相机板
下面说明如何把Spresense 相机板连接到Spresense 主板上。
由于相机模组对静电非常敏感,建议使用相机模组时放掉身上的静电。 可以通过接触接地物品,比如接地的电脑机箱来释放静电。 静电可能导致相机模组故障。 |
相机模组通过扁平电缆连接到主板(CN5 )。 下图说明了如何连接扁平电缆。 由于扁平电缆有正反面,所以请使用和下图相同的电极方向连接。

相机镜头上覆盖有一层蓝色半透明塑料薄膜,用于镜头保护。使用前请移除。 移除保护膜时请务必轻拿轻放。
2.2.4. 关于Spresense 相机板侧的扁平电缆
相机板和主板上的扁平电缆接头都非常脆弱,如非必要,请尽量不要插拔。
插拔扁平电缆时请遵循下述指示。
-
拔出扁平电缆时:
-
A. 插头两侧均衡用力,保持和基板平行,慢慢移动并拔出插头。
-
B. 拔出扁平电缆。
-
-
插入扁平电缆
-
C. 将扁平电缆插入接头,确保接触良好。如下图,电缆电极侧应朝上。
-
D. 插头两侧均衡用力,保持和基板平行,慢慢移动并插入接头。
-

操作时请务必慢速仔细。 如果用力不均,或不和基板保持水平,有可能会损坏接头。 |
下表列出了当相机扁平电缆损坏时的代替品。 建议使用尽量短的电缆。
厂商 | 型号 | 长度 |
---|---|---|
Molex |
15166-0211 |
102mm |
Molex |
15166-0213 |
127mm |
Wurth Electronics |
687620100002 |
100mm |
2.2.5. Spresense 电路板的供电方法
Spresense电路板的供电方法有几种。

-
一般情况下是通过主板上的micro USB端口进行供电的。PC与主板连接后就可以供电并进行编程。这个micro USB端口在PC端被识别为串行端口。
-
扩展板已安装时,可通过扩展板上的micro USB接口供电。扩展板一端的 micro USB端口在PC上被识别为MSC(Mass Storage Class)。例如,将扩展板上的SD卡用作存储设备,就可以进行数据通信。
可以使用上述多个电源同时供电。 使用micro USB接口供电时,请尽量选用粗短的USB连接线。
通Spresense 主板上的USB接口供电时,也可使用USB手机电池。但是,如果使用具备自动关机功能的USB手机电池时,由于Spresense主板的能耗极小,其自动关机功能可能会启动导致断电无法运行。为了确保运行的正常,请使用带有永不关机功能的USB手机电池。 |
使用扩展板VOUT的Pin插口上的5V±0.25V电源。这当从其他基板等供电时会很方便。但是,如果连接电源的电压不在5V±0.25V范围内时,CXD5602可能会发生损坏,使用时请注意。
3. Spresense 软件相关
Spresense软件提供如下2种开发环境。
-
一种使用Spresense Arduino Library
-
使用Arduino IDE进行Spresense软件开发的环境。使用Spresense Arduino Library可以比较容易地进行软件开发。
-
-
另一种使用Spresense SDK
-
Spresense SDK是在NuttX提供的编译环境(GNU Make)基础上由索尼自主开发的环境。提供底层API,可最大限度发挥Spresense的省内存,省电,多核控制等性能
-
下面说明这2种开发环境的特征和结构。
3.1. 使用Spresense Arduino Library进行开发
Spresense Arduino Library是一个软件库,用于使用以下链接为Spresense开发应用程序软件:Arduino IDE。 它与链接兼容:Arduino的标准API,您可以使用许多已有的Arduino草图。 因此,即使您不熟悉Spresense的用户,如果您有使用Arduino开发软件的经验,也可以轻松开始Spresense软件开发。
这个软件库不仅提供与Arduino兼容的API,同时提供Spresense的特有功能如GPS定位功能、高解析Audio功能等索尼独有的API。使用Arduino IDE可实现高功能的APP开发。
有兴趣使用Spresense Arduino Library进行软件开发的用户请参考:
3.1.1. Spresense Arduino Library的结构
Spresense Arduino Library是扩展封装库,可在Arduino IDE中方便地使用Spresense SDK 。它的内部运行有NuttX提供的Task。同时,Arduino的Sketch也作为该Task的一员运行。这样的设计使得进行Arduino IDE软件开发时,无需考虑NuttX即可进行编程。

3.1.2. Spresense Arduino Library 的特征
Spresense Arduino Library中提供 Arduino标准API,Spresense中可以使用 digitalRead、digitalWrite等API。
另外,也同时提供与SPI,Software Serial等同等的库 Arduino Library
NOTE:Spresense Arduino Library与Arduino API虽然可互用,但由于硬件上的限制,并非所有的API都可以完全同样使用。详细信息请参考:Spresense Arduino Library 下编程时的注意事項 。
同时提供以下Spresense Arduino Library 中没有的功能。
3.2. 使用Spresense SDK进行开发
Spresense SDK是一个开发环境,基于以下链接添加了Spresense唯一功能 NuttX,它是实时操作系统之一。 我们提供低底层API以最大程度发挥Spresense的性能,例如节省内存,节省电源和多核控制。 如果您对多核编程,低功耗、实现内存控制的用户请选择Spresense SDK开发环境。
Spresense SDK有兴趣使用Spresense SDK进行软件开发的用户请参考:
3.2.1. Spresense SDK的结构
Spresense SDK是在NuttX操作系统上配备中间件,以最大限度提高*CXD5602*功能的一款软件。

由基于NuttX驱动框架编写的各种驱动和在其上编写的各种中间件组成。
3.2.2. Spresense SDK的特征
Spresense SDK的特征如下:
操作系统采用NuttX, 具备以下特征。
-
多任务RTOS
-
使用Kconfig配置实现最优化的空间使用
-
支持标准C程序库
-
支持C++语言
-
支持各种文件系统
-
支持各种设备驱动
-
支持闪存
-
支持USB功能(MSC及CDC)
此外,同时以中间件方式提供 CXD5602 所拥有的各种功能。
-
音频录制与播放功能
-
非对称型多核程序库
-
GPS定位功能
-
省电功能
另外,DMA控制器用驱动等 CXD5602 所拥有的几乎所有功能都可以使用。
Spresense SDK的代表性功能以示例代码形式作为NuttX的内置APP提供。
详细信息请参考:
4. 代码仓库结构
Spresense 是开放源代码项目。相关的源代码与文档除了LOADER等预编译的二进制文件外,都保存在GitHub 上。
Spresense 项目组大力欢迎您的参与开发。各代码仓库上放有参与开发指南说明了参与方法,参与开发时请您一定阅读。衷心期待您们的参与!
本文档说明、Spresense项目相关的代码仓库结构。
Spresense主板的使用方法请参考以下链接。