EDA365电子论坛网

标题: DSP,51的DSP来了, 100MHz, STC32G144K246 [打印本页]

作者: 岁月如歌21    时间: 2025-12-1 16:48
标题: DSP,51的DSP来了, 100MHz, STC32G144K246
本帖最后由 岁月如歌21 于 2025-12-1 16:50 编辑
( ?- R  H' P% ]& I" @& T+ m4 o5 Y9 F

" q# Q6 T# c* T/ K
, E/ J: _% {3 }8 ]* x$ l2 _ 6 ^, Y5 G$ o4 ~& I! a$ s7 Q/ ^
DSP,51DSP来了, 100MHz, STC32G144K246  c" _( p* a' N% w' I: l/ H
DSP 与 CPU系统时钟 同频, STC32G144K246,51DSP 来了
, ?/ w' V$ |, S* s5 ]: @1 i6 \===建议100MHz, 120MHz 超频了, v  Y( ?/ H8 z) r
下面演示 DSP 指令集 的程序使用 120MHz 系统时钟# T  N9 K( n! M4 ?0 x: Q+ |
120MHz系统时钟,由内部 IRC时钟-24MHz,HPLL倍频产生。

4 Y' j1 v6 L1 R- q' E8 {) J; b# m/ BLIB需要根据工程的代码空间大小模式选择合适的LIB库
0 N) }7 D& C2 c+ c- H可以通过查看Target选项卡中的Code Rom Size类型来选择,通常来讲,- R" J) _+ v2 V+ k; f
如果需要使用全部的246K代码空间,选择HUGE模式的LIB库即可' l) E! o  K& x; m+ c% `+ Q3 h" ~
以下例程也以HUGE模式下LIB库进行使用举例
, A7 i" d' s6 ~4 t

- A# B! z4 w2 K: V因为STC32所使用的C251核心,本身带有1T指令的加法/减法/乘法指令集,(C251除法指令集16位消耗6个时钟,32位消耗10个时钟)& O# i, _6 x. T( O( s; g* L
所以LIB中仅将加速了有符号整形除法,无符号长整形除法,有符号长整型除法这三类
8 w8 |0 R2 X$ j其余使用C251默认指令集进行计算,因为其默认指令集的除法为无符号除法,所以大部分都需要进行加速2 c' |7 K+ i4 D4 p/ Y1 {' F& L: j

! T# x* o3 p4 O! h& r可以看到计算结果是和预期一样,正确的! l4 H, G& m( U" D( H- o  x$ Y
9 h$ ^) U9 W1 ]8 |' H$ C0 N

0 j& s( C% ?; _' R/ q# H0 m速度测试中,使用1000次循环测试不同数据类型的除法运算,在P60上输出的高电平宽度即为运算时间& w2 X! Z  i/ ]2 j- N5 Z4 b
测试中,使用了DSP32的程序(使用LIB库)的,耗时2.83ms@120Mhz, @# x9 ^8 v$ I/ q6 y) R6 j. y
未使用DSP32的程序,耗时4.86ms@120Mhz2 u0 l6 t4 \' K( @9 }

, c0 p3 Q: O9 m0 G8 u, N

DSP32速度测试-P60高电平宽度输出.zip

88.7 KB, 下载次数: 0, 下载积分: 威望 -5






欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2