sjl2001 发表于 2011-8-20 16:18

ADI实验电路CN0197基于AD7280A的电池管理系统第二阶段汇报

    距离上次汇报工作进展又过去了一周多的时间,在这一周的时间里,第一个惊喜是样片的送到,由于我申请的样片AD7280A,小批量在国内很难买到,所以选择了申请样片,在此还要感谢一下那位不知道名字的好心哥们儿,替我申请来样片,另外,soso姐在请假休息的情况下还关心着样片发放和项目进程等工作,敬业精神让人敬佩,还有就是论坛的工作人员以及斑竹,都在做他们认为对的事情,无论从哪方面来说,都很感谢有这么一次机会能够锻炼自己,有这么一个平台能够交流和提高,以上的种种汇成两个字就是感谢,无以回报只能拿一些近期在设计中的感想和体会和大家分享!<br>    快递哥把样片送来的时候,我第一时间迫不及待的打开盒子,首先是一个塑料盒,里面是装贴片器件的方块盒,两枚AD7280A就卧倒在里面,板子提前几天就到了,所以很自然的就拿板子和芯片进行比对,严丝合缝,开心啊~ 这种没见到片子就画封装,然后很成功的感觉,画过板子的人都应该有所体会吧。焊接也很顺利,虽然芯片很小,各管脚之间的距离也不大,但焊起来还算顺利,挨个用电阻腿接上万用表校过了,都连接上了,我这才放心去做软件的工作。(<font class="Apple-style-span" color="#FF0000">图片后上</font>)<br>    在样片没有到手而板子已经到手的那段时间,自己按照设计意图盲编了三段代码,分别是数码管显示、定时器和spi,这回片子回来了,可以试试了,很遗憾,三个程序仅定时器一个好用。后来的几天根据这种情况,我开始了由浅入深的程序编写工作,整体思路是先逐个编写简单的,容易实现的功能,然后逐一整合,最后实现预期目的。接下来的一天,我开始调数码管显示,这是一个我认为很容易调的程序,却耽误了我一天的时间,最开始的现象是,只用G段显示,其他的乱显示,根本看不出来那是个数字。也看了很久代码,也没找出问题所在,最后数码管都让我重新焊下来又焊上去了一个,直接导致最后一个数码管一个字段不能承受高温而挂了。那天晚上,我用icd2将程序跑单步,发现不能按照我的要求拉高或者拉低片选信号,我这时候怀疑单片机对片选的那个口是不是没有作用,也就是说,是不是复用功能没有选好,果然,是因为我选用的C口有复用功能,关闭了复用功能,可以正常的动态显示出简单的1,2,3,4了。还有一个问题,G段不亮,怎么的都不亮。那时已经23点多了,带着一点小欣喜和一点点遗憾回宿舍。第二天,还是跑单步的方法,发现G段的数码管驱动高低没问题,但就是不亮,最后断电,找到了没有焊的电路板,没问题。又找到我焊的电路板,抓狂,G段的贴片电阻焊了一个脚,能亮才怪呢。懊恼的焊上,数码管正常显示,让显示啥显示啥。   由于我的一点点疏忽,导致2天的时间调这个小东西,实在是有点说不过去,不过总结经验的话<font class="Apple-style-span" color="#4169E1">。第一,不要因为功能小就轻视,不同单片机,可能也各有差别的;第二,焊接要细心,漏掉一个焊盘,可能要找一天才能找到;第三,不要盲目怀疑,有确凿的证据再动烙铁,归西的数码管的一个字段就是教训。(这次做板的线有些浅,我实在不敢再焊下来了换新的,怕其他焊盘挂了)</font>(<font class="Apple-style-span" color="#FF0000">稍后上图</font>)<br>    稍后的定时器加数码管显示的调试就顺利多了,2秒钟亮,2秒钟灭的显示,很容易就实现了。<br>    最后要调的就是重点spi,这个spi可是把我害苦了,调试的时候从欣喜的高潮到苦恼的低谷,最后还是爬出来啦! 哈哈<br>    说实话,以前没接触过spi,对spi只是有一个概念上的了解,就知道是串行总线,spi器件内部有指令库,发个指令过去,他就干活儿。几天前我真的就知道这么多。知道自己这方面弱就得补,从师弟那拿过来好几本书,都是pic单片机的,逐个找到spi部分,从原理看到寄存器,再看到代码例程。让我感到高兴的是,配置很简单,就2-3个寄存器。让我愤怒的是,居然有一本书抄另一本! 都讲到PORTC了,图表中还是赫然写着PORTB,情何以堪啊!!! 在之前看过ad7280a的数据手册好多遍,纸都翻乱了,上面圈圈点点的(<font class="Apple-style-span" color="#FF0000">稍后上图</font>),这次又翻了一遍,主机单片机的spi看过了,还得看看从机的spi。发现ad7280a的spi通信是上升沿接收,下降沿发送的。以前不了解spi还有这种高效的通信方式,也就没在意。而单片机只有上升沿或者下降沿的方式。还得谢谢chunyang兄,给我的建议,否则我真不知道该怎么办了。用模拟spi的方法模拟出一个spi总线来,也就是根据需要写clk,sdi,sdo和cs。这就要求对spi有更深入的了解了,没办法,我又读了一遍数据手册,这次脑袋里面有了一本的设计思路了,也写了几笔,大概知道该怎么弄了。晚上的时候试着写了一个spi发送加接收在一个clk内完成的程序,ad7280a很给面子,对发送的数据有了回应,在示波器上读出来32位的信息,与预定的接收一致。就是clk的上升沿和sdi的上升沿几乎重合,我担心能否正确接收数据,但正确的接收结果又不得不让我相信,这种通讯方式是正确的。(<font class="Apple-style-span" color="#FF0000">关于这个大家可以讨论</font>)调试的时候,我先用有预定输出的初始化命令进行试验,很成功。然后按照给定的时序对整组电池电压进行循环检测,出来的示波器结果和寄存器的内容也相符。(<font class="Apple-style-span" color="#FF0000">稍后上图</font>)我试验用的电池选用的5节镍氢电池,标称电压1.2V和一节锂电池,为什么这么选呢? 第一,手头资源有限,没找到那么多锂电池;第二,6节镍氢电池的电压不足以让7280a工作,而1V是7280a测量的底线。所以,在这种情况下,我选用了上述的方式进行试验。巡检结果还算令人满意,美中不足就是第三路电压检测始终显示0,我更换了外围的所有电阻电容,仍然没有起色,我又重新焊接了7280a的对应管脚,万用表重新校了一下,也都正常。插上电池之后,实际1.26V,而电容两端就只有0.57V,过低,无法测量,我怀疑是焊接的时候过热导致的这个口烧掉了(<font class="Apple-style-span" color="#FF0000">如果哪位有经验,可以讨论一下</font>)。(稍后上整体调试图和数据对比图)<br>    到这里,我根据设计所要实现的功能基本完成。接下来,我还要继续挖掘芯片的潜在能力。同时也希望和各位朋友一起讨论spi,讨论7280a和我这款电池管理系统!<br>    

[ 本帖最后由 sjl2001 于 2011-8-22 23:14 编辑 ]

chunyang 发表于 2011-8-20 18:10

只要信号沿的间隔哪怕只是一个时钟周期,那么就不会有问题,只要沿的次序对就成。端口烧掉的可能性很小,还是要注意焊接和外围电路以及对器件操作的足够了解。

sjl2001 发表于 2011-8-20 21:26

回复 沙发 chunyang 的帖子

感谢提醒,焊坏掉的可能真的不大,是电池螺母松动了,现在正常了

soso 发表于 2011-8-20 21:43

样片要感谢youki12345:)
加油:)

sjl2001 发表于 2011-8-20 22:29

<font class="Apple-style-span" size="5" color="#0000FF">特别感谢y<span class="Apple-style-span" style="border-collapse: collapse; ">ouki12345版主对样片申请的大力支持</span></font>

eeleader 发表于 2011-8-20 22:30

<P>不错,努力就有收获!</P>

sjl2001 发表于 2011-8-20 23:07

回复 6楼 eeleader 的帖子

谢谢

sjl2001 发表于 2011-9-1 00:24

<div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">由于超时了,所以没有办法加图片,只能回复贴上去了</span></div><div style="text-align: left;"><br></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">这张是pcb板子的图片,拿回来之后,师弟们当开发板练手去了,所以最后就剩下这么一个空板子了</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">来张近距离的</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">我自己焊好了一个,调试的时候的照片</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">这是我调试的用具,icd2,板子,还有用来测试的电池</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">我用到的设备,示波器,电源</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">这张是我发送初始化命令时候,单片机sdo端的和clk端的波形</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">这张是我用万用表的值和检测值对比的照片,会差那么多吗?我没相信</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;">找来更精确的万用表看了一下,10mv的误差</span></div><div style="text-align: left;"><span class="Apple-style-span" style="line-height: 22px;"></span><br><span class="Apple-style-span" style="line-height: 22px;"></span><br><span class="Apple-style-span" style="line-height: 22px;">我分析,一方面是我在做程序的时候采样时间默认选的太小,而且没有进行数字滤波,一方面是夹具和导线的问题。我觉得如果这些都用上,精度还会更高</span><br><span class="Apple-style-span" style="line-height: 22px;">下面一张是我用示波器采集的波形图</span><br><span class="Apple-style-span" style="line-height: 22px;"></span><br><span class="Apple-style-span" style="line-height: 22px;">还有一张是上位机mplab调试界面的图,1-6路显示的是电压值,7-12路没有接热敏电阻,所以数值都一样</span><br><span class="Apple-style-span" style="line-height: 22px;"></span><br><br><span class="Apple-style-span" style="line-height: 22px;">最后,上视频 http://player.youku.com/player.php/sid/XMzAwMjI3MzA0/v.swf<br></span></div>

yangtianyi 发表于 2012-2-28 15:08

有关AD7280A的问题

你好!请问你能帮我解答关于AD7280A的初始化问题吗?谢谢

wj8776772 发表于 2012-12-10 17:24

:carnation: :carnation: :carnation: 强大啊。

yaochuanppchen 发表于 2013-9-4 22:14

求助!!!

大家好!请问谁能帮我解答关于AD7280A的SPI通信的问题吗?谢谢!

yaochuanppchen 发表于 2013-9-10 00:39

AD7280A是上升沿接收还是下降沿接收?能否帮我确定一下。

AD7280A是上升沿接收还是下降沿接收?能否帮我确定一下。

明媚 发表于 2014-3-18 16:25

你好,我现在也想用AD7280A做实验,可以交流一下吗?实话实说,我现在懂得很少

明媚 发表于 2014-3-18 16:32

yaochuanppchen 发表于 2013-9-10 00:39
AD7280A是上升沿接收还是下降沿接收?能否帮我确定一下。

您好,我看AD7280A的数据手册,上面介绍的SPI通信:数据的的输入在AD7280A的SPI口的SDI口,是在SCLK的输入的下降沿逐个输入到AD7280A的。希望对你有帮助。

abc133988 发表于 2014-9-26 15:44

你好   怎么才能申请样片呢?我也在做AD7280A

wx_ZurH79y9 发表于 2014-11-23 14:10

你好我qq675413725 希望得到你这方面的指导

zadzad163 发表于 2015-2-1 16:11

soso 发表于 2011-8-20 21:43
样片要感谢youki12345
加油:)版主 请问 我单片机不设计在在PCB上,用单独现成的行不行?


徐亮 发表于 2015-4-7 11:36

楼主,用51单片机可以做吗?

yukaijiang 发表于 2015-8-5 22:11

楼主,可以问下你的联系方式吗?毕业着急啊

yukaijiang 发表于 2015-8-5 22:14

楼主,我QQ420129768,着急毕业,希望能向您请教呵
页: [1] 2
查看完整版本: ADI实验电路CN0197基于AD7280A的电池管理系统第二阶段汇报