报告中总结了DM642的硬件部分外围接口及内部主要工作原理,包括视频捕捉、EDMA配置等。同时学习了其汇编指令集。
DM642外围接口包括:
17个GPIO;
3个32位通用定时器(内部时钟源=CPU/8时钟频率);
3个可配置的视频端口(可作为视频采集端口,视频显示端口或作为传输流接口采集端口(TSI));
2个多通道缓存串口(McBSP);
1个EMIF A(64位总线宽度的外部存取接口A),支持异步存储器(SRAM和EPROM)和同步存储器(SDRAM,SBSRAM,ZBT SRAM和FIFO)直接接口,总共1024Mbyte可寻址空间;
1个内插VCXO控制接口;
1个多声道音频串行端口(McASP0);
1个PCI;
1个用户配置16位或32位主机接口(HPI16/HPI32);
1个管理数据输入输出(MDIO);
1个10/100Mb/s以太网控制器(EMAC);
1个I2C总线;
下面分析一下VP0、VP1、VP2:
3个视频接口用途:视频显示接口,最多处理3路视频输出,A通道可用,B通道不可用;视频捕捉接口,同时最多处理6路视频采集;
这里只分析VP*的视频采集工作流程,在视频采集操作中,视频端口可以作为BT.656或者原始视频采集的两个8/10通道来操作;或者作为8/10位BT.656,8/10位原始视频,16/20位Y/C视频,16/20位原始视频,或8位TSI的一个单通道。每个视频端口由A、B两个通道组成。在两个通道之间存在一个可分开的5120字节的采集/显示缓存区。
视频捕捉模式有9种:8-Bit ITU-R BT.656 Capture、10-Bit ITU-R BT.656 Capture、8-Bit Raw Capture、10-Bit RawCapture、8-Bit Y/C Capture、10-Bit Y/C Capture、16-Bit RawCapture、20-Bit Raw Capture、TSI Capture.
BT.656捕捉视频分三个buffer分别获取Y、Cb、Cr信号,存储于YSRCA、CBSRCA、CRSRCA寄存器,触发EDAM相应的事件,然后将数据移到memory。A、B通道可同时使用,并分别有2560bytes FIFO使用。
8/10位raw视频捕捉,A、B通道分别有2560bytes FIFO同时用来捕捉视频到YSRCA和YSRCB,触发EDAM相应的事件,EDAM将数据移到memory。
Y/C视频捕捉配置为单通道,A、B配合采集Y(2560 bytes)、Cb(1280 bytes)、Cr(1280 bytes)信号。存储于YSRCA、CBSRCA、CRSRCA寄存器,触发EDAM相应的事件,然后将数据移到memory。
16/20位raw视频捕捉配置为单通道,使用5120 bytes FIFO采集数据存储于YSRCA寄存器,触发EDAM相应的事件,然后将数据移到memory。
EDMA中的VPYEVTA、VPCbEVTA、VPCrEVTA、VPYEVTB、VPCbEVTB、VPCrEVTB事件对应A、B通道。
下面分析一下DM642内部的EDMA配置:
EDMA控制器负责片内L2存储器与其他外设之间的数据传输。EDMA的64个通道共享一个EDMA_INT,其触发方式分别为:由CPU启动;由同步事件触发,当触发成功,EDMA的PaRAM中的传输参数被送入地址发生器,完成对EMIF、L2存储器或外设存取访问。
EDMA有参数linking:即一个通道可以装载多个参数组,组成一个参数链,为同一通道服务。其同时支持多通道的linking:即一个事件的触发可以连续引发多个通道的传输操作。EDMA也可以通过寄存器设置通道的优先级。
最后总结一下DM642指令集:指令与8个功能单元存在映射关系,并每个指令都有各自的延迟间隙。指令分为: Load/Store类指令、算术运算类指令、逻辑及位域操作指令、搬移类指令、程序转移类指令。
指令包中可以并行执行,不过执行的过程存在各种限制。DM642针对TMS320C6000系类存在一些扩展指令,扩展的指令中值得一提的为求积和的指令DOTP2、Galois 域乘法运算指令GMPY4和数据打包与解包指令PACK2/UNPKHU4等。
针对以上内容的概要,自己仅作了简单的外围叙述。在两周的学习期间,自己认为到dsp芯片的硬件接口及内部数据传输处理机制的了解是对后期编码与优化工作的铺垫,DM642的汇编指令的学习是优化工作的基础。其汇编指令的繁杂与细节技巧的特殊性需要在不断的实践中熟悉与掌握。
|