最新日志

发表于:2008-7-13 15:07:15
标签:无标签

0

电子竞赛小车

有谁参加过电子竞赛,做过小车,我打算暑假做一个小车,请大家给点意见,,还有大概做一个小车的费用是多少,好像有的传感器费用很高啊,然后型号又多,不知道怎么选?点击下载,这是我找的智能简易机器人,我看了和小车一样,希望大家给我点宝贵的意见

点击此处查看原文 >>

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

评论(0) | 阅读(183)
发表于:2008-5-19 18:59:17
标签:ARM初学  

0

一个不错的ARM入门建议

1、抓住51开发ARM
       这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,自己笨,身边的高才生又看不上51的原理,他们都比较“牛”,说51过时了,你问那个做什么???我比较郁闷!过时吗?我有一点怀疑?
       他们不愿意说有他们自己的理由,没有人强求,靠自己好了。
       我自己个人的观点:51是一个基础,而且还很重要,这是再我看了ARM之后感觉到的。它可以加速你的ARM学习速度,真得!不相信你试一试好了。
       凡是要求一个速度、效率,不要做一些无用功,抓紧身边的每一个一分钟,人是活的,东西(知识、书)是死得,想要做的事情因此就简单了。
2、我在网上看到了一篇很不错的ARM文章,粘贴过来,为了和像我一样在很少有人帮助的情况下,自学ARM 的难兄难弟们。
      “ARM怎么入门”。我不是高手,仍然是菜鸟。
       但是回想起自己当时的迷茫,特意写了这篇东西,当作给和我一样的兄弟姐妹的帮助吧。问这个问题的人多半不是已经工作的工程师,而是和我一样是学生,所以这篇笔记就把看家当成我一样的菜鸟,高手勿怪。
       首先声明:本人还没有找工作,事实上处于研究生刚毕业,还没开始找工作的空闲时间,44B0只是兴趣所在,打发时间。
       所有看法完全是自己的感受,不代表任何他人。错了的观点各位帮我纠正。再次补充:很多朋友看了上面的话就问我为什么研究生毕业了还不找工作:)说是打发时间,其实是因为研究生的时候带了一个项目,申请提前毕业以后项目还有块尾巴,答应导师把项目做完再走:)就这么简单。男人总点负点责,呵呵
       以下问题常被问到,我就想到哪说到哪吧。
一 首先说说ARM的发展       可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。
      广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。
      客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
      DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。
      FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!!
      值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。写的多的是什么?“嵌入式LINUX”到这相信大家看出来了吧,需要的是硬件中的软件。
二 ARM是硬件还是软件       很难说,ARM是硬件,LINUX是软件。ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。
      实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。
      在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多公司把嵌入式产品开发归为硬件。所以,不要讨论这个,好好玩转自己的板子才是关键。实在不爽你就把自己叫“嵌入式开发工程师”
三 要不要买开发板 买哪家    
      我的答案是“在你个人的学习方法”,但是如果看家是需要看这骗笔记的水平,个人推荐还是买现成的。 1.买
      买板子可以把注意力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬件没问题。另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然我把接口都外引了,还做了个20X18的LCD背板,板子比较大。总体下来元件+LCD屏+PCB=11XX块!够2410的了。
      再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。
2.做      自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、 GPRS模块、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。做的很爽的。玩一把吗。
      当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。其他的如SD了什么的自己做。都达到了~~就是费钱,费时间。
      再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。
      网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人!
      但是那个图有个小BUG,我指的是03版的,后来的没这问题了。8019那地址线和地址有问题。还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。
3.买哪家
     个人感觉分3类吧
     1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。但是最大的不利就是价格太贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。但是说是话,21XX系列才是ARM7的价格性能结合点。ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片子。但是,这里如果你看中的是为工作做准备,还是选能跑UCLINUX的吧。
      但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实精神感动!你看人家那代码写的。
     2)感觉立宇泰的44B0不错
     硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~
     3)找个最便宜的
     好象最便宜的有卖350的吧?也是没别的,就是即省了钱 还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。
四 要不要有51 AVR等单片机基础
     有更好,但没有也无所谓。
     两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。我们这的技术主干做AVR和51,我就跟他们调过C语言程序。你看出来了?我是个不折不扣的菜鸟吧?
     但是做这个之前我特意找了ZLG的两本书,看了里面的例子和原理图,这很重要。例程里有汇编有C,都看懂了就OK,不用自己现写
五 开发都需要学习哪些软件
     总结起来最主要的有以下几个吧 1 ADS调试用
确切的说是ADS+AXD。ADS里包含AXD。原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧。
有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。便宜成AXF以后再在ARM的RAM里调试。
2 PLASHPGM
FLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。
同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。
3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)
调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能。JTAG调试原理看我另一篇笔记。简单的就可以把他理解为你自己做的JTAG的驱动就行了。
调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。
需要注意的是,没种调试代理安装方法虽然都简单但都不一样,需要看说明。而且AXD调试之前都要运行。省钱了,就别怕麻烦了。
4 ARM-ELF-TOOLS工具链
里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的。工具链就是把很多工具打包在一起发布的方便你开发的东西。具体安装方法看我另一篇笔记。
另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)
生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载 烧写其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。当然UCOS的不用这个,用什么我不知道:)
最新版本是1.1.4 具体使用方法看我另一篇笔记吧。
6 UCLINUX包
UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。
7 VMWARE
老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。记得装VMWARE-TOOLS,安装方法在我另一篇笔记里。
六 有哪些书推荐
      主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错 1 ARM嵌入式LINUX系统构建与驱动开发,北航版
驱动写的很详细,前期开发介绍也很好 2 ARM 嵌入式系统实验教程(二),北航版
有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。 3 ARM嵌入式系统基础教程
最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。 4 44B0数据手册
写在这里是强调它的重要。
不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的
写的太多,看烦了。
其他的书没了几本,没看见好的,大家有看过的推荐吧。
七 选UCOS?UCLINUX?LINUX?VXWORKS?还是当单片机用
     1 搞开发,工程设计,用UCOS,小巧,多进程,简单,体现了ARM7的精髓。
     2 LINUX 正根的嵌入式系统,LINUX消费与通信领域用的比较多,但缺点是必须ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。但是还是推荐选ARM9+LINUX
     3 UCLINUX 算投机嵌入式系统:)ARM7上可以跑,由有LINUX近亲,学好好可以比较方便的转向LINUX,像我一样的穷鬼用吧,呵呵
     4 VXWORKS
学好后可以找到高薪工作,但工作机会本身并不比LINUX好找。
    5 当单片机用
不推荐,虽然我景仰的ZLG一直号召这么干。因为对于学习来说多进程的系统设计才是ARM7的玩头,至少你也要整个UCOS啊:)
有朋友问我先学这个当基础不行吗?那当然可以~~但我当时就用了1周搞定,就是我先的ADS在RAM中调试的笔记。后来我清空FLASH用的小段程序还是当时写的LED闪烁程序呢。另外1周里其中还因为自己过于菜,没把OM设置好导致晶阵不阵
哈哈。这个是必须做的,但一带而过。目标放的远一点。
八 学习要用多长时间
       我从菜鸟到现在两个多月,中间被打扰数次。仍然搞定了PCB设计与制版,RAM调试,FLASH下载,UBOOT移植和下载UCLINUX(没剪裁,用现成的),LCD驱动。
再次坦诚的说:我确实比较菜,说这些不是让大家羡慕,只是告诉你们“你们应该比这个更好”
我相信良好的态度+合适的方法+及时的总结=成绩
九 ARM都玩什么就几点
1 硬件设计
2 系统移植
3 驱动开发
4 应用开发
没了。其中推荐把注意力放在后两个上,3有难度,4比较灵活,最重要的是都是找工作的砝码。
十 我用的什么板子
很多人问我这个问题,我特意写过一个的。再说一次吧。
我是自己做的,RAM、ROM、8019等比较麻烦而当时的自己不理解的都按照龚俊的做的。保持其他不便的情况下做了如下改动。
1 加了串口通信的GPS模块、 GPRS模块
一个UART0,一个UART1,当与要用超级终端时用跳线切换。
2 SD卡,和7843触摸屏
同时挂在SPI总线上,因为SPI只能挂一个设备,同时还做了I/O模拟的准备,把两个设备又通过跳线挂在4个IO上。
3 扩了个IIC的35个键子的键盘
用的ZLG的7290,不占用CPU,最大支持64个键子,只上了35个,其他留接口。
4 把LCD接口按照买的LCD改装了,可以用FPC线直接连接。
所以改动虽然多,但真正很移植了,初期调试有关的并没动,就是为了现在不那么菜的时候做准备:)
十一 开发流程
这里是我的开发流程
1 设计原理图(含WIGGLER的JTAG访真器)
2 设计PCB(含WIGGLER的JTAG访真器)
3 制版
4 焊接电压,确定电压没问题
5 焊接44B0+JTAG电路+WIGGLER的JTAG访真器+周边电路,用BANYANT+仿真器连接,BANYANT提示错误,但可以显示44B0编号,好象是0X0F0F0F0F只类的,说明44B0没问题
6 焊接晶体+RAM+ROM+周边电路,用BANYANT+仿真器连接,可以显示正确的44B0了
7 用BANYANT+仿真器连接,开AXD,在命令行窗口操作RAM,看可不可以修改,可以的话(用内存窗口看RAM地址)RAM就没问题
可以用这个命令“setmem 0xc000000,0xffffffff,32”
我的RAM挂在BANK6上 所以地址是0XC000000,你要是改了就也得改。
8 用我写的《自己写了个C工程模板又写了个使用说明 》里的方法调试程序吧,写个简单的,我当时写个LED闪烁的。看好使不。
9 把程序按照《FLASH烧写总结 》里的烧到FLASH里,测试一下
10 按照《UBOOT 移植操作》移植UBOOT
11 按照《UCLINUX下载简单说明》下个UCLINUX
12 看看驱动开发的方法,自己写个驱动看看
13 还有很多事东西着你玩 呵呵
十二 关于JTAG访真器JTAG访真器现在用的多是简板的,一个244那种,用的没什么不好。
按照并口定义不同分几种,建议选WIFFLER定义的,因为支持的软件多。这个网上多的是,不多说了。
值得提的是有的JTAG访真器原理图上有跳线用来使能复位信号,这个一般不跳上。就是不用复位信号,因为JTAG协议里本身也可以控制44B0复位。
当然,板子上的复位信号跳线也不用跳。
十三 哪个公司的ARM
这个是问题比较简单。 1 ARM7主要就几个公司的
三星,PHILIP,ATMEL的
ATMEL的有比较便宜的AT91SAM7S32 和AT91SAM7S64 专为8位应用产品量身定做,价格很便宜好象《3刀吧。和PHILIP的21XX差不多,资料太少,项目中选还不错。
其他两家上面说了的不多说了吧
2 ARM9
这个玩2410和2440的多吧,现在2440还比较火啊 可以考虑买个了
但是2410就比较便宜了,作为学习来说反到和不错,推荐整一个:)
其实ARM9用的最多的领域应该是消费电子,比如手机PDA,而这上面用的多的应该是INTEL的和TI的吧。
但是INTEL的TI的入门材料少,价格高,自己看情况定吧。

点击此处查看原文 >>

系统分类: ARM   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(395)
发表于:2008-5-18 21:17:55
标签:程序设计中算法的概念  

0

程序设计中算法的概念

算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。算法+数据结构=程序,求解一个给定的可计算或可解的问题,不同的人可以编写出不同的程序,来解决同一个问题,这里存在两个问题:一是与计算方法密切相关的算法问题;二是程序设计的技术问题。算法和程序之间存在密切的关系。
    算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。制定一个算法,一般要经过设计、确认、分析、编码、测试、调试、计时等阶段。
    对算法的学习包括五个方面的内容:① 设计算法。算法设计工作是不可能完全自动化的,应学习了解已经被实践证明是有用的一些基本的算法设计方法,这些基本的设计方法不仅适用于计算机科学,而且适用于电气工程、运筹学等领域;② 表示算法。描述算法的方法有多种形式,例如自然语言和算法语言,各自有适用的环境和特点;③确认算法。算法确认的目的是使人们确信这一算法能够正确无误地工作,即该算法具有可计算性。正确的算法用计算机算法语言描述,构成计算机程序,计算机程序在计算机上运行,得到算法运算的结果;④ 分析算法。算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。分析算法可以预测这一算法适合在什么样的环境中有效地运行,对解决同一问题的不同算法的有效性作出比较;⑤ 验证算法。用计算机语言描述的算法是否可计算、有效合理,须对程序进行测试,测试程序的工作由调试和作时空分布图组成。

   2、算法的特性

    算法的特性包括:① 确定性。算法的每一种运算必须有确定的意义,该种运算应执行何种动作应无二义性,目的明确;② 能行性。要求算法中有待实现的运算都是基本的,每种运算至少在原理上能由人用纸和笔在有限的时间内完成;③ 输入。一个算法有0个或多个输入,在算法运算开始之前给出算法所需数据的初值,这些输入取自特定的对象集合;④ 输出。作为算法运算的结果,一个算法产生一个或多个输出,输出是同输入有某种特定关系的量;⑤ 有穷性。一个算法总是在执行了有穷步的运算后终止,即该算法是可达的。
满足前四个特性的一组规则不能称为算法,只能称为计算过程,操作系统是计算过程的一个例子,操作系统用来管理计算机资源,控制作业的运行,没有作业运行时,计算过程并不停止,而是处于等待状态。

   3、算法的描述

    算法的描述方法可以归纳为以下几种:
    (1) 自然语言;
    (2) 图形,如NS图、流程图,图的描述与算法语言的描述对应;
    (3) 算法语言,即计算机语言、程序设计语言、伪代码;
    (4) 形式语言,用数学的方法,可以避免自然语言的二义性。
    用各种算法描述方法所描述的同一算法,该算法的功用是一样的,允许在算法的描述和实现方法上有所不同。
    人们的生产活动和日常生活离不开算法,都在自觉不自觉地使用算法,例如人们到商店购买物品,会首先确定购买哪些物品,准备好所需的钱,然后确定到哪些商场选购、怎样去商场、行走的路线,若物品的质量好如何处理,对物品不满意又怎样处理,购买物品后做什么等。以上购物的算法是用自然语言描述的,也可以用其他描述方法描述该算法。
       图3.3用流程图描述算法的例子,其函数为:
                

                

            

                  图3.3是用流程图图形描述算法

   4、算法的复杂性

    算法的复杂性是算法效率的度量,在评价算法性能时,复杂性是一个重要的依据。算法的复杂性的程度与运行该算法所需要的计算机资源的多少有关,所需要的资源越多,表明该算法的复杂性越高;所需要的资源越少,表明该算法的复杂性越低。
    计算机的资源,最重要的是运算所需的时间和存储程序和数据所需的空间资源,算法的复杂性有时间复杂性和空间复杂性之分。
    算法在计算机上执行运算,需要一定的存储空间存放描述算法的程序和算法所需的数据,计算机完成运算任务需要一定的时间。根据不同的算法写出的程序放在计算机上运算时,所需要的时间和空间是不同的,算法的复杂性是对算法运算所需时间和空间的一种度量。不同的计算机其运算速度相差很大,在衡量一个算法的复杂性要注意到这一点。
    对于任意给定的问题,设计出复杂性尽可能低的算法是在设计算法时考虑的一个重要目标。另外,当给定的问题已有多种算法时,选择其中复杂性最低者,是在选用算法时应遵循的一个重要准则。因此,算法的复杂性分析对算法的设计或选用有着重要的指导意义和实用价值。
    在讨论算法的复杂性时,有两个问题要弄清楚:
    (1) 一个算法的复杂性用怎样的一个量来表达;
    (2) 怎样计算一个给定算法的复杂性。
    找到求解一个问题的算法后,接着就是该算法的实现,至于是否可以找到实现的方法,取决于算法的可计算性和计算的复杂性,该问题是否存在求解算法,能否提供算法所需要的时间资源和空间资源。

点击此处查看原文 >>

系统分类: DSP   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(176)
发表于:2008-5-18 20:45:24
标签:TI推出针对MSP430的Code  Composer  Essentials  v3版本  

0

TI推出针对MSP430的Code Composer Essentials v3版本

德州仪器(TI)宣布推出针对 MSP430 的 Code Composer Essentials (CCEssentials) v3 版本。该开发环境为增强性能、仿真与易用性,提供了主要的技术升级,且所需成本极低。借助 Eclipse 开源平台支持的设计灵活性与互操作性,设计人员可方便地集成插件,以实现高度定制化的可互操作灵活 IDE。

CCEssentials 采用更直观的界面,配合出色的 C 语言代码密度与功能强大的调试功能,显著简化了设计流程。新版本的主要升级包括各种系统优化与性能提升,集中体现在改善设计流程、简化调试与验证、加速产品上市进程并保持低系统成本。

  • 提高易用性:优化的选项对话框减少了执行常用设计任务所需的步骤。此外,开发人员还可通过统一的 IDE 整合 MSPGCC GNU 工具链等其它 MSP430 编译器工具。

  • 高级嵌入式仿真:全面支持 MSP430 MCU 的片上功能,其中包括支持实时硬件功能的非介入代码执行 (non-intrusive code execution),如断点与协议栈跟踪等,从而可在所有更低模式下实现更快仿真速度以及更高的调试效率。基于总线值的复杂触发器与基于外设的时钟控制功能极大地增强了对器件的控制。

  • 高性能调试器:利用 TI CCStudio Debug Server 取代了 GDB 调试器,可针对不同任务实现高达 200% 的更优性能,其中包括下载应用程序、单步操作、刷新寄存器以及变量等。

  • 更新版 C 代码语法:开发人员可从 TI 及其第三方合作伙伴提供的种类繁多的代码范例、代码库以及演示中直接导入代码,而无需进行修改。

  • 支持所有 MSP430 MCU:支持所有 MSP430 MCU 产品系列,以确保设计人员可根据需求使用最佳器件,其中包括 MSP430F261x 等 MSP430X 架构的扩展存储器功能(高达 1MB 闪存)

增强型工具易用性与供货情况

TI 负责 MSP430 战略工具的市场营销经理 Adrian Valenzuela 指出:“我们能够使客户投入更低成本。我们将CCEssentials 免费版的代码容量提升至 16KB,从而有助于消除进入众多新兴市场的主要障碍,使许多独立离岸设计工作室以及大专院校受益。”

CCEssentials 在统一的 IDE 环境下提供了所有 MSP430 开发工具,使开发人员能够一站式获得所有所需组件,以更高的效率迅速完成设计工作并将其投入运行。此外,由于编译器独立于 IDE 环境,开发人员可在其设计方案中采用业界最佳的插件。

CCEssentials v3(MSP-CCE430) 目前免费提供,该产品支持高达 16K 字节的代码空间。CCEssentials Pro v3(MSP-CCE430PRO) 提供无限 C 语言代码与汇编代码空间。即日起,可通过 www.ti.com/cce 网站下载 CCEssentials v3,或通过 TI 及其授权分销商获得。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(170)
发表于:2008-5-16 21:38:58
标签:用法拉电容从容实现单片机掉电数据保存  

0

用法拉电容从容实现单片机掉电数据保存

今天,因为MCU内部一般都带FLASH ROM和伴随着法拉级电容的出现,事实上已经宣布背掉电电池或者用达拉斯DS存储器实现掉电数据保存的传统的思维和电路已经成为历史!

以下的电路,是一个可靠的简单的掉电检测、法拉电容能量储存等完整硬件电路和相应的软件细节,是笔者在产品上一个成熟的可靠的自诩经典电路和心血,在这里完全公开地提供给二姨爱社(21IC)下的全体表兄表弟表姐表妹们以供大家一起来批判赏析借鉴和改进.

首先提请老表们别一看电路繁琐就不想继续看下去:大电容储存实现掉电保护并非人们想象的那么容易做.
我们往往突然一个跳跃灵感一丝灿烂思想火花,但最终都没幻化为显示而最终不了了之,在我们遗憾叹息至于我们是否思考过常常并不是我们"太过创新"超越了现实(我们能超越我国的现实的器件工业和材料工业水平吗)最后我们总不得不以理论不完全等同于实践来为自己无奈和熄灭的灵感作排解!其真正原因我们作过真正思考过吗?!
事实上一个理论成立,现实上完全具备可实现性的一个电路单元,最后我们并未达到预想效果,甚至以失败了告终,原因何在??----细节..细节..还是细节...永远的细节!!!!细节为王!

所以敬请大家耐心地静静地留意这里的每个电路技巧和对细节,其实每个细节都充满着体贴人性和柔情.这里让我们一道来感悟一种做事就是做人和精益求精的思想和行动境界,即使你是表弟表兄级男性电子工程师对你的设计和实现都应具备女性的细腻周到和柔情.

电路见下:这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.这里的二极管们一般都起两个作用,一是利用单向导电性保证向储能电容0.47F/5.5V单向冲电;二是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5V之间的标称工作电压下工作.而4.5-5.5间这1V电压在0.47F电容的电荷流失时间就是我们将来在掉电报警后我们可以规划的预警回旋时间.

两只47欧电阻也有两个作用:
1:和47UF和0.01UF电容一起用于加强电源滤波.
2.对单片机供电限流
一般电子工程师都喜欢把单片机电源直接接7805上,这是个非常不好的习惯,为什么?7805可提供高达2A的供电电流,异常时足够把单片机芯片内部烧毁.有这个电阻47欧姆电阻挡作及时把芯片或者极性插反也不会烧单片机和三端稳压器,但这电阻也不能太大,上限不要超过220欧,否则对单片机内部编程时,会编程失败(其实是电源不足).
3.对0.47F/5.5V储能电容,串入的这只47欧电阻消除"巨量法拉电容"的上电浪涌.实现冲电电流削峰
大家算一算要充满0.47F电容到5.5V,即使用5.5A恒流对0.47F电容冲电,也需要0.47秒才能冲到5.5V,既然知道了这个问题,大家就清楚:
1.如果没有47欧姆电阻限流,上电瞬间三端稳压器必然因强大过电流而进入自保.
2.长达0.47秒(如果真有5.5A恒流充电的话)缓慢上电,如此缓慢的上电速率,将使得以微分(RC电路)为复位电路的51单片机因为上电太慢无法实现上电复位.(其实要充满0.47UF电容常常需要几分种).
3.正因为上电时间太慢,将无法和今天大多数主流型以在线写入(ISP)类单片机与写片上位计算机软件上预留的等待应答时间严重不匹配(一般都不大于500MS),从而造成应答失步,故总是提示"通信失败".

知道这个道理你就不难理解这个电路最上面的二极管和电阻串联起来就是必须要有上电加速电路.这里还用了一只(内部空心不带蓝色的)肖特基二极管(1N5819)从法拉电容向单片机VCC放电,还同时阻断法拉电容对上电加速电路的旁路作用,用肖特基二极管是基于其在小电流下导通电压只有0.2V左右考虑的,目的是尽量减少法拉电容在掉电时的电压损失.多留掉点维持时间.

三极管9014和钳制位二极管分压电阻垫位电阻(470欧姆)等构成基极上发射极双端输入比较器,实现掉电检测和发出最高优先级的掉电中断,这部分电路相当于半只比较器LM393,但电路更简单耗电更省(掉电时耗电小于0.15MA).

47K电阻和470欧姆二极管1N4148一道构成嵌位电路,保证基极电位大约在0.65V左右  (可这样计算0.6(二极管导通电压)+5*0.47/47),这样如果9014发射极电压为0(此时就是外部掉电),三极管9014正好导通,而且因为51单片机P3.2高电平为弱上拉(大约50UA),此时9014一定是导通且弱电流饱和的,这样就向单片机内部发出最高硬件优先级的INX0掉电中断.

而在平时正常供电时,因发射极上也大约有6*0.22/2.2=0.6V电压上顶,不难发现三极管9014一定处于截止状态,而使P3.2维持高电平的.

下面还有两个重要软硬件要点和建议:

1.硬件要点:凡是驱动单片机外部口线等的以输出高电平驱动外部设备,其电源不能和电片机的供电电压VCC去争抢(例如上拉电阻供电不取自单片机VCC).而应直接接在电源前方,图中4.7K电阻和口线PX.Y就是一个典型示例,接其它口线PX.Y'和负载也雷同.这里与上拉4.7K电阻相串联二极管也有两个作用:

1.钳去0.6V电压以便与单片机工作电压相匹配,防止口线向单片机内部反推电.造成单片机口线功能紊乱.
2.利用二极管单向供电特性,防止掉电后单片机通过口线向电源和外部设备反供电.

上面的硬件设计,在与软件结合起来(见下面叙述)就可以保证在掉电期间,不会因法拉电容上的积累电荷为已经掉电的外部电路无谓供电和向电源反供电造成电容能量泄放缩短掉电维持时间.

2.软件要点:首先INX0在硬件上(设计)是处于最高优先级的,这里还必须要在软件保证最高级别的优先.从而确保掉电时外部中断0能打断其他任何进程,最高优先地被检测和执行.其次在INX0的中断程序入口,还要用:
MOV P1,#00H
MOV P2,#00H
MOV P3,#00H
MOV P0,#00H
SJMP 掉电保存
来阻断法拉电容的电荷通过单片机口线外泄和随后跳转掉电写入子程序模块.(见硬件要点)

有了上面的预备和细节处理,下面我们信心百倍地一道来计算0.47UF的电容从5.5V跌落到4.5V(甚至可以下到3.6V)所能维持的单片机掉电工作时间.
这里设单片机工作电流为20MA(外设驱动电流已经被屏蔽)不难算出:    
      T=1V*0.47*1000(1000是因为工作电流为豪安)/20=23.5秒!!!!!
天!这个对单片机而言相当于从原始社会到共产主义社会的历史慢长.休说是写内部FLASH ROM,就是从新写片子本身都能写5片!!!!!!!!!!


* - 本贴最后修改时间:2008-5-16 18:32:39 修改者:zenyin

点击看大图

点击此处查看原文 >>

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

评论(1) | 阅读(270)
发表于:2008-5-16 20:38:03
标签:PCB封装  

1

PCB封装

protel元件封装总结



    零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元件,再过锡炉或喷锡(也可手焊),成本较高,较新的设计都是采用体积小的表面贴片式元件(SMD)这种元件不必钻孔,用钢膜将半熔状锡膏倒入电路板,再把SMD元件放上,即可焊接在电路板上了。 
 电阻 AXIAL
无极性电容 RAD
电解电容 RB-
电位器 VR
二极管 DIODE
三极管 TO
电源稳压块78和79系列 TO-126H和TO-126V
场效应管 和三极管一样
整流桥 D-44 D-37 D-46
单排多针插座 CON SIP
双列直插元件 DIP
晶振 XTAL1
电阻:RES1,RES2,RES3,RES4;封装属性为axial系列
无极性电容:cap;封装属性为RAD-0.1到rad-0.4
电解电容:electroi;封装属性为rb.2/.4到rb.5/1.0
电位器:pot1,pot2;封装属性为vr-1到vr-5
二极管:封装属性为diode-0.4(小功率)diode-0.7(大功率)
三极管:常见的封装属性为to-18(普通三极管)to-22(大功率三极管)to-3(大功率达林顿管) 电源稳压块有78和79系列;78系列如7805,7812,7820等
79系列有7905,7912,7920等
常见的封装属性有to126h和to126v
整流桥:BRIDGE1,BRIDGE2: 封装属性为D系列(D-44,D-37,D-46)
电阻: AXIAL0.3-AXIAL0.7  其中0.4-0.7指电阻的长度,一般用AXIAL0.4
瓷片电容:RAD0.1-RAD0.3。  其中0.1-0.3指电容大小,一般用RAD0.1 电解电容:RB.1/.2-RB.4/.8 其中.1/.2-.4/.8指电容大小。一般<100uF用RB.1/.2,100uF-470uF用RB.2/.4,>470uF用RB.3/.6 二极管: DIODE0.4-DIODE0.7 其中0.4-0.7指二极管长短,一般用DIODE0.4 发光二极管:RB.1/.2 集成块: DIP8-DIP40, 其中8-40指有多少脚,8脚的就是DIP8

贴片电阻

0603表示的是封装尺寸 与具体阻值没有关系但封装尺寸与功率有关 通常来说 0201 1/20W

0402 1/16W
0603 1/10W
0805 1/8W
1206 1/4W
电容电阻外形尺寸与封装的对应关系是:

0402=1.0x0.5

0603=1.6x0.8
0805=2.0x1.2
1206=3.2x1.6
1210=3.2x2.5
1812=4.5x3.2
2225=5.6x6.5

关于零件封装我们在前面说过,除了DEVICE。LIB库中的元件外,其它库的元件都已经有了固定的元件封装,这是因为这个库中的元件都有多种形式:以晶体管为例说明一下:晶体管是我们常用的的元件之一,在DEVICE。LIB库中,简简单单的只有NPN与PNP之分,但实际上,如果它是NPN的2N3055那它有可能是铁壳子的TO—3,如果它是NPN的2N3054,则有可能是铁壳的TO-66或TO-5,而学用的CS9013,有TO-92A,TO-92B,还有TO-5,TO-46,TO-52等等,千变万化。还有一个就是电阻,在DEVICE库中,它也是简单地把它们称为RES1和RES2,不管它是100Ω 还是470KΩ都一样,对电路板而言,它与欧姆数根本不相关,完全是按该电阻的功率数来决 定的我们选用的1/4W和甚至1/2W的电阻,都可以用AXIAL0.3元件封装,而功率数大一点的话可用AXIAL0.4,AXIAL0.5等等。现将常用的元件封装整理如下:电阻类及无极性双端元件 AXIAL0.3-AXIAL1.0

无极性电容 RAD0.1-RAD0.4
有极性电容 RB.2/.4-RB.5/1.0
二极管 DIODE0.4及 DIODE0.7
石英晶体振荡器 XTAL1
晶体管、FET、UJT TO-xxx(TO-3,TO-5)
可变电阻(POT1、POT2) VR1-VR5
当然,我们也可以打开C:\Client98\PCB98\library\advpcb.lib库来查找所用零件的对应封装。这些常用的元件封装,大家最好能把它背下来,这些元件封装,大家可以把它拆分成两部分来记如电阻AXIAL0.3可拆成AXIAL和0.3,AXIAL翻译成中文就是轴状的,0.3则是该电阻在印刷电路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的。同样的,对于无极性的电容,RAD0.1-RAD0.4也是一样;对有极性的电容如电解电容,其封装为RB.2/.4,RB.3/.6等,其中“.2”为焊盘间距,“.4”为电容圆筒的外径。对于晶体管,那就直接看它的外形及功率,大功率的晶体管,就用TO—3,中功率的晶体管 ,如果是扁平的,就用TO-220,如果是金属壳的,就用TO-66,小功率的晶体管,就用TO-5 ,TO-46,TO-92A等都可以,反正它的管脚也长,弯一下也可以。对于常用的集成IC电路,有DIPxx,就是双列直插的元件封装,DIP8就是双排,每排有4个引脚,两排间距离是300mil,焊盘间的距离是100mil。SIPxx就是单排的封装。等等。 值得我们注意的是晶体管与可变电阻,它们的包装才是最令人头痛的,同样的包装,其管脚可不一定一样。例如,对于TO-92B之类的包装,通常是1脚为E(发射极),而2脚有可能是B极(基极),也可能是C(集电极);同样的,3脚有可能是C,也有可能是B,具体是那个 ,只有拿到了元件才能确定。因此,电路软件不敢硬性定义焊盘名称(管脚名称),同样的 ,场效应管,MOS管也可以用跟晶体管一样的封装,它可以通用于三个引脚的元件。Q1-B,在PCB里,加载这种网络表的时候,就会找不到节点(对不上)。在可变电阻上也同样会出现类似的问题;在原理图中,可变电阻的管脚分别为1、W、及2。所产生的网络表,就是1、2和W,在PCB电路板中,焊盘就是1,2,3。当电路中有这两种元 件时,就要修改PCB与SCH之间的差异最快的方法是在产生网络表后,直接在网络表中,将晶体管管脚改为1,2,3;将可变电阻的改成与电路板元件外形一样的1,2,3即可。

点击此处查看原文 >>

系统分类: PCB   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(208)
发表于:2008-5-16 20:21:35
标签:USB  

0

自制USB声卡

声卡也可以自己制作吗?是的,完全可以!本文介绍一款采用USB接口的声卡,效果相当不错,电路也很简单。

电路原理
    电路原理图如图1所示。
    PCM2702(IC1)为美国TI公司属下的BB公司生产的USB接口DAC芯片。PCM27O2支持USB1.0标准,可接收16bit的立体声或单声道的USB音频数据流,其基本参数如表1所示。IC2为集成双运放,用作输出缓冲放大。
 
    IC1的左边为数字输入部分,右边为模拟输出部分,PCM2702的2脚要求电压为3.3V,在这里,巧妙地用一个红色发光管降压,并兼作电源指示,只要插上USB口它就会亮,并接R1是为了减轻LED的负担。R2为上拉电阻,考虑到计算机提供的电源高频纹波较大,故采用较强的滤波措施。C3~C11和C18均为电源滤波和退耦电容,加一个电感作模拟部分的滤波。
点击看大图 
    PCM2702的音频输出偏置为1~2Vcc,因后接的缓冲运放为单电源应用,故不加隔直电容,这样运放也不用加偏置电阻。IC2构成一个直流放大倍数为1、交流放大倍数为2的缓冲放大器,C16、C17、C19、C20 为隔直电容。若忽略运放输出电阻,隔直电容容量计算公式如下:
C=7/(6πfLRL)
    式中,fL为下限频率,RL为负载阻抗,若设定下限频率为40Hz,两个耳机并联使用,因一个普通耳机阻抗通常为32Ω,那么RL为16Ω, 可计算得隔直电容值为580.5uF,这里用680uF, 并一个0.22uF的CBB电容可改善高频音质。当然,由于PCM2702输出已具有较大的幅度, 可以直接推动如TDA2282等小功率功放,故可将运放改为功放,这样,输出功率会大些。
点击看大图 
    PCM2702的11到13脚为状态标记引脚。生产商给的资料指出:10脚状态在无音频信号时为高电平,在第二帧音频数据的首部到来即变为低电平,直到音频数据结束后第二帧首部到来才变为高电平。只要有数据输入,11脚便为高电平。12脚在数据的第一帧起始到第二帧起始为高电平,在此后的音频数据信号正常输入过程中则为低电平,或如果音频信号持续1024个取样周期为零,便为高电平。图2是这3条引脚状态的时序图。据此,可用10脚输出的信号加在一反相器上,驱动LED作工作指示,如图3所示。但在播放音乐时实测发现,整个音频数据流输入过程中,12脚一直维持高电平,音乐一旦停止,12脚随即变为低电平。因此,亦可用12脚信号驱动工作指示电路,这时,电路如图4所示,这两个应用方案,相对后者而言,前者具有严格的指示意义,但功耗稍大。
 

元器件选择
    所有电解电容耐压值应在6.3V以上,电阻功率除R17须1/4W 外,其余的1/16W 即可。C12、C15、C16、C17、C19、C20对音质影响较大,应选用优质电容。L1可自制,在小磁芯(柱形、环形均可)上用较粗的漆包线绕10匝左右即可。为了方便使用,在本电路中,供电电压直接取自USB的5V正电源。因此,应选用低压运放,最好能选用单电源的运放。本电路设计为了兼顾使用方便,如果有需要,可采用外设电源给这两块芯片供电,效果会更好。图5是计算机上USB线A头插座的引脚定义。
 
    本usb声卡无须调试,一装即成。凡操作系统为Windows 2000以上的电脑均无须安装驱动程序,系统可自动识别。缺点是只有音频输出而无输入。

pcm2702资料:http://focus.ti.com/docs/prod/folders/print/pcm2702.html
opa2227资料:http://focus.ti.com/docs/prod/folders/print/opa2227.html

 

 

http://dzkf.cn/html/dianziDIY/2007/0615/2247.html

点击此处查看原文 >>

系统分类: 接口电路   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(276)
发表于:2008-5-15 21:40:54
标签:无线防盗系统  

0

智能无线防盗系统的设计电路

随着国家智能化小区建设的推广,防盗系统已成为智能小区的必需设备。本文利用单片机控制技术和无线网络技术,开发一种具有联网功能的智能无线防盗系统,并开发相关的传感器。采用无线数据传输方式,不需重新布线,特别适用于已装修用户及布线不方便的场合。
点击看大图

1 智能无线防盗系统的基本原理

智能无线防盗系统由传感器、家庭智能报警器、物业管理中心接警主机及相关的控制管理软件组成。图1为家庭智能报警器方框图,图2为物业管理中心接警主机方框图。

1.1 主机电路

如图1所示,主机电路由射频接收模块接收传大吃一惊器发来的报警信号,通过解码器(PT2272)解码后得到报警传感器的地址和数据类型只有主机和传感器地址相同时才能被主机接收。解码输出的数字代表传感器类型解骊输出信号进入CPU 的INT1,触发中断处理程序。中断处理程序通过DTMF收发电路,拨打用户预先设好的电话号码(如手机号码,办公室号码)进行远程拨号报警;同时,启动语音电路,将预先录制好的语音信号通过电话线传给主人,实现语音提示通信功能。CPU输出警笛触发信号,经放大后推动警笛或喇叭,以驱赶和震胁盗贼。用户还可通过电话线进行远程设/布防,及输入远程控制信号,通过8路控制输出端控制有线连接的电器设备,也可通过编码电路和射频发射模块控制无线连接的电器设备。显示部分采用RT12232A图形点阵LCD模块,实现汉字显示功能;显示报警时间与报警类型。键盘可实现密码修改、语音录入和信息查看功能。
点击看大图

    物业管理中心的接收主机具有家庭报警主机的功能外,还可以通过RS232实现与物业管理中心的通信 功能,实现联网和小区控制。

1.1.1 DTMF收发电路

要实现电话线远程通信,关键部分为DTMF收发电路。它将实现自动拨号、忙音识别、铃声识别、远程接键数字信号识别等功能。我们选用MT8888双音多频(DTMF)收发器,与单片机及音频放大电路组合,实现各种信号音的检测及DTMF信号的产生,并将DTMF信号送到电话线上,如图3所示。

MT8888是采用CMOS工艺生产的DTMF信号收发一体的集成电路。它的发送部分采用信号失真小、频率稳定性高的开关电容式D/A变换器,可发出16种双音多频DTMF信号。接收部分用于完成DTMF信号的妆收、分离和译码,并以4位并行二进制码的方式输出。

图3

    选择中断模式时,当接收或发送了有效的音频信号后IRQ/CP脚输出低电平,产生中断信号供给CPU,在延迟控制电压的跳变缘将数据锁存至输出端;当选择呼叫过程(CP)方式时,只能接收250~550Hz的信号音,在拒收或无输入时,IRQ/CP脚输出低电平。

(1)电话信号音格式

忙音:450Hz,350ms有,350ms无。拨号音:450Hz,持续。回铃音:450Hz,1s有,4s无。

(2)信号音的判断方式

将MT8888的IRQ/CP脚连到AT89S52的T0脚,电话呼叫过程中的各种信号音经MT8888滤波限幅后得到方波,由MT8888的IRQ输出到AT89S52的T0脚,对T0脚信号记数5s。计数值位于2175~2357范围内,为拨号音;计数值位于1041~1212范围内,为忙音;计数值位于425~475范围内,为回铃音。在实际编程中,考虑到计数的误差以及程序的简化,可将范围适当放宽,但不能重叠。

(3)自动摘机

控制器与家里电话并接在一条电话线上。为了实现报警放打电话共用一条线,摘机电路按如下设置:将电话振铃信号通过光电耦合器TP521输入到AT89S52的IT脚,进行计数。接到振铃信号时,若连续振铃10次用户还没有摘机,则自动转到家庭智能报警器,CPU置P1.5脚为“1”,使继电器K1吸合,实现自动摘机功能。若在这10次振铃过程中,用户接通了电话,则控制器不响应,这样,使得控制器与电话不互相干扰。摘机后,检测MT8888输出的双音多频信号,以读出用户发来的远程信息,实现远程通信与控制功能。

图4

    (4)自动报警

当接收到热释电传感器等发来的无线报警信号后,CPU立即发出报警信号,通过电话线传到远程用户。报警方式如下:用户通过面板设备10个报警电话,将它们存入24C04存储器中。当接到警情后,从第1个电话开始拨号,一直拨到第10个,来回拨 3遍。如果任意一个电话回送了“#”键确认信号,即意味着报警已收到,不再继续拨号。每个号码需拨号。每个号码需拨号时间100ms,号码之间留 500ms间隔。拨号时,先检测24C04中存储的电话号码。若为空,即未设此电话,跳过不拨,继续拨下一个电话号码。这样,用户可随意设置数个报警电话号码。我们规定号码长度最多不超过4位,以便存在24C04中。

1.1.2 语音电路

为了便于通信,采用了语音芯片,实现语音指示和报警功能。ISD1420为单片语音记录、回放一体化芯片,记录时长为20s;可被划分为160小段,每段125ms。当REC脚为低电平时,进行录音,PLAYE或PLAYL为低时进行放音, ISD1420可进行连续录音,也可进行分段录音。
点击看大图

    分段放音:先送停止录放音码P1.2~P1.4=000,再送放音首地址A7~A0,P1.3或P1.4为低电平(PLAYE或PLAYL)开始放音;延时进行放音,最后送停止录放音码P1.2~P1.4=000,完成本段放音。重复上述过程,可分段放出数段语音。图4为语音电路原理。

1.1.3 编/解码电路

PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗、低价位、通用编解码电路。PT2262/2272最多可有12位(A0~A11)三态地址端引脚(悬空、接高电平、接低电平),任意组合可提供531441地址码。


    PT2262 最多可有6位(D0~D5)数据端引脚,设定的地址码和数据码从17脚串行输出。编码芯片PT2262发出的编码信号由地址码、数据码、同步码组成一个完整的码字。地址码必须与家庭控制主机内解码芯片PT2272编址相同,以区分家庭控制器;数据码可用于区分传感器类型。当有报警信号时,PT2262的 14脚为低电平,使能PT2262,从17脚输出编码信号,通过射频模块发射出去。

解码芯片PT2272接收到信号后,其地址码经过两次比较核对,VT脚才输出高电平,送到89S52的INT1,触发中断处理程序,以读取D0~D3的数据码,得知报警传感器状态和报警类型。图5为编/解码电路原理。

1.1.4 射频发射模块与射频接收模块

射频发射模块与射频接收模块原理如图6和图7所示,工作频率为433MHz。最大传输距离可达1000m。

1.2 传感器设计

1.2.1 被动红外热释电传感器

人体有恒定的体温,一般在37℃,所以会发出特定波长为10μm左右的红外线。被动式红外探头就是靠探测人体发射的10μm左右的红外线而进行工作的。人体发射的10μm左右的红外线,通过菲涅尔滤光片增强后,聚集到红外感应源上。红外感应源泉通常采用热释电元件。这种元件在接收到人体红外辐射温度发生变化时将会失去电荷平衡,向外释放电荷,后续电路经检测处理后产生报警信号。

图8为双元热释电红外检测元件LHI968的内部电路。它由两个双元热释电陶瓷,感应红外信号,再经场效应管放大输出。D端的电阻和S端的电容具有抗电磁干扰能力。

图7

    信号从S端引出经前级放大,通过47μF电容后再次放大,与设定门限电压进行比较,获得报警输出信号。47μF电容能够除直流成分,
从而消除了使用环境(阳光、灯光、火源泉等)对探测器的影响,后面再加一延时触发电路以便主人设防与撤防。现在已有专用集成芯片BISS0001实现以上功能。为了适应主人进门时撤防的需要,设计一报警延时电路。延时长度须满足:当人以1m/s的速度从探测器的正前方移动0.2m,不产生报警;但移动3m应报警,测试速度应能检测0.3~3m/s或更宽的速度范围。

1.2.2 门磁传大吃一惊器

无线门磁传感器一般案卷在门内侧的上方。它由两部分组成:较小的部件为永磁体,内部有一块永久磁铁,用来产生恒定的磁场;较大的是无线门磁主体,内部有一个常开型的干簧管。当永磁体和干簧管靠得很近时(小于5mm),无线门磁传感器处于工作守候状态;当永磁体离开干簧管一定距离后,无线门磁传感器立即发射包含地址编码和自身识别码(也就是数据码)的433MHz的高频无线电信号。主机通过识别这个无线电信号的地址码,判断是否为同一个报警系统,然后根据自身识别码(也就是数据码),确定是哪一个无线门磁报警。

2 网络中心控制主机设计

网络中心控制主机设计与家庭控制器基本相同,只是加了一个RS232接口,实现与PC机相连。通过放在物管中心的PC机实现小区网络监控功能。

结语

采用现有电话网络,结合射频无线通信技术和单片机网络控制技术,使本防盗报警系统经济、可靠,组网灵活;家庭无需为传感器布线;具有广泛的市场发展前景

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(125)
发表于:2008-5-15 21:29:49
标签:电阻  

0

电子基础知识回顾 误老师说贴片电阻

电阻应该是应用最为普及的一种电子元件了,也可能是最简单的元件。以电阻为题,还真很难写出东西来。这里随便聊聊,主要针对的是消费电子产品中常见的常规贴片电阻,那种传统的色环电阻以及特殊应用电阻,不在此讨论范围内。

电阻常识电阻的标称值厂家电阻产品的标识的电阻值,称之为标称值,大概有这么两层意思:一是表示这个值是在厂家约定的测试条件下(比如室温条件)下测试出来的电阻值。(换句话说,测试条件变更了,电阻值则可能变化)二是表示这只电阻是对应的国际机构组织规定的某约定电阻值。厂家不可能生产任意阻值的电阻,只可能生产国际机构定义的若干阻值的电阻。
EIA CODEEIA(电子工业协会)对电阻元件的规格进行了详细的定义。其中对电阻标称值及其误差范围定义了7个类别:E3    E6     E12   E24     E48     E96     E192   其中目前最常用的是E12 系列 E24系列.   (见图1
电阻标称值采用的计数法:E12E24命名法则中,电阻标称值采用的是三位计数法: abcAbc表示的电阻值是 a x 10 + bx 10^c  比如470表示的是47 x 10^0 = 47 ohm, 而不是470ohm  472 表示的是 47 x 10^2 = 4700 ohm= 4.7kohm

对于4.7ohm这样的电阻值,小数点不便书写,且不易引起注意,产生误会,通用的做法是用4R7这样的符号来表示。

 点击看大图                       1  E12 E24 电阻规则电阻的封装与功率贴片电阻的封装常用其长宽外形尺寸来表示,但实际应用中,有的产品封装以公制表示,有时用英制表示,造成了一定的混乱。        1inch=1000mil=25.4mm        1mm=40mil英制 (EIA)     mil   公制(IEC)  mm0402  (40mil x 20mil)      1005  (1.0mm x 0.5mm)0603  (60mil x 30mil)      1608  (1.6mm x 0.8mm)0805  (80mil x 50mil)      2012  (2.0mm x 1.2mm)1206 32161210   3225

常用电阻外形封装尺寸的英制与公制对照表

               实际应用中应牢记常用的封装类型数据及对应关系,确定封装参数使用的是英制还是公制。电阻所能承受的最大功率与其封装外形(散热面积)以及材料特性有关,而与其电阻值无关。电阻功耗超过其允许的最大值后,可能导致电阻烧毁。目前常用的0402电阻最大允许功耗为1/16 W,  0603封装电阻最大允许功耗为1/10W,  0805封装电阻最大允许功耗可以做到1/4W。这个数据在电阻规格书中可以查到。
电阻的温度系数电阻器的阻值随温度变化而变化,这是电阻材料特性决定的客观事实。而电阻温度系数就精确的反映了电阻值随温度变化的规律,单位为ohm/℃。即温度每变化1,电阻值变化多少ohm电阻值随温度升高而增大的电阻具有正温度系数,反之则为负温度系数。通常的电阻都是负温度系数的产品。由于温度变化1时,绝对电阻值变化很小,因此通常的电阻温度系数以ppm/℃为单位。ppm (part per million)意为百万分之一。常用贴片电阻的温度系数为100ppm/℃左右。
电阻的精度误差电阻的误差指电阻器的实际阻值与标称阻值的差异。常用电阻的精度都控制在5%(误差等级用J表示)以内,一些特殊材质的电阻可控制在1%以内。对于电阻排,几个电阻是一次性生产的,所以阻值的相对误差很小,可以控制在1%以内。
电阻与电阻器  电阻: 反映阻碍电流能力大小的理想电子模型。  电阻器: 电阻的物理实现,实际的电子元件。通常的所说的电阻应该称之为电阻器,但简称为电阻,它并不是一个理想的电阻。当工作频率在100MHZ以内时,可以等效为一个纯阻;但当工作频率在100MHZ以上时,就要考虑其高频特性(主要表现为感性),特别是在RF电路应用中。  
电阻选择的原则计算/估算