日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > strongerHuang
[導讀]學習電子工程的過程中離不開大量的實驗和動手練習,就如同開車一樣,學習理論數(shù)載,如果從來沒有打幾把方向盤,踩幾腳油門然后再被教練緊急剎車幾次,仍然不會開車。正所謂,看別人做一百次,不如自己練一次。

來源 |?硬禾學堂

二次編排?| strongerHuang


學習電子工程的過程中離不開大量的實驗和動手練習,就如同開車一樣,學習理論數(shù)載,如果從來沒有打幾把方向盤,踩幾腳油門然后再被教練緊急剎車幾次,仍然不會開車。正所謂,看別人做一百次,不如自己練一次。


1、門電路原理

在數(shù)字電路中,門電路是最基本的構成單位,可以說,任何復雜的數(shù)字電路系統(tǒng)都可以通過我們耳熟能詳?shù)呐c門,非門,或門,與非門,異或門等等組合實現(xiàn)。


對于各種門電路的邏輯特征,想必大家都掌握得爐火純青,腦海里可以毫無壓力地隨時浮現(xiàn)著各種0和1的組合。


然而,搭建一個門電路實驗卻并不容易!我們以下面的與非門電路為例。

圖1 與非門電路

表1 與非門真值表

X
Y
Z
0
0 1
0
1
1
1
0
1
1
1 0


傳說中,如果想做一個與非門的數(shù)字電路實驗,可以通過以下兩種方法:
  • 熱愛模電的朋友們可以通過MOS管+面包板+電源+跳線以及若干小時的反復調(diào)試。
  • 土豪朋友們對此不屑一顧,直接拍幾千塊買一臺數(shù)字電路實驗儀。

當然,既沒有那么熱愛模電,也沒有那么多軟妹紙的朋友門仍然有更合適的辦法,那就是通過邏輯芯片。比如大家熟悉的7400系列的邏輯芯片,只需要接上電源,再配上開關,LED等器件,就可以通過實驗方式對與非門的邏輯和電氣特性進行直觀地學習,比如采用7400 Quad2的與非門邏輯芯片。


圖2 與非門邏輯芯片


因為我們要觀察實驗現(xiàn)象,因此需要配上開關和LED燈,使得實驗可以可視化。當然,作為習慣了課上學習1+1=2,考試見到

的后浪,肯定不能滿足于這個簡單的實驗?,F(xiàn)在,在上一個練習的基礎上,我們來嘗試構建以下門電路組合。

圖3 組合門電路


2、門電路實現(xiàn)

以下是某位同學獨特的實現(xiàn)方式:


圖4


雖然我們還通過軟件仿真的方式構建上述電路并觀察波形,然而和電路上進行實打?qū)嵉牟僮飨啾冉K究是有質(zhì)的差別。畢竟靠著模擬飛車駕齡20年資歷上路還是要被警察叔叔帶走的。
不難看出,畫門電路容易,對門電路進行實驗很難,對各式各樣奇葩組合的門電路進行實驗更是難上加難。然而這一切在FPGA面前都只是談笑風生。
FPGA,英文全稱Field Programmable Gate Array,是一種可以通過某百科或搜索引擎查找到并且看了之后不明覺厲的東西。在此,我們主要介紹一下FPGA的部分特點,以及如何使其與數(shù)字電路實驗進行結合。
首先問大家一個問題:我們在計算3x7=21或者5x8=40的時候,有誰是通過最原始的乘法原理推導并計算出來的,如果有,請在底部留言并獲得所有人的膜拜。相信大部分人都可以在半秒內(nèi)給出準確答案,為什么?因為我們都背過九九乘法表,只要是在這個范圍內(nèi)的任意乘法我們的大腦都可以瞬間對應出計算結果。相信大家對當年的112=121,122=144,132=169…等等還歷歷在目。
之所以我們可以在一定范圍內(nèi)進行準確和快速的計算,是因為我們的大腦里儲存了一個擁有大量數(shù)據(jù)的查找表,在一定范圍內(nèi)的輸入數(shù)據(jù)我們都可以迅速在表中找到對應答案。其實,F(xiàn)PGA的運算處理方式就類似于我們的大腦。它擁有一個可以儲存大量數(shù)據(jù)的查找表,只要我們通過程序定義出輸入與輸出之間的邏輯關系,F(xiàn)PGA就可以按照該邏輯關系自行對其內(nèi)部結構進行重新定義,直白地說,就是我們可以隨時給FPGA進行洗腦,而后者可以永遠不計回報,心甘情愿地被洗腦。
接下來,我們就快速展示一下如何通過FPGA展示圖3所示的門電路。既然要對FPGA進行洗腦,肯定需要語言。在這里我們采用簡單通俗的Verilog語言,通過描述門電路的方式,以16行代碼輕松在FPGA上搭建上述門電路。
module custblock ( input?wire?A, //定義輸入A input?wire?B, //定義輸入B input?wire?C, //定義輸入C input?wire?D, //定義輸入D output?wire?Y1, //定義輸出Y1  output?wire?Y2 //定義輸出Y2 );  wire??s1,s2,s3; //定義中間變量  nand?(s1,A,B); //(輸出,輸入,輸入)  or (s2,C,D); //?調(diào)用基本門電路  xnor?(Y1,s1,C);  and (s3,C,s2);  xor?(Y2,C,s3); endmodule

將上述代碼導入FPGA之后,就等于在FPGA上構建出了一個模塊,輸入端分別是A,B,C,D,輸出端分別是Y2,Y1,且內(nèi)部結構和圖3中所示的功能完全一樣。

圖5


不過,對于實驗來說,僅僅在FPGA上搭建出該門電路模塊還是不夠的,我們還需要允許實驗者對該電路進行調(diào)試并觀察現(xiàn)象,因此還需要有相應的可操作/觀察元件與FPGA配合使用。接下來就是我們備受歡迎的小腳丫FPGA登場的時候了。

圖6 小腳丫FPGA核心板


從示意圖中可以看出,小腳丫FPGA帶有多個板載外設,如開關,LED和數(shù)碼管等,可以對絕大部分數(shù)字電路進行生動的實驗操作。小腳丫配有USB下載器,可以通過一根USB線實現(xiàn)供電和程序下載。板上的36個多功能I/O接口可以進行項目擴展,且封裝采用DIP40尺寸,因此可以與面包板完美結合。


以下是通過我們小腳丫FPGA對該電路進行的實驗。我們采用板載的4個撥碼開關和2個LED(低電平亮)分別作為模塊的4路輸入和2路輸出,并且通過調(diào)節(jié)輸入來觀察輸出結果。上下兩圖分別所對應的輸入分別為:0001和0101,我們也觀察到了在兩種情況下的LED狀態(tài)。

圖7 實驗結果

------------ END ------------


推薦閱讀:
精選匯總 | 專欄 | 目錄 | 搜索
精選匯總 | ARM、Cortex-M
精選匯總?| ST工具、下載編程工具
關注 微信公眾號『嵌入式專欄』,底部菜單查看更多內(nèi)容,回復“加群”按規(guī)則加入技術交流群。


免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉