0
点赞
收藏
分享

微信扫一扫

随想录(关于dsp)

zhaoxj0217 2022-11-23 阅读 105



 

    dsp,也就是数字信号处理器。有的同学可能会觉得很陌生,其实在arm流行之前,dsp应用的场景还是非常多的。不管是电机控制领域,还是在图像处理领域,dsp都有它自己的应用领域。dsp本身是ti公司发明的,在性能上面很强,当然发热也是很厉害的,这方面需要注意下。

 

1、dsp的类型

    主要有三种,一种是28335这种单颗芯片的dsp;还有一种是j6芯片这种,里面有双核a15,还有dsp芯片、双核m系列arm芯片;最后一种就是soc里面专门用来处理声音的dsp,比如nxp的芯片会集成dsp。

 

2、开发工具

    ccs软件

 

3、链接文件

    cmd文件

 

4、dsp汇编文件

    ​​https://www.nxp.com/docs/en/reference-manual/DSPASMRM.pdf​​

 

5、dsp和arm硬件差别

    硬件层面的一个比较大的区别,就是浮点运算。相比较而言,stm32不是所有的soc都有fpu,有的需要软件库支持,有的支持硬件单精度计算,这上面dsp就没有相关的烦恼,而且速度很快,这样是dsp能火的原因吧。

 

6、软件开发差异

    个人认为有这么两个,a、堆栈都是从低到高压栈;b、最小数据长度是16位。特别是后面这一个,决定很多软件都要对dsp进行定制,比如网络这一块就要定制。如果是dsp来处理网络报文的收发,这一块基本没有好方法,只能自己写一个简单的udp协议。

 

7、ti linux的编译方法

    yocto编译环境,这个和build root有点类似。

    nxp的imx soc系列也是用的yocto开发的。

 

8、ti自带的rtos

    ti-rtos,有一定的使用场合,多用于算法,或者功能安全系统

 

9、推荐的软件设计方式

    如果不是非常必要,可以选择其他soc来解决问题。实在不行,可以选择通用的arm soc + 28335之类的芯片,这样一方面可以复用linux的生态软件,一方面可以用dsp来处理信号,或者实现自动控制。这种方法,就有点类似于arm + fpga、arm + gpu的模式。如果是选用j6、j7芯片,基本只有大公司才会这么做,或者个人对ti的soc很精通,不然小公司建议不要用,因为小公司获得ti的support是很难的。

 

10、dsp&soc的资料

    ​​https://processors.wiki.ti.com/index.php/Main_Page​​

    ti芯片soc部分,资料基本靠自己消化吸收,外面用的不多,电商网站上可以购买的开发板也不是很多。

 

11、dsp支持力度

    除了常规的28335之外,dsp的支持力度基本是很差的,你能做的就是在ti的论坛上问点问题,

    ​​https://e2echina.ti.com/question_answer/​​

    能力方面,基本是北美support > 上海support > fae个人

 

12、dsp的拓展

    处理器方便,可以学习下arm,加速器方面可以学习fpga、gpu。

 

ps:

    之前关于硬件加速部分,一个有效的方法就是opencl,ti自己本身擅长dsp,所以它做了opencl based on dsp的这么一个框架,有兴趣的同学可以看看。

    ​​https://downloads.ti.com/mctools/esd/docs/opencl/intro.html​​

    

    对openmp的支持,可以看这个

    ​​http://downloads.ti.com/mctools/esd/docs/openmp-dsp/intro.html​​

 

 

 

举报

相关推荐

0 条评论