嵌入式开发者社区

标题: 双核通信ad7606_dsp存在问题 [打印本页]

作者: 松鼠    时间: 2016-10-25 17:18
标题: 双核通信ad7606_dsp存在问题
创龙的工程师您好:- Z3 o! K6 F; [$ n( S
  今天跑了一下AD7606_DSP双核例程,有一个问题就是采样率偏高。假如终端输入命令./run.sh 7 0,也就是128k采样,之后用示波器观察ad7606芯片的CONVT引脚频率为134k。比设置偏高了6k左右。同样设置成别的采样率也存在这样的问题,这是什么问题?怎么改正?谢谢回答/ I* V5 L! w# v$ s: W

( b' L, n: g6 ]+ u" Z$ ~+ A' W
作者: tenny    时间: 2016-10-26 10:31
参数设置成 7 的时候,实际的采样点数,应该是& y: T, [; ~  W$ C
1024 * 128 约是 131K
# G" b7 c" }: f( l' P) w$ i& `* u9 i# {& p
你看程序打印中的
' J) ^" P& Z5 Y4 ^  [4 astart, sample rate is xxxxx points
5 [) u3 u4 N) G( a1 gxxxxx 的显示的点数个数
作者: 松鼠    时间: 2016-10-26 12:10
tenny 发表于 2016-10-26 10:31
  j& k1 e9 U& V1 d7 Z参数设置成 7 的时候,实际的采样点数,应该是
3 ^, D7 F; }) Z2 m4 e1024 * 128 约是 131K
- ^5 r. q# k% ?6 I
即使是131k,那也差了3k,实际示波器显示是134k
作者: 松鼠    时间: 2016-10-28 17:08
tenny 发表于 2016-10-26 10:31
9 _2 D* `8 D3 M参数设置成 7 的时候,实际的采样点数,应该是4 s( M  |1 Y% @( E: ~( Y) |
1024 * 128 约是 131K

: p$ Z$ K4 {' [0 sdenny您好:
8 z0 w! I3 {3 v3 X5 s    我找到采样率不准的问题了,但是不知道怎么修改,麻烦指导一下,file:///C:\Users\YS\Documents\Tencent Files\951294484\Image\C2C\`3I6$0HG6FS90GN9~U)TFNI.pngfile:///C:\Users\YS\Documents\Tencent Files\951294484\Image\C2C\`3I6$0HG6FS90GN9~U)TFNI.png
: N0 ]# X/ G. O. {! P3 P0 S, w问题出现在ad7606.c文件中的计算时钟周期的公式上[attach]1533[/attach]
% U+ s% p- l1 s* g. G3 ~TICK_PERIOD固定值等于5us,当采样率rate为55k-66k之间的时候,period都等于3,也就是说不管采样率设置成55k-66k之间的任何值,用示波器观察convst的频率都是66K。当rate设置为70k-100k之间时,period为2,所以不管rare是70k-100k之间的任何值,dsp的采样率都为99k。
; _4 S& W' r! E  z! e+ b9 E
. N- U1 O; r. G3 Q5 Z; |7 Q+ _$ h请问这种问题该怎么修改?可以吧计量单位1000000设置成更高的吗?
; h6 \3 ~0 E& q! v. S
- _2 |- W. z3 b$ n
作者: tenny    时间: 2016-10-31 09:07
TICK 的修改在 dsp.cfg 文件中
, y) q' k7 q1 R4 x
/ T" y# a" r8 ?151 /* configure SysBios to use the lower half of Timer 1 */5 O9 C$ A* g) [: V8 v1 r
152 var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 J8 Q3 L" M1 e, \8 `
153 var Clock = xdc.useModule('ti.sysbios.knl.Clock');  h; i# @7 @2 d- v! V. \7 x& G8 m
154 Timer.timerSettings[1].master = true;" X2 P% w  _/ j7 R0 t/ t9 ~3 ~
155 Timer.defaultHalf = Timer.Half_LOWER;
- t' m% V/ u6 g5 i1 R& i4 D4 Y156 Clock.timerId = 1;$ H4 T5 H$ }$ a; W' v
157 Clock.tickPeriod = 5; //5us, T9 p) h% p3 `0 c" R' j
" m! r& O6 E2 b6 |2 Y# k9 S1 b
修改后重新编译程序  S5 k5 _7 i. f, _

作者: 松鼠    时间: 2016-10-31 10:03
tenny您好,我刚刚改了一下配置文件,只修改了Clock.tickPeriod 把值分别设置为1us,2us,4us,6us,10us。基本没有什么变化,采样率还是那个问题,应该怎么修改啊?之前没接触过这种东西。求指教1谢谢!@tenny
作者: tenny    时间: 2016-10-31 13:47
代码里面的 TICK_PERIOD 的这个宏定义的值和你配置文件里面的值对应上了没?
作者: 松鼠    时间: 2016-10-31 19:49
对应上了呢,但是结果比5us还差。@tenny
作者: tenny    时间: 2016-11-1 18:18
那可能有其他地方的影响
作者: 松鼠    时间: 2016-11-1 18:24
例程的其他地方没有任何改动,创龙没有调试一下历程吗?@tenny
作者: tenny    时间: 2016-11-2 13:18
调试的问题,可能要延后处理了




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4