0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PFS122 AD调试心得-小电流检测方法分享

应广单片机 来源:应广单片机 2023-09-06 18:21 次阅读

最近调试122检测小电流,有一种遇到鬼打墙的状态,就是看到寄存器的值在数据转移时改动了。要不是亲眼见,还真不会相信。在ADC中写入了这么一小段:

AD_Start=1;//Skip first ADC, can delete by your select

while(!AD_DONE)

ad_temp$1 = adcrh;

ad_temp$0 = adcrl;

你说要是有问题,你在检测内部1.2V时也有问题,那也更容易查找问题吧。可是在转换以内部1.2V为一路输入电压时又没有问题,而且这个程序,在以前的调试好象也问题。

7e44a608-4c9d-11ee-a25d-92fbcf53809c.png

可是一到转换另外一路小电压的时候,就出现问题了。看吧调试窗口里的数据明明提示ADCRH的值为0x01,ADCRL的值为0x17. 在转移到ad_temp 时,变成了ad_temp$1的值为00x03,ad_temp$0为0x17还是正常的。这个问题,以前也弄出来过,可能是后来把系统时钟改低了,系统时钟跑1mips,当时又正常了,所以就没有怀疑程序的问题了。

后来没有明白问题出在哪里,多弄了一次判断,不想等再读一次,想想虽然操作可笑,但也是一种方法:

AD_Start=1;//Skip first ADC, can delete by your select

while(!AD_DONE)

ad_temp$1 = adcrh;

ad_temp$0 = adcrl;

if(ad_temp$1 != adcrh) ad_temp$1 = adcrh;

ad_temp = ad_temp >> 4;

ad16 += ad_temp ;

这样一改,结果是对了,但是还是没有明白问题出在哪里?

后来想到可能系统时钟跑太快了,读数有问题,所以就在while(!AD_DONE)后面加了两个nop;这样也正常了。后来终于想明白。数据转移出错,确实和系统时钟跑得快有关系,所以在频率较低时,上面的程序不会出问题。其实真正的问题就是出在“while(!AD_DONE)”这里,这里少了一个“;”,编译器没有提示错误,本来也是可以不提示错误的,编译器不知道你等待的时候具体是需要干嘛。因为有“;”时,在等待AD转换完的时间里,编译器会自动增加一条nop指令,而没有“;”时,在等待的时间里是一直在读AD转化的高位,等AD结束后,马上是读取AD转换的低位。所以在等待的过程中,读取的高位,是一个还没有转化完。而低位则是转换结束后的数据,所以读起来不会错了。加上NOP后,再等待的时间强制是执行空指令了,结束完还会执行一个空指令再取高位,所以都不会有问题了。

7eac8250-4c9d-11ee-a25d-92fbcf53809c.png







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117746
  • 输入电压
    +关注

    关注

    1

    文章

    401

    浏览量

    16345
  • AD转换器
    +关注

    关注

    4

    文章

    244

    浏览量

    40981
  • 系统时钟
    +关注

    关注

    1

    文章

    30

    浏览量

    9014
  • pfs
    pfs
    +关注

    关注

    0

    文章

    5

    浏览量

    4982

原文标题:PFS122 AD调试心得分享---小电流检测

文章出处:【微信号:应广单片机,微信公众号:应广单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何烧录PFS122-MSOP10的封装

    应广有好几个型号都封装了MSOP10的封装形式,比如PMS132B,PFS122-MSOP10等。MSOP10的官方封装引脚,用烧录座在烧录器上无法直接烧录,需要转接。
    的头像 发表于 12-07 11:43 1510次阅读
    如何烧录<b class='flag-5'>PFS122</b>-MSOP10的封装

    proteus虚拟串口调试心得

    proteus虚拟串口调试心得
    发表于 03-30 18:48

    低端运放电流检测方法的原理是什么

    低端运放电流检测方法的原理是什么?高端电流是如何检测电路的?
    发表于 10-11 09:50

    开关模式电源电流检测方法

    ,此电流可用于监测平均电流以及峰值或谷值电流。所以,此配置支持峰值、谷值或平均电流模式控制。图3.RSENSE与电感串联 这种检测
    发表于 04-20 18:51

    ADC中NFS和PFS指的是什么?

    ADC 中NFS和PFS指的是什么
    发表于 12-14 06:52

    DDS 调试心得

    本站提供DDS 调试心得的资料,希望能够帮你学习。
    发表于 05-25 15:53 43次下载
    DDS <b class='flag-5'>调试</b><b class='flag-5'>心得</b>

    基于FBD法的四相输电系统电流检测方法

    为了检测四相输电系统中的谐波藕光功电流,在迸一步完善FBD法定义的基础上,提出了一种基于FBD法的四相输电系统电流检测方法。该
    发表于 02-13 18:00 38次下载
    基于FBD法的四相输电系统<b class='flag-5'>电流</b><b class='flag-5'>检测</b><b class='flag-5'>方法</b>

    图解JLINK在ADS下调试心得

    文章是对LPC2148而写的,但是对三星的44B0芯片同样适用,只需要在选择时将相应的CPU选择的S3C44B0就可以了。 JLINK在ADS下调试心得 前两天一个客户用jlink在ADS来调试LPC2148总报错,这个错误我之
    发表于 04-09 09:41 4328次阅读
    图解JLINK在ADS下<b class='flag-5'>调试</b><b class='flag-5'>心得</b>

    CAT-PFS0002 TE 压电电缆

    电子发烧友网为你提供TE(ti)CAT-PFS0002 TE相关产品参数、数据手册,更有CAT-PFS0002 TE的引脚图、接线图、封装手册、中文资料、英文资料,CAT-PFS0002 TE真值表,CAT-
    发表于 06-28 14:00

    8种常见单机PFC调试异常经验

    异常情况的调试方法。下面大家就快随小编来一起看一看吧。 PFC偏低的应对 1、次级去电流(R32)检测电阻加大。 2、光耦供电电阻(R27)加大。 3、比较器
    发表于 02-11 14:56 15次下载
    8种常见单机PFC<b class='flag-5'>调试</b>异常经验

    PFS122检测VDD及IO口的AD电压方法

    PFS122是应广推出的一颗,可以多次烧录的2K程序空间的带数字12位AD转换的单片机。目前以高性价比重新获得用户的喜爱,其价格优势明显,比九齐的062E的价格,可能还更具有优势。
    的头像 发表于 11-29 09:20 2259次阅读

    PFS122检测VDD及IO口的AD电压方法

    PFS122是应广推出的一颗,可以多次烧录的2K程序空间的带数字12位AD转换的单片机。目前以高性价比重新获得用户的喜爱,其价格优势明显,比九齐的062E的价格,可能还更具有优势。
    发表于 05-19 10:09 1700次阅读
    <b class='flag-5'>PFS122</b><b class='flag-5'>检测</b>VDD及IO口的AD电压<b class='flag-5'>方法</b>

    何谓电流传感器 电流检测方法

    何谓电流传感器? 电流传感器是指检测电路中流动的电流值的传感器。 电流检测
    的头像 发表于 06-30 10:14 1393次阅读
    何谓<b class='flag-5'>电流</b>传感器 <b class='flag-5'>电流</b>的<b class='flag-5'>检测</b><b class='flag-5'>方法</b>

    PFS122B和PFS122 MCU的主要区别

    ,由原PFS122只能由VDD做参考更改为还可以用内部其他的参考电压来做AD转换的参考。有了这样的设计后,使得在没有LDO的情况下,也更方便的可以做IO口的AD检测
    的头像 发表于 12-22 10:03 618次阅读
    <b class='flag-5'>PFS122</b>B和<b class='flag-5'>PFS122</b> MCU的主要区别

    电流探头在电机调试中的具体测试方法和操作步骤

    电流探头在电机调试中的重要性 电流探头在电机调试中的具体测试方法和操作步骤  电流探头在电机
    的头像 发表于 01-08 15:40 265次阅读