CCS支持的.dat文件详解(转载于hellodsp)
CCS支持的.dat文件的格式为:

定数  数据格式  起始地址  页类型  数据块大小

1651

其后是文件内容,每行表示一个数据。

定数固定为“1651”,数据格式可以选择“1”(十六进制整型)、“2”(十进制整型)、“3”(十进制长整型)、“4”(十进制浮点型)。起始地址为存储的地址,页类型和标示为程序或者数据。

比如一个.dat文件:

1651 1 800 1 10

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

0x0000

制作.dat 文件的方法也很简单,可以用VC++或者MATLAB来实现。比如hellodsp的网友lwxing提供的使用matlab创建.dat文件的一个实例:
matlab向dsp传递.dat文件

x=2*sin(2*pi*100*m*dt);

for m=1:200;

if x(m)>=0 y(m)=x(m);

else y(m)=4+x(m);

end;

end;

y=y*16384;

fid=fopen('input.dat','w');%打开文件,'w'是将此文件定义为可写的,fid是此文件的整数标示

fprintf(fid,'1651 1 0 1 0/n');%输出文件头,文件头必须是dsp所能识别的,就如此句程序所设定的

fprintf(fid,'0x%x/n',round(y));%输出y数组,并写到与fid标示符相同的文件,即yinput.dat文件里。round是取y值的最近的数,即如果是1.2,就取1,如果1.6,就取2.

fclose(fid); %关闭fid标示符的文件。

fid=fopen('input.dat','w');%打开文件,属性设置为写

fprintf(fid,'1651 1 0 1 0/n');%输出文件头,只有此文件头dsp芯片才能识别

fprintf(fid,'0x%x/n',round(x));%输出十六进制的x

fclose(fid);关闭

这里x要转换成二进制补码,这也是我发此贴的目的所在。只是个人的理解,如果有问题,请大侠们改正,为更多dsp学习者们提供借鉴。

首先确定x的范围,譬如x=【-2,2】,那么,我们采用定点Q14,那么就是要乘以16384,如果x<0,还要转化成其补码。补码应该是用模加上x,即4+x,然后再将此数乘以16384.

转载请注明出自DSP交流网 DSP学习第一论坛 DSP技术应用与推广平台 DSP开发服务平台http://www.hellodsp.com/bbs/,本贴地址:http://www.hellodsp.com/bbs/viewthread.php?tid=4537

其在CCS中的使用方法可以有一下命令:

File->Data->Load

File->Data->Store

File->File I/O

红尘出品,转载请注明出处。

 

to mayerx:

我按你说的方法试了一下,不知道负数应该怎样处理?你说的“生成的数据转化为合适Q值的十六进制数据”看了不是很明白.我的小程序如下,错的地方请指正,谢谢!

x=8*sin(0.5*2*pi*[1:1000]/300)+3*sin(40*2*pi*[1:1000]/300);%产生数据

fid=fopen('input.dat','w');%打开文件

fprintf(fid,'1651 1 0 1 0/n');%输出文件头

fprintf(fid,'0x%x/n',round(x));%输出

fclose(fid); 

************************888

我知道怎么用matlab产生dsp 需要的数据文件,程序附在下面.

% Creat a data file of the sinewave, which DSP chip can load .%

clear all;

Fs=8000; %Sampling Frequecy of AD535 chip=8KHz%

f1=100; %Frequency of Sine Wave" 

y=10*sin(2*pi*f1*[0: 160]/Fs); % Number of Sampling point=160, and create sine wave%

plot(y);

grid on;

reply=input('Please input category of data: '); % input category of data%

fid=fopen(sine1.dat', 'w'); %creat a data file in the given folder%

fprintf(fid, '1651 %d 0 0 0 /n', reply); % output the head file of .dat file %

switch reply % output data into the .dat file according to the category of data%

case 1

fprintf(fid, '0x%x/n', y); % output 32bit hexadecimal data % 

case 2

fprintf(fid, '%d/n', round(y)); % output 32bit float data %

case 3

fprintf(fid, '%12.1f/n', round(y)); % output 40bit long inter data %

case 4

fprintf(fid, '%f/n', y); % outout 32bit integer data % 

end

fclose(fid); % close the .dat file % 

*************************************************88

对于负数,应当采用补码,用模减去该数的绝对值. 

你的程序中有如下问题没有考虑:

x=8*sin(0.5*2*pi*[1:1000]/300)+3*sin(40*2*pi*[1:1000]/300);%产生数据

%%此后要对X中的各个元素需要转化为合适的定点数,比如你的各元素在-11~11之间,则选用Q11,其示数范围在-16≤x≤15.9995117,否则保存结果应当还是浮点数.用浮点数A转换成定点数B:  B =(int)A×2^Q来进行转换,如果是负数,还需要求补.



fid=fopen('input.dat','w');%打开文件

fprintf(fid,'1651 1 0 1 0/n');%输出文件头

fprintf(fid,'0x%x/n',round(x));%输出

fclose(fid);

【DSP开发】CCS数据格式 load的更多相关文章

  1. 【DSP开发】gel文件编写

    以下转载自:http://blog.csdn.net/henhen2002/article/details/4573447 GEL--通用扩展语言,无类型语言,只有int类型,当CCS运行时首先执行这 ...

  2. DSP开发资源总结,经典书籍,论坛

    OMAP4开发资源总结: 一.TI OMAP4官网介绍: http://www.ti.com.cn/general/cn/docs/wtbu/wtbuproductcontent.tsp?templa ...

  3. Davinci DM6446开发攻略——DSP开发工程建立

    前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...

  4. 【DSP开发】利用CCS5.4开发基于DSP6455的JPEG2000图像解压缩过程

    [DSP开发]利用CCS5.4开发基于DSP6455的JPEG2000图像解压缩过程 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:前端是时间基于VS ...

  5. 【DSP开发】DSP能用VS2010生成的链接库文件吗?

    [DSP开发]DSP能用VS2010生成的链接库文件吗? 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:可能这个问题让行家看上去就会莞尔一笑,但是很多 ...

  6. 【DSP开发】【Linux开发】基于ARM+DSP进行应用开发

    针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算 ...

  7. DSP开发笔记一

    前言 ​ 本笔记首先对DSP的特点及其选型进行了描述,然后重点记录DSP开发环境的搭建及基础工程示例,对为DSP开发新手有一定的指导作用. 1. DSP简介 1.1 主要特点 在一个指令周期内可完成一 ...

  8. 你应该知道的4个DSP开发支持库

    引言 在dsp开发中,为了节省开发时间和难度,TI将一些成熟的算法封装为模块,供开发者使用.如果能充分利用这些算法支持库,对于加快dsp开发进程与提高代码质量.稳定性有非常大的帮助. Digital ...

  9. 【DSP开发】如何获得浮点型的数据的IEEE的表示

    [DSP开发]如何获得浮点型的数据的IEEE的表示 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 浮点数的存储规范,由IEEE指定的,具体的规范文件是:IE ...

随机推荐

  1. ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用

    1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...

  2. currentTimeMillis与 nanoTime

    时间单位换算 1s=10^3ms(毫秒)=10^6μs(微秒)=10^9ns(纳秒)=10^12ps(皮秒)=10^15fs(飞秒)=10^18as(阿秒)=10^21zm(仄秒)=10^24ym(幺 ...

  3. [Javascript] Nested generators

    To see how to call another generator inside a generator: function* numbers () { ; ; yield* moreNumbe ...

  4. 快速了解AMD、CMD、CommonJS、ESM

    1.ES6 Module javascript在ES2015(ES6)中出现了语言层面的模块(module). ES6的模块既可以用于浏览器端,也可以用于服务器端(nodeJS). ES6模块是静态化 ...

  5. 数据库读写分离、分表分库——用Mycat

    转:     https://www.cnblogs.com/joylee/p/7513038.html 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据 ...

  6. 【csp模拟赛3】flowers.cpp--循环节

    题目描述 小 Q 最终还是过了独木桥. 前方的地上散落着 B 朵樱花,此时刮起了风,便引来一场樱花雨. 樱花雨一共持续了 N 秒.每一秒都会有 A 朵樱花飘落.小 Q 细心的记录了每一秒时间 后地上樱 ...

  7. POJ 1661 Help Jimmy ——(记忆化搜索)

    典型的记忆化搜索问题,dfs一遍即可.但是不知道WA在哪里了= =,一直都没找出错误.因为思路是很简单的,肯定是哪里写挫了,因此不再继续追究了. WA的代码如下,希望日后有一天能找出错误= =: —— ...

  8. Spring框架IOC解说

    控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合.当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象.你可以认为IoC与JN ...

  9. 修复grub rescue问题

    前几天,手欠点了下win10的系统升级,直接从17.09升级到了19.3虽然也有些波折,总体顺利,以为一切都完事大吉之时,重启系统,原来,万恶的win10给我挖好了坑,早等着我呢.我去,千万只cnm脑 ...

  10. Redis字符串(String)

    1.set SET key value [EX seconds] [PX milliseconds] [NX|XX] 将字符串值 value 关联到 key 可选参数: EX second :设置键的 ...