查看: 54015|回复: 375

[分享] 野火K60的CMSIS工程(DSP 数字信号处理单元 例程,3月29日更新个bug)

[复制链接]

该用户从未签到

6

主题

79

帖子

0

中级会员

Rank: 3Rank: 3

积分
441
最后登录
1970-1-1
发表于 2012-3-27 16:22:31 | 显示全部楼层 |阅读模式
 
        M4 相对于 M3 来说,最大的特点就是多了个DSP内核,而很多人都不知道该如何用这个DSP内核,那就相当于把 M4 当成 M3 来用,o(︶︿︶)o 唉!!!
        其实,M4 的 DSP 内核 挺容易用的,ARM公司已经写好了 函数库,我们直接调用就可以了。非常方便……
 
      在这里,野火就把 CMSIS 的 库 放进工程里面,你们可以参考官方给参考资料,从而控制 DSP 内核。
 
什么是CMSIS?看ARM公司的介绍吧:
ARM® Cortex™ 微控制器软件接口标准 (CMSIS) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。nbsp;使用 CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的处理器软件接口,从而简化软件的重用、缩短新微控制器开发人员的学习过程,并缩短新设备的上市时间。
该标准完全可扩展,可确保其适合于所有 Cortex-M 处理器系列微控制器,从最小的 8 KB 设备到具有复杂通信外设(如以太网或 USB-OTG)的设备。 (内核外设访问层的 CMSIS 内存要求少于 1 KB 代码,少于 10 字节 RAM)。
 
 
工程里的库,就是ARM公司出的CMSIS里DSP库,例程也是根据官方例程修改的,改成容易初学者接受的方式。
 
o(∩_∩)o 哈哈,数字信号处理没学好,只好先个个简单的例程。
 
<ol class="dp-cpp">    <li class="alt">/************************************************************************    *                             野火嵌入式开发工作室   
    <li class="alt">*                            CMSIS库cos、sin测试实验       *  
    <li class="alt">*  实验说明:野火CMSIS库cos、sin测试实验       *  
    <li class="alt">*  实验操作:无      *  
    <li class="alt">*  实验效果:测试成功,则LED流水灯       *  
    <li class="alt">*  实验目的:熟悉CMSIS库函数的调用       *  
    <li class="alt">*  修改时间:2012-3-26     已测试       *  
    <li class="alt">*  备    注:      ************************************************************************/  
    <li class="alt">#define DELTA           (0.000001f)             //浮点数精度          
    <li class="alt">float32_t a = 0.45454;                          //乱来的数据       float32_t cosa, sina, cos2a, sin2a;      
                                    //a 的余弦值、正弦值、余弦值平方、正弦值平方 
        <li class="alt">float32_t test;                                            //测试结果         
    <li class="alt">void main(void)       {   
    <li class="alt">    float32_t diff;                                   //差值         
    <li class="alt">    LED_init();                                         //初始化LED         
    <li class="alt">    cosa = arm_cos_f32(a);                      //求cos值,cosa = cos(a);           sina = arm_sin_f32(a);                      //求sin值,sina = sin(a);   
    <li class="alt">          arm_mult_f32(&cosa, &cosa, &cos2a, 1);      //乘法,cos2a = cosa * cosa ,即平方   
    <li class="alt">    arm_mult_f32(&sina, &sina, &sin2a, 1);      //乘法,sin2a = sina * sina ,即平方         
    <li class="alt">    arm_add_f32(&cos2a, &sin2a, &test, 1);      <li class="alt">                            //加法,test = cos2a + sin2a = cosa * cosa  + sina * sina = 1
          
    <li class="alt">    diff = fabsf( 1.000000000 - test);          //求绝对值         
    <li class="alt">    if( diff 

CMSIS工程及帮助文档.rar

1.34 MB, 下载次数: 1149, 下载积分: 威望 1

CMSIS固件.rar

400.27 KB, 下载次数: 911, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

6

主题

79

帖子

0

中级会员

Rank: 3Rank: 3

积分
441
最后登录
1970-1-1
 楼主| 发表于 2012-3-27 16:23:11 | 显示全部楼层

RE:野火K60的CMSIS工程(DSP例程)

常用的几个函数:
函数名                                        作用
arm_cos_f32                               求余弦值
arm_sin_f32                                求正弦值
arm_sin_cos_f32                         求正弦值和余弦值
arm_abs_f32                               求绝对值
arm_add_f32                               求加法
arm_sub_f32                               求减法
arm_max_f32                              求数组元素的最大值
arm_min_f32                               求数组元素的最小值
arm_mult_f32                              乘法
arm_mat_mult_f32                       矩阵乘法
arm_mean_f32                            平均值
arm_sqrt_f32                               求平方根
arm_power_f32                            求平方和
arm_shift_q31                              数组元素的移位
arm_var_f32                                求数组元素的方差
arm_std_f32                                求数组元素的标准差
arm_rms_f32                                求均方根
arm_fill_f32                                  填充数据
arm_copy_f32                              复制数据
arm_dot_prod_f32                         点乘
arm_negate_f32                             取反
arm_offset_f32                               偏移
arm_rfft_init_f32                             傅立叶初始化
arm_rfft_f32                                   傅立叶
arm_split_rfft_f32                            分布傅立叶
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

51

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
112
最后登录
1970-1-1
发表于 2012-3-27 16:35:34 | 显示全部楼层

RE:野火K60的CMSIS工程(DSP 数字信号处理单元 例程)

过来学习了
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

79

帖子

0

中级会员

Rank: 3Rank: 3

积分
441
最后登录
1970-1-1
 楼主| 发表于 2012-3-27 16:40:56 | 显示全部楼层

回复:野火K60的CMSIS工程(DSP 数字信号处理单元 例程)

回复第 3 楼 于2012-03-27 08:35:34发表:
过来学习了 

动作真快哦……
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 10:17
  • 签到天数: 52 天

    [LV.5]常住居民I

    1

    主题

    185

    帖子

    0

    高级会员

    Rank: 4

    积分
    555
    最后登录
    2023-3-10
    发表于 2012-3-27 18:39:54 | 显示全部楼层

    RE:野火K60的CMSIS工程(DSP 数字信号处理单元 例程)

    新手,學習中,謝謝
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-4-30 08:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    79

    主题

    239

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1093
    最后登录
    2024-2-14
    发表于 2012-3-28 08:55:28 | 显示全部楼层

    回复:野火K60的CMSIS工程(DSP 数字信号处理单元 例程)

    看看。
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    49

    帖子

    0

    新手上路

    Rank: 1

    积分
    193
    最后登录
    1970-1-1
    发表于 2012-3-28 22:01:55 | 显示全部楼层

    RE:野火K60的CMSIS工程(DSP 数字信号处理单元 例程)

    学习来的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    79

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    441
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-29 23:25:18 | 显示全部楼层

    RE:野火K60的CMSIS工程(DSP 数字信号处理单元 例程,3月29日更新个bug)

    ARM 公司的 CMSIS ,有bug啊,3.0的库也没更新这个bug……
    野火已经修改过代码了……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    1
    最后登录
    1970-1-1
    发表于 2012-3-30 13:03:24 | 显示全部楼层

    回复:野火K60的CMSIS工程(DSP 数字信号处理单元 例程,3月29日更新个bug)

      帅才
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    3
    最后登录
    1970-1-1
    发表于 2012-3-30 15:16:52 | 显示全部楼层

    回复:野火K60的CMSIS工程(DSP 数字信号处理单元 例程,3月29日更新个bug)

    辛苦!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-24 04:52 , Processed in 0.132122 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表