一个关于C8051F350模拟电源的小问题

前言

多做重要而不紧急的工作,慢慢的就会发现重要而紧急的工作没那么多了

工作方法

今天有好几个同事出差去现场实验了,为了今天的顺利成行,昨天加了个班,但是从项目管理的角度或者说做事的方法上来讲,这次加班完全可以避免。主要是开发APP的同事发现数据不正常之后,一直没有和我沟通,直到昨天下午,做出差前的准备时,才告诉我有问题。而且还有其他很多组件要同时调试,我也没办法很好地使用各种资源。所以,如果总是习惯于把重要不紧急的事情发展成重要且紧急的事情,总归有人要背锅。作为项目的一份子,我做的也不到位,没有很好地跟进项目的状态。在以后的项目中,要吸取这个项目的教训,明确项目中各项工作的轻重缓急,在执行过程中,贯彻尽可能地早处理和多处理重要且不紧急的工作,随着项目的进行,重要且紧急的工作就会慢慢减少,整个项目完成起来就会比较轻松,手忙脚乱的情况就会少一些。切记不要把重要不紧急的工作发展成重要且紧急的工作。

技术问题

这次的问题说起来也是怪自己。这款小仪器不是我研发的,但原理比较简单,由于负责的同事手头上活比较多,所以移交到我这里。

在调试过程中,我也是偷懒了,碰到一些不明了的问题,没有仔细思考,一般是第一时间去咨询研发人,这也就为这次的问题的出现买下来伏笔。

电路方面就不多说了,问题的核心出在C8051F350芯片内部AD上,具体现象为:

- 开关按下后,各部分供电正常,但MCU不能正常工作(概率事件)

- 在程序正常工作时(指示灯能够闪烁),AD值不正常,重启后,如果能够启动,AD值有可能发生变化,AD值随机,无规律

分析过程

由于之前调试过一次样机,工作正常,所以基本上可以排除软件出问题的可能性,但是还是单步调试了一下,有意思了,单步调试时,能够正常工作...

接下来,我就怀疑复位电路有问题,导致350没能够启动起来,但是看了一下复位电路,实在是太简单了,就是阻容电路,出问题的可能性也很小...

这时候,领导提议更换主芯片,换了之后问题依旧,而且按下开关,不能启动的概率更高了...

在我焊接芯片的时候,领导就跑了...考虑到AD值不断变化,就想到是不是350的ADC没有能够启动起来,350模拟电源的供电部分,我一直有一点点疑问,会不会是这里出了问题呢?

同事为模拟电源预留了两个来源,一个是3.3V电源,一个是3.0V参考电源。按照他的说法,默认焊接R11,就是利用3.0V参考电压源供电。从理论上分析(参考下图,需要输入的电流很小),貌似没有什么问题,REF5030提供的电流也是足够的(10mA)。

我自己在做设计的时候,是直接用3.3V供电的,而且我记得官方有块开发板还是参考设计,也是直接用3.3V供电的,所以我就把R11焊下来,把R10两个焊盘直接短接。问题就得到了解决。

结束语

说实在的,还是有点懵,因为没找到理论支撑说服自己,感觉有点稀里糊涂的。希望有大神路过的时候,顺便指点一下。

时间: 2024-11-04 10:20:58

一个关于C8051F350模拟电源的小问题的相关文章

一个简单的“贪吃蛇”小游戏

一个简单的“贪吃蛇”小游戏 页面结构 简单的21x21的方块,页面结构 id为container的div包含所21个class名为row的div,每个row代表贪吃蛇的一整行,每个row中又包含21个div,代表这一行的每一个div方格,如果这个方格是空的话,div的类名为blank,如果这一个方格表示“贪吃蛇”的“食物”,div的类名为food,如果这一个方格表示“蛇”,div的类名为snake. CSS JS 然后我们思考下一个贪吃蛇游戏需要那些参数, 首先,界面中可见的元素无非就是空方格,

温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)

温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对) #include<stdio.h> #include<stdlib.h> void PrintSumNumbers(int Arra[],int ASize,int Sum) { //O(1) if (ASize<2) { printf("The size of the Arra is invalid.\n"); return; } if(Sum&

一个,关于textarea的小问题。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style> *{margin:0; padding:

为数据挖掘小组写的一个用于造数据的小程序

最近有个数据挖掘的项目,要求在文本里面写入随机字母并且要1000W个 于是就写了个程序用来造数据并记录一下 程序写的时候遇到的问题 1 未考虑内存溢出的情况,大批量的把数据写入导致内存溢出 以后需要谨慎对待 目前完整版 package test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.apache.commons.io.FileUtils; import org

IOS的一个关于球碰撞的小游戏

这个游戏是关于一个球随机在屏幕上移动,可以用手指来操纵令一个球,如果两个球碰撞到一起,就表示输了,非常简单的一个游戏 在StoryBoard里定义两个UIImageView和一个start按钮 然后把这两个UIimageView跟代码链接 @property (weak, nonatomic) IBOutlet UIImageView *player; @property (weak, nonatomic) IBOutlet UIImageView *enemy; @property (weak

装在匣子里的雪(一个流浪作者的自费小册)

<在路上> 当秋雨敲打我孤苦的心怀 当别人的热情化为我的无奈 也许只须伫立在雨中 一切都随风飘散 当心里堆起了天空的阴霾 当我挣脱不了那孤独的悲哀 也许只须轻轻地一呵 一切都重头再来 当我向秋天索要美丽的花环 编织纯净的梦幻 当我向自己渴求大雁的自在 也许只须在内心里寻找 一切都已存在 2005年9月3日 作者 北河浜 (www.561.cn) 2009年1月11日的下午,在莲坂外文书店的一侧,有一个面目清秀的男孩,局促自然的在角落里,地板上是一小叠他自己写的结集自印的有着牛皮纸封面的薄薄的小

python(三)一个文件读写操作的小程序

我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1.txt xiaoBing_1.txt xiaoNa_2.txt xiaoBing_2.txt 这样格式的四个文件 下面上代码: #定义一个保存文件的函数 def save_file(xiaoNa,xiaoBing,count): file_name_xiaoBing = 'xiaoBing_'+str(cou

一个提高查找速度的小技巧

在一个数组中查找某一个元素,或是在一个字符串中查找某个字符,我们一般都会写出如下代码.这样的代码虽然简洁明了,但在数组元素很多的情况下,并不是一个很好的解决方案,今天我就来分享一个提高查找速度的小技巧. //在一个int数组中查找某个元素 int find(int A[],int n,int element) { for( int i = 0; i < n; i++ ) { if( A[i] == element ) return i; } return -1; } //在一个字符串中查找某个字

Androidstudio如何制作一个高仿小米计算器小demo

Androidstudio如何制作一个高仿小米计算器小demo ————安德风 一.最终成品效果图: 二.界面设计布局源代码:文件名activity_main.xml (存放在jsj(我的模块名为jsj)/res/layout/activity_main.xml) 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.a