導航:首頁 > 文檔加密 > 乙太網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相關的資料

熱點內容
安卓如何禁止手機自動降頻 瀏覽:695
一份加密不緊急的上行文 瀏覽:415
伺服器c5是什麼意思 瀏覽:440
基礎程序員證 瀏覽:423
如何防止伺服器被偷油 瀏覽:287
安卓導入存儲聯系人怎麼不見了 瀏覽:101
微信遮圖打賞源碼 瀏覽:171
安卓平板圖片照片徹底刪除了怎麼辦 瀏覽:442
怎樣查看指標源碼 瀏覽:529
貓和老鼠哪個app好玩 瀏覽:716
網易有愛登錄器在哪個文件夾 瀏覽:244
iis6壓縮 瀏覽:140
redisphp擴展mac 瀏覽:199
狀態鏈路演算法 瀏覽:316
毛豆app裡面購車合同在哪裡 瀏覽:563
程序員上臂式電腦 瀏覽:57
php檢測中文 瀏覽:101
壓縮性骨折半年 瀏覽:561
如何雲伺服器解壓文件 瀏覽:932
單片機93加9E的psw 瀏覽:723