最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Android平台Camera及I2C总线驱动学习小结

IT圈 admin 23浏览 0评论

2024年3月13日发(作者:郦运珹)

Android平台Camera及I2C总线驱动学习小结

——基于MSM8x60平台

硬件开发二部 BSP科 党潇 工号:10113151

1. MSM8x60平台简介

Ø High-performance high-level operating system(HLOS) platform(45nm)

Ø 多核处理器(Modem+Dual Apps in a single chip),支持Android

TM

Ø Dual 1.2GHz Scorpion

TM

+512kB shared L2 cache,eMMC LPDDR2内存

Ø 专属 ARM7 用于功率资源控制及传感器外设操作

Ø 1080pHD 编解码,Adreno

TM

220图形处理器,4-lane MIPI摄像头,最高

支持12M像素

Ø WCDMA,GSM,HSDPA,1x advanced,1xEV-DO Rev A/B

Ø gpsOne,BT3.0,FM Rx/Tx,WIFI WCN1314

Ø AAC,AMR-NB,EVRC,QCELP,etc

2. MSM8x60平台Camera及Graphics特性

Camera特性:

Ø VFE 3.1,MIPI接口(4-lane)

Ø 优异的3A算法(AF,AE,AWB),自动帧率AFR(Auto Frame Rate)

Ø 最高支持12MegaPixel,12bit/pixel,支持BAYER和YUV模式

Ø 1080p预览@30fps

Ø 闪光灯支持,触摸屏自动对焦支持

Ø 业界领先的图像特效集:Hand Jitter Reduction(HJR),Motion ISO,Best-Shot

mode,Anti-banding,EV control,JPEG encode & decode

Graphics特性:

Ø Adreno 220(MSM v2.0)图形处理器, 88M triangles/s

Ø OpenGL ES 1.1/ OpenGL ES 1.1/ OpenVG 1.1/SVG tiny 1.2

Ø LCD显示最高支持到WSXGA(1440×900),60Hz刷新率。

Ø MDP4.1 (去除MDDI,增加内部HDMI,MIPI接口)

1 / 11

3. Camera驱动文件结构(OV5640.c为例)

我们以TD的U960项目为例,采用倒序的方式来分析Android平台Camera

和I2C驱动程序的架构。OV5640为500w像素摄像头,采用YUV格式输出,单

从摄像头硬件来看,与我们之前使用的Sensor并没有本质区别,除了采用MIPI

接口。但是MIPI仅作为Sensor与AP的通讯协议而言,作为Camera的驱动层,

不用关心底层接口的具体传输方式,所有的驱动架构和函数都是一样的。

从最底层的操作函数来看,Camera最直接相关的函数无非以下四个:

Camera_init()

Camera_config()

Camera_power_control()

Camera_flash()

.

体含义分别表示:摄像头初始化,摄像头配置,摄像头电源控制和摄像头闪光灯

控制,具体函数名可能根据驱动设计者的命名方式而不同,也可能进一步细化为

多个子函数操作,但最终不会脱离这四个功能控制。而在Android平台,对电源

和闪光灯的控制也被整合到了

Camera_config()

函数中。

在OV5640.c驱动文件中,是按照如下的结构实现的:

包括了帧率、分辨率、MCLK等参数设置

1) ov5640_sensor_open_init()

之后会调用子函数

ov5640_probe_init_sensor()

完成Sensor的ID判断

2 / 11

2024年3月13日发(作者:郦运珹)

Android平台Camera及I2C总线驱动学习小结

——基于MSM8x60平台

硬件开发二部 BSP科 党潇 工号:10113151

1. MSM8x60平台简介

Ø High-performance high-level operating system(HLOS) platform(45nm)

Ø 多核处理器(Modem+Dual Apps in a single chip),支持Android

TM

Ø Dual 1.2GHz Scorpion

TM

+512kB shared L2 cache,eMMC LPDDR2内存

Ø 专属 ARM7 用于功率资源控制及传感器外设操作

Ø 1080pHD 编解码,Adreno

TM

220图形处理器,4-lane MIPI摄像头,最高

支持12M像素

Ø WCDMA,GSM,HSDPA,1x advanced,1xEV-DO Rev A/B

Ø gpsOne,BT3.0,FM Rx/Tx,WIFI WCN1314

Ø AAC,AMR-NB,EVRC,QCELP,etc

2. MSM8x60平台Camera及Graphics特性

Camera特性:

Ø VFE 3.1,MIPI接口(4-lane)

Ø 优异的3A算法(AF,AE,AWB),自动帧率AFR(Auto Frame Rate)

Ø 最高支持12MegaPixel,12bit/pixel,支持BAYER和YUV模式

Ø 1080p预览@30fps

Ø 闪光灯支持,触摸屏自动对焦支持

Ø 业界领先的图像特效集:Hand Jitter Reduction(HJR),Motion ISO,Best-Shot

mode,Anti-banding,EV control,JPEG encode & decode

Graphics特性:

Ø Adreno 220(MSM v2.0)图形处理器, 88M triangles/s

Ø OpenGL ES 1.1/ OpenGL ES 1.1/ OpenVG 1.1/SVG tiny 1.2

Ø LCD显示最高支持到WSXGA(1440×900),60Hz刷新率。

Ø MDP4.1 (去除MDDI,增加内部HDMI,MIPI接口)

1 / 11

3. Camera驱动文件结构(OV5640.c为例)

我们以TD的U960项目为例,采用倒序的方式来分析Android平台Camera

和I2C驱动程序的架构。OV5640为500w像素摄像头,采用YUV格式输出,单

从摄像头硬件来看,与我们之前使用的Sensor并没有本质区别,除了采用MIPI

接口。但是MIPI仅作为Sensor与AP的通讯协议而言,作为Camera的驱动层,

不用关心底层接口的具体传输方式,所有的驱动架构和函数都是一样的。

从最底层的操作函数来看,Camera最直接相关的函数无非以下四个:

Camera_init()

Camera_config()

Camera_power_control()

Camera_flash()

.

体含义分别表示:摄像头初始化,摄像头配置,摄像头电源控制和摄像头闪光灯

控制,具体函数名可能根据驱动设计者的命名方式而不同,也可能进一步细化为

多个子函数操作,但最终不会脱离这四个功能控制。而在Android平台,对电源

和闪光灯的控制也被整合到了

Camera_config()

函数中。

在OV5640.c驱动文件中,是按照如下的结构实现的:

包括了帧率、分辨率、MCLK等参数设置

1) ov5640_sensor_open_init()

之后会调用子函数

ov5640_probe_init_sensor()

完成Sensor的ID判断

2 / 11

发布评论

评论列表 (0)

  1. 暂无评论