导航:首页 > 文档加密 > 以太网pdf

以太网pdf

发布时间:2024-05-07 06:39:46

❶ 西门子PLC问题

PPI是点对点的通信协议,用于灌程序的和屏PLC链接的居多。PROFIBUS-DP是现场总线协议。
V是变量区。西门子里的变量,最小单位是V,可以是位,字节,字和双字看你怎么组合,很自由。比如对V6而言,v6.0位位,vb6为字节,vw6为字vd6为双字。
这东西在线教不现实,建议你还是对着实例看吧。
有基础的最好,不管是什么PLC,基本思路都是一样的,只是表现的形式不一样而已

❷ 搞电子专业的.我需要掌握些什么必要的知识.会用那些系统软件工具

掌握了一下的硬件和软件知识,基本上就可以成为一个合格的电子工程师:
第一部分:硬件知识
一、 数字信号
1、 TTL和带缓冲的TTL信号
2、 RS232和定义
3、 RS485/422(平衡信号)
4、 干接点信号
二、 模拟信号视频
1、 非平衡信号
2、 平衡信号
三、 芯片
1、 封装
2、 7407
3、 7404
4、 7400
5、 74LS573
6、 ULN2003
7、 74LS244
8、 74LS240
9、 74LS245
10、 74LS138/238
11、 CPLD(EPM7128)
12、 1161
13、 max691
14、 max485/75176
15、 mc1489
16、 mc1488
17、 ICL232/max232
18、 89C51
四、 分立器件
1、 封装
2、 电阻:功耗和容值
3、 电容
1) 独石电容
2) 瓷片电容
3) 电解电容
4、 电感
5、 电源转换模块
6、 接线端子
7、 LED发光管
8、 8字(共阳和共阴)
9、 三极管2N5551
10、 蜂鸣器
五、 单片机最小系统
1、 单片机
2、 看门狗和上电复位电路
3、 晶振和瓷片电容
六、 串行接口芯片
1、 eeprom
2、 串行I/O接口芯片
3、 串行AD、DA
4、 串行LED驱动、max7129
七、 电源设计
1、 开关电源:器件的选择
2、 线性电源:
1) 变压器
2) 桥
3) 电解电容
3、 电源的保护
1) 桥的保护
2) 单二极管保护
八、 维修
1、 电源
2、 看门狗
3、 信号
九、 设计思路
1、 电源:电压和电流
2、 接口:串口、开关量输入、开关量输出
3、 开关量信号输出调理
1) TTL―>继电器
2) TTL―>继电器(反向逻辑)
3) TTL―>固态继电器
4) TTL―>LED(8字)
5) 继电器―>继电器
6) 继电器―>固态继电器
4、 开关量信号输入调理
1) 干接点―>光耦
2) TTL―>光耦
5、 CPU处理能力的考虑
6、 成为产品的考虑:
1) 电路板外形:大小尺寸、异形、连接器、空间体积
2) 电路板模块化设计
3) 成本分析
4) 器件的冗余度
1. 电阻的功耗
2. 电容的耐压值等
5) 机箱
6) 电源的选择
7) 模块化设计
8) 成本核算
1. 如何计算电路板的成本?
2. 如何降低成本?选用功能满足价格便宜的器件
十、 思考题
1、 如何检测和指示RS422信号
2、 如何检测和指示RS232信号
3、 设计一个4位8字的显示板
1) 电源:DC12
2) 接口:RS232
3) 4位3”8字(连在一起)
4) 亮度检测
5) 二级调光
4、 设计一个33位1”8字的显示板
1) 电源:DC5V
2) 接口:RS232
3) 3排 11位8字,分4个、3个、4个3组,带行与行之间带间隔
4) 单片机最小系统
5) 译码逻辑
6) 显示驱动和驱动器件
5、 设计一个PCL725和MOXA C168P的接口板
1) 电源:DC5V
2) 接口:PCL725/MOXA 8个RS232
1. PCL725,直立DB37,孔
2. MOXA C168P,DB62弯
3) 开关量输出信号调理:6个固态继电器和8个继电器,可以被任何一路信号控制和驱动,接口:固态继电器5.08直立,继电器3.81直立
4) 开关量输入调理:干接点闭合为1或0可选,接口:3.81直立
5) RS232调理:
1. LED指示
2. 前4路RS232全信号,后4路只需要TX、RX、0
3. 无需光电隔离
4. 接口形式:DB9(针)直立
第二部分:软件知识
一、 汇编语言
二、 C51
该部分可以从市场上买到的N种开发板上学到,至于第一部分,需要人来带吧。

为什么要掌握这些知识?

实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这

些器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂、

成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身

的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在

市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照

一定的构思原则(成本最低、可靠性最高、电路板最小、功能最强大等)在最短的

时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有

关。这就是电子工程师的价值。

将电子产品抽象成一个硬件的模型,大约有以下组成:

1) 输入
2) 处理核心
3) 输出

输入基本上有以下的可能:

1) 键盘
2) 串行接口(RS232/485/can bus/以太网/USB)
3) 开关量(TTL,电流环路,干接点)
4) 模拟量(4~20ma、 0~10ma、0~5V(平衡和非平衡信号))

输出基本上有以下组成:

1) 串行接口(RS232/485/can bus/以太网/USB)
2) 开关量(TTL、电流环路、干接点、功率驱动)
3) 模拟量(4~20ma, 0~10ma,0~5V(平衡和非平衡信号))
4) LED显示:发光管、八字
5) 液晶显示器
6) 蜂鸣器

处理核心主要有:

1) 8位单片机,主要就是51系列
2) 32位arm单片机,主要有atmel和三星系列

51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一

的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既

可靠又容易编写。

最近三星的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统

也便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合

适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的1个室外使

用的产品,在北京室外使用,没有任何的通风和加热的措施,从去年的5月份到现

在,运行情况良好。已经有个成功应用的案例。

但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练

手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基

础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础。

再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中?

在51上面去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,

可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线口多。可以使

用I2C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如:

MAX7219等芯片。

市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、

D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;

这些知识,是所有产品都具备的要素。所以要学,再具体应用。

说一个小的故事:野人献曝。

从前,有一个农民,冬天干了活后,休息晒太阳。好舒服呀。
他想,这么舒服的享受,我要献给国王,让他也能得到享受。
于是他兴冲冲地到了王宫,将他的宝贵经验献给了国王。

我现在就象这个农民,把自己认为很宝贵的经验献给大家。希望大家多提宝贵意见

;拍板砖也可以,骂我也无所谓,呵呵,随便。

第一课:51单片机最小系统

实际上,51单片机核心外围电路是很简单的,一个单片机+一个看门狗+一个晶振

+2个磁片电容;

1. 单片机:atmel的89C51系列、winbond的78E52系列,还有philips的系列,都差

不多;现在有一些有ISP(在线下载的),就更好用了;

2. 看门狗:种类很多,我常用的有max691/ca1161和DS1832等,具体看个人习惯、

芯片工作电压、封装等。Max系列和DS系列,还有IMP公司的,种类很多,一般只需

要有最基本的功能就可以了;原来我使用max691,但是max691比较贵,因为它有电

池切换功能,后来新设计电路板,就都采用ca1161了。

很早以前的电路设计中,现在可能还有人使用,使用一个电阻和一个电容达成的上

电复位电路;但是,这样的复位电路一个是不可靠,为什么不可靠,网络上能找得

到专门论述复位电路的文章;更重要的是,51系列的单片机比较容易受到干扰;没

有看门狗电路是不行的,当程序跑飞时,回不来了,死在那里。

常规的做法是买一个专门的看门狗电路,完成复位电路和看门狗电路的功能。
这些芯片的资料很容易在网络上找到,通常使用网络搜索就可以了;看见有pdf

字样,就点击下载;使用网际快车flashget下载也是最好的;

这些资料通常是pdf格式的文件,所以,还需要一个pdf的阅读器。

网络网址:http://www..com

网际快车下载网址:http://www.skycn.com/soft/879.html

PDF阅读器下载网址:http://www.chinapdf.com/download.htm

实际上,有了网络和其它的搜索引擎,很方便下载到这些芯片的资料,比光盘还方

便,不需要去到处找。

单片机和单片机抗干扰能力是不一样的。如果你的产品是工作在干扰比较大的环境

,可以试试选用不同品牌的单片机;原来我在一个光电所,做YAG激光治疗机的控

制部分,脉冲激光机的电源放电的时候,能量是很大的,在采取了所有能够想到的

光电隔离等措施之后,还是不行;后来,选用了intel的8031,就可以了。小声的

说:当时的philips的单片机抗干扰性能是最差的,可能跟Philips主要是用在民用

领域有关。现在不知道怎么样了,有人知道的话告诉我。

单片机的输入输出口线是最容易引进干扰的地方;在严重干扰的情况下,需要将所

有的口线光电隔离。

3. 晶振:一般选用11.0592M,因为可以准确地得到9600波特率和19200波特率;也

可以使用36.864M,这个频率是1.8432M的20倍,看别人的电路板上用过,我也没有

用到。这2种晶振很容易买到,价钱跟12M的一样。书上说,12M的晶振也能得到

9600的波特率,但是,实际用的时候,会每隔一段时间就出错一次,好像累积误差

一样,比较奇怪。

即使你的单片机系统不使用RS232接口,也可以做一个Rs232,留着做测试,或者预

留等等,没有坏处。除非你的单片机系统的口线不够用了。

4. 磁片电容:22pf~30pf,可以在有些书上找到什么晶振频率对应什么容量的磁

片电容,但是,我都是随便拿来使用,反正在11.0592M下,都没有问题;如果你用

到了更高的频率,最好还是找找资料看看。

参见以下电路图:

如果你的单片机系统没有工作,检查步骤如下:

1. 查看门狗的复位输出,可能的话在电路板上加一个LED,下拉,这样看起来就更

方便;要是看门狗复位信号有,往下;

2. 查单片机,看看管脚有没有问题;一般编程器能够将程序写入,说明单片机是

好的;最好手头上准备一个验证过的单片机,内部有一个简单的程序,比如,在某

个口线上输出1个1秒占空比的方波等,可以使用万用表测量。

加一句:设计产品时,要在关键的地方:电源、串口、看门狗的输出和输入、I/O

口等加不同颜色的LED指示,便于调试;作为批量大的产品,可以去掉部分LED,一

方面是降低成本、一方面是流程保密;

3. 再查磁片电容,有些瓷片电容质量不行,干脆换了;顺便说一下,换器件最好

使用吸锡带,将焊盘内的锡吸干净,再将器件拔出,这样不会损伤焊盘内的过孔;

再将新的瓷片电容焊接上去的时候,用万用表量量是好的再焊;

4. 最后只有换晶振了;切记要买好的晶振,有些品牌质量比较好。

5. 以上按照以上步骤检测时,将无关的外围芯片去掉;因为有一些是外围器件的

故障导致单片机最小系统没有工作。

第二课 基本的芯片和分立器件
2.1 简述
2.2 74系列
2.3 CD4000系列
2.4 光耦与光电管
2.5 三极管
2.6 电容电阻
2.7 固态继电器
2.8 继电器
2.9 变压器和三端稳压器
2.10 开关电源芯片
2.11 封装知识、芯片批号等
2.12 接插件
2.13 器件选购的知识
第三课 数字量的输入输出
第四课 单片机的通讯接口
第五课 单片机系统设计的硬件构思
第六课 单片机程序的框架(汇编版本)
第七课 模拟量的输入输出
……
各位多提宝贵意见。
保证实用。如果程序里面有一些例程,也是已经经过测试可以拿来就用的;实际上

是我早年的一些产品的程序的一部分;不好意思,都是汇编的。
写的时间只有周末会多一些,可以保证做到一周一课;尽量能够提前,但是这要看

看工作忙不忙了。
坊间有一些参考书,准备今天上午到北京中发市场转了一圈,我记得以下参考书目

较好:
1. 周航慈:《单片机程序设计》
2. 徐涵芳:《MCS-51单片机结构与设计》
3. 何立民:《......》

有了这些就基本够用了;其它的很多都是资料的翻译;如果英文不好,可以看看;

英文好的话,可以不必了,省电钱买开发系统和编程器、开发板什么的,需要什么

资料直接下载PDF文件好了。
要想成为电子工程师,需要宽带,在家里安装包月的adsl或者长宽,绝对值得。
实际上,网络上什么都有了,就是一个网络数据库,要好好利用。
网上自有黄金屋,网上自有颜如玉……

第二课 基本的芯片和分立器件
2.1 简述
有必要对以下系列的芯片和分立器件进行介绍。
除了单片机作为控制器的核心外,作为一个产品,由很多东西构成;所以,在讲系

统之前,先将这些零零碎碎的东西一并交待。就好像一栋房子,有各种各样的构件

组成,下面的这些东东就像砖瓦一样,没有不行。

2.2 74系列芯片
74系列的芯片的下载地址:
http://www.dainau.com/TTLDATASHEET.htm
http://www.100y.com.tw/asp/class36_40.htm
http://www.mcu51.com/download/digitpdf/74xx/default.htm

74系列的芯片是古老的一族,大部分的芯片现在均已不用了,但是,实际上,在目

前的系统中,还能看到一些芯片,有些芯片现在还在系统中使用,例如:

1、 7404 – 6个反相门

下载地址:
http://www.hqew.com/document/detail.asp?pdid=125533
将输入的TTL逻辑反相,如:0->1,1->0

2、 7407 – 6个集电极开路门

下载地址:
http://www.hqew.com/document/detail.asp?pdid=125518
由于集电极开路门可以外接高电压,可以最高到DC30V,电流最大到39mA,通常我

用它驱动8字数码管和继电器等大电流的负载;开路门内部结构是达林顿管的,输

出的逻辑是正的;
与其类似的芯片是7406,只不过是反相开路门。

3、 74LS573与74LS373 – 8 数据锁存器

74LS373下载地址:
http://www.hqew.com/document/detail.asp?pdid=129171
74LS573下载地址:
http://www.yddz.net/yddzsourse/pdf/74hc573.pdf

引入几个概念:
1. 真值表

参见74LS373的PDF的第2页:
Dn LE OE On
H H L H
L H L L
X L L Qo
X X H Z

这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况。
每个芯片的数据手册(datasheet)中都有真值表。
布尔逻辑比较简单,在此不赘述;

2. 高阻态

就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以

多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯

片烧毁;
高阻态的概念在RS232和RS422通讯中还可以用到。

3. 数据锁存

当输入的数据消失时,在芯片的输出端,数据仍然保持;
这个概念在并行数据扩展中经常使用到。

4. 数据缓冲

加强驱动能力。74LS244/74LS245/74LS373/74LS573都具备数据缓冲的能力。

OE:output_enable,输出使能;
LE:latch_enable,数据锁存使能,latch是锁存的意思;
Dn:第n路输入数据;
On:第n路输出数据;

再看这个真值表,意思如下:
第四行:当OE=1是,无论Dn、LE为何,输出端为高阻态;
第三行:当OE=0、LE=0时,输出端保持不变;
第二行第一行:当OE=0、LE=1时,输出端数据等于输入端数据;
结合下面的波形图,在实际应用的时候是这样做的:
a. OE=0;
b. 先将数据从单片机的口线上输出到Dn;
c. 再将LE从0->1->0
d. 这时,你所需要输出的数据就锁存在On上了,输入的数据在变化也影响不到输

出的数据了;实际上,单片机现在在忙着干别的事情,串行通信、扫描键盘……单

片机的资源有限啊。
在单片机按照RAM方式进行并行数据的扩展时,使用movx @dptr, A这条指令时,这

些时序是由单片机来实现的。
后面的表格中还有需要时间的参数,你不需要去管它,因为这些参数都是几十ns级

别的,对于单片机在12M下的每个指令周期最小是1us的情况下,完全可以实现;如

果是你自己来实现这个逻辑,类似的指令如下:

mov P0,A ;将数据输出到并行数据端口
clr LE
setb LE
clr LE ;上面三条指令完成LE的波形从0->1->0的变化

74ls573跟74LS373逻辑上完全一样,只不过是管脚定义不一样,数据输入和输出端

各在一侧,PCB容易走线;所以大家都喜欢使用这个芯片。

4、 74LS244 – 数据缓冲器

下载地址:
http://www.mcu51.com/download/digitpdf/74xx/74F244.pdf

数据输出能力比较强,输出电流可以到40mA以上;
4个缓冲器分成2组,具有高阻态控制端口

5、 74LS245 – 总线缓冲器

http://www.mcu51.com/download/digitpdf/74xx/74F245.pdf

双向数据接口,通常在ISA板卡上可以看到;
早期的51系统中,为了扩展RAM、eprom、A/D、D/A、I/O等经常可以看到这个片子


为了增强驱动能力,有时是为了隔离输入和输出,主要是布线方便,象74LS573一

样,输入、输出在一侧,经常用到这个片子

6、 74LS138 – 三-八译码器

http://www.mcu51.com/download/digitpdf/74xx/74F138.pdf

在早期的51系统的扩展中,作为地址选通的片子,可以经常看到。
另外一个类似的芯片是74LS154,是4-16译码器,现在更是少见了。
有兴趣的可以研究一下何立民的经典着作中的有关章节。
知道有这么一个芯片就可以了。

2.3 CD4000系列

CD4000系列的芯片,除了跟74系列的电气特性有所区别外,例如:
1) 电压范围宽,应该可以工作在3V~15V,输入阻抗高,驱动能力差外,跟74系列

的功能基本没有区别;
2) 输入时,1/2工作电压以下为0,1/2工作电压以上为1;
3) 输出时,1=工作电压;0=0V
4) 驱动能力奇差,在设计时最多只能带1个TTL负载;
5) 如果加上拉电阻的话,至少要100K电阻;
6) 唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数/

分频器,这个74系列的做不到这么高;
下载地址:
http://www.100y.com.tw/asp/class36_40.htm
http://www.100y.com.tw/pdf_file/CD4060.PDF

2.4 ULN2003/ULN2008

它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一

个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA,饱和压降

VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算

。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)

等外接控制器件,也可直接驱动低压灯泡。

经常在工控的板卡中见到这个芯片。
有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是管脚与

2003完全兼容。

ULN2003可以驱动7个继电器;ULN2008驱动8个继电器。

ULN2003下载地址:
http://www.hqew.com/document/detail.asp?pdid=148212
ULN2008下载地址:
没有找到。奇怪啊。

2.5 光耦

光耦是做什么用的?光耦是用来隔离输入输出的,主要是隔离输入的信号。
在各种应用中,往往有一些远距离的开关量信号需要传送到控制器,如果直接将这

些信号接到单片机的I/O上,有以下的问题:

1) 信号不匹配,输入的信号可能是交流信号、高压信号、按键等干接点信号;
2) 比较长的连接线路容易引进干扰、雷击、感应电等,不经过隔离不可靠

所以,需要光耦进行隔离,接入单片机系统。

常见的光耦有:
1) TLP521-1/ TLP521-2/ TLP521-4,分别是1个光耦、2个光耦和4个光耦,HP公司

和***的东芝公司生产。

下载地址:
http://www.100y.com.tw/pdf_file/TLP521-1-2,4.PDF

发光管的工作电流要在10mA时,具有较高的转换速率;
在5V工作时,上拉电阻不小于5K,一般是10K;太小容易损坏光耦;

2) 4N25/4N35,motorola公司生产
下载地址:

http://www.100y.com.tw/pdf_file/4N25-8,35-7,H11A1-5.PDF
隔离电压高达5000V;

3) 6N136,HP公司生产

下载地址:
http://www.100y.com.tw/pdf_file/6N135-6.PDF
要想打开6N136,需要比较大的电流,大概在15~20mA左右,才能发挥高速传输数据

的作用。
如果对速率要求不高,其实TLP521-1也可以用,实际传输速率可以到19200波特率



选择光耦看使用场合,tlp521-1是最常用的,也便宜,大概0.7~1元;
要求隔离电压高的,选用4N25/4N35,大概在3元左右;
要求在通讯中高速传输数据的,选用6N136,大概在4元左右。

光耦应用的原理框图如下所示:
1. 输入干接点隔离

2. 输入TTL电平隔离

3. 输入交流信号隔离

4. 输出RS232信号隔离

5. 输出RS422信号隔离

光耦除了隔离数字量外,还可以用来隔离模拟量。将在今后的章节中描述。

2.6 三极管
2.7 光电管
2.8 电容
2.9 电阻
2.10 固态继电器
2.11 继电器
2.12 变压器与整流桥
2.13 三端稳压器
2.14 开关电源芯片
2.15 封装知识、芯片批号等
2.16 接插件
2.17 器件选购的知识
2.6 三极管

2.6.1 三极管的4种工作状态

1) 饱和导通状态

饱和导通=0

2) 截止状态

饱和导通=1

3) 线性放大状态

作为低频放大器时使用,具体的可参见有关电子线路的书籍;

4) 非线性工作状态

在无线电通信系统中,作为混频器等使用。具体的可参见有关电子线路的书籍;
愚记得南京工学院也就是现在的东南大学在80年代初期有一套《电子线路》5本,

是电子专业的书籍,比较难懂;现在,即使是在电子专业的学生中,也应该降低了

对三极管的哪些复杂的参数的要求了吧;在实际使用时,即使是模拟电路、非线性

电路,也都是集成电路了,谁还使用三极管自己做呢?如果万一需要,现学也来得

及。这套书很强的。编写人在那个年代肯定都是牛人。

学三极管这些参数很繁琐的,要是现在的非电子类的大学生或者大专生们还学这些

玩意,我只能说是学校在误人子弟了。

好多学校都在扩招,很多学生念了4年下来,学了一堆过时的理论,跟实际的东西

一点没有接轨,不知道7407是干什么用得,不知道三极管的几个状态;我只能无话

可说。

所以,念了4年下来,跟企业的需求还有一段距离,还需要从头来过;聪明的学生

赶紧抓住机会去学习,去实习,这样,还可以赶紧补上实际应用的这一课。

言归正传。

参见下图:

当单片机的口线输出电平为1时,三极管的be结导通,ce结导通,输出的电压值为

0V;
当单片机的口线输出电平为0时,三极管的be结不导通,ce结截止,输出的电压值

为5V;

在这种数字电路的应用中,相当于三极管是一个反相开路门。

计算是否导通,公式如下:

I=B(放大倍数,希腊字母的贝塔)×Ibe

当Ice<I时,即为饱和导通;

相差越大,饱和程度越深,Vce越小,三极管的输出内阻越小;

这个概念要用到光电管中。

设计使用时大概算算,心里有个数;在电路板上试试,行的通,那就是它了。可以

测量Vce值,至少要小于0.1V就可以了。

常用的PNP三极管是2N5551,驱动40mA的LED(电压在24V)、蜂鸣器等均没有问题



2.6.2 三极管的具体应用

实际上,已经有象7407、ULN2003可以取代三极管在数字电路中的作用;但是,有

时是受到PCB面积的制约,有时是为了降低成本,有时是因为布局方便,在1~2个输

出点时,还是可以使用三极管来做驱动的。

例如:驱动一个蜂鸣器;往往系统中的蜂鸣器跟其它驱动设备,继电器等,距离较

远;这时,没有必要使用一片7407,或者ULN2003来驱动;驱动的接口如下:

Re:从51初学者到电子工程师(转帖)

2.7 光电管

我这里所谓的光电管有2种:

1) 反射型光电管
2) 对射型光电管

这2种产品在市场上又可分为调理好的和没有调理好的;

这2种光电管在电子产品世界和电子技术应用杂志上都有大量的广告。随便找一本

都有。

我所说的调理好的指的是内部已经加了限流电阻和输出的放大驱动电路了。它的特

点是只有3根线,电源2根,输出信号一根,TTL电平的;但是,有时受到某种限制

,需要使用没有调理好的,怎么办呢?

参见下图:光电管原理框图

这种没有调理好的光电管在使用时,需要做一块小的电路板,在发光管加限流电

❸ ZYNQ+linux网口调试笔记(3)PL-ETH

在ZYNQ上使用gigE Vision协议的网络接口相机。

第一步:调通PS侧网口GEM0(Xilinx BSP默认配好)。

第二步:调通PS侧网口GEM1(见前一篇文档:开发笔记(1))。

第三步:调通PL侧网口(本文阐述)。

第四步:在PL侧网口上验证Jumbo Frame特性,并在应用层适配gigE Vision协议。

根据《xapp1082》可知,PL侧的PHY支持1000Base-X和SGMII两种配置,这两种配置对应两种不同的PHY引脚接口(连接到MAC)。而我们的hdf文件使用的是1000Base-X的配置。

关于网口的Linux驱动,我们在官网找到一份资料: Xilinx Wiki - Zynq PL Ethernet 。资料很长,我们只看与我们相关的2.4.1 PL Ethernet BSP installation for 1000Base-X”这一章节就可以了。

首先导入FPGA设计同事提供的hdf文件:

在弹出的图形界面里,进入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet,确认可以看到PL侧网络设备axi_ethernet_0,说明hdf文件里已包含了必要的网口硬件信息:

上图中被选中的网口将成为Linux上的设备eth0。这里我们默认选择ps7_ethernet_0,即使用GEM0作为首选网口。

启用Xilinx AXI Ethernet驱动

进入Device Drivers -- Network device support – 选中Xilinx AXI Ethernet(以及Xilinx Ethernet GEM,这是PS侧网口的驱动)

进入Networking support – 选中 Random ethaddr if unset

进入Device Drivers -- Network device support -- PHY Device support and infrastructure – 启用Drivers for xilinx PHYs

进入~~~~Device Drivers -- DMA Engine Support -– 禁用~~~~Xilinx AXI DMAS Engine~~~ (对应的配置项名为 ~~ CONFIG_XILINX_DMA ~~~)

注意: Xilinx Wiki里对设备树节点的引用有误(&axi_ethernet),导致编译报错,应改为&axi_ethernet_0。

注:PL-ETH驱动所在路径:<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.c和xilinx_axienet_mdio.c。对应的内核配置项为CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。

启用ethtool和tcpmp(调试用,非必须):

然后将生成的BOOT.BIN和image.ub拷贝到SD卡根目录下,将SD卡插入板子上,上电运行。

上电后,使用ifconfig eth1查看网口信息,观察MAC地址与设置的一致,且ifconfig eth1 192.168.1.11 up没有报错。

测试网络通路:ping PC是通的。说明网口工作正常。

Linux下eth1(即PL-ETH)的MAC地址有误

问题描述:

开机打印:

注意:

MAC地址是错的,驱动里解析出的是GEM0的MAC地址。

试验发现,即使在system-user.dtsi里不写local-mac-address,也照样解析出的是GEM0的MAC。

而将system-user.dtsi里的local-mac-address改名为pl-mac-address,并将驱动里解析的字符串也对应更改为pl-mac-address,则可以正确解析出来:

Passing MAC address to kernel via Device Tree Blob and U-Boot:

http://zedboard.org/content/passing-mac-address-kernel-device-tree-blob

通过更改u-boot环境变量和设备树,为每个板子设置一个独特的MAC地址:

https://www.xilinx.com/support/answers/53476.html

U-Boot里的环境变量ethaddr会覆盖掉设备树里pl-eth的local-mac-addr字段,从而影响Linux启动后的网卡MAC地址;

但U-Boot里的环境变量ipaddr不会对Linux启动后的配置产生任何影响。因为设备树里根本就没有关于IP地址的配置。

phy-mode怎么会是sgmii?查了下官方的提供的BSP里,也是“sgmii”。说明这个没问题。具体原因不清楚。

@TODO: 设备树里的中断号的顺序如何影响功能?

为何读出来的IRQ号不对呢?这是因为这里读到的不是硬件的中断号,而是经过系统映射之后的软件IRQ number。两者不具有线性关系。

关于中断号的疑问:

Linux上的网口eth0、eth1的顺序,似乎是按照phy地址从小到大来排布的。

Xilinx xapp1082-zynq-eth.pdf (v5.0) July 16, 2018

https://www.xilinx.com/support/documentation/application_notes/xapp1082-zynq-eth.pdf

Xilinx Wiki - Zynq PL Ethernet:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841633/Zynq+PL+Ethernet

Xilinx Wiki - Linux Drivers:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841873/Linux+Drivers

Xilinx Wiki - Linux Drivers - Macb Driver:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver

Xilinx Wiki - Zynq Ethernet Performance:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841743/Zynq+Ethernet+Performance

查到关于Jumbo frame MTU的定义,当前值为9000,可否改大一些?

驱动源码里关于jumbo frame的说明:

设置MTU为9000,发现ping包最大长度只能设为ping 192.168.1.10 -s 1472

https://lore.kernel.org/patchwork/patch/939535/

【完】

阅读全文

与以太网pdf相关的资料

热点内容
游戏aoi算法 浏览:842
phpmysqlint 浏览:910
怎么从appstore商城买东西 浏览:182
大秀直播平台源码 浏览:418
java视屏 浏览:932
电脑中如何给程序加密 浏览:238
java排序容器 浏览:942
职称证书在哪个app下载 浏览:362
四九算法算男女 浏览:659
javawindows8 浏览:496
2021世界程序员节 浏览:484
php翼支付 浏览:882
盈通服务器ip地址 浏览:789
3des算法的c语言实现 浏览:873
网上怎样购买服务器地址 浏览:813
新氧app都在哪个城市 浏览:731
十二大加密货币图片 浏览:315
数据库日志自动压缩 浏览:929
手机表格文档用哪个app 浏览:77
找人开发app的公司怎么样 浏览:652