1.78k likes | 1.98k Views
ChipWrights 系列产品,基于 CWvX ™ 结构. Key Specifications. TMS320DM642-720. blackfin. Sony's 360 Degree Camera. 360 度全景照相机. 1 可以用一个镜头采集到全部周围场景 2 镜头下面的区域也可以采集到 3 镜头被设计成可以聚焦到 0- 无穷远,因而不需要调焦 4 没有运动部件,可以通过软件调焦,维护简便 功耗低 5 可以设计成只有镜头暴露在外面,可以安装在墙上或天花板上. 第一章 : CWvX Processor 总览 1.1 CWvX 结构
E N D
360 度全景照相机 1 可以用一个镜头采集到全部周围场景 2 镜头下面的区域也可以采集到 3 镜头被设计成可以聚焦到0-无穷远,因而不需要调焦 4 没有运动部件,可以通过软件调焦,维护简便 功耗低 5 可以设计成只有镜头暴露在外面,可以安装在墙上或天花板上
第一章: CWvX Processor 总览 • 1.1 CWvX 结构 • 1.2 并行数据通路结构 • 第二章: CW5521 描述 • 总揽,串行并行数据结构 • 第三章: Signal Pins System and Clock Pins 、 System Power and Ground Pins 、 Host/Peripheral Interface Pins 、 GPIO、 USB、 ACI、 PWM 、 SSI、 UART 、 Video Interface Pins、 DDR-SDRAM 、 Test Pin 、 JTAG Test/Debug Port Logic • 第四章: Clock Signals and Power States
R G B Video I/O signal 8,16 32bit 48-bit Analog Display #1 #2 GPIO EVI/EVO TripleDAC UART IF Serial IF Standard video IF 8 chip selects Timers Debug Port(JTAG) PLL Clocks Host Peripheral IF 8/16bit S2FM Fast AHB Bus DMA AHB Bus F2SS USB/ UTMI SD IF PHY DSP Master Interface DMM JPEG core IIS PProc 0 PProc 8 Audio Code IF 32bit Serial processor Icache PProc 1 PProc 9 DDR-SDRAM IF PProc 2 PProc 10 PMEM Control PProc 7 PProc 15 PWM motor IF PMEM Bank 0 PMEM Bank 1 PMEM Bank 2 PMEM Bank 3 PMEM Bank 4 PMEM Bank 5 PMEM Bank 6 PMEM Bank 7 CW5521内核及外设框图 电器特性 系统管脚 应用
1.1 CWvX Architecture • ChipWrights CWvX架构是CW DSP的基础,它对窄数据(32bit或更少)的并行图像/视频处理 进行了优化。这些优化包括: • SIMD single instruction/multiple data • 16个数据通路datapath(并行处理单元) • 一个类似于传统的RISC处理器串行通路(Serial RISC control processor ) • CodeWarrior-tm software development tools. • 优化了的C/C++编译器,汇编器,链接器,调试器,cycle-accurate simulator.
2.2.1/2数据通路 • 串行数据通路 • 大多用于地址计算,loop计数和系统控制代码 • 并行数据通路 • 大多用于算法处理
2.2.3 The Instruction Pipeline指令流水线 register file, extract, multiply, ALU and insert processing stages,
1.1.2 Parallel Datapath Structure • 16路32位并行处理单元 • 每个并行数据通路都有独立的31x32-bit register file;extractor, a multiplier,an ALU with a 16-bit accumulator, inserter. • 每个通路都可以禁止或使能
1.1.3 Serial Datapaths • 可用于支持并行数据的操作、提供地址、提取/加入信息,也可用来访问控制寄存器、管理程序计数器。 • 有自己的32个longword 寄存器和RISC-type指令,但是和并行通路共享指令流。 • 串行通路的寄存器在并行操作时作为控制寄存器,指明并行操作的数据类型、位宽等, • 在非并行操作时,作为普通寄存器-视为32位带符号整数
1.1.4 Primary Memory • 片上SRAM buffer,可升级,CW5521有256 KB,用于存储数据,查找表,变量等 • 作为8个交替的8Kx 32 banks来访问 • 每个指令周期可以读取或写入8个32-bit longwords
1.1.5 Instruction Cache • 高速内存,指令加载到此并由此执行(串行通路和并行通路),可升级 • CW5521可以存储4096个32-bit指令(16K),并可以用一个64字节的块直接映射。 • 16 KB direct mapped cache holds 4,096 32-bit instructions
1.1.6 System Bus and DMA Internal Bus Controller • 用于连接PMEM和ICache,以及系统外设源或目标 ,包括视频输入输出,处理器,等 • ‘AHB’ is a pipelined, multi-master, burst-oriented bus, and can be used in a wide variety of system configurations.——32位内部系统总线 • Fast AHB 用于访问高速系统资源, 如PMEM、DDR-SDRAM, 与DSP core处于相同速率 • AHB 用于访问其他的系统外设和资源如:JPEG encoder, 视频输入输出, USB, 工作于DSP core速率的一半。 • 8个独立DMA
1.2 Parallel Datapath Structure • 处理器可以在一个周期内执行一条指令,所有使能的数据通路执行相同的指令. • 并行数据通路执行有五个步骤: • 读取Register File • 指定数据源和数据地址,包括数据,系数,变量等。在此过程中,需要读取两个源寄存器和选择一个结果寄存器。指令执行中用到的源数据不会依赖于当前正在执行的指令——hazard,如果有,指令执行会暂停直到数据准备完毕。 • The Extrator and Inserter • The Multiplier • 乘法器 32 x 16,two 16x16,or four 8x16 或者两个指令周期执行一个32 x 32-bit 乘法.--单数据通路。 • Dot运算:CWvX乘法器可以在一条指令内完成32位乘加。 • MPEG中的帧间动态估计:计算4个字节寄存器 或者 两个字寄存器 之间的绝对差值或者队绝对差值求和 ,-32bit运算 • ALU • 支持加、减 左右移位,与 或,异或,向量加法(双16 或4-8bit)支持选择指令:(x?y:z)
The Extrator The Inserter
1.2.1 Parallelism in the CWvX Architecture • It extracts an 8-bit value from a 32-bit register, using a shift and mask (two operations). •It increments the source’s address pointer for use in the next extraction (one operation). This is performed on the serial datapath. •It multiplies the extracted value by another 32-bit register (one operation). •It adds the previously accumulated result in register P0 to the product (one operation). •It inserts (with a mask) the result into a destination register using a right-shift and a saturation clamp (three operations). • It increments the destination address pointer for use in the next insertion (one operation). Note this is performed on the serial datapath. 在一个周期内合成了:7个操作-并行数据通路,2个操作-串行数据通路
如果用一个通路执行这些操作,每个通路都打开的话,如果用一个通路执行这些操作,每个通路都打开的话, 一个指令周期内可以执行的操作数: 16个并行通路 × 7个操作=112个 还有串行通路的两个操作
1.2.2 CWvX Subword Parallelism (Shift+mask)×8 + 4个乘法=20RISC指令 16个通道 等效于每个CWvX周期320个基本操作
2.1 Overview of the CW5521 Implementation • 应用于可移动数字多媒体,如数字媒体播放器,照相机,摄像机 • 增强视频、图像的大量数据流处理 • 16个并行通路以及所有标准CWvX结构单元
2.1.1 External Interfaces and Features • Host/Peripheral Interface • 8/16bit主机接口用于连接外部主处理器或控制外部低速设备:CF,IDE,可主可从 • 最多8个片选信号,在主模式下有24 专用的地址引脚 • Video Data Interface • 一个32-bit输入口和16-bit 输出口,各有256-byte FIFO • 可接DMA,可加入HSync/VSync、request/acknowledge信号 • EVI/EVO enhanced video input (EVI) • enhanced video input (EVI) and output (EVO) • 可产生图像传感器, CCD, 视频编码器,LCD所需的时序、同步逻辑,控制信号 • Triple Video DAC • 属于增强视频输出的一部分,为LCD显示器提供RGB信号 • DDR-SDRAM Interface • 32-bit,One bank double data rate,256 MB (maximum) • 16个 longword 写 FIFO and 8个longword 读 buffer
2.1.1 External Interfaces and Features • General Purpose I/O (GPIO) Interface • 153 GPIO bits and 99 pins,48个专用GPIO口,其余公用。 • 147 GPIO (48 dedicated, 99 multiplexed) • USB Interface • 480 Mb/s high-speed, USB 2.0,可主可从,可工作于低速或全速,有自己的专用USBDMA,在AHB和USB接口进行通讯 • Audio Codec Interface (ACI)——I2S总线 • Pulse Width Modulation Motor Control Interface • 3 pairs of motor control lines,速率和幅度可编程 • Secure Digital (SD) Interface • 连接系统AHB总线和Secure Digital card,用于数据存取。DSD • Synchronous Serial Interface (SSI) • 支持格式包括Motorola’s SPI, National Semiconductor’s MICROWIRE • UART Interface——16550-standard • Debug Port Interface——JTAG
Embedded to external memory External to embedded memory Video input to memory Memory to video output USB to memory/memory to USB SD to memory/memory to SD JPEG Encoder to memory Memory to JPEG encoder 2.1.1 • DMA Controllers • Video input to the AHB space (DVA) • •AHB to video output (DAV) • •Transfers between DDR-SDRAM and internal memory (DMM) • •Transfers between AHB and a Secure Digital card (DSD) • •Transfers from JPEG Encoder to AHB (DJA). • •Transfers from AHB to the JPEG Encoder (DAJ). • •Transfers between the DDR and the Host Bus
2.1.1 • Timers • 4个可编程内部 timers和一个 “watchdog” timer • JPEG Encoder • 片上可编程 JPEG编码器,通过DMA(DAJ and DJA)与AHB通讯 • Clocks • 独立时钟for 系统、输入、输出,动态电源管理,可以由定时器或外部中断进入低功耗状态
Data flow between the memories and processors PMEM-to-datapath读写通路可以以8个bank同时传输 每个32bit宽 DMA
2.1.3 System Configurations 典型应用:数码相机
2.2.4 The Primary Memory (PMEM)Interface 对Fast AHB memory操作 对PMEM读取或写入数据 CORE or
8个 32-bit, 8K-deep SRAM banks.共256K • Bank0 从地址 0, 16, 32,开始 ? • 如果访问不同的bank 一次可以读8个32bit • 指向地址相同,则轮流读取 • 每个bank可以对应任意datapath • Slave- Fast AHB master 对PMEM 进行读写操作 • Master- 处理器内核或 ICache对Fast AHB memory 进行读写操作. • 如果datapaths or ICache访问的地址在PMEM,则相应的bank被初始化,否则访问被转向Fast AHB master 接口 • 处理器通过AHB访问其他存储空间时 DMA可以访问PMEM
2.3 CW5521 Memory Map 寻址空间:512M
3.1 System and Clock Pins系统和时钟信号 • SCLKIN——时钟输入,经PLL倍频/分频后产生DSP_Clk、AHB_Clk • SNMI_L——不可屏蔽中断 • SRESET_L——系统复位 • SCLKOUT——用于诊断,可配置为PLL 输出 • SXI_27MHZ——输入,最大可以到30 MHz,模拟信号,不用时接地。NTSC/PAL video output时需要此脚,且必须为27MHz • SXO_27MHZ——输出,不用oscillator的话可以不接
SCLKOUT Output Test Options 27MHz晶振连接
3.2 System Power and Ground Pins 3.3V模拟电源输入,供给PLL and DACcircuits. • DAC_AHVDD, DAC_AHVDDR, • DAC_AHVDDG, DAC_AHVDDB, • DAC_DHVDD, DAC_PVDD2P, • PLL_AHVDD, PLL_AHVDDG, • PLL_PVDD2P Digital power, 1.2 Volt. Analog Ground.为PLL and DAC电路供地 • DAC_AVSS, DAC_AVSSR, • DAC_AVSSG, DAC_AVSSB, • DAC_DHVSS, DAC_DVDD, • DAC_VSS, DAC_DVSS, • PLL_AHVSS, PLL_AHVSSG, • PLL_VSS, PLL_DVDD, PLL_DVSS ChipWrights 推荐用单一地平面,应用电源滤波
电源滤波电路 • VDDE+VSSE Input:External Power+Ground. 为I/O pads of the CW5521提供3.3V电源 • VSS Input:Ground. • VDDI+VSSI Input:Internal Power+Ground. 内核1.2V • VDDM+VSSM Input. Memory Power+Ground. 为DDR-SDRAM I/O pads 提供2.5V电源.
3.3 Host/Peripheral Interface Pins • HAD[15:0] 双向 • Host Address/Data. • 主机/外设的数据接口, • 主模式:数据 • 从模式:数据和地址 • HAS_L双向低有效 • Host Address Strobe • 从模式: 表示HA[3:0]地址输入有效 • 主模式: 在16bit模式中 用于高字节使能信号 • HCHIPSEL_L[7:0] 输出 • Chip Select. • 只用于主模式, 由内部地址信号HA[26:24]编码,用于外部设备片选 • HA[23:0] 双向 • Host Address. • 主模式:地址输出总线 • 从模式: HA[3:0]选择内部寄存器SLAVE_ADDR, SLAVE_DATA, and SLAVE_STATUS. • HM 输入 • Host Master/Slave. 高-主 低-从 • 引脚变化时需复位 • HW16 输入 • Host Port Width (16-bit or 8-Bit). • 为加载程序代码空间 选择主机端口宽度 高-16bit,低-8bit
Host/Peripheral Interface Pins • HRS_L 双向 • Host Read Valid Strobe. • 主模式: 选择外部器件送数据,需要上拉 • 从模式: 被选择送出数据 • HWS_L 双向 • Host Write Valid Strobe. • 主模式: 从器件接收数据,需要上拉 • 从模式: 接收数据 • HRD 双向 • Host Read/Write. 读写选择 1-读 0-写 • 主模式: 输出 必须上拉 • 从模式: 输入 • HREADY 双向 • Slave Ready. • 主模式: 由外部设备提供ready,必须上拉 • 从模式: 用于输出ready信号 • HCS_L 输入 • Host Chip Select/HAD Grant.主机片选信号/HAD准许 • 只有为低时才能执行读写--驱动数据、地址到 HAD[15:0] • 从模式: 选择CW5512进行读写 • 主模式: 用于延时主机接口
3.4 GeneralPurpose Interface (GPIO) Pins • 48 个专用 GPIO • GPIO_A[31:0] 由GPIO_A进行配置 • GPIO_B[15:0] 由GPIO_B进行配置 • 105 个公用 • 153 GPIO bits and 99 pins,48个专用GPIO口,其余公用。 • 147 GPIO (48 dedicated, 99 multiplexed)
3.5 (USB)Interface Pins 与GPIO_E共用 • USB_XCLK 60 MHz时钟输入 • USB_DAT[7:0] 双向 • PHY和USB接口之间的数据通讯 • UTM_I_AVALID 输入 • UTM_I_BVALID 输入 • Status of VBus compared to Session Valid threshold for an “A” device — • “1” if above threshold, “0” if below • UTM_I_HOSTDISCON 输入 • 只用于主模式,0表示有外设连接 • UTM_I_IDDIG输入 • 1表示连接了一个B-type设备,0表示A-type • UTM_I_LINESTATE[1:0] 输入 • 表示D+ and D-的状态
USB Interface 全为输入 • UTM_I_RXACTIVE 输入 • 1 表示接收了一个有效的包 • UTM_I_RXERROR 输入 • 1表述由于出错放弃当前接收 • UTM_I_RXVALID 输入 • 1 表示接收了一个有效的数据 • UTM_I_SESSEND 输入 • 0 VBus compared to Session End threshold is above the threshold • 1 below • UTM_I_TXREADY 输入 • 1 表示发送器需要数据 • UTM_I_VBUSVALID 输入 • 1 表示VBus is above VBus Valid threshold
USB Interface 全为输出 • UTM_O_CHRGVBUS • UTM_O_DISCHRGVBUS • UTM_O_DMPPULLDOWN • UTM_O_DPPULLDOWN • UTM_O_DRVVBUS • UTM_O_IDPULLUP • UTM_O_OPMODE[1:0] • UTM_O_SUSPENDM • UTM_O_TERMSEL • UTM_O_TXVALID • UTM_O_XCVRSEL[1:0]