嵌入式开发者社区

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

作者: 松鼠    时间: 2016-10-25 17:18
标题: 双核通信ad7606_dsp存在问题
创龙的工程师您好:
. Y& c" U5 `" d' C- h  今天跑了一下AD7606_DSP双核例程,有一个问题就是采样率偏高。假如终端输入命令./run.sh 7 0,也就是128k采样,之后用示波器观察ad7606芯片的CONVT引脚频率为134k。比设置偏高了6k左右。同样设置成别的采样率也存在这样的问题,这是什么问题?怎么改正?谢谢回答$ F9 H  m4 w1 i9 v# N  e
2 D5 f0 X; Z( S

作者: tenny    时间: 2016-10-26 10:31
参数设置成 7 的时候,实际的采样点数,应该是  c% B+ }- D1 q7 a( A" w' B/ M! X
1024 * 128 约是 131K4 n3 |& ?/ x- ~7 ]) i- j
  f  m0 G$ I3 z( h$ D) z
你看程序打印中的- F' I1 F- A# K3 T
start, sample rate is xxxxx points ) z9 A! Q0 L4 v' r! A& b; }  o
xxxxx 的显示的点数个数
作者: 松鼠    时间: 2016-10-26 12:10
tenny 发表于 2016-10-26 10:31# \2 P8 t1 n% P3 N$ M
参数设置成 7 的时候,实际的采样点数,应该是
( l8 a+ C% K% x% C& }8 N( x1024 * 128 约是 131K

7 A# ^+ N* t0 u) [& D5 z2 j8 z. e即使是131k,那也差了3k,实际示波器显示是134k
作者: 松鼠    时间: 2016-10-28 17:08
tenny 发表于 2016-10-26 10:31* n6 O5 y- F# W) n% o
参数设置成 7 的时候,实际的采样点数,应该是
+ f: A. z6 h0 @- Q7 m5 @1024 * 128 约是 131K

# X; O; h' _$ J7 k0 J# d9 p9 Y6 y' c$ Qdenny您好:
. I( c5 x) N! R$ @* v. S5 l2 ^    我找到采样率不准的问题了,但是不知道怎么修改,麻烦指导一下,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
( h4 Z0 _$ s8 f/ }2 y' ]  Z& [$ c问题出现在ad7606.c文件中的计算时钟周期的公式上[attach]1533[/attach]  X# E% r0 g$ S. w
TICK_PERIOD固定值等于5us,当采样率rate为55k-66k之间的时候,period都等于3,也就是说不管采样率设置成55k-66k之间的任何值,用示波器观察convst的频率都是66K。当rate设置为70k-100k之间时,period为2,所以不管rare是70k-100k之间的任何值,dsp的采样率都为99k。4 i. v  J* Q; I( K$ n+ j
' I; a- N; L+ `# X3 p( }
请问这种问题该怎么修改?可以吧计量单位1000000设置成更高的吗?
/ m* |0 T" L- {! \- c0 J. V% M9 f* {+ g: g  _8 r# f: l

作者: tenny    时间: 2016-10-31 09:07
TICK 的修改在 dsp.cfg 文件中
( k% s2 r5 _* A  }9 x" G1 P; k4 N7 h' W$ C; H" M( [, P' Y
151 /* configure SysBios to use the lower half of Timer 1 */
; k' o* b$ Z4 J152 var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& `. b0 h: ^" C; ^+ P# N- F1 G
153 var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 W# s+ L- U* `, |
154 Timer.timerSettings[1].master = true;
# @2 P$ Y; W  y, v155 Timer.defaultHalf = Timer.Half_LOWER;
; r" s1 i8 u3 m- x2 a* n156 Clock.timerId = 1;
) {. E/ X& x9 }6 p- @' B157 Clock.tickPeriod = 5; //5us5 C+ M+ d( `& d% m

; f: c, G: |- O' z' R修改后重新编译程序
, J$ {% V8 e, F5 F8 Q- S' U
作者: 松鼠    时间: 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