随着Cortex CM85内核RA8系列MCU的发布,各界保持对RA8系列高度关注。说到如今最流行的科技话题——AI,RA8在AI应用方面也不甘落后。RA8有着丰富的接口去连接所需要的外设,比如RA8拥有视觉类应用所需要用到的摄像头接口。作为MCU届的“当红炸子鸡”,本文我们将对RA8的特色模块CEU一睹为快。
瑞萨RA8D1 MCU系列是业界首款基于Arm Cortex-M85 (CM85) 内核的32位图形微控制器 (MCU),能够在480 MHz频率下实现超过3000 CoreMark分数的突破性性能,可支持高分辨率显示和视觉AI应用的卓越图形功能。此系列属于通用型MCU器件,适用于工业自动化、家用电器、智能家居、消费品、楼宇/家居自动化和医疗/保健细分市场中的各种高性能和计算密集型应用场景。
RA8D1 MCU集成了高性能CM85内核和大内存,以及丰富的外设集,包括带并行RGB和MIPI-DSI接口的高分辨率TFT-LCD控制器、2D绘图引擎、16位摄像头接口和多个外部内存接口,经过优化可满足各种图形和视觉AI应用的需求。此类MCU采用176引脚和224引脚封装。内置类似Secure Element的功能,搭配先进的加密安全IP、不可变存储、真实安全启动和防篡改保护功能,实现真正安全的物联网。
RA8D1 MCU由灵活软件包(FSP)和一整套软硬件开发工具提供全面支持。
一
CEU特点
捕获引擎单元(CEU)是一个捕获模块,可以获取外部输入的图像数据并将其传输到内存中。CEU通过总线桥模块连接到系统总线。它具备以下特性:
1
图像数据获取
从外部模块采集图像,同时可以把采集到的YCbCr图像数据分离成Y数据和CbCr,并分别把Y数据和CbCr数据写入内存。
2
采集JPEG和RGB565数据
以两个field单位或一个field单位获取交错源图像,并将其写入内存。在两种field捕获中,图像都可以作为帧图像存储在存储器中。
3
滤波处理
可以通过内部的滤波器对图像进行缩小处理和去除高频分量(仅在水平方向)。图像缩小不能超过VGA格式。只能对YCbCr数据进行滤波。
4
格式转换
把YCbCr422输入格式转换成YCbCr420并写入内存。
二
硬件配置
下面介绍一下EK-RA8D1和camera模组OV7670的硬件连接。从原理图分析得知,camera信号通过CAM_OE_L控制是否于MCU连通,所以在使用camera时,需要把CAM_OE_L使能,在EK上SW1-3需要切换到“ON”。具体连线图可以参考EK-RA8D1原理图。
图1 实际连接和效果图
CEU引脚配置
从上表可以看出,CEU最大data size可以支持16bit。
三
在FSP里面配置CEU
如图2,通过点击Stacks->New Stack->Graphics->Capture Engine Unit(r_ceu) 添加CEU,然后对CEU的属性进行配置,主要包括模式、引脚配置等,如下图3。
图2 CEU模块
图3 CEU属性配置
在生成CEU代码后,FSP提供了如下API,如图4。
图4 CEU APIs
我们可以利用以上API去对摄像头进行操作,采集图像。下面通过配置CEU驱动OV7670做一个讲解。
首先确定摄像头采集的模式,这次采用RGB565,对应CEU的capture mode设为Data Enable Fetch,这种模式下需要配置Data Enable Buffer Size的大小,这个大小根据摄像头分辨率设定,比如OV7670的分辨率为640*480,本次实验设置的Buffer Size为614400。如果采集的是RGB格式的数据,capture mode可以设为Data Synchronous Fetch,此时Data Enable Buffer Size需要设为0。
图5 摄像头初始化代码
从代码来看,对CEU的初始化也是非常简单,只需调用R_CEU_Open() 即可完成初始化,其他是对摄像头的配置,通过I2C完成,具体细节不做介绍。完成摄像头和CEU配置后,即可进行数据的读取,由于FSP已经配置好,对数据的读取也是非常的简单易用,如图6。
图6 CEU采集数据
当调用R_CEU_CaptureStart(),CEU完成后会产生一个中断把g_capture_ready置位,然后把数据写到bsp_camera_buffer中。整体代码调用如图7。至此,我们可以完成一个简单的摄像头数据采集。
图7 CEU采集摄像头整体流程
四
CEU特色功能
CEU相比于传统的并行数据采集模块,比如PDC,不仅在速度上有了很大的提高,而且多了一些基本的图像处理功能,比如图像缩小,剪切等。顾名思义,图像缩小就是按照一定比例将一幅原始图像压缩,达到减小存储空间的目的。如下图。
图8 CEU缩小图像示意图
其中图像缩小的比例可以由以下公式计算:
MANT和FRAC为CEU的寄存器,SCL是用户想要的缩小比例。如果不考虑小数点,其中MANT和FRAC可以按照以下公式计算:
图像裁剪,如图9,CEU可以对输入的一幅图像做裁剪。对HFCLP和VFCLP写入对应的值就可以完成图像的裁剪,不过要注意一些限定条件:垂直方向剪切大小必须以4像素为单位,水平方向必须以8像素为单位。
图9 CEU裁剪图像示意图
五
RA8D1 CEU VS. RA6M3 PDC
六
总结
RA8D1 CEU除了在并行接口采集摄像头数据上给用户提供了丰富的用法外,基于120MHz的像素时钟,还可以支持一些高帧率的摄像头,同时支持图像处理的一些基本Filter。如前面介绍,图像的缩小,裁剪,以及去除一些高频分量等。相信这些功能在如今相对小memory size的MCU上做一些图像的采集和处理时,可以发挥非常重要的作用。
审核编辑:刘清
-
mcu
+关注
关注
146文章
16984浏览量
350263 -
滤波器
+关注
关注
160文章
7727浏览量
177656 -
瑞萨
+关注
关注
34文章
22290浏览量
86038 -
摄像头
+关注
关注
59文章
4807浏览量
95400 -
RGB
+关注
关注
4文章
798浏览量
58380 -
LCD控制器
+关注
关注
0文章
45浏览量
15481 -
CEU
+关注
关注
0文章
2浏览量
1498
原文标题:RA8D1 CEU介绍与使用说明
文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论