DAC7724调试时遇到的问题,求解答

[复制链接]
楼主: cayong1207
手机看帖
扫描二维码
随时随地手机跟帖
cayong1207|  楼主 | 2013-8-22 15:02 | 显示全部楼层 |阅读模式
我是用DSP28335来驱动DAC7724,DAC7724的几根控制引脚我是用过IO口输出高低电平来控制的,但是4路输出一直都是-10V,请问这个是为什么?以下是我程序,求解答。

while(1)  {

  CHA_DATA =3000; //要输入的值  

  dataPort&= 0xf000;   

LDAC=HIGH;   

  RW=HIGH;

   CS=HIGH;  

   DELAY_US(1);     //延时10us   

RW=LOW;    for(j=0;j<4;j++);    //延时800ns  

CS=LOW;  

A0=LOW;  

  A1=LOW;  

dataPort|=CHA_DATA ;// A输出口要输出的值

  DELAY_US(2);    //延时20us   

CS=HIGH;     for(j=0;j<4;j++);   //延时800ns   

  RW=HIGH;     DELAY_US(3);  //延时30us   

LDAC= LOW;    //载入数据

DELAY_US(2);  //延时20us

LDAC= HIGH;  

for(j=0;j<1;j++);  //延时200ns

  CS=LOW;  }

相关帖子

gaoyang9992006| | 2013-8-22 16:06 | 显示全部楼层
楼主你搞错了,这个地方是搞模拟的,我帮你转移到对应的板块去吧。

使用特权

评论回复
zhangmangui| | 2013-8-22 16:56 | 显示全部楼层
gaoyang9992006 发表于 2013-8-22 16:06
楼主你搞错了,这个地方是搞模拟的,我帮你转移到对应的板块去吧。

用28335控制  也是属于这里的

使用特权

评论回复
zhangmangui| | 2013-8-22 17:00 | 显示全部楼层
QQ截图20130822170106.jpg
你有没有按照这个时序处理    一直输出-10V
说明你的某个控制引脚没有使能对

使用特权

评论回复
cayong1207|  楼主 | 2013-8-22 17:08 | 显示全部楼层
我现在就是不知道问题出在哪里了....

使用特权

评论回复
cayong1207|  楼主 | 2013-8-22 17:09 | 显示全部楼层
gaoyang9992006 发表于 2013-8-22 16:06
楼主你搞错了,这个地方是搞模拟的,我帮你转移到对应的板块去吧。

新手,请见谅

使用特权

评论回复
gaoyang9992006| | 2013-8-22 17:09 | 显示全部楼层
zhangmangui 发表于 2013-8-22 16:56
用28335控制  也是属于这里的

嗯,我从模拟板块移动过来的。

使用特权

评论回复
cayong1207|  楼主 | 2013-8-22 17:15 | 显示全部楼层
zhangmangui 发表于 2013-8-22 17:00
你有没有按照这个时序处理    一直输出-10V
说明你的某个控制引脚没有使能对
...

他的主要控制引脚就三个呀,我有按时序来

使用特权

评论回复
zhangmangui| | 2013-8-22 17:35 | 显示全部楼层
gaoyang9992006 发表于 2013-8-22 17:09
嗯,我从模拟板块移动过来的。

感谢支持

使用特权

评论回复
zhangmangui| | 2013-8-22 17:38 | 显示全部楼层
cayong1207 发表于 2013-8-22 17:15
他的主要控制引脚就三个呀,我有按时序来

R/W   CS肯定是低  RESET为高   然后你将数字量送出去   LDAC使能一下就可以了 啊  

使用特权

评论回复
zhangmangui| | 2013-8-22 17:45 | 显示全部楼层
QQ截图20130822170106.jpg
我的电路图  不知和你的一样  不一样的话
贴出来看看

使用特权

评论回复
cayong1207|  楼主 | 2013-8-22 20:19 | 显示全部楼层
zhangmangui 发表于 2013-8-22 17:45
我的电路图  不知和你的一样  不一样的话
贴出来看看

电路图是一样的,你有没有试过用DSP的普通IO口来驱动DAC

使用特权

评论回复
zhangmangui| | 2013-8-22 22:13 | 显示全部楼层
cayong1207 发表于 2013-8-22 20:19
电路图是一样的,你有没有试过用DSP的普通IO口来驱动DAC

没有啊   没时间弄这个

使用特权

评论回复
cayong1207|  楼主 | 2013-8-23 09:23 | 显示全部楼层
zhangmangui 发表于 2013-8-22 22:13
没有啊   没时间弄这个

我现在是用普通的IO口来驱动,就是不知道为什么一直不可以

使用特权

评论回复
zhangmangui| | 2013-8-23 09:57 | 显示全部楼层
cayong1207 发表于 2013-8-23 09:23
我现在是用普通的IO口来驱动,就是不知道为什么一直不可以

你再花点时间好好研究一下    下来了记得分享一下   谢啦

使用特权

评论回复
cayong1207|  楼主 | 2013-8-23 17:21 | 显示全部楼层
zhangmangui 发表于 2013-8-23 09:57
你再花点时间好好研究一下    下来了记得分享一下   谢啦

你给的那个电路图中间是不是还有加个CPLD逻辑译码的

使用特权

评论回复
zhangmangui| | 2013-8-23 18:03 | 显示全部楼层
cayong1207 发表于 2013-8-23 17:21
你给的那个电路图中间是不是还有加个CPLD逻辑译码的

是的  CPLD做了译码

使用特权

评论回复
cayong1207|  楼主 | 2013-8-23 19:22 | 显示全部楼层
并且是用DSP的外部接口直接驱动对不,343792595是我的QQ号,以后可以多交流

使用特权

评论回复
xiaolinfa1987| | 2018-5-23 10:42 | 显示全部楼层
我用28377s驱动DAC8534,dsp的SPI直接配置外设,数据帧最大只能设置为16bit,而DAC8534每一帧需要24bit(因为前面多了8bit的控制位)。请问怎么解决这个问题?
DAC8534手册要求片选引脚要在收到bit24之后才能拉高,在这之前拉高,数据则无效。而DSP的输出在第16bit就会拉高了。
用普通IO口模拟数据更新太慢了,还要加延时,因此想直接配置外设。

使用特权

评论回复
zhangmangui| | 2018-5-23 18:33 | 显示全部楼层
xiaolinfa1987 发表于 2018-5-23 10:42
我用28377s驱动DAC8534,dsp的SPI直接配置外设,数据帧最大只能设置为16bit,而DAC8534每一帧需要24bit(因为 ...

使能CS采用IO控制  cs拉低后 将spi配置为8bit
然后发动三次 再放开使能 就可以了

使用特权

评论回复
评论
xiaolinfa1987 2018-5-24 10:14 回复TA
这是个好办法,多谢! 但是这样还能使用SPIFIFO吗?貌似不能了。使能FIFO后,是只管往里写数据的,具体FIFO已经往管脚写了多少个byte是不知道的,除非开启FIFO中断,这样太占系统的实时性资源了,不太现实。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

1

粉丝