首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» DSP外扩SRAM的应用测试心得体会(转)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
DSP外扩SRAM的应用测试心得体会(转)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-10-25 16:30
|
只看该作者
DSP外扩SRAM的应用测试心得体会(转)
心得体会
,
硬件测试
,
FLASH
,
程序
,
开发
转自:
http://www.51hei.com/bbs/dpj-32468-1.html
DSP的硬件测试说明:
平台说明:
图1-1 Code Composer Studio 6.0.0.00190 C/C++开发环境
硬件平台基于TMS320F28335芯片,软件平台基于TI的Code Composer Studio 6.0.0.00190 C/C++开发环境,如图1-1所示。
工作进度说明:
1.完成了DSP外扩SRAM的硬件的完整测试,通过修改TI官方的.cmd文件和库函数调用,
可以将FLASH中的函数复制到外部SRAM中运行,大大提高DSP程序的运行速度,附有详细说明。
2. 完成了RS485的驱动编写及应用测试。
3.利用官方的ADC_DMA、I2C例程,完成ADC和EEPROM的测试,整合了ADC_DMA例程。
4.CAN通讯和转速中断的代码公司已有,未整理。
5.DSP内置的看门狗模块已开启。
一、DSP扩展的外部SRAM应用说明(已测试完毕)
前言: DSP可以工作中150MHz的频率下,为了发挥其高速运行的特性, 一般会将
FLASH程序内容复制到外部高速SRAM中运行,TMS320F28335内部有34K X 16bit的SRAM,
TI将内部SRAM分成了多块(见F28335.cmd)。
一般的程序在内置FLASH中运行,程序在FLASH中的运行速度由FLASH的读取速度决定,
如果没有采用FLASH的加速技术,一般需要设置等待时间。 要想使程序高速运转,
最少要扩展一块SRAM 来高速运行DSP算法或中断函数。
1.外部SRAM分区说明
本项目的硬件扩展了256K 16bit SRAM 时钟延迟为10ns
SRAM型号为: IS61LV25616AL-10T
定位地址为: 0x0200000 前128K 用作程序空间,后128K用作数据空间
定位地址和ARM的内部SRAM地址一样,DSP中文数据手册参考内容如下图所示(可放大):
图1-2 DSP典型的16位和32位数据总线连接示意图
IS61LV25616AL-10T芯片的数据总线是16位,后面的STM32F429板子也用了这个芯片,但增加了高低位选通线,
因此可以读高低字节,比DSP更灵活:DSP最少一次读2字节,ARM想读任何字节都可以。另外ARM内部有FLASH加速,
可以直接跑180MHz,外设是90MHz,但比DSP性能相差已经比较小了。
DSP的GPIO37/XZCS7引脚控制的外部SRAM的物理地址如下图所示:
图1-3 GPIO37/XZCS7引脚控制的外部SRAM的物理地址说明
在F28335.CMD文件分配,详细内容如下:
XINTF zone 7 - program space
ZONE7A : origin = 0x0200000, length = 0x020000
XINTF zone 7 - data space
ZONE7B : origin = 0x0220000, length = 0x020000
2.外部DATA SRAM使用说明
内部SRAM不够用,则使用外部DATA SRAM,用法如下
#pragma DATA_SECTION(bufferB, "ZONE7DATA");
uint16_t bufferB[512];
仿真测试结果:
观察数据0x22000区域,可以看到bufferB区域被程序设置了正确的数据。
2.外部CODE SRAM使用说明
外部中断函数或一般函数使用如下格式的声明
#pragma CODE_SECTION(cpu_timer0_isr,"xintffuncs");
#pragma CODE_SECTION(cpu_timer1_isr,"xintffuncs");
编译器会将这些特定的函数分配在一个固定的FLASH区域
起始地址为XintffuncsLoadStart
结束地址为XintffuncsLoadEnd
主程序中XINTF Zone 7初始化后,调用如下函数将这个区域的特定函数
复制到外部SRAM的运行程序空间(0x0200000-0x021FFFF)
MemCopy(&XintffuncsLoadStart, &XintffuncsLoadEnd, &XintffuncsRunStart);
频繁运行或调用的捕获函数、定时器函数或特定算法,只有在高速SRAM中运行,
才能真正发挥TMS320C28335的实际性能。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议