2020/3/2

關於電路以及數位電路和類比電路的比較

 

 

前言



首先,我想先談談電路這個東西,因為電路的領域很廣泛,
只要在一個迴路上能夠產生電流的構造就可以稱為是一個電路,
而積體電路則可以說是電路的子集,也就是專指在固體材料(通常是半導體)上構成的微小電路,而微電子學(Microelectronic)就是在研究這種電路,通常在空間長度上以微米或奈米為單位。
電路的功能主要是用來解決實際的問題,而所有電子學應用都涉及訊息或能量的傳輸。 





以下提及數位電路及類比電路的內容整理自維基百科及一些自己的註釋和修改。
------------------------------------------

數位電路(Digital electronics

由許多的邏輯閘組成的電路。
主要進行數位訊號的處理,即訊號以0與1兩個狀態表示,因此抗干擾能力較強。
有各種閘電路正反器以及由它們構成的各種組合邏輯電路和序向邏輯電路。
一個數位系統一般由控制部件運算部件組成,在時脈的驅動下,控制部件控制運算部件完成所要執行的動作。

優點
  • 穩定性好。不像類比電路那樣易受雜訊的干擾。
  • 可靠性高。數位電路中只需分辨出訊號的有與無,故電路的元件參數,可以允許有較大的變化(漂移)範圍。
  • 能長期儲存。數位資訊可以利用某種媒介,如磁帶、磁碟、光碟等進行長時期的儲存。
  • 便於電腦處理。
  • 便於高度整合化。由於數位電路中基本單元電路的結構比較簡單,而且又允許元件有較大的分散性,這就使我們不僅可把眾多的基本單元做在同一塊矽晶圓上,同時又能達到大批次生產所需要的良率。

類比電路(Analog electronics

涉及連續函數形式類比訊號的電子電路。
「類比」二字主要指電壓(或電流)對於真實訊號成比例的再現。類比系統的訊號總是會遇到雜訊干擾的問題,而且小干擾的偏差還會累積起來,因此訊號較易受到干擾。
雜訊的來源:電路系統隨機的熱偏差、外部訊號干擾、設計欠佳的電子元件、原始訊號在長距離傳輸過程中的損耗、被放大器放大的小干擾。
降低雜訊的方法:使用遮蔽導線,或者在電路中引入低雜訊放大器(Low Noise Amplifier)。
類比電路常用的元件:


比較

訊號的表達方式:類比為連續性,數位為離散的0與1
雜訊:類比 > 數位
精度:類比訊號的解析度由物理層面的影響決定。數位訊號利用增加訊號的位數來增加解析度。
設計難度:類比 > 數位
 
對類比訊號能夠執行的操作,例如放大、濾波、限幅等,都可以對數位訊號進行操作。
事實上,所有的數位電路從根本上來說都是類比電路,其基本電學原理,都與類比電路相同。
CMOS就是由兩個類比的MOS構成的,其對稱、互補的結構,使它恰好能處理高低數位邏輯電平。
ps. 若在數位電路強行引入任意類比訊號而不進行額外處理,則可能造成量化雜訊

電子學發展史上第一個被發明出來並得到大規模生產的器件是類比的。後來,隨著微電子學的發展,數位技術的成本大大降低,加之計算機對於數位訊號的要求,使得數位式的方法在人機互動等領域具有可行性和較高的性價比。

類比電路是數位電路的基礎,數位電路可以看作是類比電路的一種特殊形式。
 (類比的固態元件做成數位的邏輯閘) 


數位電路與類比電路的橋樑

通過類比數位轉換器數位類比轉換器,數位電路可以和類比電路互相連接。
轉換位數是類比數位轉換器的一項關鍵參數。



PS.微電子學與訊息技術的關係

微電子學是一門發展極為迅速的學科,發展方向為高集成度、低功耗、高性能、高可靠性是。
訊息技術發展的方向是多媒體(智慧化)、網絡化和個體化。要求系統獲取和儲存海量的多媒體訊息、以及高速度精確可靠的處理和傳輸這些訊息並及時地把有用的訊息顯示出來或用於控制。所有這些只能依賴於微電子技術的支持才能成為現實。

超高容量、超高速、超高頻、超低功耗是訊息技術無止境的追求目標,是微電子技術迅速發展的動力。


-------------------------------------------------
資料來源:
[1] 類比電路,Wikipedia
[2] 數位電路,Wikipedia
[3] 微電子學,Wikipedia


2020/1/13

摩爾定律後的IC設計將何去何從?

這篇文章是看了以下的影片才產出的,
先說喔,我沒有完整看完,不過還是大致摘要一下重點。



這個影片來自IEEE SSCS(Solid-State Circuits Society,固態電路學會)的 Youtube 頻道,內容是 CICC(Custom Integrated Circuits Conference)2019 會議的其中一講。

講者:
Dr. Greg Yeric



有一點積體電路基本背景知識的人大概知道摩爾定律(Moore’s Law)在半導體製程上的神預測吧!隨著晶片做得越來越小(10nm->7nm->5nm->3nm->2nm-> ?)IC設計也面臨了新的挑戰。
在縮小晶片的過程中,我們將研究日益複雜的縮放方法,這些方法可能會啟用更多的摩爾定律節點。這是目前比較簡單的事了!

同時,新技術可能會在短期和短期內為我們提供其他的發展工具。在不久的將來,先進的封裝技術和新型的非揮發性記憶體(Non-Volatile Memory,縮寫:NVM)將變得可用,從長遠來看,我們可能會看到完全不同的計算技術,例如自旋電子學(spintronics),低溫計算(cryogenic computing)和光子學(photonics)。

講者用一些實際的例子提出,在 3DIC 和 eNVM 上仍有非常多電路設計的空間。
在軟體上,EDA 工具也有很多新功能可以去做,像是 3DIC 的設計工具。




在 CMOS 製程之後呢?



 講者提出,往後的製程將很有可能往 3DIC 和異質結構的方向前進,而電路設計方面則會往系統設計(System-Level)的方向發展。

2018/1/30

練英打的網站 - Typing.com

今天來分享一個近期發現的練英打的網站:Typing.com
進入首頁後點選 Typing Lessons >> 就可以開始練習囉!

這個網站是國外做給小朋友練習打字的,練習的方式如同玩遊戲闖關一般,將英文字依照常用頻率去設計關卡,一步步的打造使用者紮實的英打能力。


對於母語不是英文的其他想學/練英打的朋友們,我非常推薦,
因為他不只提供非常細膩且充足的練習,而且介面還很好看,甚至可以從內建介面中挑選自己喜歡的背景。

另外有個方便的點是透過註冊帳號或者連結你的google帳號就可以記錄練習的資料,每次練習完一個階段,系統會依照你打字的準確度給予星星,收集星星還能得到一些徽章、成就,是個很容易上癮的練習系統呢XDD

練習累了,還可以去旁邊的 Typing Game 玩一下,同樣是打字,不過可以換成各種不同的遊戲,是不是很棒啊~~


想玩?
網址在這邊唷:https://www.typing.com/

2017/11/8

3dB頻寬

在討論運算放大器(OPAMP)(Operational Amplifier)時,我們常常會提到3dB頻寬,
但是到底什麼是3dB頻寬,又為什麼這很重要呢?


我們知道非理想放大器的gain都會隨著頻寬增大而往下降,
所以我們需要去定義一個頻率的範圍來認定這個放大器是不是個「好」的放大器,
這個頻率被定義為:
輸出功率降至最大功率的一半時的頻率(half-power frequency)(又稱截止頻率, cutoff frequency)


為什麼是3dB呢?
因為通常大家使用分貝度量放大器的頻率響應(gain)(Magnitude),而分貝使用的是以十為底的對數尺度(logarithmic scale),它可以清楚的表示非常大的數量變化。
使用log的另外好處是當把放大器串連的時候,可以直接用各部件的增益相加而不用相乘(log(A × B) = log(A) + log(B) )


什麼是對數尺度?
根據wikipedia:
對數尺度(logarithmic scale)是一個非線性的測量尺度,用在數量有較大範圍的差異時。像芮氏地震震級、聲學中的音量、光學中的光強度、及溶液的PH值等。
對數尺度是以數量級為基礎,不是一般的線性尺度,因此每個刻度之間的商為一定值。
若資料有以下特性時,用對數尺度來表示會比較方便:
  • 資料有數量級的差異時,顯示對數可以同時顯示很大的資料和很小的資料。
  • 資料有指數增長或冪定律的特性時,有對數尺度可以將曲線變為直線表示。

而我們在頻率響應的圖通常都是半對數圖,也就是只有一個座標軸(縱座標)用對數方式表示

以功率來算增益的話:
L = 10*log10(Po/Pin)
當 Po/Pin = 0.5 時:
L = 10*log10(0.5) = -3

以電壓來算增益的話: 
L = 20*log10(Vo/Vin)
因為P=V^2/R,當Po/Pin = 0.5時, Vo/Vin = sqrt(1/2) = 0.707
L= 20*log10(0.707) = -3


在這裡我們可以觀察到一件事:
功率比為2,約為三分貝(更精確地說是103/10或1.9953,與2相比較有0.24%的誤差)


所以-3dB這個數字就是這樣算出來的。
換句話說,如果想要找到截止頻率(cutoff frequency),就可以去找頻率響應中的-3dB gain point


「3db」的圖片搜尋結果

2017/11/4

控制理論的應用範例

以下節錄自:
When-should-one-use-control-theory, QUORA
What-are-some-widely-used-applications-of-control-theory-outside-engineering, QUORA
Is-control-theory-still-used-widely-in-electrical-engineering-What-about-embedded-systems-and-digital-analog-circuits, QUORA


翻譯是自己翻的,如有錯誤請不吝指教。
----------------------------------------------------------------
By Pulkit Nahata


控制工程是一個跨學科的領域而且不被限制在特定領域

作為一個電機工程的學生,你不能從一個有限的觀點來想像它
你會很驚訝地得知大部分主修/精通模型預測控制的是化學工程師

理論上的控制和實際上的控制有個不同,理論的目的是去給出一個在任何系統上普遍可應用的觀點,很多進階控制理論沒有任何實際的應用。PID控制則是隨處可見且用於百分之九十五的工業領域,在未來還是可以找得到應用。

你何時該開始學習控制理論:控制理論非常廣且大。有人完成他們的博士學位在特定的控制策略上,你不可能了解所有的控制理論(你不可能了解任何東西的所有事)

控制理論擁有廣大的應用,事實上是所有地方。首先建立一個數學背景,擁有一個特定背景後,尋找你的系統是甚麼以及有什麼特定的目的是你要達成的。使用你的系統接受且最好的策略

----------------------------------------------------------------
By Himanish Ganjoo,

I was working on the Gun Control System of the T-72 Main Battle Tanks. Obviously, I cannot meddle with the tank, so I designed a PID controller and added some compensators to the model of the tank gun movement, to mitigate the disturbances caused due to random accelerations of the tank and noise in signal transmission. I could then happily adjust the parameters of the PID controller to bring the time it would take a disturbance to die out to within 0.2 seconds.


a basic example - A chopper or DC-DC Converter
可以轉換DC電壓到另一個特定的DC電壓
在許多不同的系統當中,我們用有單電池供電,然而不同的零件需要使用不同大小的電壓,所以我們需要chopper
輸出電壓由一個特定開關脈波的運轉週期來控制,它被應用在其中一個電路中的開關


舉例,電壓轉換器可以把一個輸入電壓轉成更低的電壓,在這裡,Vout=D*Vin,D是運轉週期
現在,如果我知道我的Vin=30V 且想要Vout=24V,我會設定D=0.8,這樣我的輸出就被設定好了
如果我想要不管我的Vin是多少,Vout一直都被設在24V呢?我會需要去在各個時間測量我的輸入電壓,然後手動調整我的運轉週期去得到我想要的輸出電壓24V
我很懶惰,所以我做的是去建立一個控制回授來讓這個單調乏味的工作自動進行

我做的事情是:測量輸出電壓,並用一個我想要的電壓作為參考電壓去做比對,接著送出誤差訊號到可以轉換誤差到我脈波運轉週期的元件去得到我想要的輸出)  



由上圖你可以知道我是如何使用回授控制去控制我開關的波型。Transistor gate driver送出一個開關的脈波,運轉週期是由我的回授電路和補償器去控制

此外,你可能還會在你的第一堂控制理論課程上學到補償器設計的基本理論。你可以透過設計補償器去得到特定大小的穩定度以及改進響應。你可以對這些補償器做同樣的事,設計他們的轉移函數去改進頻率響應和unity-gain frequency







這就是我們在日常生活中使用控制理論的一個簡單例子。

2017/10/15

[AmebaRTL8195A] 玩玩網路功能

今天玩了一些範例:
CheckMac 可以印出Ameba8195的mac位址
ChackAP 可以連接附近的AP
ScanNetworks 可以掃描附近可以連接的AP

不過當USB斷線時,連接AP的狀態也會斷掉




在ScanNetworks裡面看到RSSI,查了資料以後發現在 wifi 和 802.11兩個關鍵字當中是個重要的參數呢

以下為資料節錄

--------------------------

From Metageek

What is RSSI and what does it mean for a WiFi network?

  • RSSI, or “Received Signal Strength Indicator”, is a measurement of how well your device can hear a signal from an access point or router. It’s a value that is useful for determining if you have enough signal to get a good wireless connection.
  • Note: Because an RSSI value is pulled from the client device’s WiFi card (hence “received” signal strength), it is not the same as transmit power from a router or AP.

From WIKI
  • the higher the RSSI number, the stronger the signal. Thus, when an RSSI value is represented in a negative form (e.g. −100), the closer the value is to 0, the stronger the received signal has been.



---------------------------
資料來源:

2017/7/9

clang簡介

昨天在練習c語言的時候,無聊的想查一下電腦的gcc版本是什麼,
使用的是 gcc --version 這個指令。
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.38)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
一查才知道原來電腦裡裝的是另一個代替gcc的編譯器---clang

[ 關於clang ]
是一個C、C++、Objective-C和Objective-C++程式語言的編譯器前端。它採用了底層虛擬機(LLVM)作為其後端。它的目標是提供一個GNU編譯器套裝(GCC)的替代品。作者是克里斯·拉特納,在蘋果公司的贊助支援下進行開發,而原始碼授權是使用類BSD的伊利諾伊大學厄巴納-香檳分校開源碼許可。
Clang專案包括Clang前端和Clang靜態分析器等。

這個軟體專案在2005年由蘋果電腦發起,是LLVM編譯器工具集的前端(front-end),目的是輸出代碼對應的抽象語法樹(Abstract Syntax Tree, AST),並將程式碼編譯成LLVM Bitcode。接著在後端(back-end)使用LLVM編譯成平台相關的機器語言 。Clang支援C、C++、Objective C。
在Clang語言中,使用Stmt來代表statement。Clang程式碼的單元(unit)皆為語句(statement),語法樹的節點(node)類型就是Stmt。另外Clang的運算式(Expression)也是語句的一種,Clang使用Expr來代表Expression,Expr本身繼承自Stmt。節點之下有子節點列表(sub-node-list)。
Clang本身效能優異,其生成的AST所耗用掉的記憶體僅僅是GCC的20%左右。FreeBSD 10將Clang/LLVM作為預設編譯器。

[ 效能 ]
測試證明Clang編譯Objective-C代碼時速度為GCC的3倍,還能針對使用者發生的編譯錯誤準確地給出建議


來源 : wikipedia

-----------------------
註:
在stackexchange上面查到可以找出電腦gcc的指令(但不知是取自哪)
gcc -dumpversion | cut -f1,2,3 -d. 


我的是4.2.1 (改-fl後面的1,2,3可選擇顯示版本小數點數 如 -fl1 輸出為4)