0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞萨RA8D1 MCU的OSPI Flash适配指南

瑞萨嵌入式小百科 来源:瑞萨MCU小百科 2025-07-17 11:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OSPI Flash(Octal SPI Flash)是一种基于SPI(串行外设接口)扩展的高速串行Flash存储器,采用8-bit数据总线通信方式。相比传统的SPI或Quad SPI(QSPI),OSPI提供更高的数据吞吐率与更优的系统性能。OSPI Flash主要应用在高性能嵌入式系统启动,图形界面处理(GUI)/人机交互界面(HMI),嵌入式AI模型存储等领域。瑞萨高性能MCU、MPU都提供了功能强大的OSPI接口,它不仅可以工作在8线的高速模式下,还兼容普通的单线(SPI),双线(DSPI)和四线(QSPI)的多种工作模式和多种协议模式。

然而面对广大不同厂家的OSPI Flash,虽然说大部分功能相似,大部分功能也可以复用,但是不同厂家的OSPI Flash还是存在或多或少的差别。因此如果客户出于成本的考虑,需要更换OSPI Flash的时候,需要做驱动层的适配工作。那如何做OSPI Flash的驱动的适配工作?

下面我以Renesas RA8D1这款高性能MCU为例来说明如何进行OSPI Flash驱动的适配工作,总结成两篇适配秘籍,可以供客户参考。公欲善其事,必先懂其基(基本原理),本篇文章先就OSPI的一些工作模式和协议等基本概念做一个相对系统的介绍。后续的篇章我们将以Winbond W35T51NW OSPI Flash为例来展开具体的驱动的适配工作。请感兴趣的读者持续关注!

读者朋友们可以先了解一下RA8D1的OSPI specifications:

RA8D1的OSPI工作模式:

92818884-6131-11f0-baa5-92fbcf53809c.png

点击查看大图

1Support Protocol modes below

xSPI规范支持多种协议模式,包括1S-1S-1S、4S-4D-4D、8D-8D-8D、1S-2S-2S、2S-2S-2S、1S-4S-4S、4S-4S-4S等。这些模式主要是基于数据传输位宽(线数)和时钟模式(SDR/DDR)进行区分。

1协议模式的基本概念

1S、2S、4S、4D、8D代表了数据传输过程中使用的线数:

○1S(Single Line,单线):每个时钟周期传输1bit数据。

○2S(Dual Line,双线):每个时钟周期传输2bit数据(双线,每根线1bit)。

○4S(Quad Line,四线):每个时钟周期传输4bit数据(四线,每根线1bit)。

○4D(Qcta Line,四线DDR):每个时钟周期传输8bit数据,因为采用DDR(DDR双数据速率)模式,时钟周期的上升沿传输4bit数据,下降沿传输4bit数据。

○8D(Octa Line,八线DDR):每个时钟周期传输16bit数据,因为采用DDR(DDR双数据速率)模式,时钟周期的上升沿传输8bit数据,下降沿传输8bit数据。

SDR(Single Data Rate,单数据速率)DDR(Double Data Rate,双数据速率):

○SDR:仅在时钟上升沿传输数据。

○DDR:在时钟上升沿和下降沿传输数据,线数相同的情况下吞吐量是SDR的2倍。

2具体模式说明

不同模式的主要区别在于xSPI接口访问Flash的地址、命令和数据阶段分别使用多少条数据线进行传输。

模式 命令阶段 地址阶段 数据阶段 时钟模式
1S-1S-1S 1-bit 1-bit 1-bit SDR
4S-4D-4D 4-bit DDR4-bit DDR4-bit DDR
8D-8D-8D DDR8-bit DDR8-bit DDR8-bit DDR
1S-2S-2S 1-bit 2-bit 2-bit SDR
2S-2S-2S 2-bit 2-bit 2-bit SDR
1S-4S-4S 1-bit 4-bit 4-bit SDR
4S-4S-4S 4-bit 4-bit 4-bit SDR

下面以1S-1S-1S、4S-4D-4D、8D-8D-8D三种协议模式举例说明

1S-1S-1S(传统SPI模式)

○命令、地址、数据阶段都使用单线传输(每个时钟周期1bit)。

○ 这种模式兼容传统SPI,但传输速度较慢。

○优点:兼容性好,适用于低速SPI设备。

4S-4D-4D(Quad SPI DDR模式)

○命令阶段:使用4-bit传输(相比1S提高4倍)。

○地址阶段:使用4-bitDDR传输(时钟上升沿和下降沿都发送数据)。

○数据阶段:使用4-bitDDR传输,吞吐量更高。

○优点:相比1S-1S-1S,吞吐量提高了8倍,适用于高速NORFlash存储应用。

8D-8D-8D(Octa SPI DDR模式)

○命令、地址、数据都使用8-bitDDR传输。

○ 相比4S-4D-4D,吞吐量翻倍。

○ 适用于极高速NORFlash存储,如PSRAM、Octa Flash、Octa HyperRAM。

2Configurable address length

支持可配置的地址长度(常见如24-bit或32-bit地址模式):

24-bit通常用于小于16MB(128Mbit)的Flash;

32-bit用于更大容量的Flash(>16MB);

3Configurable initial access latency cycle

指访问延迟周期(Latency Cycle)可配置,在XIP或连续读取模式中尤为关键:

设备允许设置dummy cycle数量;

适应不同主频、控制器时序要求;

优化带宽性能或兼容性。

4Support XiP mode

支持Execute in Place(XIP)模式:

MCU/MPU可将Flash映射入内部地址空间;

支持直接读取并执行,不需复制到RAM;

通常与memory-mapped mode、持续读取命令组合使用。

RA8D1的OSPI接口功能:

929255ec-6131-11f0-baa5-92fbcf53809c.png

点击查看大图

1Support Write Data Mask(支持写数据掩码)

允许在写入数据时屏蔽某些字节,使其不被改写,而其他字节仍然可以被正常写入。

这种功能通常用于按位更新存储器内容,而无需先读取、修改、再写入完整数据。

2Support In-band Reset(支持带内复位)

通过OSPI总线上的指令或数据序列触发设备复位,而不是依赖额外的硬件复位引脚。

○ 适用于系统集成度高、不易接触硬件复位引脚的应用,如嵌入式系统和工业控制设备。

3Memory-mapping(内存映射模式)

OSPI控制器支持将外部Flash设备的存储空间直接映射到MCU地址空间,使其像内部RAM/ROM一样被访问。

1Support up to 256MB address space each CS

(每个CS支持高达256MB的地址空间)

在内存映射模式下,每个片选(CS,Chip Select)可支持高达256MB的存储空间,这意味着可以使用较大的外部存储器。

应用场景:

○ 适用于大容量代码存储(如执行XIP(execute In Place)),即代码直接在Flash中运行,而无需拷贝到RAM。

○ 适用于存储大量数据,如日志记录、固件存储、AI推理模型等。

2Prefetch function for burst-read with

low latency(预取功能,提高突发读取性能)

在突发读取(BurstRead)模式下,OSPI控制器会提前读取后续数据并存入缓冲区,减少访问延迟。

应用场景:

○ 适用于实时性要求较高的应用,例如高速图像处理、实时操作系统(RTOS)等。

○XIP模式下,可以减少CPU访问外部Flash的延迟,提高程序运行效率。

3Outstanding buffer for burst-write with

high throughput(突发写入优化,提高吞吐量)

突发写入(BurstWrite)时,OSPI控制器使用Outstanding buffer(写入缓冲区),允许CPU快速提交数据,而不必等待Flash完成写入,提高吞吐量。

应用场景:

○ 适用于数据流量较大的应用,如数据记录、固件升级、机器学习模型加载等。

4Manual command(手动指令模式)

OSPI支持手动发送自定义指令,使其适用于不同厂商的Flash设备,并提供更灵活的操作方式。

1Configurable up to 4 commands

(可配置最多4条指令)

用户可以预设4条常用指令(如读、写、擦除等),减少软件控制开销,提高效率。

2Status Register Polling function

(状态寄存器轮询功能)

允许MCU轮询Flash的状态寄存器,以确定Flash是否完成写入、擦除等操作,避免不必要的等待。

5Input Strobe port timing shift

(输入同步信号端口的时序调整)

在高速OSPI传输中,数据可能会有时序偏移。这个功能允许调整数据采样时钟,以确保数据稳定可靠。

应用场景:

○ 当使用不同的Flash器件时,可能会因工艺或PCB布局导致时序误差,调整该参数可以优化信号完整性。

○ 适用于高速通信场景,如工业自动化汽车电子无线通信设备等。

下面具体给读者解读一下在8D-8D-8D协议下的时序图:

92a92876-6131-11f0-baa5-92fbcf53809c.png

点击查看大图

图中相关信号线的含义如下表所示:

信号 含义 说明
clk_spi(Internal Clock) 控制器内部工作时钟 控制器使用的内部时钟,驱动SPI状态机,不直接输出
OM_CS0/CS1 片选信号 有效为低,表示与Flash通信开始
OM_SCLK 外部SPI时钟 控制器发出的时钟信号,Flash据此采样或发送数据
OM_SIO[7:0] Octal IO数据线 8位数据总线,双向通信(收发命令/地址/数据)
OM_DQS 数据选通信号 DDR模式下Flash输出的时钟对齐信号,用于控制器采样数据

92bb98e4-6131-11f0-baa5-92fbcf53809c.png

点击查看大图

从上图可以看到command field的一个时钟周期的上升沿可以采集8位数据(因为有OM_SIO0-OM_SIO7八根线的数据,每根线上一位数据),下降沿也可以采集8位数据,这样一个时钟周期可以采集16bit的数据。同样的道理地址段两个时钟周期,可以采集32位数据。那么这样数据段的传输速率,相比1S-1S-1S协议提高了16倍。

关于OSPI Flash适配的内功心法就大致介绍完毕。我们将在下一个篇章推出具体的Octa Flash适配的移形换位大法。请感兴趣的读者,持续关注我们的#瑞萨嵌入式小百科公众号。

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

    关注

    147

    文章

    18613

    浏览量

    387182
  • 嵌入式
    +关注

    关注

    5186

    文章

    20151

    浏览量

    328890
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154709
  • 存储器
    +关注

    关注

    39

    文章

    7715

    浏览量

    170856
  • 瑞萨
    +关注

    关注

    36

    文章

    22431

    浏览量

    89754
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA8D1 CEU介绍与使用说明

    RA8D1 MCU集成了高性能CM85内核和大内存,以及丰富的外设集,包括带并行RGB和MIPI-DSI接口的高分辨率TFT-LCD控制器、2D绘图引擎、16位摄像头接口和多个外部内存接口,经过优化可满足各种图形和视觉AI应用的
    的头像 发表于 02-20 12:15 4278次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA8D1</b> CEU介绍与使用说明

    基于电子RA8D1 MCU的USB和I2S数字音频应用解决方案

    今天给大家介绍一下上海觉鑫智能科技有限公司基于电子RA8D1 MCU的USB&I2S数字音频应用解决方案。
    的头像 发表于 04-30 14:47 2474次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA8D1</b> <b class='flag-5'>MCU</b>的USB和I2S数字音频应用解决方案

    RA8D1 MCU如何进行OSPI Flash驱动的适配工作

    之前也说了广大不同厂家的OSPI Flash,虽然说大部分功能相似,大部分功能也可以复用,但是不同厂家的OSPI Flash还是存在或多或少的差别。因此如果客户出于成本的考虑,需要更换
    的头像 发表于 09-23 10:43 3840次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA8D1</b> <b class='flag-5'>MCU</b>如何进行<b class='flag-5'>OSPI</b> <b class='flag-5'>Flash</b>驱动的<b class='flag-5'>适配</b>工作

    使用RA8D1开发板实现人脸识别的应用演示

    随着科技的进步,人脸识别技术已逐渐成为一种主流的安全验证手段。它不依赖传统的密码,而是通过面部特征识别来验证身份,从而提升了安全性并带来了更大的便利性。本文将介绍如何通过RA8D1微控制器与Aizip人脸识别技术结合,实现高
    的头像 发表于 10-14 10:58 3540次阅读
    使用<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA8D1</b>开发板实现人脸识别的应用演示

    RA8D1单片机IO中断配置实现方法

    本文为结合e2 studio工具,以及CPKCOR_RA8D1B评估板,给大家讲述RA8D1
    的头像 发表于 04-09 15:05 1522次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA8D1</b>单片机IO中断配置实现方法

    RA8D1 CPK开发板试用】开箱与点灯

    一、前言 RA8D1 CPK开发板是业界首款基于Arm Cortex-M85内核的32位图形微控制器,板载资源丰富,性能优越。运行在480MHz的主频下可实现超过3000 CoreMark分数
    发表于 10-08 01:04

    RA8D1 CPK开发板】RA8D1移植ThreadX操作系统

    首先感谢[RA生态工作室]( RA MCU 生态社区)提供的
    发表于 10-20 20:22

    【CPKCOR-RA8D1】+ 1.RA8D1开箱点灯

    看看这款板子,非常的高大上,由核心板和扩展板两块板子组成,这种组合模式非常的便利 包装非常的上档次 可以看出RA生态工作是满满的诚意 绝对的巅峰制作 RA8D1是高性能480 MH
    发表于 09-24 18:55

    【CPKCOR-RA8D1RA8D1开箱测试报告

    选择是否将核心板的电源信号连接到扩展板,也可通过扩展板上的电源脚为核心板提供独立的供电(例如模拟电源等)。 电池供电接口,可以为核心板提供VBATT电源。 这不仅仅是一块扩展板,更是一个为RA8d1
    发表于 10-02 17:25

    新品发布 | 推出面向图形显示应用和语音/视觉多模态AI应用的全新RA8 MCU产品群

    新闻快讯 全球半导体解决方案供应商电子(TSE:6723)宣布推出RA8D1微控制器(MCU)产品群。RA8D1产品群作为
    的头像 发表于 12-15 16:00 1390次阅读
    新品发布 | <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>推出面向图形显示应用和语音/视觉多模态AI应用的全新<b class='flag-5'>RA8</b> <b class='flag-5'>MCU</b>产品群

    电子宣布推出RA8D1微控制器(MCU)产品群

    2023年12月12日,电子宣布推出RA8D1微控制器(MCU)产品群。RA8D1产品群作为
    的头像 发表于 12-15 15:58 1872次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子宣布推出<b class='flag-5'>RA8D1</b>微控制器(<b class='flag-5'>MCU</b>)产品群

    RA8D1微控制器组评估套件快速入门指南

    电子发烧友网站提供《RA8D1微控制器组评估套件快速入门指南.pdf》资料免费下载
    发表于 01-31 10:15 1次下载
    <b class='flag-5'>RA8D1</b>微控制器组评估套件快速入门<b class='flag-5'>指南</b>

    基于电子RA系列的野火耀阳RA8D1开发板产品简介

    野火耀阳RA8D1开发板是一款功能强大的开发板,适用于各种嵌入式应用开发。它采用电子的RA系列R7FA8D1BHECBD微控制器作为主控
    的头像 发表于 05-29 14:19 2038次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA</b>系列的野火耀阳<b class='flag-5'>RA8D1</b>开发板产品简介

    RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux

    RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux
    的头像 发表于 11-16 01:02 1434次阅读
    【<b class='flag-5'>RA8D1</b>试用活动】<b class='flag-5'>RA8D1</b>B-CPKCOR开发板移植linux

    RA8D1加密引擎功能体验和实践

    本次实践完成了RA8D1芯片AES密钥封装和芯片上加解密功能验证
    的头像 发表于 11-23 01:01 1429次阅读
    <b class='flag-5'>RA8D1</b>加密引擎功能体验和实践