|
最近需要提高DA的转化速率就是所谓的采样率,之前通过定时器中断控制SPI数据传输的方式来传输DA数据发现速率最高到33.3k上不去了,然后得知使用PRU控制能够使采样率提高到100K以上,就尝试了PRU历程,PRU_TL5724_DAC的历程是测试DA4个通道数据的历程,但输出的都是恒值电压,现在我需要输出CW脉冲,就是正弦信号,我通过修改PRU_TL5724_DAC的历程,然后debug调试用示波器观察波形,我发现波形包络是正弦信号,但是实际生成的电压信号有间断,即每隔一定时间电压波形就恢复零电压值,是有间断的正弦信号,我不清楚这个历程的PRU是如何控制DA的,但是我猜想是PRU控制DA输出不当造成的,见下图。此外,当我忽略这个间隔的情况下去提高采样率,我发现采样率最高也就是50K,再往上提不上去了,这个我可以通过示波器观察一个正弦信号的周期来知晓。
; h/ B% S- F7 }3 x* s: n7 u7 u 之后我又发现PRU_TL5724_DACv2是基于PRU控制发送正弦波,矩形脉冲方波,三角波,锯齿波的历程,debug发现DA4个通道的数据通道灯是灭的,在这里说明,我是用我个人开的板子跑的历程,前面那个历程在我的板子上跑是有现象的就是上边说的那个间断正弦波,后面这个v2历程debug后没有任何现象,DA数据通道灯不亮,示波器观察不到波形。
1 y4 }# _' C% C0 `; G. a 我通过对比这两个历程发现,前面那个历程的DA输出是通过访问寄存器直接进行的,后面那个v2历程的DA输出是通过编写PRU控制器的汇编语言实现的,两者实现方式有所不同,会不会是因为这个输出方式的不同导致这个现象的发生,我对PRU是小白,希望有大牛能够给予我帮助顺利通过DA输出高采样率的正弦信号。( |: G$ S# G, s7 N+ Z K; O; g
" e$ j. ?# o) z7 m6 ~% r2 w" ^
PRU_TL5724_DAC4 C$ |, r! r( ~$ G
# @1 d# f, c2 c$ X& t
PRU_TL5724_DACv2
8 O) t! Q" }) U$ n2 X3 W3 l6 }0 c
# j4 E' K% R: A1 _$ N |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|