跳转至

SPI专用Camera接口

1、Air8000系列模组,并没有在管脚名称上将Camera信号标注出来,大家可以通过管脚复用表查看哪些管脚可以复用为Camera;

事实上,可以用作SPI Camera的接口是固定的,即上图所示的PIN66/67/94/95/98;

2、关于PIN94/95的特殊说明;

Air8000系列模组中支持GNSS定位功能的子型号,Air8000A/Air8000U/Air8000N/Air8000DB/Air8000AB,已将PIN95:GPIO6复用为UART2_RXD,将PIN94:GPIO7复用为UART2_TXD,用于4G主控芯片与GNSS芯片的通信用,所以"看起来"PIN94/95在这几个型号中应该是"不可以再复用为Camera信号"了,经过实际测试,可以按照如下方式操作:

1)硬件上,将PIN94/95当做摄像头的正常信号CAM_RX1/CAM_RX0接摄像头;

2)软件关闭GNSS功能后,重新初始化PIN66/67/94/95/98为摄像头信号;

3)初始化完成后,再打开摄像头,此时摄像头功能就可以正常使用了;

基本的流程是:

a. Air8000开机,PIN94/95默认用作UART2;

b. 打开GNSS功能,4G主控与GNSS芯片通过UART2通信,传递配置参数、NMEA数据等;

c. 关闭GNSS功能,GNSS相应的管脚保持高阻态;

d. 使用pins库(https://docs.openluat.com/osapi/core/pins/)将PIN94/95关闭UART2功能;

e. 使用pins库(https://docs.openluat.com/osapi/core/pins/)将PIN94/95初始化为CAM_RX0/CAM_RX1功能;

f. 打开摄像头功能;

g. 关闭摄像头功能,摄像头相应的管脚保持高阻态;

h. 使用pins库(https://docs.openluat.com/osapi/core/pins/)将PIN94/95关闭CAM_RX0/CAM_RX1功能; i. 使用pins库(https://docs.openluat.com/osapi/core/pins/)将PIN94/95初始化为UART2功能;

j. 打开GNSS功能,如此反复;

需要强调的是:

a. GNSS和摄像头无法同时使用,只有在关闭一个功能后将对应管脚重新初始化为另一个功能,才可以轮换启用,所以,实时性上会有一些延时;

b. PIN94/95在Camera信号和UART2信号间动态调整所需用到的核心库为pins;

https://docs.openluat.com/osapi/core/pins/

3、Air8000系列模组最高只支持到30W像素摄像头,目前已支持的驱动IC有GC0310/GC032A/BF30A2等;

4、合宙官方淘宝店出售的摄像头共有两款,可放心搭配Air780Exx模组使用;

5、有一点需要特别说明的是:

​ 虽然Camera的接口我们习惯叫做SPI Camera,但此SPI Camera接口的SPI并不能用作通用SPI总线,只能专用于Camera;

6、在使用SPI Camera功能之前,都需要先使用LuatIO工具生成pins配置json文件,也就是对IO的初始化功能配置;

关于LuatIO功能的介绍,详见:LuatIO初始化配置工具 - common@air780epm - 合宙模组资料中心

7、跟SPI Camera相关的LuatOS核心库和扩展库都比较多且比较复杂;