请从官网下载 TD4VM 技术参考手册,地址如下:

TDA4VM 技术参考手册地址

概述

(Mailbox 的介绍在 TRM 的第7.1章节)

Mailbox 使用邮箱中断机制实现了 VM 芯片的核间通信。
Mailbox 是集成在 NAVSS0 域下的一个外设(NAVSS0 的说明可以查看:TDA4VM/VH 芯片 NAVSS0)。
芯片上的 Mailbox 存在一定数量的邮箱实体(mailbox cluster),整个mailbox 被称作 MAILBOX0.

功能

MAILBOX0 的功能可以使用下面的图概括:

说明

  1. 12个邮箱实体,每一个邮箱实体的配置方法一致,且可作为单独的邮箱外设使用(每一个邮箱实体分配的中断号都不一致);
  2. MAILBOX0 的每一个邮箱实体可产生4个中断号不一致的中断,也就是说,每一个邮箱实体可实现4个核之间的核间通信
  3. 每一个邮箱实体存在16个队列,每一个队列最多可保存4个message,每一个message 宽度为 4字节
  4. 每一个邮箱可单独产生队列接收新消息中断,与队列未满中断,每一个队列都可单独使能/失能中断;

MAILBOX0 集成实现

MAILBOX0 并不直接作为某一个芯片域的外设,而是集成在 NAVSS0 模块下:

说明:

  1. MAILBOX0 的时钟与复位由 LPSC0 配置,参考时钟为 MODSS_VBUS_D2_CLK, 来自 MAIN_SYSCLK0;复位信号为 MODSS_RST,由MOD_G_RST控制;
  2. MAILBOX0 存在12个邮箱实体,每一个邮箱实体可作为一个单独的邮箱外设,产生4个不同的中断:CLUSTER[0:11]_PEND_INTR[0:3];
  3. MAILBOX0 的12个邮箱产生的48个中断,会被 INTR_ROUTER0[439:392] 接收,处理器真正接收的中断是 INTR_ROUTER0 的输出中断:OUTL_INTR[0:407];

注意INTR_ROUTER0NAVSS0 的一个外设,用于接收不同的中断信号,并路由给不同的处理器核来处理。NAVSS0INTR_ROUTER0 可以查看下面的文章:
TDA4VM/VH 芯片 NAVSS0

邮箱功能描述

MAILBOX0 共实现了12个邮箱,每一个邮箱都可以产生4个不同的中断,所以,每一个邮箱都可以为4个处理器提供核间通信。

中断使能:置位 MAILBOX_IRQ_ENABLE_SET_[0:3] 寄存器对应的位;
中断失能:置位 MAILBOX_IRQ_ENABLE_CLR_[0:3]寄存器对应的位;

注意:上述寄存器只配置中断[0:3]的使能与失能,并不设置中断与处理器之间的映射关系,中断与处理器之间的映射关系通过 INTR_ROUTER0 来配置,通过将邮箱产生的中断映射到 INTR_ROUTER0 的输出中断上,实现指定的处理器核处理邮箱中断。

4个中断的状态可以通过 MAILBOX_IRQ_STATUS_RAW_[0:3] /MAILBOX_IRQ_STATUS_CLR_[0:3]来查看。

邮箱复位

邮箱可以通过 MAILBOX_SYSCONFIG[0].SOFTRESET 位来实现邮箱外设软复位。

邮箱的中断请求类型

每一个邮箱都实现了两类中断:

  1. 队列接收消息中断;
  2. 队列未满中断;

注意:每一个邮箱拥有16个队列,每一个队列可以单独使能或失能上述两类中断.

邮箱分配

接收(建议中断方式,如下):

  1. 首先通过 MAILBOX_IRQ_ENABLE_SET_[0:3] 使能邮箱的队列接收消息中断,然后通过 INTR_ROUTER0 将邮箱中断映射到指定的输出中断上,实现指定的处理器来处理邮箱的接收中断;
  2. 接收的处理器可以读取 MAILBOX_MESSAGE_[0:15], 实现从邮箱的指定队列读取消息。

发送(建议轮询方式,如下):

  1. MAILBOX_FIFO_STATUS_[0:15]MAIL_MSG_STATUS_[0:15] 检查指定队列的 FIFO 状态;
  2. 如果指定的队列 FIFO 未满,则写新消息到 MAILBOX_MESSAGE_[0:15]

邮箱通信示例

说明:

  • User0User1 使用邮箱0进行核间通信,其中,User0 的发送通道为队列0,接收通道为队列1,而User1 的发送通道为队列1,接收通道为队列0;
  • User0使用邮箱0 的 CLUSTER0_PEND_INTR0 作为队列1消息接收中断, 置位MAILBOX_IRQ_ENABLE_SET_0BIT2
  • User1使用邮箱0的 CLUSTER0_PEND_INTR1 作为队列0消息接收中断, 置位 MAILBOX_IRQ_ENABLE_SET_1BIT0
  • User0 通过写 MAILBOX_MESSAGE_0 ,实现往队列0中写消息,并触发 CLUSTER0_PEND_INTR1 中断给 User1;
  • User0 通过写 MAILBOX_MESSAGE_1,实现往队列1中写消息,并触发 CLUSTER0_PEND_INTR0 中断给 User1;

TDA4VM/VH 芯片硬件 mailbox相关推荐

  1. TDA4VM/VH 芯片 NAVSS0

    请从官网下载 TD4VM 技术参考手册,地址如下: TDA4VM 技术参考手册地址 概述 (NAVSS0 的介绍在 TRM 的第10.2章节) NAVSS0 可以看作 MAIN 域的一个复杂外设域,实 ...

  2. 用stm32开发时是直接买现成的开发板还是芯片?开发板学习,芯片硬件设计

    视情况而言,买开发板用于评估和学习,然后买芯片做硬件设计 开发板 开发板上手即可使用,并附带很多模块. 拿到开发板后即可直接根据开发板提供的原理图进行程序编写,学习. 优点:简单快捷,上手快,拿到手就 ...

  3. 牛屎芯片 | 硬件之家

    前言:牛屎芯片又叫邦定芯片或软封装芯片,一般应用于价格较为低廉的电子设备中.硬件之家原创文章. 一.牛屎芯片 牛屎芯片又叫邦定芯片或软封装芯片,之所以叫邦定芯片是因为用到了邦定技术(bonding), ...

  4. 一文了解CPU及芯片硬件技术发展

    作者: 智能计算芯世界 服务器的逻辑架构仍然遵循冯·诺依曼架构,主要包含:处理器(CPU.GPU.DPU等).存储器.I/O接口,以及SSD.BMC.PCIe插槽.主板.电源.风扇和相关软件等. 处理 ...

  5. 内置安全芯片 硬件加密手机VEB第三代发布

    腾讯数码讯(杜杰)对于使用智能手机的用户来说,大多数人都会在手机内安装几个加密或者安全软件,高级一点的则会通过远程擦除/保护等功能,在手机失窃后尽可能挽回数据损失,从这个方面来说,安全与隐私的确是手机 ...

  6. 15 玩转STM32之IIC通信(芯片硬件篇)

    15.1 IIC控制器说明(硬件部分) 在14 玩转STM32之IIC通信(软件模拟篇)我们讲了软件模拟的方式,本章讲解芯片自带的硬件部分(并非所有的芯片都含有IIC,像51系列的是没有的,但是绝大多 ...

  7. 边缘AI哪家强?英伟达、英特尔、谷歌三家芯片硬件测评

    Edge AI(边缘人工智能)仍然是行业的焦点新事物,很多人不确定他们的项目应该选择哪种硬件及平台.今天,笔者将大家评测一些领先和新兴的AI软硬件平台. 自2012年开始深度学习热潮以来,英伟达就一直 ...

  8. 海思芯片硬件java加速_海思Hi3719C V100芯片简介

    主要特点 CPU:arm Cortex A9 双核;独立的 I-Cache.D-Cache.L2 Cache;集成多媒体加速引擎 NEON;支持硬件 Java 加速;集成硬件浮点协处理器 3D GPU ...

  9. 海思芯片硬件java加速_海思芯片直播延迟测试结果(小于100毫秒)

    背景 最近接触了许多客户,许多是做安全方面产品的客户,有些还涉及到jun队后勤的等等,他们普遍对采集延迟,编码延迟,传输延迟等都有很大关注.例如有个客户是做反狙击探测的,那可是与生命相关的,容不得试错 ...

最新文章

  1. 全球首辆飞行摩托开卖!飞行高度可达4572米,243万元一辆,你敢开吗?
  2. 18不使用委托实现能自动侦测车距的智能汽车
  3. Flutter开发之Android应用打包发布(22)
  4. 深度学习总结——CS231n课程深度学习(机器视觉相关)笔记整理
  5. 解决wordcloud显示中文为空格(空白)
  6. 将可执行文件加入到系统启动项中
  7. 23.6. Functions
  8. 备份及恢复计算机名及tcp-ip配置,tcp,ip协议,修复.docx
  9. 易云维医院后勤管理系统浅谈医院空调设备管理的问题及优化建议
  10. 博士申请 | 美国埃默里大学招收2022秋季入学机器学习方向全奖博士生
  11. 新型冠状病毒数据可视化分析
  12. 百分点大数据技术团队:Cesium技术在智慧应急行业的应用
  13. 刚刚,联通和华为发布《5G车路协同白皮书》| 附下载
  14. 学习 MBM 笔记2
  15. 计算机考研abc区划分,研究生地区分类-考研ABC区域的划分考研ABC区域的划分, – 手机爱问...
  16. 《大学两年的摸爬滚打:新征程》
  17. 简单易写的九九乘法表 (C++代码)
  18. iOS runtime面试题
  19. Bootstrap从入门到实战---巨幕和旋转图标
  20. 絮絮叨叨C++ template

热门文章

  1. 视频下载(无意间不知道在哪里收藏的,我自己没有下载过,也没有测试过,如果你确实有需要下载下面的视频,就试试吧。如果下载不了也别扔石头。)
  2. 探索数字化节能降碳 广域铭岛助力电解铝行业碳达峰
  3. 苹果商店APP发布流程(H5 APP苹果发布流程)
  4. python输入年份输出年历_python打印万年历
  5. TestNG框架的环境搭建
  6. 易语言单窗口单ip教程_手游搬砖经验单窗口单IP防封黄金法则
  7. Nero精简版 ImgBurn下载
  8. 企业如何打造团队凝聚力培训PPT课件?
  9. NOIP2011普及组复赛 解题分析
  10. 自由完美GhostXP_SP3标准装机版2013.10