最新日志

发表于:2008-5-10 8:34:12
标签:电容  

0

滤波电容的选择

要看你1600V的波形如何才能定出电容的参数。

1、如果1600V的纹波很大,那电容的耐压值就要把1600V加上纹波,再加上1/3的余量。


2、容量上,则和NET3/4提供的电流以及负载参数有关,如果负载大则电容也要大,否则纹波就很大,1600V就不稳定。


3、按照你的要求:无极性的2~3KV,1~100nF级电容可以选用。

4、事实上,耐压高的电容很少有容量大的,这两方面不可能同时做到,只有电力电容才能做到,但是体积非常大。恐怕非你所要。

点击此处查看原文 >>

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

评论(0) | 阅读(90)
发表于:2008-5-10 8:31:24
标签:电平转换  

0

用三极管实现3V与5V混合系统中逻辑器接口问题

3V与5V混合系统中逻辑器接口问题

在电路设计当中,往往会遇到电压匹配问题,因为电路中往往不只只有一个电平信号,大部分包括3.3V5V或者12V,但是有时候需要用到3.3V5V的通信或者对联,这其中就存在一个电平匹配的问题,当然可以用一种很简单的方法,就是用244芯片来解决,但是有没有更简单易行的方法呢?

我在设计的过程中,也经常遇到这种问题,下面我们就通过三极管的开关作用来实现电路中多电平的共用。

下面是原理图:

点击看大图

我们来首先分析一下这个电路的原理。

原理其实很简单,两个三极管和4个电阻就组成了3V5V的电平转换功能。

5V信号从Uin输入,当Uin为高电平的时候,Q1导通,此时节电3的电压被拉底,Q2就截止,Uout输出3V,这就是实现了5V输入,3V输出的效果;当Uin为低电平的时候,Q1处于截止状态,节电3的为3V,此时Q2导通,Uout输出低电平。刚好和输入的状态相吻合,但是幅度变为3V

再看看波形图:

点击看大图

 

以上是对5V转3V的,其实3V转5V的道理是一样的,只需要把给三极管偏置电压的VCC换成5V的,输入3V的话,输出就是5V的了!

另外,R3一般情况下可以直接短接,因为经过了R1的限流。

 

如果文章中有什么不对的地方,恳请斧正,我们的目的是交流促进学习!

 

点击此处查看原文 >>

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

评论(1) | 阅读(63)
发表于:2008-5-8 13:22:55
标签:电子  

0

常用电子网站

1 21IC中国电子网  http://www.21ic.com/
2 万维家电网  http://www.ea3w.com/
3 电源网  http://www.dianyuan.com
4 华强电子世界网  http://www.hqew.com/
5 电子工程专辑  http://www.eetchina.com/
6 中华工控网  http://www.gkong.com/
7 中国电子市场  http://www.dzsc.com/
8 中国电子工业网  http://www.dianzinet.com/
9 中电网  http://www.chinaecnet.com/
10 IC交易网  http://ic.net.cn/
11 国际电子商情  http://www.esmchina.com/
12 电力产品网  http://www.powerproduct.com/
13 中华液晶网  http://cn.fpdisplay.com/
14 广东电子商贸网  http://www.guangdongdz.com
15 中国IC网  http://www.ic37.com/
16 中国自动化网  http://www.ca800.com/
17 中国电子资源网  http://www.chinadz.com/
18 东方电气资源网  http://www.eea.com.cn/
19 电子元件交易网  http://www.114ic.com/
20 中国家电网  http://www.cheaa.com/
21 电子英才网  http://www.elehr.com/
22 北极星电技术网  http://www.bjx.com.cn/
23 EDN电子设计技术  http://www.ednchina.com
24 我要仪器网  http://www.5117.com/
25 控制工程  http://www.cechinamag.com/
26 盛明零件网  http://www.icminer.com/
27 PCB信息网  http://web.pcbinfo.net/
28 我爱研发网  http://www.52rd.com/
29 老古开发网  http://www.laogu.com/
30 电子查询网  http://www.b2bic.com/
31 中国IC商城  http://www.ic-shop.cn/
32 中国仿真互动  http://www.simwe.com/
33 电子电路图站  http://www.cndzz.com/
34 电子产品世界  http://www.edw.com.cn/
35 镍氢电池网  http://www.ni-mh.cn/
36 研科中国  http://www.sciei.com/
37 RFID世界网  http://www.rfidworld.com.cn/
38 中国开关网  http://www.chinaswitch.com/
39 亚芯在线  http://www.chipasia.com/
40 国际电气网  http://china.em51.com/
41 家电维修网  http://www.163dz.com/
42 中国机电网  http://www.chinanics.com/
43 三毛电子世界  http://www.mculib.com/
44 电子零件贸易网  http://www.ic-trade.com/
45 大比特商务网  http://www.big-bit.com/
46 质诚中国  http://www.qschina.com/
47 今日电子  http://www.epc.com.cn/
48 电子系统设计  http://www.ed-china.com/
49 中国安防网  http://www.c-ps.net/ 
50 利尔达单片机  http://www.lierda.com
51 IC网易拍  http://www.chipbid.com/
52 全球电子元件信息网  http://www.find-ic.com/
53 电子爱好者  http://www.etuni.com/
54 无忧电子开发网  http://www.51kaifa.com/
55 电子经理世界  http://www.eb-mag.com.cn/
56 MAXIM  http://www.maxim-ic.com.cn/
57 北京家电维修网  http://www.bjjdwx.com/
58 周立功单片机  http://www.zlgmcu.com/
59 中国电子进出口总公司  http://www.ceiec.com.cn/
60 无线电  http://www.radio.com.cn/
61 中国元器件在线  http://www.ieechina.com/
62 中国电子库存网  http://www.ic-cn.cn/ cn.cn
63 我们的AVR  http://www.ouravr.com/
64 中国电子行业信息网  http://www.ceic.gov.cn/
65 中国EDA技术网  http://www.51eda.com/
66 亚太资源网  http://www.apacsource.com/
67 精诚电子设计  http://www.fjmcu.com/
68 EDA先锋  http://www.edacn.net
69 电子报  http://www.netdzb.com/
70 中国仪器仪表国际网站  http://www.china-meter.com/
71 中国电子元器件网  http://www.chinacomponents.com.cn/
72 单片机C语言  http://www.c51bbs.com/
73 大虾电子网  http://www.daxia.com/
74 综合电子论坛  http://www.avrw.com/bbs/
75 IC商务网  http://www.buy-ic.com/
76 中国电磁兼容网  http://www.emcchina.org/
77 全球电子元器件工厂采购网  http://www.ic666.com/
78 IC库搜索  http://SO.IC666.COM
79 中国电子电器人才网  http://www.51dzrc.com/
80 中国电工网  http://www.chinaet.net/
81 传感器世界  http://www.sensorworld.com.cn/
82 电子世纪  http://mcu.wx-e.com/
83 中国家电维修网  http://www.3811111.com/
84 EECHAIN  http://www.eechain.com/
85 PIC单片机学习网  http://www.pic16.com/
86 IC库存网  http://www.ic00.com
87 多值电子网站  http://www.mulv.com.cn
88 亿涛工作室  http://www.eetop.com.cn/
89 中华电路板资讯网  http://www.china-pcb.net/
90 中国电子材料网  http://www.c-e-m.com/

 

 

点击此处查看原文 >>

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

评论(0) | 阅读(42)
发表于:2008-5-3 21:40:00
标签:A/D,LM331  

1

LM331在AD转换电路中的应用

摘要:本文主要介绍一种应用V/F转换器LM331实现A/D转换的电路,本电路价格低廉,外围电路简单, 适合应用在转换速度不太高的场合应用.本文包括硬件电路和软件程序的实现.
关键词:A/D转换器,V/F转换器, 高精度.
            
引言:

    数据的采集与处理广泛地应用在自动化领域中,由于应用的场合不同,对数据采集与处理所要求的硬件也不相同.在控制过程中,有时要对几个模拟信号进行采集与处理,这些信号的采集与处理对速度要求不太高,一般采用AD574ADC0809等芯片组成的A/D转换电路来实现信号的采集与模数转换,而AD574ADC0809等A/D转换器价格较贵,线路复杂,从而提高了产品价格和项目的费用.在本文中,从实际应用出发,给出了一种应用V/F转换器LM331芯片组成的A/D转换电路,V/F转换器LM331芯片能够把电压信号转换为频率信号,而且线性度好,通过计算机处理,再把频率信号转换为数字信号,就完成了A/D转换。它与AD574等电路相比,具有接线简单,价格低廉,转换精度高等特点,而且LM331芯片在转换过程中不需要软件程序驱动,这与AD574等需要软件程序控制的A/D转换电路相比,使用起来方便了许多。

一. 芯片简介

    LM331是美国NS公司生产的性能价格比比较高的集成芯片。它是当前最简单的一种高精度V/F转换器、A/D转换器、线性频率调制解调、长时间积分器以及其它相关的器件。LM331为双列直插式8引脚芯片,其引脚框图如图1所示。
                  
 图1 LM331逻辑框图
  LM331 各引脚功能说明如下:脚1 为脉冲电流输出端,内部相当于脉冲恒流源,脉冲宽度与内部单稳态电路相同;脚2 为输出端脉冲电流幅度调节,RS 越小,输出电流越大;脚3 为脉冲电压输出端,
    OC 门结构,输出脉冲宽度及相位同单稳态,不用时可悬空或接地;脚4 为地;脚5 为单稳态外接定时时间常数RC ;脚6 为单稳态触发脉冲输入端,低于脚7 电压触发有效,要求输入负脉冲宽度小于单稳态输出脉冲宽度Tw ;脚7 为比较器基准电压,用于设置输入脉冲的有效触发电平高低;脚8 为电源Vcc , 正常工作电压范围为4~40V。线性度好, 最大非线性失真小于0. 01 % , 工作频率低到0. 1Hz 时尚有较好的线性;变换精度高数字分辨率可达12 位; 外接电路简单, 只需接入几个外部元件就可方便构成V/ F 或F/ V 等变换电路,并且容易保证转换精度。


二. A/D转换原理

1.电压-频率转换

点击看大图
 
图2电压-频率转换电路


     图2是我们常用的一种压频转换电路,按照图2设计电路, LM331采用单电源供电,电源电压VCC,模拟信号 的输入范围-VCC~0V,频率范围为1~500KHZ,非线性低于0.01%。模拟信号 经积分器LF356积分处理后,在INPUT端变成与输入电压 成正比的稳定电流输入,通过LM331芯片进行V/F转换后,变成与电压成正比的频率信号,FOUT端输出的频率信号送到计算机的计数/定时端口,计算机对频率信号进行采集、处理、存储。从而实现模拟信号到数字信号的转换。由于LM331的转换线性度直接影响转换结果的准确性,而通常引起V/F转换产生非线性误差的原因是引脚1的输出阻抗,它使输出电流随输入电压的变化而变化,因而影响转换精度,为克服此缺点,高精度V/F转换器在1脚和7脚间加入了一个积分器,这个积分器是由常规运放LF356和积分电容C4构成的反积分器。加上积分电路后,由于电流源(1引脚)总是保持地电位,电压不随 或FOUT变化,因此有很高的线性度。

2.频率-数字信号变换

         
  图3 LM331实现A/D转换框架图


     图3中,模拟信号经压/频转换器LM331,把电压信号转化为脉冲信号,脉冲信号送到计算机的计数/定时端口,有计算机对频率信号进行接收、处理、储存。由于压/频转换器LM331的压/频转换关系成线性,所以我们可以根据采集到频率数据知道模拟信号的大小,从而实现了模拟信号到数字信号的转换.频率计数器、定时器可以使用计算机的计数/定时端口,通过软件编程实现。基准频率,数据处理也是通过软件编程实现,数据可以储存到内部数据存储器或外部数据存储器中。

三. 计算机软件编程

    LM331要实现A/D转换,需与计数器配合使用.LM331的输出端FOUT与单片机计数器T0端口连接,定时器T1用于定时,由公式f=D/T,D是计数值;T是计数时间.计数时间T由定时器T1确定,通过计算得出FOUT,然后进行数据处理与存储.简要程序及说明如下:

    主程序MAIN设置定时器T0、T1工作方式分别为16位计数和定时,并置初值,T1开中断,T1的定时时间根据转换精度需要而定,如果取转换精度为12位,最高频率为100KHZ,计满量程时间为FFFH/100K=8.192ms.单片机采用12MHZ晶振时,机器周期=1µs,定时初值为

    调DATA子程序主要是进行数据处理并存储,得到的数据就是12位A/D转换数据 ,改变定时初值,可调节A/D转换位,如13位,14位等.


结论:

    运用LM331实现A/D转换, 具有电路简单,成本低,测量精度高并且转换位数可调的特点,在实际工作之前,对电路器件参数进行调校,调校之后,系统稳定性好.与AD574等电路相比,价格便宜几倍。

 

相关文章:LM331压频变换器的原理及应用

Principle and Applications of The Voltage Frequency Converter LM331

Lin Han

 

摘要:介绍了集成电路LM331的结构和特点,分析了V/F和F/V电路的工作原理。同时也给出了一些应用的例子。
关键词:
电压-频率变换; 频率-电压变换; LM331
分类号:TN79+2     文献标识:B    文章编号:1006-6977(1999)11-0020-0
3

 

1. 概述

  LM331是美国NS公司生产的性能价格比较高的集成芯片,可用作精密频率电压转换器、A/D转换器、线性频率调制解调、长时间积分器及其他相关器件。LM331采用了新的温度补偿能隙基准电路,在整个工作温度范围内和低到4.0V电源电压下都有极高的精度。LM331的动态范围宽,可达100dB;线性度好,最大非线性失真小于0.01%,工作频率低到0.1Hz时尚有较好的线性;变换精度高,数字分辨率可达12位;外接电路简单,只需接入几个外部元件就可方便构成V/F或F/V等变换电路,并且容易保证转换精度。
  LM331的内部电路组成如图1所示。由输入比较器、定时比较器、R-S触发器、输出驱动管、复零晶体管、能隙基准电路、精密电流源电路、电流开关、输出保护管等部分组成。输出驱动管采用集电极开路形式,因而可以通过选择逻辑电流和外接电阻,灵活改变输出脉冲的逻辑电平,以适配TTL、DTL和CMOS等不同的逻辑电路。LM331可采用双电源或单电源供电,可工作在4.0~40V之间,输出可高达40V,而且可以防止Vcc短路。

2. 工作原理

2.1 电压—频率变换器

  图2是由LM331组成的电压椘德时浠坏缏贰M饨拥缱鑂t、Ct和定时比较器、复零晶体管、R-S触发器等构成单稳定时电路。当输入端Vi+输入一正电压时,输入比较器输出高电平,使R-S触发器置位,Q输出高电平,输出驱动管导通,输出端f0为逻辑低电平,同时,电流开关打向右边,电流源IR对电容CL充电。此时由于复零晶体管截止,电源Vcc也通过电阻Rt对电容Ct充电。当电容Ct两端充电电压大于Vcc的2/3时,定时比较器输出一高电平,使R-S触发器复位,Q输出低电平,输出驱动管截止,输出端f0为逻辑高电平,同时,复零晶体管导通,电容Ct通过复零晶体管迅速放电;电流开关打向左边,电容Cl对电阻RL放电。当电容CL放电电压等于输入电压Vi时,输入比较器再次输出高电平,使R-S触发器置位,如此反复循环,构成自激振荡。图3画出了电容Ct、Cl充放电和输出脉冲f0的波形。设电容CL的充电时间为t1,放电时间为t2,则根据电容CL上电荷平衡的原理,我们有:
  (I
R-VL/RL)t1=t2VL/RL
  从上式可得:
  f0=1/(t
1+t2)=VL/(RLIRt1)
  实际上,该电路的VL在很少的范围内(大约10mV)波动,因此,可认为V
L=Vt,故上式可以表示为:
  f
0==Vt/(RLIRt1)
  可见,输出脉冲频率f
0与输入电压Vi成正比,从而实现了电压-频率变换。式中IR由内部基准电压源供给的1.90V参考电压和外接电阻Rs决定,IR=1.90/Rs,改变Rs的值,可调节电路的转换增益,t1由定时元件Rt和Ct决定,其关系是t1=1.1RtCt,典型值Rt=6.8kΩ,Ct=0.01μF,t1=7.5μs。
  由f
0=Vi/(RLIRt)可知,电阻Rs、Rl、Rt和电容Ct直接影响转换结果f0,因此对元件的精度要有一定的要求,可根据转换精度适当选择。电容Cl对转换结果虽然没有直接的影响。但应选择漏电流小的电容器。电阻R1和电容C1组成低通滤波器,可减少输入电压中的干扰脉冲,有利于提高转换精度。
2.2 频率-电压变换器
  由LM331构成的频率-电压转换电路如图4所示,输入脉冲f
i经R1、C1组成的微分电路加到输入比较器的反相输入端。输入比较器的同相输入端经电阻R2、R3分压而加有约2Vcc/3的直流电压,反相输入端经电阻R1加有Vcc的直流电压。当输入脉冲的下降沿到来时, 经微分电路R1、C1产生一负尖脉冲叠加到反相输入端的Vcc上,当负向尖脉冲大于Vcc/3时,输入比较器输出高电平使触发器置位,此时电流开关打向右边,电流源IR对电容CL充电,同时因复零晶体管截止而使电源Vcc通过电阻Rt对电容Ct充电。当电容CL两端电压达到2Vcc/3时,定时比较器输出高电平使触发器复位,此时电流开关打向左边,电容CL通过电阻RL放电,同时,复零晶体管导通,定时电容Ct迅速放电,完成一次充放电过程。此后,每当输入脉冲的下降沿到来时,电路重复上述的工作过程。从前面的分析可知,电容CL的充电时间由定时电路Rt、Ct决定,充电电流的大小由电流源IR决定,输入脉冲的频率越高,电容CL上积累的电荷就越多输出电压(电容CL两端的电压)就越高,实现了频率-电压的变换。按照前面推导V/F表达式的方法,可得到输出电压VO与fi的关系为:
  V
O=2.09RlRtCtfi/Rs
  电容C1的选择不宜太小,要保证输入脉冲经微分后有足够的幅度来触发输入比较器,但电容C1小些有利于提高转换电路的抗干扰能力。电阻R
L和电容CL组成低通滤波器。电容CL大些,输出电压VO的纹波会小些,电容CL小些,当输入脉冲频率变化时,输出响应会快些。这些因素在实际运用时要综合考虑。

3. 应用

  图5为由两块LM331组成的遥测电路。在人员不能进入或不易进入的场合,通过传感器将被测量转换为电压,经运算放大器放大为0~10V电压信号,由LM331进行V/F变换为脉冲信号,通过长双绞线传输到测量室,在测量室内通过光电耦合器转换为幅度稳定的脉冲电压,此脉冲电压再经LM331进行F/V变换为电压进行测量,从而可避免直接导线连接到测量室而造成的线路衰减或干扰,提高测量精度。
  当前,
12位以上的A/D转换器的价格仍较昂贵,用V/F变换器来代替A/D转换器,在要求速度不太高的场合是一种较好的选择。用LM331构成的A/D变换器采集系统接口电路如图6所示。从传感器来的毫伏级的电压信号经低温漂运算放大器INA101放大到010V后加到V/F变换器LM331的输入端,从频率输出端f0输出的频率信号加到单片机8031的输入端T1上。根据分辨率的要求利用软件(限于篇幅,程序部分略)处理,最后得到A/D转换的结果。

点击此处查看原文 >>

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

评论(0) | 阅读(89)
发表于:2008-4-29 13:59:24
标签:CPLD/VHDL  

0

波形发生器(毕业设计)

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity duoxing is
generic(ACCWidth : Integer := 16); --相位累加器的长度2^N (2^ACCWidth)
port (
CLK: in std_logic; --系统时钟 FClk
-- STEP: in std_logic_vector(ACCWidth-1 downto 0); --步进,即相位累加器的累加增量,控制输出频率 2^M 频率控制字
CHOICE: in std_logic_vector(1 downto 0); --波形选择信号 "00":正弦; "01":三角波; "10":方波; "11":不输出(恒为低电平)
Key : in std_logic;
DAOUT : out std_logic_vector(7 downto 0) --8位DA输出模拟信号,直通方式,如需时钟控制则要修改
);
end;

architecture dacc of duoxing is
signal ACC:std_logic_vector(ACCWidth-1 downto 0):=(others =>'0');
signal KEYADD:std_logic_vector(ACCWidth-1 downto 0):="0000000011111111";
begin
process(CLK)--,STEP)
begin
if(CLK'event and CLK='1') then
ACC<=ACC+KEYADD;
end if;
end process;
process(key)
begin
if(key' event and key='1') then
KEY<=KEYADD+1;
end if;
end process;

process(CHOICE,ACC)
begin
case CHOICE is
when "00"=> --正弦
case ACC(ACCWidth-1 downto ACCWidth-8) is
when "00000000" => DAOUT <= "10000000";
when "00000001" => DAOUT <= "10000011";
when "00000010" => DAOUT <= "10000110";
when "00000011" => DAOUT <= "10001001";
when "00000100" => DAOUT <= "10001101";
when "00000101" => DAOUT <= "10010000";

省略

when "11111110" => DAOUT <= "01111010";
when "11111111" => DAOUT <= "01111101";
when others => DAOUT <= (others =>'0');
end case;
when "01"=> --三角波
case ACC(ACCWidth-1) is
when '0' => DAOUT <= ACC(ACCWidth-2 downto ACCWidth-9); --模二加,左移一位
when '1' => DAOUT <= ("11111111" - ( ACC(ACCWidth-2 downto ACCWidth-9) ));
when others => DAOUT <= (others =>'0');
end case;
when "10"=> --方波
case ACC(ACCWidth-1) is
when '0' => DAOUT <= (others =>'0');
when '1' => DAOUT <= (others =>'1');
when others => DAOUT <= (others =>'0');
end case ;
when "11" => DAOUT <= ACC(ACCWidth-1 downto ACCWidth-8);
when others => DAOUT <= (others =>'0');
end case;
end process;
end;

出现如下错误:

Error: VHDL error at duoxing.vhd(29): can't write to interface object "Key" of mode IN
Error: VHDL error at duoxing.vhd(29): can't determine definition of operator ""+"" -- found 0 possible definitions
Error: Ignored construct dacc at duoxing.vhd(16) because of previous errors
Info: Found 0 design units, including 0 entities, in source file duoxing.vhd

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(296)
发表于:2008-4-29 13:51:03
标签:1602  

0

液晶画面移动起来!

以前的文章写过1602液晶的显示程序,现在将液晶显示的画面移动起来,其实很简单,大家实验!

/*
***************************************************************************
*项目名称:    51单片机学习开发系统          
*本文件名称:LCD1602.c  
* 完成作者 : 单片机初学者  
* 当前版本 : V3.0       
* 完成日期 :
* 描    述 : 
*                此程序实现,完成液晶的驱动程序,可以显示任意的ASCII字符
*            
博客:http://blog.ednchina.com/ahai0306/
*  开发板介绍:http://blog.ednchina.com/ahai0306/84416/message.aspx

论坛:http://dianzi.5d6d.com/?fromuser=mcu_51          
****************************************************************************
*/

#include  <reg52.h>     //调用头文件(单片机内部的寄存器定义)

/******本段为硬件I/O口定义********/
sbit  KEY0   = P0 ^ 0;  //KEY和发光管复用,请将跳线插到KEY端
sbit  KEY1   = P0 ^ 1;
sbit  KEY2   = P0 ^ 2;
sbit  KEY3   = P0 ^ 3;
sbit  DIG0   = P0 ^ 4;  //数码管位0
sbit  DIG1   = P0 ^ 5;  //数码管位1

sbit  BUZZ   = P3 ^ 3;  //蜂鸣器
sbit  LCD_RW = P3 ^ 6; 
sbit  LCD_RS = P3 ^ 7; 
sbit  LCD_E  = P3 ^ 4;

#define  LED_SEG    P1  //数码管
#define  LCD_DATA   P2   //LCD DATA
#define  LCD_BUSY   0x80  // 用于检测LCD的BUSY标识(本程序中用的延时,未检测)
//LCD显示内容,定义到代码段
 unsigned  char code LcdBuf1[]= {"welcom!"};
unsigned  char code LcdBuf2[]= {"MCU-STUDY-BOARD"};

//函数声明
void  lcd_init(void);
void  display_string(unsigned  char x,unsigned  char y,unsigned  char *s);
void  disp_selec(unsigned  char bit_selec,unsigned  char  seg);

void  WriteCommandLcd(unsigned  char wdata);


 /**************************************************
** 函数名称: dellay
** 入口参数:h(unsigned int型)
** 出口参数:无
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS
****************************************************/

void dellay(unsigned int  h)
{
  while(h--);    //0.01MS
}


/************主程序**************/
main()
{
    lcd_init();
 display_string(3,0,LcdBuf1);  //显示第一行,从第3个位置开始
 display_string(0,1,LcdBuf2);  //显示第二行,从第0个位置开始
 
   while(1)    //单片机待机
   { 

    dellay(23000);            //滚动的延时时间
   WriteCommandLcd(0x18);   //画面向左移动1位

    //WriteCommandLcd(0x1c);   //画面向右移动1位

    }

}

/**************************************************
** 函数名称: WriteDataLcd
** 入口参数:wdata(unsigned  char型)
** 出口参数:无
** 功能描述: 写数据到LCD
****************************************************/

void  WriteDataLcd(unsigned  char wdata)
{
   LCD_DATA=wdata;
   LCD_RS=1;
   LCD_RW=0;
   LCD_E=0;
   dellay(100);     //短暂延时,代替检测忙状态

   LCD_E=1;
}
/**************************************************
** 函数名称: WriteCommandLcd
** 入口参数:wdata(unsigned  char型)
** 出口参数:无
** 功能描述: 写命令到LCD
****************************************************/

void  WriteCommandLcd(unsigned  char wdata)
{
   LCD_DATA=wdata;
   LCD_RS=0;
   LCD_RW=0;
   LCD_E=0;
   dellay(100);      //短暂延时,代替检测忙状态
   LCD_E=1;
}

//LCD初始化
void  lcd_init(void)
{
     LCD_DATA=0;
     WriteCommandLcd(0x38);
     dellay(1000);
     WriteCommandLcd(0x38); //显示模式设置
    WriteCommandLcd(0x08); //关闭显示
    WriteCommandLcd(0x01); //显示清屏
    WriteCommandLcd(0x06); //显示光标移动设置
    WriteCommandLcd(0x0c); //显示开及光标移动设置
}
/**************************************************
** 函数名称: display_xy
** 入口参数:x(unsigned  char型),y(unsigned  char型)
** 出口参数:无
** 功能描述: 设置光标位置, x是列号,y是行号
****************************************************/
void  display_xy(unsigned  char x,unsigned  char y)
{
    if(y==1)
   x+=0x40;
  x+=0x80;
  WriteCommandLcd(x);
}
/********************************************************************
** 函数名称: display_char
** 入口参数:x(unsigned  char型),y(unsigned  char型),dat(unsigned  char型)
** 出口参数:无
** 功能描述: 在具体位置显示单个字符,x是列号,y是行号
*********************************************************************/

void  display_char(unsigned  char x,unsigned  char y,unsigned  char dat)
{
  display_xy(x,y);
  WriteDataLcd(dat);
}

/*********************************************************************
** 函数名称: display_string
** 入口参数:x(unsigned  char型),y(unsigned  char型),s(指针型)
** 出口参数:无
** 功能描述: 在具体位置显示字符串,以/0结束,x是列号,y是行号
**********************************************************************/

void  display_string(unsigned  char x,unsigned  char y,unsigned  char *s)
{
  display_xy(x,y);
  while(*s)
  {
   WriteDataLcd(*s);
   s++;
  }
}

增加硬件原理图:

点击看大图

点击此处查看原文 >>

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

评论(0) | 阅读(95)
发表于:2008-4-29 13:43:19
标签:CH375  

0

USB接口芯片CH375的原理及应用

    随着计算机技术的快速发展,USB移动存储设备的使用已经非常普遍,因此在一些需要转存数据的设备、仪器上使用USB移动存储设备接口芯片便相继产生了,CH375就是其中之一,它是一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式。

       在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU等相连接。CH375的USB主机方式支持各种常用的USB全速设备,外部单片机/DSP/MCU可以通过CH375按照相应的USB协议与USB设备通信。

       CH375芯片内部结构

       1 、内部结构

 & nbsp;     CH375芯片内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。CH375芯片引脚排列如图1所示。
 

CH375芯片引脚排列

                                                                             图   1
      


       2 、内部物理端点

       CH375芯片内部具有7个物理端点。
       端点0是默认端点,支持上传和下传,上传和下传缓冲区各是8B;端点1包括上传端点和下传端点,上传和下传缓冲区各是8B,上传端点的端点号是81H,下传端点的端点号是01H;端点2包括上传端点和下传端点,上传和下传缓冲区各是64B,上传端点的端点号是82H,下传端点的端点号是02H。

       主机端点包括输出端点和输入端点,输出和输入缓冲区各是64B,主机端点与端点2合用同一组缓冲区,主机端点的输出缓冲区就是端点2的上传缓冲区,主机端点的输入缓冲区就是端点2的下传缓冲区。 其中,CH375的端点0、端点1、端点2只用于USB设备方式,在USB主机方式下只需要用到主机端点。

       软件接口

       对于USB存储设备的应用,CH375直接提供了数据块的读写接口,以512b的物理扇区为基本读写单位,从而将USB存储设备简化为一种外部数据存储器,单片机可以自由读写USB存储设备中的数据,也可以自由定义其数据结构。

       CH375以C语言子程序库提供了USB存储设备的文件级接口,这些应用层接口API包含了常用的文件级操作,可以移植并嵌入到各种常用的单片机程序中。

       CH375的U盘文件级子程序库具有以下特性:支持常用的FAT12、FAT16 和FAT32 文件系统,磁盘容量可达100GB以上,支持多级子目录,支持8.3格式的大写字母文件名,支持文件打开、新建、删除、读写以及搜索等。

    CH375的文件级接口API子程序需要大约600b的随机存储器RAM 作为缓冲区。所有API在调用后都有操作状态返回,但不一定有应答数据。有关API参数的说明请参考CH375数据手册。

       CH375在单片机读写U盘中的电路原理图

MCS

                                           &nbs

p;                          图   2

       图2给出了MCS-51单片机读写U盘的电路原理图,如果CH375芯片的TXD引脚悬空或者没有通过下接电阻接地,那么CH375工作于串口方式。在串口方式下,CH375只需要与单片机/DSP/MCU连接3个信号线,TXD引脚、RXD引脚以及INT#引脚,其他引脚都可以悬空。除了连接线较少之外,其他外围电路与并口方式基本相同。由于INT#引脚和TXD 引脚在CH375复位期间只能提供微弱的高电平输出电流,在进行较远距离的连接时,为了避免INT#或者TXD在CH375复位期间受到干扰而导致单片机误操作,可以在INT#引脚或者TXD引脚上加阻值为1~5kΩ的上拉电阻,以维持较稳定的高电平。在CH375芯片复位完成后,INT#引脚和TXD引脚将能够提供5mA的高电平输出电流或者5mA的低电平吸入电流。

       单片机读写U盘的接口

       由于CH375内置了处理Mass-Storage海量存储设备的专用通信协议的固件,所以嵌入式系统的单片机可以通过CH375将U盘(USB闪存盘、USB外置硬盘)作为可移动的大容量存储器。数据读写只需要几条指令,而不需要详细了解USB通信协议。

       如果嵌入式系统需要将USB存储设备组织为文件系统,那么可以直接调用CH375文件级子程序库提供的接口API,由子程序库处理文件系统。

       CH375主机USB-HOST的电路设计注意事项

       某些USB设备带电插入时常出现如下问题: 

       (1)、CH375复位或者单片机复位(尤其是采用uP 监控电路的单片机系统)。 

       (2)、 CH375或者单片机突然工作不正常,失去控制。 

       (3)、 CH375芯片的工作电流突然增大并且持续如此,时间长了芯片发热烫手。

       出现上述问题时可参考如下解决方法: 

       (1)、给USB插座单独供电,这样即使USB设备刚插上时存在电容充电过程,也不会影响单片机和CH375。变通方法是,将5V主电源分别通过两个独立的限流电感后(或者在PCB中电源线分开走),一组提供给CH375和单片机等,另一组提供给USB插座。 

  (2)、在USB插座前串接限流电阻或者电感,并在USB插座电源上并联储能用的电解电容。如果用电感也可以限制电流突变,防止电源电压突降,但是用电感在USB设备拔出后,容易在USB插座中产生过冲高压,所以必须接储能电容。(注意,在第一版CH375评估板的原理图中已经标出USB插座的限流电阻R1为1Ω,建议将其换为阻值5Ω的电阻或者保险电阻) 

       (3)、其他临时的解决方法(不推荐):①在USB设备与USB插座之间加入USB延长线。②在主电源上并联较大的储能电容,在U盘刚插入时提供足够的瞬时电能,减少对电源电压的影响。 

      (4)、参考目前计算机端的解决方法:USB端口的电源供给是通过保险电阻或者限流电感提供的,这些能够限制瞬时电流。对于计算机前面板的USB端口,由于本身通过一段较长的连接导线,自然减弱了对主电源的影响,而且计算机的5V电源功率很大,连续供电电流都在20A以上,所以不易受影响。

点击此处查看原文 >>

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

评论(0) | 阅读(115)
发表于:2008-4-29 13:41:11
标签:USB  

0

USB接口芯片的原理及应用

随着计算机技术的快速发展,USB移动存储设备的使用已经非常普遍,因此在一些需要转存数据的设备、仪器上使用USB移动存储设备接口芯片便相继产生了,CH375就是其中之一,它是一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式。

       在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU等相连接。CH375的USB主机方式支持各种常用的USB全速设备,外部单片机/DSP/MCU可以通过CH375按照相应的USB协议与USB设备通信。

       CH375芯片内部结构

       1 内部结构


  &n

bsp;    CH375芯片内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。CH375芯片引脚排列如图1所示。

CH375芯片引脚排列

                                                              图 1 CH375芯片引脚排列

       2 内部物理端点

       CH375芯片内部具有7个物理端点。端点0是默认端点,支持上传和下传,上传和下传缓冲区各是8B;端点1包括上传端点和下传端点,上传和下传缓冲区各是8B,上传端点的端点号是81H,下传端点的端点号是01H;端点2包括上传端点和下传端点,上传和下传缓冲区各是64B,上传端点的端点号是82H,下传端点的端点号是02H。

       主机端点包括输出端点和输入端点,输出和输入缓冲区各是64B,主机端点与端点2合用同一组缓冲区,主机端点的输出缓冲区就是端点2的上传缓冲区,主机端点的输入缓冲区就是端点2的下传缓冲区。

       其中,CH375的端点0、端点1、端点2只用于USB设备方式,在USB主机方式下只需要用到主机端点。

       软件接口

      
对于USB存储设备的应用,CH375直接提供了数据块的读写接口,以512b的物理扇区为基本读写单位,从而将USB存储设备简化为一种外部数据存储器,单片机可以自由读写USB存储设备中的数据,也可以自由定义其数据结构。

       CH375以C语言子程序库提供了USB存储设备的文件级接口,这些应用层接口API包含了常用的文件级操作,可以移植并嵌入到各种常用的单片机程序中。

       CH375的U盘文件级子程序库具有以下特性:支持常用的FAT12、FAT16 和FAT32 文件系统,磁盘容量可达100GB以上,支持多级子目录,支持8.3格式的大写字母文件名,支持文件打开、新建、删除、读写以及搜索等。

       CH375的文件级接口API子程序需要大约600b的随机存储器RAM 作为缓冲区。所有API在调用后都有操作状态返回,但不一定有应答数据。有关API参数的说明请参考CH375数据手册。

CH375在单片机读写U盘中的电路原理图

      
图2给出了MCS-51单片机读写U盘的电路原理图,如果CH375芯片的TXD引脚悬空或者没有通过下接电阻接地,那么CH375工作于串口方式。在串口方式下,CH375只需要与单片机/DSP/MCU连接3个信号线,TXD引脚、RXD引脚以及INT#引脚,其他引脚都可以悬空。除了连接线较少之外,其他外围电路与并口方式基本相同。由于INT#引脚和TXD 引脚在CH375复位期间只能提供微弱的高电平输出电流,在进行较远距离的连接时,为了避免INT#或者TXD在CH375复位期间受到干扰而导致单片机误操作,可以在INT#引脚或者TXD引脚上加阻值为1~5kΩ的上拉电阻,以维持较稳定的高电平。在CH375芯片复位完成后,INT#引脚和TXD引脚将能够提供5mA的高电平输出电流或者5mA的低电平吸入电流。

MCS

  &nb

sp;                                             图2 MCS-51单片机读写U盘的电路原理图

       单片机读写U盘的接口

      
由于CH375内置了处理Mass-Storage海量存储设备的专用通信协议的固件,所以嵌入式系统的单片机可以通过CH375将U盘(USB闪存盘、USB外置硬盘)作为可移动的大容量存储器。数据读写只需要几条指令,而不需要详细了解USB通信协议。

       如果嵌入式系统需要将USB存储设备组织为文件系统,那么可以直接调用CH375文件级子程序库提供的接口API,由子程序库处理文件系统。

       CH375主机USB-HOST的电路设计注意事项

       某些USB设备带电插入时常出现如下问题:
 

       ● CH375复位或者单片机复位(尤其是采用uP 监控电路的单片机系统)。

       ● CH375或者单片机突然工作不正常,失去控制。

       ● CH375芯片的工作电流突然增大并且持续如此,时间长了芯片发热烫手。

       出现上述问题时可参考如下解决方法:

       ● 给USB插座单独供电,这样,即使USB设备刚插上时存在电容充电过程,也不会影响单片机和CH375。变通方法是,将5V主电源分别通过两个独立的限流电感后(或者在PCB中电源线分开走),一组提供给CH375和单片机等,另一组提供给USB插座。

       ● 在USB插座前串接限流电阻或者电感,并在USB插座电源上并联储能用的电解电容。如果用电感也可以限制电流突变,防止电源电压突降,但是用电感在USB设备拔出后,容易在USB插座中产生过冲高压,所以必须接储能电容。(注意,在第一版CH375评估板的原理图中已经标出USB插座的限流电阻R1为1Ω,建议将其换为阻值5Ω的电阻或者保险电阻)

       ● 其他临时的解决方法(不推荐):①在USB设备与USB插座之间加入USB延长线。②在主电源上并联较大的储能电容,在U盘刚插入时提供足够的瞬时电能,减少对电源电压的影响。

       ● 参考目前计算机端的解决方法:USB端口的电源供给是通过保险电阻或者限流电感提供的,这些能够限制瞬时电流。对于计算机前面板的USB端口,由于本身通过一段较长的连接导线,自然减弱了对主电源的影响,而且计算机的5V电源功率很大,连续供电电流都在20A以上,所以不易受影响。

点击此处查看原文 >>

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

评论(0) | 阅读(119)
发表于:2008-4-29 13:38:56
标签:二极管  

1

二极管的奇妙用法!(经典)

大多数人都只知道二极管有单向导通/反向截止的特性,所以都只是把二极管作为整流或者开关来使用。其实二极管还有一个非常特殊的性能,就是它能够很好的作为温度检测器件,稳定、可靠又取材方便而且非常便宜。可能好多人不知道它还可以这样用。
    原理非常简单:就是二极管的PN结具有负温度特性,温度每升高一度C,它的正向压降就降低3mV左右。如果用5个1N4148二极管串接的话,那么就有15mV/度C的变化。对于用LM358以及LM324或者LM339的运放或者比较起来说,只要变化2mV就足够使输出翻转了。具体使用时只要用一个电阻和二极管串接,电阻起到限流的作用,让二极管的正向电流在0.5至3mA之间就可以了。从二极管两端取出正向电压给比较器输入端。
    早些年,我用这个东西来替换东芝电冰箱里面很容易损坏的那个感温电阻,至今没有一台出现温度失控问题,东芝维修部的人也看的晕乎乎,始终不明白之中奥妙。

点击此处查看原文 >>

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

评论(3) | 阅读(132)
发表于:2008-4-23 10:16:03
标签:功放  

0

做个家用电台

做个家用电台

电路概述:
  现在的许多家庭都有了电视机、VCD、录像机、游戏机、甚至摄像机和DVD等家用电器。 如果将上述的家电的RF射频信号用一个电视信号发射器转发出去,供方圆30米左右的 (家庭居室范围内)的电视机接收观看,就可以省去电缆的连接等诸多不便,还可以多 台机子在不同的房间收看,这个电视信号转发器就好像一个小型家庭电视台。下面介绍的就是这种电视信号转发器,它具有电路简单,成本低,容易制作等特点。

工作原理:
  电路如图下图所示: 这个电路的工作原理是射频信号经75欧姆射频电缆送至有C1、 L1、C2 构成的高通滤波器,将低于45MHZ的频率滤除,然后在经三极管9018等组成的前置放大 器放大后由电容C3送至upc1651进行功率放大,其输出信号经60cm左右的鞭状天线发射 出去。7805等构成稳压与电源指示为upc1615提供5V的供电。 


点击看大图

 

选材制作:
  upc1651为高增益高频放大集成电路,9018为低噪声超高频三极管,C1,L1,C2构成截止 频率为47MHZ的高通滤波器.电容均选择高频瓷介电容器.电阻用普通碳膜电阻.IC2等元件 提供5V供电和电源指示.L1的制作是在直径3mm的圆柱上,用0.2mm的漆包线密绕16圈脱胎而成. 天线用60cm鞭状天线.因本机工作在超高频段,在设计印制板与制作时,元件的配置和引线的 长度都要符合高频设计的要求,尽使焊接线超短化,以紧贴电路板为准,无限电子制作网在设计此款电路时都采用小型化元件,可以装在本站提供的47x33x16mm的塑盒内。电源则用9V直流稳压电源,放置在房间或客厅都不占多大空间,家中有多台电视又无法互通信号线的朋友可以参考制作。

调试成型:
  这个转发器电路也可以放在一个小铁盒内,还可以放在一只废 的VHF高频头中.只要去掉其中的机械和电子元件即成为一个带屏蔽的盒子.由于转发器电路简单, 元件很少,可将元件直接焊在电路板上,并确保连线正确,焊接无误!整机工作电流在25MA左右. 9018的工作电流在5MA左右,可通过R1来调节.录像机,VCD等家电的射频输出电缆应选75欧姆的 同轴电缆线,长度尽量短,采用全屏蔽[包括接头部位],这样可以减少RF天线的干扰.只要元件质量 保证,发射器便可正常工作。

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类:    |    来源: 整理

评论(0) | 阅读(156)
总共 , 当前 /,23下一页