55xdsp为什么设置

55xdsp为什么设置,第1张

定点 DSP 基于 TMS320C55x DSP 系列 CPU 处理器内核。 C55x DSP 架构通过增加的并行性和重视节能来实现高性能和低功耗。 CPU 支持一个内部总线结构,此结构包含一条程序总线,一条 32 位读取总线和两条 16 位数据读取总线,两条数据写入总线和专门用于外设和 DMA *** 作的附加总线。 这些总线可实现在一个单周期内执行高达四次 16 位数据读取和两次 16 位数据写入的功能。 此器件还包含四个 DMA 控制器,每个控制器具有 4 条通道,从而在无需 CPU 干预的情况下提供 16 条独立通道环境的数据移动。 每个 DMA 控制器在每周期可执行一个 32 位数据传输,此数据传输与 CPU 的运行并行并且不受 CPU 运行的影响。

C55x CPU 提供两个乘积累积 (MAC) 单元,每个单元在一个单周期内能够进行 17 位乘以 17 位乘法以及 32 位加法。 一个中央 40 位算术和逻辑单元 (ALU) 由一个附加 16 位 ALU 提供支持。 ALU 的使用受指令集控制,从而提供优化并行运行和功耗的能力。 C55x CPU 内的地址单元 (AU) 和数据单元 (DU) 对这些资源进行管理。

C55x CPU 支持一个可变字节宽度指令集以改进代码密度。 指令单元 (IU) 执行从内部或外部存储器中的 32 位程序取指令并且进行针对程序单元 (PU) 的指令排队。 PU 对指令进行解码,将任务指向地址单元和数据单元资源,并管理受到完全保护的管线。 跳转预测功能避免了条件指令执行时的管线冲刷。

TMS320C5535 上的通用输入和输出功能与 10 位 SAR ADC 一起为状态、中断以及用于键盘和媒体接口的位 I/O 提供足够的引脚。 通过以下器件为串行媒体提供支持:两个安全数字 (SD) 外设、四个内部 IC 声音(I2S 总线)模块、一个具有多达四芯片选择的串行端口接口 (SPI)、一粗卖个 I2C 主控和受控接口和一个通用异步收发器 (UART) 接口。

其它外设包括:一条仅支持器件模式的高速通用串行总线 (USB2.0)(TMS320C5532 上不提供)、一个实时时钟 (RTC)、三个通用定时器(其中一个可配置为看门狗定时器)和一个模拟锁相环 (APLL) 时钟发生器。

此外,TMS320C5535 还包括紧密耦合 FFT 硬件加速。 紧密耦合 FFT 硬件加速支持 8 至 1024 点(2 的幂)实值和复值 FFT。

器件中还包括以下三个集成 LDO,用于为器件的各个部分供电。

ANA_LDO(所有器件)为 DSP PLL (VDDA_PLL)、SAR 和电源管理电路 (VDDA_ANA) 提供 1.3V 电压。

DSP_LDO(TMS320C5535 和 C5534)为 DSP 内核 (CVDD)(一旦检测到工作频率范围,便可由软件实时进行选择)提供 1.3V 或 1.05V 电压。 在最低功耗运行状态下,编程人员可以关断内部 DSP_LDO,切断 DSP 内核 (CVDD) 电源,由外部电源为 RTC (CVDDRTC 和 DVDDRTC) 供电。 可通过 RTC 报警中断或 WAKEUP 引脚重岩段逗新使能内部 DSP_LDO,然后重新对 DSP 内核加电。 DSP_LDO 复位后,可针对引导加载程序提供 1.3V 工作电压。 对于 50MHz 器件,复位 DSP_LDO 后必须将其设定为 1.05V,使其与内核电压 CVDD 匹配,从而确保正常运行

USB_LDO(TMS320C5535、C5534 和 C5533)为 USB 内核数字电路 (USB_VDD1P3) 和物理层电路 (USB_VDDA1P3) 提供 1.3 V 电压。

这些器件由业界备受赞誉的 eXpressDSP、 Code Composer Studio 集成开发环境 (IDE)、 DSP/BIOS、德州仪器 (TI) 的算法标准和业界最大的第三燃迅方网络提供支持。 Code Composer Studio IDE 提供的代码生成工具包括一个 C 语言编译器和连接器、 RTDX、XDS100、 XDS510、 XDS560 仿真器件驱动程序和评估模块。 这些器件也受 C55x DSP 库以及芯片支持库的支持,此库特有 50 多个基础软件内核(FIR 滤波器、IIR 滤波器、FFT 和多种数学函数)。

特性

内核:

高性能,低功耗TMS320C55x定点数字信号处理器

20ns,10ns指令周期时间

50MHz,100MHz时钟速率

每个周期执行一条或两条指令

两个乘积累积单元(每秒高达2亿次乘积累加运算[MMACS])

两个算术和逻辑单元(ALU)

三个内部数据和 *** 作数读取总线以及两个内部数据和 *** 作数写入总线

与C55x器件软件兼容

提供工业温度器件

320KB零等待状态片上RAM,​​包括:

64KB双访问RAM(DARAM),8块4K x 16位

256KB单访问RAM(SARAM),32块4K x 16位

128KB零等待状态片上ROM

(4块16K x 16位)

紧密耦合快速傅里叶变换(FFT)硬件加速

外设:

直接存储器存取(DMA)控制器

四个DMA,各配有四条通道(共16条通道)

三个32位通用(GP)定时器

一个可选用于看门狗或GP

两个嵌入式多媒体卡(eMMC)和安全数字(SD)接口

通用异步收发器(UART)

具有四芯片选择的串行端口接口(SPI)

主控和受控内部集成电路(I 2 C总线)

四个针对数据传输的内部集成电路(IC)声音(I 2 S总线)

带有集成型2.0高速物理层(PHY)的器件USB端口,支持:

首先我们要先配置一下XDC工具链,什么叫做配置呢,实际上就是要让这条工具链写入到系统的注册表中间去,誉磨乱下面是整个工具链的配置过程:

1、运行windows命令行工具。

2、进入到XDC工具目录

3、运行命令:cd packages/xdc/tools/configuro/ccs

4、运行命令regsvr32 btiXdc

如果成功的话,会d出一个对话框出来:

这样XDC工具链就在系统中注册好了,接下来就可以建立整个工程了,步骤如下:

1、首先建立一个CCS3.3工程

2、建立.cfg配置文件,并加入到工程中,我是直接copy的自带例程中video-black-white例庆档程,内容如下:

/* set up OSAL */

var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global')

osalGlobal.runtimeEnv = osalGlobal.DSPBIOS

osalGlobal.defaultMemSegId = "DDR2"

Program.main = Program.system = null

/* get various codec modulesi.e., implementation of codecs */

/*

*  ======== Engine Configuration ========

*/

var Engine = xdc.useModule('ti.sdo.ce.Engine')

/* Include DSKT2 and DMAN3 configuration common to DVSDK examples:  */

xdc.includeFile('dskt2_dman3.cfg') // This is in examples/common/evmDM6437/

3、建立一个main.c文件,加入空main函数:

void main()

{

}

4、加入xdpaths.dat文件,包含dvsdk的各种文件路径

// include top-level XDC paths definition

       load( "../../xdcpaths_evmDM6437.dat" )

5、建立一个DSPBIOS配置文件,模板为evmDM6437,并将生成的tcf文件加入到工程中去。

6、修改build option选项游嫌

打开compiler选项卡,配置如下:

-g-@"=$(Proj_dir)/xdcconfig/compiler.opt" -pdr -fr"$(Proj_dir)/Debug" -i"$(Proj_dir)" -i"." -i"%BIOSDVSDK_INSTALL_DIR%/examples/common/evmDM6437" -i"%BSL_EVMDM6437_INSTALLDIR%/include" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/inc" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/drivers/inc" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/soc/dm6437/dsp/inc" -i"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/edma3/inc" -d"_DEBUG" -mv6400+

打开linker选项卡,配置如下:

-a -c -m"./Debug/BIOS_XDC_Project_Test.map" -o"./Debug/BIOS_XDC_Project_Test.out" -w -x -i"%BIOS_INSTALL_DIR%/packages/ti/rtdx/lib/c6000" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/i2c_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/palos_bios.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/prev_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/video_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/vpbe_bios_drv.lib" -l"%BIOSDVSDK_INSTALL_DIR%/psp_1_00_02_00/pspdrivers/lib/DM6437/Debug/vpfe_bios_drv.lib"

打开dspbiosbulider选项卡,配置如下:

-Dconfig.importPath="C:/CCStudio_v3.3/bios_5_31_02/packages"

打开XDC选项卡,配置如下:

--xdcpathsfile="xdcpaths.dat" -tti.targets.C64P -pti.platforms.evmDM6437 -Dconfig.importPath=".../%BIOSDVSDK_INSTALL_DIR%/examples/common/evmDM6437" --tcf

以上配置我也是直接copy那个例程的配置,当然这里面的配置可以按照自己的需要进行相应的修改以适应自己的工程需求

7、修改DSPBIOS的memory配置需求,因为至少要有一个堆heap(否则会编译出错的),所以我们首先要建立一个堆,DSPBIOS默认的配置中是没有的

8、修改DSPBIOS编译配置

9、编译整个工程

如果建立成功的话就会有上面所示的提示信息,呵呵~~~~~

这样一个完整的基于XDC工具的DSPBIOS工程就建立好了。

,在第二行选出码山猜任意一个机器人,我迟型先声明:2.2版本的机器人与2.1的一样。其次,调整机器人的强度按=键,有一排英文,按顺序按5,2,2,然后就是一排调整机器人强度的百分数。50%以上的为超强,强,稍强,唯历50%以下的为稍弱,弱,特若,0%是垃圾- -|||


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8205429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存