EDN首页   博客首页

最新日志

发表于:2008-10-18 11:56:01
标签:无标签

0

阻抗匹配

阻抗匹配是指信号源或者传输线跟负载之间的一种合适的搭配方式。阻抗匹配分为低频和高频两种情况讨论。

 

我们先从直流电压源驱动一个负载入手。由于实际的电压源,总是有内阻的(请参看输出阻抗一问),我们可以把一个实际电压源,等效成一个理想的电压源跟一个电阻r串联的模型。假设负载电阻为R,电源电动势为U,内阻为r,那么我们可以计算出流过电阻R的电流为:I=U/(R+r),可以看出,负载电阻R越小,则输出电流越大。负载R上的电压为:Uo=IR=U/[1+(r/R)],可以看出,负载电阻R越大,则输出电压Uo越高。再来计算一下电阻R消耗的功率为:

P=I2×R=[U/(R+r)]2×R=U2×R/(R2+2×R×r+r2)

                                   =U2×R/[(R-r)2+4×R×r]

                                   =U2/{[(R-r)2/R]+4×r}

对于一个给定的信号源,其内阻r是固定的,而负载电阻R则是由我们来选择的。注意式中[(R-r)2/R],当R=r时,[(R-r)2/R]可取得最小值0,这时负载电阻R上可获得最大输出功率Pmax=U2/(4×r)。即,当负载电阻跟信号源内阻相等时,负载可获得最大输出功率,这就是我们常说的阻抗匹配之一对于纯电阻电路,此结论同样适用于低频电路及高频电路。当交流电路中含有容性或感性阻抗时,结论有所改变,就是需要信号源与负载阻抗的的实部相等,虚部互为相反数,这叫做共扼匹配。在低频电路中,我们一般不考虑传输线的匹配问题,只考虑信号源跟负载之间的情况,因为低频信号的波长相对于传输线来说很长,传输线可以看成是“短线”,反射可以不考虑(可以这么理解:因为线短,即使反射回来,跟原信号还是一样的)。从以上分析我们可以得出结论:如果我们需要输出电流大,则选择小的负载R;如果我们需要输出电压大,则选择大的负载R;如果我们需要输出功率最大,则选择跟信号源内阻匹配的电阻R有时阻抗不匹配还有另外一层意思,例如一些仪器输出端是在特定的负载条件下设计的,如果负载条件改变了,则可能达不到原来的性能,这时我们也会叫做阻抗失配

 

在高频电路中,我们还必须考虑反射的问题。当信号的频率很高时,则信号的波长就很短,当波长短得跟传输线长度可以比拟时,反射信号叠加在原信号上将会改变原信号的形状。如果传输线的特征阻抗跟负载阻抗不相等(即不匹配)时,在负载端就会产生反射。为什么阻抗不匹配时会产生反射以及特征阻抗的求解方法,牵涉到二阶偏微分方程的求解,在这里我们不细说了,有兴趣的可参看电磁场与微波方面书籍中的传输线理论。传输线的特征阻抗(也叫做特性阻抗)是由传输线的结构以及材料决定的,而与传输线的长度,以及信号的幅度、频率等均无关。

例如,常用的闭路电视同轴电缆特性阻抗为75Ω,而一些射频设备上则常用特征阻抗为50Ω的同轴电缆。另外还有一种常见的传输线是特性阻抗为300Ω的扁平平行线,这在农村使用的电视天线架上比较常见,用来做八木天线的馈线。因为电视机的射频输入端输入阻抗为75Ω,所以300Ω的馈线将与其不能匹配。实际中是如何解决这个问题的呢?不知道大家有没有留意到,电视机的附件中,有一个300Ω75Ω的阻抗转换器(一个塑料封装的,一端有一个圆形的插头的那个东东,大概有两个大拇指那么大)。它里面其实就是一个传输线变压器,将300Ω的阻抗,变换成75Ω的,这样就可以匹配起来了。这里需要强调一点的是,特性阻抗跟我们通常理解的电阻不是一个概念,它与传输线的长度无关,也不能通过使用欧姆表来测量。为了不产生反射,负载阻抗跟传输线的特征阻抗应该相等,这就是传输线的阻抗匹配。如果阻抗不匹配会有什么不良后果呢?如果不匹配,则会形成反射,能量传递不过去,降低效率;会在传输线上形成驻波(简单的理解,就是有些地方信号强,有些地方信号弱),导致传输线的有效功率容量降低;功率发射不出去,甚至会损坏发射设备。如果是电路板上的高速信号线与负载阻抗不匹配时,会产生震荡,辐射干扰等。

 

当阻抗不匹配时,有哪些办法让它匹配呢?第一,可以考虑使用变压器来做阻抗转换,就像上面所说的电视机中的那个例子那样。第二,可以考虑使用串联/并联电容或电感的办法,这在调试射频电路时常使用。第三,可以考虑使用串联/并联电阻的办法。一些驱动器的阻抗比较低,可以串联一个合适的电阻来跟传输线匹配,例如高速信号线,有时会串联一个几十欧的电阻。而一些接收器的输入阻抗则比较高,可以使用并联电阻的方法,来跟传输线匹配,例如,485总线接收器,常在数据线终端并联120欧的匹配电阻。

    为了帮助大家理解阻抗不匹配时的反射问题,我来举两个例子:假设你在练习拳击——打沙包。如果是一个重量合适的、硬度合适的沙包,你打上去会感觉很舒服。但是,如果哪一天我把沙包做了手脚,例如,里面换成了铁沙,你还是用以前的力打上去,你的手可能就会受不了了——这就是负载过重的情况,会产生很大的反弹力。相反,如果我把里面换成了很轻很轻的东西,你一出拳,则可能会扑空,手也可能会受不了——这就是负载过轻的情况。另一个例子,不知道大家有没有过这样的经历:就是看不清楼梯时上/下楼梯,当你以为还有楼梯时,就会出现“负载不匹配”这样的感觉了。当然,也许这样的例子不太恰当,但我们可以拿它来理解负载不匹配时的反射情况。

系统分类: 模拟技术   |    用户分类:    |    来源: 转贴

评论(1) | 阅读(152)
发表于:2008-8-31 9:45:10
标签:无标签

3

决定高薪必要的细节守则

作者:贾忠贤 转自chinaren: http://i.chinaren.com/group/msg/12331/1598733

8点到10点之间,是在有目的性阅读,还是为明天的事情做准备,甚至在充电专业或研习第二专长?不管是哪一样,都有可能迈向成功,一个非常了解自己需要,同时也懂得善待时间的人不可能是一个无效率的人,而效率在这个时代意味着什么则是不言而喻,一个有效率的人,就连一个单位的同事都乐于与你共事。

  欲求高薪,首先让我们做个有效率的人:


  清理桌面:除了电脑,台历,不要多过两种以上的盆栽及工作资料,台面上不要有其它任何东西。

  看完的资料立刻处理,该呈报的立刻呈报,该送进碎纸机的立刻放进碎纸机,该废物再利用的,立刻归置清楚,不要堆积,更不要拖拉。

  每天固定一个时间开启邮箱,不要整个上班时间都在电脑屏幕前云游。

  每天提早10分钟上班,将一天要办的事项制成表,做完一件划掉一件,荧光笔就是派这个用途的,划掉的越多,成就感就越大,不信你试一次。

  会不会接听电话也极大地影响着一天的工作进程,无效的电话吞吃有限的时间,是慢性中毒,要会说抓起电话时的那声热情饱满的“喂”,也要会做探戈甩头般清脆利索的切断,否则,整个的一天啊,就让电话线里那几个无面杀手给谋杀掉吧。

  每周有两个小时的独处时间,一个小时用来检视过去一周里的收获,一个小时用来计划下周的事情安排,作为一个香港凡人成功符号的冯两努有一个坚持了若干年的习惯,每隔一段时间便独自在酒店住一两天,这一两天专门用来做下一步事情的计划与安排。酒店没闲杂人员,没闲杂电话,心神可以相对安宁与专注,此方法也不妨一试。不必一定到酒店,办公室楼顶上,花园树阴下,无处不可,只要心定。

  提升自己的效率,保持整齐有序,给人信任感,建立自身的不可替代性,对升职、加薪大有益处。

  要想获得高薪,首先要获得职位的提升,或业务量的提升,而这些又需要你拥有优于他人的特质:


  超乎寻常的敬业精神,虽是老生常谈,但必须谈。一个敬业的人,不仅限于自己,而且可以把与他共事的许多人带进一种积极向上的氛围,要记住,你所做的一切,老板都看得到,只要想一想,你连选购一件衬衫都不会那么不认真,更何况是是面对让你维生的工作呢。

  有一种忠诚,公司不要

  一个员工的忠诚包括三个层面,对服务对象的忠诚,对主管的忠诚,对同事的忠诚,但这份忠诚是建立在你对公司良性贡献的基础上的,而非无论什么情况只是坚贞不渝地呆在一个地方不动,这种“忠诚”公司不要。

  多做一点不是吃亏

  许多人在一起工作,突然有一天,一个人没有任何预兆地得到了升迁,做了其他人的主管。其他人去问老板,他凭什么啊?老板回答,他比你们做得多啊。这些人又问,不就多了那么一点点吗?老板回答说,每天一点点,时间久了,就到了别人无法企及的高度啦。

  如果你哪天成了那个被升迁了的人,恭喜你,如果哪天你沦为去问老板别人为什么得到升迁的那个人,省视自己。只有高贡献,才有高回报,这是铁律。

  每天由普通往卓越靠近一点

  在一个企业里,样样做到第一的人是引人注目的,如果做不到样样第一,退而求其次,那也得有一样是第一。只要有一样超凡技能的人,就无须为薪水发愁,通往机会与回报的路对所有的人开通,就看你能否踏上去。

  创造自己的附加值,让自己的身份扶摇直上

  同一个业务电话,不同的人接听可能就会产生不同的结果,谁都知道世界金牌营销员吉拉德的经典故事,对公司而言,每个员工都是吉拉德,怕是每个老板的终极梦想。曾有一件小事发生在一个当时尚不知名公司的一个不知名员工身上。一位顾客打电话来,说他上次出差到这个城市时买了一件这家公司的产品,回去后发现有问题,根本无法使用,这次来想退换。当业务员接到这个电话时,离那位顾客要离开此市的时间已经无多,要赶往顾客办事的地点已是不可能,最后这位业务员灵机一动,将新货品包装好后,与客户约定在顾客返程的机场碰头,最后,这位业务员交给那位顾宾的除了新换的货品外,有一包当地的特产小吃,以及公司赠送给长期客户的忠诚T恤,他告诉那位顾客,新换的货品已试过,应该无问题;如一旦还有问题,请打电话来,我再把新货送上门去。那位顾客无比感触地说了一句让业务员大感意外的话,他说:不会再打电话啦,就是有问题我也有心甘情愿认了。 后来,这家公司变得很出名,它的名字全世界都知道,叫松下电器。

  找对自己的群人


  良好的人际关系带来无限机会,这个机会包括工作机会,生意机会,学习机会,投资机会,甚至许许多多叫不上名字的机会。

  多接近善于激励自己也善于激励别人的阳光人士,借由他们的鼓励与赞美增加自己的信心,并且这类阳光人士多为视野开阔、信息丰盈之人,与他们结伴,你获得的是提升,而与相反人士结伴,你可能所获也正好相反。

  心存戒律,知所敬畏


  “神医阿波罗、埃斯克雷彼斯及天地诸神作证,我——希波克拉底发誓:‘我愿以自身判断力所及,遵守这一誓约。凡教我医术的人,我应像尊敬自己的父母一样尊敬他。

  我愿在我的判断力所及的范围内,尽我的能力,遵守为患者谋利益的原则,并杜绝一切阻截落后及害人的行为——’ 一旦我违背了自己的誓言,请求天地诸神给我最严厉的惩罚!”

  公元前五世纪,科斯岛上的希波克拉底医学学校,立志从医的年轻人都要在梧桐树下宣誓,誓词就是希波克拉底誓言,这可能是最早的职业戒律:

  一、对知识传授者心存感激;

  二、为服务对象谋利益;

  三、忠诚于自己的职业;

  四、谨守职业规则。

  虽时日久远,但这4条仍适合于当今的职场,尤其在这个职业戒律严重匮乏的时代。
知道害怕因自己的疏忽而失去公司的订单,知道害怕自己的技能欠缺而公司绩效受损,知道害怕自己把公司的鼠标偷拿回家,第二天上班会脸生尴尬——

  只要戒律心存,知所敬畏,你想不优秀、想不出色都难。一个如此优秀、出色的员工想不获得高薪都难。

  绩效才是硬道理。把自己经营成名牌,让自己的名字有价值。

  那只小小的手袋,售价16000元,因为它是路易威登,一辆外形看上去并不抢眼的车,只因前后两个蓝白图案就成了车中的极品,就因为它叫“宝马”。

  这就是品牌,一种品质、信誉与价值的融合体。

  一个良好的品牌可以触动感觉,品牌是一个可以把感觉带到产品上的连接器,它创造的价值无以计算。

  职场上也同样,让你的名字具有价值,把自己经营成名牌,一提到你,人们马上就会联想到品质、绩效与信任等字眼。

  世界顶级企管大师汤姆·彼得斯的四个小方法助你建立个人品牌:

  对个人品牌进行公正的评估,以两到四项技能广为人知,并设定一个时间段,比如三个月或半年,就完成一项将来可以写进履历表上的活动。

  为建立自我品牌制定一个专用小本,用来详细记录所需改进的事项。

  用尽可能少的字给自己一个定位,并朝此定位坚定不移迈进。

  适时更新履历表,将自己职业生涯中,做过哪些职务,有过哪些成就(最好能将其量化),具备的技能是否能跟得上潮流,还拥有哪些潜力和技能一一记录清楚。虽然这些不是创立自身品牌的惟一途径,但它至少传达了你的时代性和竞争力,是建立自身品牌必不可少的一步。

系统分类: 自由话题   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(185)
发表于:2008-8-28 19:33:23
标签:无标签

2

脑子脱线那一刻...

别人的。。。

●有一次坐公交拿了IC卡排队上车,前面一个人是扔硬币的,我大脑短路跟着把IC卡扔进去了……


●早上要戴隐形眼镜,结果把盖打开直接把眼镜倒马桶里,然后镇定地倒入新的护理液,准备摘眼镜,半天摘不下来。


●邻居忘了带钥匙,从我家阳台翻过去,在屋里找到钥匙后,又翻回来,再淡定地打开自家房门。更令人叫绝的是,我自始至终在阳台接应着,未觉有不妥之处。唉,我俩的脑袋肯定被同一个门缝挤过。


●某日发现手机不见了,翻遍包包以及屋中各个角落,未果。遂郁闷地跌坐地上,从口袋掏出手机,给大家群发短信:我手机丢了

 

朋友的。。。

●早上起来刮胡子,电动剃须刀,照着镜子,看着自己,撅撅嘴,伸伸舌头,剃须刀正好经过,zzz~~~听说过刮胡子把舌头刮了的嘛?汗。。。

 

我自己的。。。

●早上起来,想洗个头,拿出飘柔洗发露,又想想还是先刷牙,接好水,左手拿着牙刷,右手拿起洗发露,不停的往牙刷上挤啊挤。。。

系统分类: 生活点滴   |    用户分类:    |    来源: 整理

评论(1) | 阅读(134)
发表于:2008-8-17 12:58:18
标签:无标签

1

KEIL产生WARNINGL15: MULTIPLE CALL TO SEGMENT的原因及解决方法

.***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?。。。?。。。
CALLER1: ?。。。?MAIN
CALLER2: ?C_C51STARTUP

该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。

 

出现这种警告的原因一般有两种:

第一:这个函数是不可重入函数,当该函数运行时可能被打断,打断后该函数又被再次运行,从而造成函数内部数据丢失;

第二:该函数的内部变量数据所占有的内存在link时被连接器认为是可覆盖的,因此在连接时进行了数据覆盖优化,但是连接器同时发现该函数在运行时被打断后,其他函数(如中断服务子程序)的运行造成了该函数的数据被覆盖。

 

对于第二种原因,我们举个例子:

void task1()

{

     int val1;

    ......\\其他程序

}

 

void task2()

{

   int val2;

  ......\\其他程序

}

void int_ISR()//中断服务子程序

{

   int aaa;

  task2();

}

这里有两个任务函数task1和task2,它们之间没有直接的调用关系,因此连接器在连接时就会做数据覆盖优化,也就是说va11和val2这两个变量会占用相同的内存空间。但是当task1运行时发生了中断,在中断服务子程序中又调用了task2,那么task1的val1值很可能会被覆盖(数据被破坏)。这种情况的解决办法一般有两种:

 

1、使用连接器(linker)OVERLAY 指令将函数从覆盖分析(overlay analysis)中除去;即告知连接器不对task1的val1做覆盖优化,让它独享自己的内存空间;这种方法的唯一缺点是task1不能做递归调用(个人认为,没做验证),要想一个函数可递归调用,唯一的方法是声明该函数为可重入。

 

2、定义两个相同功能的函数,分别在中断和中断外调用;

 

当然,你可以把task1设为可重入函数,产生一个可重入堆栈,用于存储函数的参数和局部变量,但是这种方法会消耗更多的RAM 并会降低重入函数的执行速度。

 

上述是个人理解心得,如有问题请回帖讨论,我会加以更正。

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(188)
发表于:2008-8-12 12:53:18
标签:滤波器  

0

What is 2-tap filter?

Input: X(n)
Output: Y(n)


y(n)=SUM(i=0->N)(Ai*X(n-i))+SUM(i=1->M)(Bi*Y(n-i))


Ai and Bi are coefficients of the filter.


If N is finite and B(i) are all zero, the filter is a finite impulse
response filter(FIR). The number N is sometimes called the number 
of taps in the filter.

系统分类: DSP   |    用户分类:    |    来源: 整理

评论(0) | 阅读(283)
发表于:2008-8-9 14:48:20
标签:无标签

1

基于FPGA实现并口EPP协议

作者:xdkui

基于FPGA实现并口EPP协议rar

FPGA做图像处理算法时,经常需要传输大数据量的图像数据到FPGA或者从FPGA到PC。这样就需要简单快速的传输方法。单片机常用串口,但速度有限。并口是PC机基本配置,传输速度相对较快。且EPP协议时序比较简单,故本文基于FPGA用Verilog HDL实现并口EPP协议,与PC机通讯。

    并口有SPP,EPP,ECP3种模式,具体区别就不说了。选用EPP模式。其特性,时序及PC机端的IO端口地址见附件里的资料(Interfacing the Enhanced Parallel Port)。下面为用有限状态机实现的EPP协议(epp.v):

module EPP (EPP_Write0,EPP_Data,EPP_Interrupt,EPP_Wait,EPP_DataStrobe0,EPP_Reset0,EPP_AddressStrobe0,,clk24,rst,led);

 

    //EPP interface signals

    input EPP_Write0;

    inout [7:0] EPP_Data;

    output EPP_Interrupt;

    output EPP_Wait;

    input EPP_DataStrobe0;

    input EPP_Reset0;

    input EPP_AddressStrobe0;

    //

    input clk24;

    input rst;

    output led;

 

/******************** module regs define ***************************/

    //regs related to EPP

    reg EPP_Interrupt,EPP_Wait;

    reg EPP_Write,EPP_DataStrobe,EPP_AddressStrobe,EPP_Reset;

    reg [7:0] epp_dataout,epp_datain;

 

    //internal regs

    reg led;

    reg [2:0] epp_state;

    reg [7:0] cmd;//from epp address write

 

/**********************  module constant define *****************/

    //parameters EPP state parameter EPP_IDLE=3'b000,EPP_WAIT_ADDRREAD=3'b001,EPP_WAIT_ADDRWRITE=3'b010,

        EPP_WAIT_DATAREAD=3'b011,EPP_WAIT_DATAWRITE=3'b100;

/*********************  module internal logic  ******************/

 

//并口输入进来的信号,需要同步。加入锁存器

always @ (posedge clk24)

begin

    if(!rst)

        EPP_Write<=1;

    else

        EPP_Write<=EPP_Write0;

end

 

always @ (posedge clk24)

begin

    if(!rst)

        EPP_DataStrobe<=1;

    else

        EPP_DataStrobe<=EPP_DataStrobe0;

end

 

always @ (posedge clk24)

begin

    if(!rst)

        EPP_AddressStrobe<=1;

    else

        EPP_AddressStrobe<=EPP_AddressStrobe0;

end

 

always @ (posedge clk24)

begin

    if(!rst)

        EPP_Reset<=1;

    else

        EPP_Reset<=EPP_Reset0;

end

 

//EPP state machine

always @ (posedge clk24)

begin

    if(!rst )

    begin

        epp_state<=EPP_IDLE;

        EPP_Interrupt<=0;

        EPP_Wait<=0;

        epp_dataout<=8'b0;

        epp_datain<=8'b0;

        cmd<=8'b0;

        //SRAM_Addr<=20'b0;

        sram_raddr<=20'b0;

        sram_waddr<=20'd0;

    end

    else

        case(epp_state)

            EPP_IDLE:

            begin

                epp_state<=EPP_IDLE;

                EPP_Wait<=0;

                if(!EPP_AddressStrobe)

                begin

                   if(EPP_Write)

                   begin//EPP address read

                       epp_dataout<=EPP地址读,这里是要从地址寄存器读取的数据;

                       EPP_Wait<=1;

                       epp_state<=EPP_WAIT_ADDRREAD;

                   end

                   else

                   begin//EPP address write    cmd come from EPP address write

                       cmd<=EPP_Data;//EPP_Data为EPP地址寄存器写入的数据

                       EPP_Wait<=1;

                       epp_state<=EPP_WAIT_ADDRWRITE;

                   end

                end

                else if(!EPP_DataStrobe)

                begin

                   if(EPP_Write)

                   begin//EPP data read

                       epp_dataout<=EPP数据读,这里是要从数据寄存器读取的数据;

                       EPP_Wait<=1;

                       epp_state<=EPP_WAIT_DATAREAD;

                   end

                   else

                   begin//EPP data write

                       epp_datain<=EPP_Data;//EPP数据写,是写入数据寄存器的数据

                       EPP_Wait<=1;

                       epp_state<=EPP_WAIT_DATAWRITE;

                   end

                end

            end

            EPP_WAIT_ADDRREAD:

            begin

                if(EPP_AddressStrobe)

                begin

                   EPP_Wait<=0;

                   //led<=~led;

                   epp_state<=EPP_IDLE;

                end

            end

            EPP_WAIT_ADDRWRITE:

            begin

                if(EPP_AddressStrobe)

                begin

                   EPP_Wait<=0;