打印
[LKS32 硬件]

LKS32的DSP模块

[复制链接]
353|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2024-1-18 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP模块使用自主设计的DSP指令集,可以进行加法、乘累加、移位、饱和等单周期算术指令,以及除法、开方、三角函数等多周期算术运算指令;具备load/store等访存指令,无条件跳转以及条件跳转等分支指令,还有中断提起等杂项指令。有断点指令和寄存器赋值等伪指令可以在模拟器上用于调试。
DSP有两种运行模式,自主运行、被动调用。
所谓自主运行即DSP读取CODE MEM中的指令和DATA MEM中的数据进行DSP程序执行,独立于ARM Cortex M0,此时DSP_SC.PAUSED=0,即DSP处于运行状态;CODE MEM和DATA MEM 允许DSP访问但不允许CPU访问改写。
被动调用是指DSP作为一个外设模块被ARM Cortex M0所调用,CPU直接访问DSP内部的算术运算资源如除法、开方、三角函数等。此时DSP_SC.PAUSED=1,即DSP不运行DSP程序,处于暂停状态,CODE MEM和DATA MEM允许CPU进行访问改写,对于不进行DSP程序开发的用户,推荐使用此种模式,通过CPU运行的软件直接调用DSP的算术单元。
DSP配备独立的程序存储器(CODE MEM)和数据存储器(DATA MEM)。在DSP暂停即DSP_SC.PAUSED=1时可以通过CPU访问这两个独立的存储区域,在DSP初始化的过程中需要由CPU将DSP运行的程序和初始数据分别写入DSP的CODE MEM和DATA MEM。DSP具备提起中断的指令,中断置位后,DSP同时进入暂停状态,此时允许CPU通过总线接口访问DATA MEM与DSP进行数据交互,包括读取DSP运算结果,以及写入DSP后续运行所需的数据等。
此外,为充分灵活利用DSP,在DSP暂停时允许CPU通过DSP寄存器接口直接访问DSP除法器、开方器、三角函数等运算模块,即允许CPU将DSP当做简单的运算协处理模块使用。

使用特权

评论回复
沙发
powerantone| | 2024-1-23 17:00 | 只看该作者
可以用在什么样的场合呢

使用特权

评论回复
板凳
powerantone| | 2024-1-23 17:00 | 只看该作者
LKS32的DSP模块有哪些优势呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

283

主题

2334

帖子

5

粉丝