第一篇:模拟芯片设计心得
模拟芯片设计重要心得
模拟芯片设计的四重境界(经典)--------忘了从哪转得了
从复旦攻读微电子专业模拟芯片设计方向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点。最近,应朋友之邀,写一点心得体会和大家共享。asic;我记得本科刚毕业时,由于本人打算研究传感器的,后来阴差阳错进了复旦逸夫楼专用集成电路与系统国家重点实验室做研究生。现在想来这个实验室名字大有深意,只是当时惘然。电路和系统,看上去是两个概念,两个层次。我同学有读电子学与信息系统方向研究生的,那时候知道他们是“系统”的,而我们呢,是做模拟“电路”设计的,自然要偏向电路。而模拟芯片设计初学者对奇思淫巧的电路总是很崇拜,尤其是这个领域的最权威的杂志JSSC(IEEE Journal of solid state circuits),以前非常喜欢看,当时立志看完近二十年的文章,打通奇经八脉,总是憧憬啥时候咱也灌水一篇,那时候国内在此杂志发的文章凤毛麟角,就是在国外读博士,能够在上面发一篇也属优秀了。
读研时,我导师是郑增钰教授,李联老师当时已经退休,逸夫楼邀请李老师每个礼拜过来指导。郑老师治学严谨,女中豪杰。李老师在模拟电路方面属于国内先驱人物,现在在很多公司被聘请为专家或顾问。李老师在87年写的一本(运算放大器设计);即使现在看来也是经典之作。李老师和郑老师是同班同学,所以很要好,我自然相对于我同学能够幸运地得到李老师的指点。李老师和郑老师给我的培养方案是:先从运算放大器学起。所以我记得我刚开始从小电流源开始设计。那时候感觉设计就是靠仿真调整参数。但是我却永远记住了李老师语重心长的话:运放是基础,运放设计弄好了,其他的也就容易了。当时不大理解,我同学的课题都是AD/DA,锁相环等“高端”的东东,而李老师和郑老师却要我做“原始”的模块,我仅有的在(固体电子学)(国内的垃圾杂志)发过的一篇论文就是轨到轨(rail-to-rail)放大器。做的过程中很郁闷,非常羡慕我同学的项目,但是感觉李老师和郑老师讲的总有他们道理,所以我就专门看JSSC运放方面的文章,基本上近20多年的全看了。当时以为很懂这个了,后来工作后才发现其实还没懂。所谓懂,是要真正融会贯通,否则塞在脑袋里的知识再多,也是死的。但是运算放大器是模拟电路的基石,只有根基扎实方能枝繁叶茂,两位老师的良苦用心工作以后才明白。总的来说,在复旦,我感触最深的就是郑老师的严谨治学之风和李老师的这句话。
硕士毕业,去找工作,当时有几个offer。我师兄孙立平,李老师的关门弟子,推荐我去新涛科技,他说里面有个常仲元,鲁汶天主教大学博士,很厉害。我听从师兄建议就去了。新涛当时已经被IDT以8500万美金收购了,成为国内第一家成功的芯片公司。面试我的是公司创始人之一的总经理Howard.C.Yang(杨崇和)。Howard是Oregon State University 的博士,锁相环专家。面试时他当时要我画了一个两级放大器带Miller补偿的,我很熟练。他说你面有个零点,我很奇怪,从没听过,云里雾里,后来才知道这个是Howard在国际上首先提出来的,等效模型中有个电阻,他自己命名为杨氏电阻。当时出于礼貌,不断点头。不过他们还是很满意,反正就这样进去了。我呢,面试的惟一的遗憾是没见到常仲元,大概他出差了。
D q+E!c s b P*B#r.P+zO5q E ` y-J¬c [ y 进入新涛后,下了决心准备术业有专攻。因为本科和研究生时喜欢物理,数学和哲学,花了些精力在这些上面。工作后就得真刀真枪的干了。每天上班仿真之余和下班后,就狂看英文原版书。第一本就是现在流行的Razavi的那本书。读了三遍。感觉大有收获。那时候在新涛,初生牛犊不怕虎,应该来说,我还是做得很出色的,因此得到常总的赏识,被他评价为公司内最有potential的人。偶尔常总会过来指点一把,别人很羡慕。其实我就记住了常总有次聊天时给我讲的心得,他大意是说做模拟电路设计有三个境界:第一是会手算,意思是说pensile-to-paper,电路其实应该手算的,仿真只是证明手算的结果。第二是,算后要思考,把电路变成一个直观的东西。第三就是创造电路。我大体上按照这三部曲进行的。Razavi的那本书后面的习题我仔细算了。公司的项目中,我也力图首先以手算为主,放大器的那些参数,都是首先计算再和仿真结果对比。久而久之,我手计算的能力大大提高,一些小信号分析计算,感觉非常顺手。这里讲一个小插曲,有一次在一个项目中,一个保护回路AC仿真总不稳定,调来调去,总不行,这儿加电容,那儿加电阻,试了几下都不行,就找常总了。因为这个回路很大,所以感觉是瞎子摸象。常总一过来三下五除二就摆平了,他仔细看了,然后就导出一个公式,找出了主极点和带宽表达式。通过这件事,我对常总佩服得五体投地,同时也知道直观的威力。所以后来看书时,都会仔细推导书中的公式,然后再直观思考信号流,不直观不罢手。一年多下来,对放大器终于能够透彻理解了,感觉学通了,通之后发现一通百通。最后总结:放大器有两个难点,一个是频率响应,一个是反馈。其实所谓电路直观,就是用从反馈的角度来思考电路。每次分析了一些书上或者JSSC上的“怪异”电路后,都会感叹:反馈呀,反馈!然后把分析的心得写在paper上面。asic;ic;fpga;cpld;嵌入式;单片机;mpu;mcu;asi;dsp;arm;mips j8f学通一个领域后再学其他相关领域会有某种“加速”作用。常总的方式是每次做一个新项目时,让下面人先研究研究。我在离开新涛前,做了一个锁相环。我以前没做过,然后就把我同学的硕士论文,以及书和很多paper弄来研究,研究了一个半月,常总过来问我:锁相环的3dB带宽弄懂了吧? 我笑答:早就弄懂了。我强大的运放的频率响应知识用在锁相环上,小菜了。我这时已经去研究高深的相位噪声和jitter了。之后不久,一份30多页的英文研究报告发出来,常总大加赞赏!。后来在COMMIT时,有个项目是修改一个RF Transceiver芯片,使之从WCDMA到TD-SCDMA。里面有个基带模拟滤波器。我以前从没接触过滤波器,就花了两个月时间,看了三本英文原版书,第一本有900多页,和N多paper,一下子对整个滤波器领域,开关电容的,GmC的,Active RC的都懂了。提出修改方案时,由于我运放根基扎实,看文章时对于滤波器信号流很容易懂,所以很短时间就能一个人提出芯片电路原理分析和修改方案。最后报告写出来(也是我的又一个得意之作),送给TI.TI那边对这边一下子肃然起敬,Conference call时,他们首先说这份报告是“Great job!”,我英文没听懂,Julian对我夸大拇指,说“他们对你评价很高呢”。后来去Dallas,TI那边对我们很尊敬,我做报告时,很多人来听。总之,现在知道,凡事情,基础很重要,基础扎实学其他的很容易切入,并且越学越快。asic;ic;fpga;cpld;嵌入式;单片机;mpu;mcu;asi;dsp;arm;mips K ^&~ H*h W;}.^ p8k-] N 中国电子顶级开发网 K4c I$r n,N G-p%y 我是02年 11月去的COMMIT,当时面试我的也是我现在公司老板Julian。Julian问我:你觉得SOC(system on chip)设计的环节在哪儿? 我说:应该是模拟电路吧,这个比较难一些。Julian说错了,是系统。我当时很不以为然,觉得模拟电路工程师应该花精力在分析和设计电路上。Julian后来自己run了现在这公司On-Bright,把我也带来,同时也从TI拉了两个,有一个是方博士。我呢,给Julian推荐了朱博士。这一两年,我和朱博士对方博士佩服得五体投地。方博士是TI华人里面的顶级高手,做产品能力超强。On-Bright现在做电源芯片,我和朱博士做了近两年,知道了系统的重要性。芯片设计最终一定要走向系统,这个是芯片设计的第四重境界。电路如同砖瓦,系统如同大厦。芯片设计工程师一定要从系统角度考虑问题,否则就是只见树木,不见森林。电源芯片中,放大器,比较器都是最最普通的,其难点在于对系统的透彻理解。在On-Bright,我真正见识了做产品,从定义到设计,再到debug,芯片测试和系统测试,最后到RTP(release to production)。Julian把TI的先进产品开发流程和项目管理方式引入On-Bright,我和朱博士算是大开眼界,也知道了做产品的艰辛。
产品和学术是两片天地,学术可以天马行空,做出一个样品就OK了。产品开发是一个系统工程,牵涉到方方面面的工作,N多的人一起协作,最终才能使产品成功推向市场。芯片领域,我以前非常崇拜学术界牛人,现在发现工业界水平还是较学术界领先,朱博士说他以前在瑞士理工黄秋亭(IEEE的著名Fellow)那儿做过半年研究,当时很崇拜黄,现在发现方博士水平更高。所以就像(天龙八部)中,一个无名扫地老僧是顶级高手。但无论工业界还是学术界,这四重境界却是共同的,跨越这四重境界。
每个模拟芯片设计者都应该一步一步脚踏实地,逐次
第二篇:贴片芯片焊接心得
贴片芯片焊接心得
http://www.xiexiebang.com 发布时间:2011-7-21 10:56:45 焊接心得作为一名电子工程师,如果不会拿烙铁焊接,真的说不过去。而现在很多年青的工程师(也包括阿南)确确实实在忽略这方面动手能力的培养或很少有机会自己焊接板子,心里只想着学ARM,学Linux,而换个电阻、电容有时都要找焊接工人,更不用提TSOP等密集型的贴片IC了。所以在此阿南希望我们大伙都重视这些基础方便的训练,自己能焊的尽量自己焊,学着焊,如果有条件可以多请教那些焊接工人,他们都会有自己的技巧和心得。
练习焊接和学游泳一样,就要亲自去练习,反复的焊,焊多了就会有手感,就能掌握好烙铁的力度,板上的焊锡就会跟着你的烙铁走。插件器件比较好焊些,而帖片0603的电阻、电容由于比较小,如果您焊接不是很熟练,可以先在焊盘上点一些锡,然后左手用镊子夹住元件放在焊盘上,右手拿烙铁将焊盘上的锡熔化固定住元件(可以用同种方法将大部的元件固定完),左手再拿焊锡丝将元件的剩余焊盘焊接完成。熟练的工人往往会直接左手拿焊锡,右手拿烙铁,一起将元件吸住放入焊盘,这样焊接的速度会快很多。
贴片IC的焊接。刚毕业的时候没人教阿南焊,也没见过其它人是如何焊贴片IC的。先将IC放在焊盘上,放正了,用左手小指按住(固定)IC,母指和食指拿着焊锡,右手拿烙铁焊,而且一个管脚一个管脚小心翼翼的焊,生怕相邻管脚短路,当IC管脚不是很密时这种方法还是可以应付的。当如TSOP I封装的IC,管脚很密,很容易使相连管脚短路,此时频繁的用助焊剂。刚开始助焊剂还是有些效果,点上后,用烙铁一接触被焊锡短路的焊盘,它们立刻就分开了。但多次使用后IC周围已经变得很脏,有些焊盘也快脱落了,有时一个上午就焊了一片存储器(TSOP II 54)。后来见到专门焊板子的小姑娘焊更密的芯片,将IC放正,先焊一个脚后,看IC是否完全放正,再将其调正(因为只固定一个脚时,IC还是可以挪动的),然后熔化很多的焊锡在管脚上使其完全固定,再在另一排(有些IC是两排管脚,有些是四排)上也熔化很多的焊锡在管脚上,再用烙铁头放在堆着焊锡的管脚及焊盘上,往反的拖(有时左手还要将PCB板做些倾斜),此时焊锡居然很有活性的跟着烙铁头流动,而相邻的管脚居然也不会短路。看了之后,我非常的惊讶(后来才知道,贴片的IC就是这样焊的),就请小姑娘教。起初怎么拖,焊锡都不听话,也拖不动,特别是拖到最后两个管脚时总分不开它们,总感觉手拿着烙铁特别的僵硬。经过反复的练习(在调试板子需要换IC时,总是给自己练习的机会,而不麻烦小姑娘),慢慢的也就有了些体会,也知道手怎么动才能将短接的相邻管脚分开,烙铁的温度应该调到多少合适(有些IC在极限参数表中会给出焊接温度和持续时间,如260度/10s等,一般在焊普通元件时,都将恒温烙铁调到接近340度,如果拖密集型的IC还要高些),先是自如的拖50mil间距的SOIC,再拖密些的TSOP II,再到更密的TSOP I,管脚更多的LQFP等。而这些经过反复练习领悟出来的技巧,特别是手的细微摆动等真的很难用言语来表达,因此读者如果希望自己能够自如的焊接这些IC,必须亲自去练习体会。
最后再对密集型IC的焊接作简单总结吧。通常选择刀型头(不要选择特别尖的)的烙铁,如果是恒温烙铁可以将温度调到接近340度(也可以适当高些),检查IC的各个管脚有无弯曲等变形,用刀片将其调正,待烙铁头变热后将它放入烙铁架里湿润(注意是湿润而不是有水)的海棉上擦净(去掉那些氧化物和锡渣),再吃上锡。将IC在焊盘放整齐,先固定一个脚,再比较确定与焊盘对齐,如有相邻管脚靠的太近可用刀片将其分开,左手拿锡丝(要用光泽的,而不是放了很久的已被氧化成黑乎乎的那种)将四边的角都固定后,先焊一个边,在一排的管脚上多吃些锡,将刀型头的斜载面贴着管脚,斜载面的下底边适当贴着管脚接触PCB的地方快速的来回拖动,左手也可以将PCB迎着拖锡的反方向适当的倾斜,有利于被熔化的焊锡在管脚上往拖动的方向流动,使在被拖过的管脚上容易分开。如果时间长了焊锡上的焊剂会烧掉,融化后的焊锡会变的干涩,将其拖离引脚的难度也会加大,此时应再加上些焊锡再拖,直到拖离为止。当拖到最后两三个引脚时可能会有些困难,此时可以把烙铁头的焊接面正贴着管脚,下底边轻微放在PCB板上(也可以在管脚上再加点焊锡),将烙铁有点向下内测(逆时针)旋转(尽量使斜载面贴着管脚脚上的锡)迅速拖离管脚,多试几次直到将锡拖离。同样的方法焊完其它几边,然后检查是否虚焊,如果有放大镜最好,没有用眼睛仔细点也可以看。烙铁使用完后,也不要擦的太干净(长期不用,会氧化),吃点焊锡后再断电,有助于保护烙铁头,特别是质量不好的烙铁。
第三篇:AT89C52芯片
AT89C52 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。主要功能特性
1、兼容MCS51指令系统 2、8kB可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断;
6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位;
10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。引脚功能及管脚电压
AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚
PDIP封装的AT89C52引脚图
排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0 口 P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口
P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉
电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。表.P1.0和P1.1的第二功能 引脚号 功能特性
T2,时钟P1.0 输出 T2EX(定P1.1 时/计数器2)
P2 口
P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX @RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口
P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN 程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP 外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。XTAL1 振荡器反相放大器的及内部时钟发生器的输入端。XTAL2 振荡器反相放大器的输出端。特殊功能寄存器
在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFR),SFR 的地址空间映象如表2 所示。并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
AT89C52除了有AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON(参见表3)T2MOD(参见表4),寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。编辑本段数据存储器
AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。
当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。
例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。MOV 0A0H,#data 间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。MOV @R0,#data 堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。·定时器0和定时器1:
AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。片上资源
定时器2基本特性: 定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。捕获方式:
在捕获方式下,通过T2CON 控制位EXEN2 来选择两种方式。如果EXEN2=0,定时器2 是一个16 位定时器或计数器,计数溢出时,对T2CON 的溢出标志TF2 置位,同时激活中断。如果EXEN2=1,定时器2 完成相同的操作,而当T2EX 引 脚外部输入信号发生1 至0 负跳变时,也出现TH2 和TL2 中的值分别被捕获到RCAP2H 和RCAP2L 中。另外,T2EX 引脚信号的跳变使得T2CON 中的EXF2 置位,与TF2 相仿,EXF2 也会激活中断。
自动重装载(向上或向下计数器)方式:
当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON(见表5)的DCEN 位(允许向下计数)来选择的。复位时,DCEN 位置“0”,定时器2 默认设置为向上计数。当DCEN置位时,定时器2 既可向上计数也可向下计数,这取决于T2EX 引脚的值,当DCEN=0 时,定时器2 自动设置为向上计数,在这种方式下,T2CON 中的EXEN2 控制位有两种选择,若EXEN2=0,定时器2 为向上计数至0FFFFH 溢出,置位TF2 激活中断,同时把16 位计数寄存器RCAP2H 和RCAP2L重装载,RCAP2H 和RCAP2L 的值可由软件预置。若EXEN2=1,定时器2 的16 位重装载由溢出或外部输入端T2EX 从1 至0 的下降沿触发。这个脉冲使EXF2 置位,如果中断允许,同样产生中断。定时器2 的中断入口地址是:002BH ——0032H。
当DCEN=1 时,允许定时器2 向上或向下计数,如图6 所示。这种方式下,T2EX 引脚控制计数器方向。T2EX 引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH 向上溢出时,置位TF2,同时把16 位计数寄存器RCAP2H 和RCAP2L 重装载到TH2 和TL2 中。T2EX 引脚为逻辑“0”时,定时器2 向下计数,当TH2 和TL2 中的数值等于RCAP2H 和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH 数值重新装入定时寄存器中。
当定时/计数器2 向上溢出或向下溢出时,置位EXF2 位。波特率发生器:
当T2CON(表3)中的TCLK 和RCLK 置位时,定时/计数器2 作为波特率发生器使用。如果定时/计数器2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1 用于其它功能,如图7 所示。若RCLK 和TCLK 置位,则定时器2工作于波特率发生器方式。
波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器2 的寄存器用RCAP2H 和RCAP2L 中的16位数值重新装载,该数值由软件设置。在方式1 和方式3 中,波特率由定时器2 的溢出速率根据下式确定:
方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2 作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12 振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)寄存器的值加1。波特率的计算公式如下: 方式1和3的波特率=振荡频率/{32*[65536-(RCP2H,RCP2L)]} 式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位无符号数。
定时器2 作为波特率发生器使用的电路如图7 所示。T2CON 中的RCLK 或TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中,TH2 翻转不能使TF2 置位,故而不产生中断。但若EXEN2 置位,且T2EX 端产生由1 至0 的 负跳变,则会使EXF2 置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2 和TL2 中。所以,当定时器2 作为波特率发生器使用时,T2EX 可作为附加的外部中断源来使用。需要注意的是,当定时器2 工作于波特率器时,作为定 时器运行(TR2=1)时,并不能访问TH2 和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。
然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2 寄存器之前,应将定时器关闭(清除TR2)。可编程时钟输出:
定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号,如图8 所示。P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输 出时钟频率范围为61Hz—4MHz。
当设置定时/计数器2 为时钟发生器时,C/T2(T2CON.1)=0,T2OE(T2MOD.1)=1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2 捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下: 输出时钟频率=振荡器频率/{4*[65536-(RCP2H,RCP2L)]} 在时钟输出方式下,定时器2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2 作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L。UART串口
AT89C52的UART 工作方式与AT89C51 工作方式相同。时钟振荡器
AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图10。
外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳 定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10pF。
用户也可以采用外部时钟。采用外部时钟的电路如图10 右图所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。中断
AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源如图9 所示。
这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表5 中的IE.6 为保留位,在AT89C51 中IE.5 也是保留位。程序员不应将“1”写入这些位,它们是将来AT89 系列产品作为扩展用的。
定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。
定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。低功耗模式
空闲节电模式
在空闲工作模式状态,CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对 端口或外部存储器的写入指令。掉电模式
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。编程和加密
Flash存储器的编程
AT89C52单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。
AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。编程方法
编程前,须按表9 和图11 所示设置好地址、数据及控制信号,AT89C52 编程方法如下:
1. 在地址线上加上要编程单元的地址信号。2. 在数据线上加上要写入的数据字节。3. 激活相应的控制信号。
4. 在高电压编程方式时,将EA/Vpp 端加上+12V 编程电压。
5. 每对Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG 编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复1—5 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。程序存储器的加密
AT89C52 有3 个程序加密位,可对芯片上的3 个加密位LB1、LB2、LB3 进行编程(P)或不编程(U)来得到。
当加密位LB1 被编程时,在复位期间,EA 端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。数据查询
AT89C52 单片机用Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。Ready/Busy:字节编程的进度可通过“RDY/BSY 输出信号监测,编程期间,ALE 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4 变为高电平表示准备就绪状态。
程序校验:如果加密位LB1、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用如图12的电路。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。
芯片擦除:利用控制信号的正确组合(表6)并保持ALE/PROG 引脚10mS 的低电平脉冲宽度即可将PEROM 阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。读片内签名字节:AT89C52 单片机内有3 个签名字节,地址为030H、031H 和032H。用于声明该器件的厂商、型号和编程电压。读AT89C52 签名字节需将P3.6 和P3.7 置逻辑低电平,读签名字节的过程和单元030H、031H 及032H 的正常校验相仿,只返回值意义如下:
(030H)=1EH 声明产品由ATMEL公司制造。(031H)=52H 声明为AT89C52 单片机。(032H)=FFH 声明为12V 编程电压。(032H)=05H 声明为5V 编程电压。
第四篇:常用芯片总结
常用芯片总结
1.音频pcm编码DA转换芯片cirrus logic的cs4344,cs4334
4334是老封装,据说已经停产,4344封装比较小,非常好用。还有菲利谱的8211等。
2.音频放大芯片4558,LM833,5532,此二芯片都是双运放。
3.244和245,由于244是单向a=b的所以只是单向驱动。而245是用于数据总线等双向驱动选择。同时245的封装走线非常适合数据总线,它按照顺序d7-d0。
4.373和374,地址锁存器,5.max232和max202,max3232 TTL电平转换
6.网络接口变压器。需要注意差分信号的等长和尽量短的规则。
7.amd29系列的flash,有bottom型和top型,主要区别是loader区域设置在哪里?bottom型的在开始地址空间,top型号的在末尾地址空间,我感觉有点反,但实际就是这么命名的。
8.74XX164,它是一个串并转换芯片,可以把串行信号变为并行信号,控制数码管显示可以用到。
9.网卡控制芯片CS8900,ax88796,rtl8019as,dm9000ae当然这些都是用在isa总线上的。24位AD:CS5532,LPC2413,ADS1240,ADS1241效果还可以仪表运放:ITL114,不过据说功耗有点大
音频功放:一般用LM368
音量控制IC: PT2257,Pt2259.PCM双向解/编码 :/ CW6691.cirruslogic公司比较多
2.4G双工通讯IC CC2500
1.cat809,max809,这些是电源监控芯片,当低于某一电压以后比如3.07v等出现一个100ms的低电平,实现复位功能。当然这个要求是低复位。max810,cat810等就是出现一个100ms的高电平。还有一些复位芯片,既有高又有低复位输出,同时还有带手动触发复位功能,型号可以查找一下。
2.pericom的pt7v(pi6cx100-27)压控振荡器,脉冲带宽调制。
1、语音编解码TP3054/3057,串行接口,带通滤波。
2、现在用汉仁的网卡变压器HR61101G接在RTL8019AS上,兼容的有VALOR的FL1012、PTT的PM24-1006M。
3、驱动LED点阵用串行TPIC6B595,便宜的兼容型号HM6B59
5交换矩正: mt 88168*16
双音频译码器: 35300
我们原来使用单独的网络变压器,如常用的8515等。现在我们用YDS的一款带网络变压器的RJ45接口。其优点:1.体积仅比普通的RJ45稍微大一点。
2.价格单买就6元,我觉得量稍微大点应该在4-5左右或者更低。
3.连接比较方便只要把差分信号注意就可以了。
缺点:用的人不多,不知道是因为是新,还是性能不好,我们用了倒没什么问题。不过没有做过抗雷击等测试,我觉得既然YDS做了这样的产品,性能应该问题不大。我觉得最好再加一点典型电路的原理图等。比如说网络接口,串口232,485通讯,I2C级连,RAM连接,FLASH连接,电压转换,时钟电路,打印接口电路,以及如何在没有典型电路的时候,把芯片和已有系统有效连接等。首先要有开关电源需求,额定电流,功率,几路输出,主路设计等等如何测试其性能指标达到要求。
便宜的液晶驱动芯片HT1621
要求一般的485芯片SN308
2CH375A USB主控芯片 南京沁恒的数据采集,我用tlc2543, AD7656,AD976
运放OP27,很好用,经受住时间考验,连续3年
我介绍一下我现在用的光耦,就是光电隔离:
TLP521-1 TLP521-2 TLP521-4 线性光耦hcr210不错
其实我只用过TLP521-1,很好用的,TLP521-2 的价格比 TLP521-1要贵两倍多,不只为什么,恩 LED导通电流是小了一点,它们由于速率有点低所以推荐高速光耦
6N1361M
6N13710M
单通道HDLC协议控制器:MT8952;
音频放大器LM2904;
512k*8带软件保护可段/整片擦除的flah28SF040;
关于电压转换芯片的一点体会:AD7865做电机控制的使用很不错,四路350K,14位精度,单电压,+/-10V输入,推荐使用AD7864的升级用。掉电保存可以选择NVRAM,带电池的,maxim有很多
74ALVC164245,电平转换芯片,3.3V电平和5V电平总线接口用
74HCT14:复位隔离缓冲
ULN2003:达林顿输出的驱动芯片,带继电器灭弧的二极管,驱动继电器不错
MAX708:复位芯片,带高低电平和手动复位功能
CPU:虽然不推荐选用***货,但是多一个选择也不错,SuperH系列的CPU性能不错
1:usb控制器,cypress公司的cy7c63723,cy7c68013,63723是otp的建议初次搞usb接口的不要使用,调试起来很麻烦。
2:cpld,fpga用xilinx的型号很全
3:2.4g rf收发芯片nrf2401a
看门狗 813、705、706等
1、LI358/LM324 小信号放大器,通用型的当然你要求太高就的另选了。
2、24C08/24C16 EEPROM 感觉还可以!
3、MPS3100
1,可做充电器的电压升降的IC,SP34063,感觉使用起来还是听方便的2,RF IC,NRF2401,NREF2402,还有功能更强的集成增强型8051内核的好象是 NRF24E1,不过我没用过
3,音频功放TPA021
13.HT12D,是与“HT12E”对应的解码芯片。也有红外的解码芯片。
4.IRF640N,MOSFET,电力场效应管
电能(ATT7022A、SA9904B)、压力(PGA309)、温度(DS18B20、K型热电偶MAX6675)、湿度(SHT10)、液位(LM1042)、烟雾(NIS-09C+MC145018)、红外(HS0001)、距离(TDC-GP1)、转速(KM115-1),codec(AMBE-2000)、can(SJA1000)、gps(u-blox)、无线数传(nRF905、nRF9e5)
cirruslogic--cs5460计量芯片,0.1级
ADE7758三相电力计量芯片0.5级
ATT7022三相电能计量芯片0.5级,可作多功能表
24bit的有AD7712AN
温度传感器:AD592CN,环境稳定25度时精度,+/-0.5度
第五篇:UC2844芯片应用PCB设计总结
2844芯片设计总结
2844芯片散热问题,目前得到的温升是比较理想的,从温升40度直降到36.5度,这样就很好地解决了温升问题。
1、2844芯片设计电路图:
2、TOP设计布线
设计要点:要保证2844 芯片本体中间有8个过孔,芯片的接地(N)引脚有2个过孔,走线与PIN同宽,其它尽量宽。
3、BOTTOM设计布线
设计要点:尽量保证下层铜皮宽度覆盖芯片的管脚,通过多个过孔,保证表层更好散热。
4、第二层N网络布线
设计要点:由于N网络在第二层是大面积的,需要多打几个过孔到外层散热,其它网路尽量引线出来再打孔,保证2844芯片本体下有完整的铜箔。
5、整体的布线
设计要点:尽量在离芯片 4MM处放置阻容零件,方便把芯片其他网络的引线拉出处理,保证了周边阻容的就近放置,也使芯片的散热铜皮加大。
设计经验结论:
A、散热的铜皮设计优先要布在外层,因为散热远好于内层,即使空间很紧,只有2-3mm的宽度,散热铜箔也要尽量平均布在外层,同时再增加内层铜皮。B、由于2844 芯片周边需要布阻容,大概在4 MM左右的距离布器件,即能满足阻容就近放置,也能满足散热铜箔面积大。C、2844 芯片的本体中心打上8个过孔,其它有空间尽量多打几个,更有助散热
二、附加设计文件
ES201KZ6_1.0.pcb