RA8D1

随着互联网的不断快速发展,人们的日常生活和娱乐内容也越来越丰富精彩。如今,人类已经全面进入视频直播时代,身边到处是大大小小的摄像头和直播设备。那么是不是可以用MCU来实现视频直播呢?答案是肯定的。

MJPEG-Streamer是一个开源的实时视频流服务器,专门用于处理Motion JPEG(MJPEG)格式的视频数据。它将视频分解为连续的JPEG图像帧序列,适合于网络视频监控和其他实时流应用,提供流畅的视频体验,同时占用较小的存储空间。说句题外话,MJPG和MJPEG是一个术语,不存在差异,有时候大家会混合一起使用。

MJPEG-Streamer的主要功能包括:

• 实时视频源采集:从摄像头或视频文件等来源的实时采集视频数据。

• MJPEG编码:对视频进行MJPEG编码,将其分割成多个JPEG图像帧。通常情况下,可使用UVC摄像头进行MJPEG编码工作。

• 流式传输:通过HTTP、RTSP(Real-Time Streaming Protocol)等,以流的形式将编码后的JPEG帧发送到客户端,实现实时的视频流传输。

• 编码质量和分辨率设置:支持多种编码质量和分辨率设置,适应不同的网络环境和终端设备。

在此,选用了RA8系列的MCU来实现上述的MJPEG-Streamer。这是因为:

• 摄像头输入接口多样性:CEU(并口摄像头处理单元),UVC(USB Video Camera USB摄像头)。

• 高速的CPU处理能力:能够有效处理和管理视频流数据,保证系统运行的稳定性和流畅性。

• 以太网及网络协议栈,USB协议栈支持:集成了以太网接口和完整的网络协议栈,能够方便地实现网络连接和数据传输。同时,集成了USB协议栈,使其可以与USB设备进行稳定的数据交换,增强了其外设连接的灵活性和扩展性。

RA8D1/M1通过高速USB 2.0接口读取UVC camera中的MJPEG数据流(1280*720 10FPS),图像分辨率和帧率,大家可以根据使用情况来适配和优化。USBX中的UVC协议栈支持MJPG和YUV格式数据。RA8D1/M1工作在HTTP服务器模式下,实时响应和处理来自客户端的浏览器的HTTP请求。

系统框图

1.png

2.png

PC的浏览器中显示RA8 MJPEG Streamer发送的

MJPEG数据流实例图

本项目使用的是瑞萨电子FSP(灵活软件配置包)来进行开发的。FSP是用于嵌入式系统设计的高质量增强型软件包,支持瑞萨电子RA产品家族ARM微控制器,提供用户友好的界面且可灵活扩展,确保从入门级到高性能的整个RA 微控制器的软件兼容性。在全新Arm®TrustZone®和其他高级安全功能的支持下,FSP提供一种快速、通用的方式,使用驱动程序、Azure RTOS、FreeRTOS™和其他中间件协议栈来构建安全、互联的物联网设备。

FSP使用开放式软件生态系统,并且也为裸机编程提供了灵活性,客户可以选择使用Azure RTOS或FreeRTOS、其他自选RTOS、现有代码和第三方生态系统解决方案。FSP和e2 studio可以在任何瑞萨的器件上免费使用。

3.png

瑞萨电子FSP总览图

本项目软件架构简单,使用FSP轻松快速的建立工程软件框架,软件架构一共分为应用层,OS(操作系统)层,驱动层。驱动层负责实现RA8 MCU相关的底层外设驱动,如GPIO,定时器,USB,Ethernet(以太网)等驱动,中间的OS层已经完美的移植ThreadX系统,与之相关的中间件和USBX(USB协议栈,NetX(Ethernet协议栈无缝使用。顶层的应用层,用户只需要将采集到的UVC MJPEG数据通过HTTP协议发送即可。

USB协议栈

https://renesas.github.io/fsp/group___u_s_b_x.html 

Ethernet协议栈

https://renesas.github.io/fsp/group___r_m___n_e_t_x_d_u_o___e_t_h_e_r.html 

4.png

软件架构图

工程建立rtt_thread,network_thread,uvc_thread3个线程。

• rtt_thread是负责接收其他两个线程的调试数据,进行解析和处理后发送到J-Link RTT viewer显示。

• network_thread负责初始化网络NetX协议栈相关功能,并进行DHCP来获取IP地址,建立TCP socket,监听80端口,等待客户端连接,进行HTTP通信协议交互。一旦客户端连接成功并发送HTTP请求,则等待uvc_thread发送的信号量去缓存数据中读取MJPEG数据,封装成HTTP协议数据发送给客户端。

• uvc_thread负责初始化USBX中HUVC相关配置和功能,设置已经连接的UVC摄像头中的图像格式,分辨率和帧率等,最后循环读取MJPEG流数据,每读取成功一帧数据,将数据写入到缓存中,同时会通过信号量的方式,通知network_thread一帧数据已经完成,可以进行发送。

软件流程图

5.png

工程代码地址

https://gitee.com/recn-mcu-ae/ra8d1cpkhmiusbxmjpgstreamer 

来源:瑞萨嵌入式小百科

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 24

该方案使用了瑞萨电子新一代基于Arm Cortex-CM85内核的RA8D1作为控制器,通过MIPI驱动程序和2D引擎加速显示,方案使用了适用于GUI的流行且免费的LVGL,创建了具有视觉吸引力的用户显示界面。

方案介绍

MCU单芯片高清显示控制方案

最高达:CM85 @480MHz

图形处理相关硬件

硬件2D图形加速器,支持Alpha混色,抗锯齿等功能,摄像头接口支持Capture Engine Unit(CEU),使用到的RA8D1外设如下:

  • MIPI DSI

  • 2D绘图引擎 (DRW)

  • SDRAM

  • 用于触摸的I2C

LCD面板

支持1280*720高分辨率

LCD面板颜色格式

24位RGB(RGB888)

支持7寸MIPI接口TFT-LCD

基于LVGL GUI工具

系统框图

1.png

方案特点

易于使用

  • 已加入FSP

  • 可视化配置

可选LCD驱动器

  • MIPI DSI

  • GLCDC

灵活

  • RA6M3和RA8D1

  • 已选择2D GPU

2.png

方案板介绍

EK-RA8D1评估套件可通过瑞萨电子的灵活软件包(FSP)和e2 studio IDE,帮助用户轻松评估RA8D1 MCU产品组的特性,并开发嵌入式系统应用程序。用户可利用丰富的板载功能以及自选的热门生态系统插件来将丰富创意变为现实。

EK-RA8D1

https://www.renesas.cn/cn/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra8d1-evaluation-kit-ra8d1-mcu-group 

EK-RA8D1套件由三块板组成:EK-RA8D1板采用RA8D1 MCU和片上图形LCD控制器,MIPI图形扩展板采用4.3英寸TFT彩色LCD,带电容式触摸覆盖层,而摄像头扩展板则采用300万像素CMOS图像传感器。

3.png

4.png

5.png

6.png

目标应用:工业HMI,各类显示设备

瑞萨电子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

https://www.renesas.cn/cn/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra8d1-480-mhz-arm-cortex-m85-based-graphics-microcontroller-helium-and-trustzone 

RA8 MCU的核心价值和产品组合

7.png

8.png

来源:瑞萨嵌入式小百科

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 122
订阅 RSS - RA8D1