打印

TLC2543的问题

[复制链接]
2419|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen3bing|  楼主 | 2010-10-29 14:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我写了个TLC2543的程序,显示不稳定。
这是电池巡检仪里用的,我们抄的板子。
别人的程序比较稳定。
其中EOC腿没接。
uint ad2543(uchar chunnel_select)
{uint din,j;
uchar dout,i;
din=0;
dout=ad_chunnel_select[chunnel_select];
//while(AD_EOC==0);
for(j=0;j<100;j++);
AD_CLOCK=0;
AD_CS=1;
AD_CS=0;
for(i=0;i<12;i++)
{if(dout&0x80)AD_IN=1;
else AD_IN=0;
AD_CLOCK=1;
_nop_();_nop_();_nop_();_nop_();
dout<<=1; din<<=1;
if(AD_OUT==1) din+=0x0001;
AD_CLOCK=0;
_nop_();_nop_();_nop_();_nop_();
}
AD_CS=1;
for(j=0;j<100;j++);
return(din);
}
请高手指教,哪里有问题,谢谢!

相关帖子

沙发
john_light| | 2010-10-29 15:04 | 只看该作者
本帖最后由 john_light 于 2010-10-29 15:15 编辑

抄板这种,不用公开说吧。

硬件检查:弄个示波器,检查下波形是否符合器件要求,EOC波形是否正常。

软件加强:一次读完14个通道,由于B/C/D通道接内部参考源,检查这三个通道的结果是不是0x800/0x000/0xFFF,不是该次结果全部扔掉。

使用特权

评论回复
板凳
chen3bing|  楼主 | 2010-10-29 15:42 | 只看该作者
谢谢!我试一试。

使用特权

评论回复
地板
chen3bing|  楼主 | 2010-10-29 16:21 | 只看该作者
EOC波形正常,只是比原板子脉冲多一些,我感觉我似乎操作频繁一些。

使用特权

评论回复
5
john_light| | 2010-10-29 16:29 | 只看该作者
那三个通道正常不?

使用特权

评论回复
6
chen3bing|  楼主 | 2010-10-29 16:58 | 只看该作者
我刚试了一个通道,有些奇怪。
应该显示8000H的,开始显示000H,后来显示001XH。
吃完晚饭接着搞!

使用特权

评论回复
7
chen3bing|  楼主 | 2010-10-29 17:40 | 只看该作者
11和13都显示00XX,12显示08XX。这是为什么?

使用特权

评论回复
8
chen3bing|  楼主 | 2010-10-29 17:46 | 只看该作者
以上采样值倒是变化不大。

使用特权

评论回复
9
chen3bing|  楼主 | 2010-10-29 20:07 | 只看该作者
问题找到了,其中一个通道电压波形变化较大导致采样结果不稳定。

使用特权

评论回复
10
928315| | 2010-10-30 10:23 | 只看该作者
抄板这种事情,干起来很累的。不怎么适应。。
我一般干的是,看别人的功能,再设计自己的电路,程序。从功能上去抄。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

439

主题

2540

帖子

2

粉丝