瑞萨RA8D1 CEU介绍与使用说明

描述

随着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原理图。

mcu

mcu

图1 实际连接和效果图

CEU引脚配置

mcu

从上表可以看出,CEU最大data size可以支持16bit。

在FSP里面配置CEU

如图2,通过点击Stacks->New Stack->Graphics->Capture Engine Unit(r_ceu) 添加CEU,然后对CEU的属性进行配置,主要包括模式、引脚配置等,如下图3。

mcu

图2  CEU模块

mcu

图3 CEU属性配置

在生成CEU代码后,FSP提供了如下API,如图4。

mcu

图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。

mcu

图5  摄像头初始化代码

从代码来看,对CEU的初始化也是非常简单,只需调用R_CEU_Open() 即可完成初始化,其他是对摄像头的配置,通过I2C完成,具体细节不做介绍。完成摄像头和CEU配置后,即可进行数据的读取,由于FSP已经配置好,对数据的读取也是非常的简单易用,如图6。

mcu

图6 CEU采集数据

当调用R_CEU_CaptureStart(),CEU完成后会产生一个中断把g_capture_ready置位,然后把数据写到bsp_camera_buffer中。整体代码调用如图7。至此,我们可以完成一个简单的摄像头数据采集。

mcu

图7  CEU采集摄像头整体流程

CEU特色功能

CEU相比于传统的并行数据采集模块,比如PDC,不仅在速度上有了很大的提高,而且多了一些基本的图像处理功能,比如图像缩小,剪切等。顾名思义,图像缩小就是按照一定比例将一幅原始图像压缩,达到减小存储空间的目的。如下图。

mcu

图8 CEU缩小图像示意图

其中图像缩小的比例可以由以下公式计算:

mcu

MANT和FRAC为CEU的寄存器,SCL是用户想要的缩小比例。如果不考虑小数点,其中MANT和FRAC可以按照以下公式计算:

mcu

图像裁剪,如图9,CEU可以对输入的一幅图像做裁剪。对HFCLP和VFCLP写入对应的值就可以完成图像的裁剪,不过要注意一些限定条件:垂直方向剪切大小必须以4像素为单位,水平方向必须以8像素为单位。

mcu

图9 CEU裁剪图像示意图

RA8D1 CEU VS. RA6M3 PDC

mcu

总结

RA8D1 CEU除了在并行接口采集摄像头数据上给用户提供了丰富的用法外,基于120MHz的像素时钟,还可以支持一些高帧率的摄像头,同时支持图像处理的一些基本Filter。如前面介绍,图像的缩小,裁剪,以及去除一些高频分量等。相信这些功能在如今相对小memory size的MCU上做一些图像的采集和处理时,可以发挥非常重要的作用。




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分