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具有更大的程序存储空间和更强的现场切换能力,也因此更适合于复杂、多任务和通用的控制任务。

原文地址:https://www.cnblogs.com/elaron/p/2299562.html