编程中的命名设计那点事
2012-08-17 09:32
在PCB设计中遇到多路一样的电路,怎么做最方便,一个一个摆多费事。分享一个多通道设计。
2015-07-07 09:56
) = R0POP {R0} ; R0 = *R13++注意注释:何谓“向下增长的满栈”?在PUSH新数据时,堆栈指针先减一个单元,通常在进入一个子程序后,第一件事就是把寄存器的值先PUSH入堆放栈中,在
2014-03-25 09:41
本帖最后由 msh1456 于 2012-1-11 14:48 编辑 一.介绍对于电流检测的原理,目前主要有两种的检测:基于磁场的检测方法和基于分流器的检测方法。基于磁场的检测方法(以电流互感器和霍尔传感器为代表)具有良好的隔离和较低的功率损耗等优点,因此主要在驱动技术和大电流领域被电子工程师们选用,但它的缺点是体积较大,补偿特性、线性以及温度特性不理想. 由于小体积的高精度低阻值电阻器的实用化,以及数据采集和处理器性能的大幅度提升,已经导致传统的基于分流器的电流检测方法的技术革新,并使新的应用成为可能。采样电阻又电流检测电阻,也有人翻译为电流传感电阻器,英语翻译为current sensing resistor,采样电阻阻值一般小于1欧姆,我见过的最小阻值是0.1毫欧,常用用的有0.025欧,0.028欧,0.05欧等。原理:将采样电阻串入电路中,根据欧姆定律,当被测电流流过电阻时,电阻两端的电压与电流成正比,转换为电压型号进行测量。二、应用场合:1.电源管理(如电源监控)。2.开关电源SMPS(DC-DC, 充电管理,电源适配器)。如Linear的4100系列锂电池充电电路,采用采样电阻控制充电电流。三、选型:常见生产厂家:Vishay, IRC,Ohmite, Bourns, 国产的主要有国巨等。相对来说电子元件技术网的选型工具还能比较好用,列出了常见的供应商。这里分享下笔者用得较多的工具:cntron ics.com/public/tool/show/cid/23。采样电阻都是精密电阻,精度都在1%以内,更好要求时采用0.05%,甚至0.01%,功率有0.25W,0.5W,1W等。1. 阻值:和普通电阻一样,标准阻值为非连续。表示方法:1毫欧电阻可表示为: R001 = 0.001R25毫欧电阻可表示为: R025 = 0.025R100毫欧电阻可表示为: R100 = 0.1R2.封装:常见的封装有1206/2010/2512。3. 温度系数:是锰镍铜合金电阻的典型温度特性曲线,温度系数TCR单位为ppm/K,在20或25℃ 时,TCR=[R(T)-R(T0)]/R(T0) ×(T-T0),对于温度系数的定义,制造商标明温度的上限是必要的,举例说明在+20 -+60℃的温度范围内,测量系统经常选用TCR为几百个ppm/K 的低阻值的厚膜电阻器,比如TCR 为200 ppm/K的电阻器的温度特性,即使在如此小的范围内,+50℃的温度变化就足以导致阻值变化超过1%。4.热电动势当温度轻微升高或者降低时,在不同材料的接触面上会产生热电势,这种效应对低阻值电阻的影响非常重要,尽管通常情况下热电势数值非常小,但微伏级的热电势能够严重地影响测量结果。5. 长期稳定性对于任何传感器来说,长期稳定性都非常重要.甚至在使用了一些年后,人们都希望还能维持早期的精度.这就意味着电阻材料在寿命周期内一定要抗腐蚀,并且合金成分不能改变。6. 端子连接在低阻值电阻中,端子的阻值和温度系数的影响往往是不能忽略的。在PCB layout也要注意采样电阻的走线不能太长,太细。我在使用linear LTC4100做充电管理时,第一版PCB由于忽略了这一点,走线有点长,导致充电电流无法达到我的设定值,后来查了很久才发现是这个问题。最后还是在电子元件技 术网上找到对应的解决办法,网络时代就是好,只要用心去钻研,总能从互联网找到我们需要的资料!7.低电感在当今的很多应用中需要测量和控制高频电流,分流器的寄生电感参数也得到了大幅改善.表面贴装电阻器的特殊的低电感平面设计和合金材料的抗磁特性,金属底板,以及四引线连接都有效降低了电阻器的寄生电感. 然而,电路板上的取样端子和电阻组成了一个环状结构,为了避免其间因电流产生的磁场和外围磁场而形成的感应电压,需要特别强调要使取样的信号线形成的区域越小越好,最理想的是微带线设计。话说就先写到这里了,这里留个自己的博客地址:cntron ics.com/club/space.php?uid=121804,望斑竹标(鼠标)下留情,欢迎同行交流,写这文章费了我不少内功,!如果觉得这文章还不错,亲,给个好评吧,亲!
2012-01-11 14:45
我们之前讲过CPU,也说了CPU和内存的那点事儿,今天咱就再来说说有关内存,作为一个程序员,你必须要懂的哪那些硬核知识!大白话聊一聊,很重要!先来大白话的跟大家聊一聊,我们这里说的内存啊,其实就是说
2021-07-27 08:02
一个二极管的用错导致我大拆大补,甚是浪费时间啊,希望可以帮到同行们调试过程中的现象:1.根据原理图进行焊接,之后接上负载(12V,0.15A的小风扇),调试过程中发现:负载正常工作,万用表测得LM7812输出端既负载电压为12V,EG1182元件的温度为30℃;大约30秒后,负载转速明显下降,用万用表测得负载端电压为8.6V电流为0.11A,此时EG1182元件的温度为97℃以上,非常烫。2.将LM7812拿下来之后,上电测试(未加负载)EG1182温度大约为30℃,万用表测得C98两端电压为16V。3.接上负载测得负载端电压为8.6V电流为0.1A,此时EG1182发烫问题解决却出现欠压问题。此时考虑到电路额定功率未达标,但是通过调试频率占空比电解电容问题依旧存在且此电路依据手册输出端电压为Vout=(1+R76/R78)*1.35=15.9V电流为Ipk=(0.7/Rsense*84)=0.35A(Rsense即为R74)4.换掉EG1182、C93换为100uF、R74换为100Ω,问题未解决5.将R76、R78分别换为15K、1.74K(输出端电压为13V),问题未解决6.将FR107(D29)换为SB5100,问题解决!现象综合分析:主问题为什么EG1182正常工作一段时间后非常烫?考虑到过压冲击(由于EG1182电路与开关电源电路是并联关系,导致EG1182电路中的C93 10uF与开关电源电路中的C58 C59也是并联)、开关电源电磁部分的干扰但是根据现象6可判断出EG1182应该是出现了间断性的短路导致发烫原因:FR107是快速恢复二极管 其耐压1000V 输出电流1A,但是反向恢复时间却为250ns,而SB5100反向恢复时间极短(可以小到几纳秒)
2016-01-27 09:28
需要的是有节奏有步骤有计划有激情地热舞,做这个事的就是uboot. 说起uboot,不得不从bootloader开始,在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。负责初始化
2015-11-24 12:05
搞单片机开发,一定要会 C 吗?汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的 CPU,其汇编语言可能有所差异,所以不易移植。对于目前普遍使用的 RISC 架构的 8bit MCU 来说,其内部 ROM、RAM、STACK 等资源都有限,如果使用 C 语言编写,一条 C 语言指令编译后,会变成很多条机器码,很容易出现 ROM 空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供 C 编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。而 C 语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C 语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C 语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C 语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用 C 语言进行程序设计已成为软件开发的一个主流。用 C 语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。综上所述,用 C 语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的 C 语言编程。当开发一个较复杂而又开发时间短的项目时,用 C 还是用汇编开发好?对于复杂而开发时间紧的项目时,可以采用 C 语言,但前提是要求对该 MCU系统的 C 语言和 C 编译器非常熟悉,特别要注意该 C 编译系统所能支持的数据类型和算法。虽然 C 语言是最普遍的一种高级语言,但不同的 MCU 厂家其 C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。初学者到底是应该先学 C 还是汇编?对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。
2021-04-01 10:36
主板LAYOUT注意事項
2011-12-24 21:21
关于AD10的资料分享一下共同学习
2015-02-23 22:16