zoukankan      html  css  js  c++  java
  • Davinci笔记 DSP子系统 VS ARM子系统

    这两天看了一些davinci的资料,有如下一些认识:

    Davinci是由ARM+DSP组成的一个结构,虽然被包在一个芯片中,名为DM6446,但两者其实还有有一些独立性的。ARM主要负责整个系统的控制,而DSP则是运行与数字媒体(语音、音频、视频等)相关的一些算法,即对复杂的数据和图像/视频进行处理。所以在学习的时候,可以把ARM子系统和DSP子系统先分开学习,等熟悉这两个子系统分别都完成一些什么样的工作后,再学习如何将两者协调起来使用。(当然,ARM子系统和DSP子系统并不是严格独立的)。

    这张图较清楚地表达了ARM和DSP的关系:

    摘自资料 《SYSBIOS_Workshop_Student_Guide_rev6_10

    1、DSP子系统

    davinci的DSP子系统包括TMS320C64X+大模块和若干片内存储器(L1P\L1D\L2)。

    2、ARM子系统

    ARM子系统由如下部分组成:

    • ARM926EJ-S RISC处理器
    • ARM内存(16KB RAM,32KB ROM)
    • 嵌入式的跟踪模块和嵌入式的跟踪缓冲器(ETM/ETB)
    • 系统控制外设(ARM中断控制器、PLL控制器、电源和休眠控制器、系统模块)

    另外,ARM还管理和控制如下外设:

    • DD2端口控制
    • 异步EMIF(AMIF)控制器,包括NAND Flash接口
    • 增强的DMA(EDMA)系统-通道控制器(CC)和传输控制器(TC)
    • UART
    • 时钟
    • 脉冲宽度调制器(PWM)
    • 内部集成电路通信(I2C)
    • 多媒体卡/安全数码卡(MMC/SD)控制器
    • 音频串行端口(ASP)
    • 通用穿行总线(USB)控制器
    • ATA/CF卡控制器
    • 串行端口接口(SPI)
    • 以太网戒指访问控制器(EMAC)
    • 视频处理前端(VPFE)
    • 视频处理后端(VPBE)

    ARM CPU完成通常的系统控制任务,如系统初始化、配置、电源管理以及执行用户命令等。总体上说,ARM子系统负责整个DSP子系统、视频处理(VPSS)子系统以及大多数的外设和外部存储器的配置和控制。

    之所以选用ARM来完成这些任务,是因为与DSP相比,ARM具有更大的程序存储空间和更强的现场切换能力,也因此更适合于复杂、多任务和通用的控制任务。

  • 相关阅读:
    C++中类模板的概念和意义
    C++中模板类声明和实现能否分离?
    C/C++ 关于大小端模式,大小端字节序转换程序
    C++中的赋值操作符重载和拷贝构造函数
    C++中的友元
    C/C++内存对齐详解
    C++ 虚函数表、函数地址、内存布局解析
    虚析构函数的必要性(C++)
    C++中的抽象类和接口
    C++中的单例类模板
  • 原文地址:https://www.cnblogs.com/elaron/p/2299562.html
Copyright © 2011-2022 走看看