史密特觸發器-Schmitt trigger

1.目的

Schmitt trigger,中文翻譯好像很多說法,史密特、施密特等等,總之就是Schmitt trigger。

維基百科對於Schmitt trigger的介紹相當的文言文似乎有點不太好理解(點我點我點我),Schmitt具有抗干擾作用,但是會產生延遲的效果,其輸出可為0、1兩種狀態,在數位電路中經常被拿來使用。

Schmitt如何達到抗干擾的作用,其原理是定義兩個不同的閥值(Threshold),透過兩個不同的閥值定決定輸出的結果。

20150918-1

由上圖可以看出,當輸入訊號越過正向閥值時,輸出轉態為1,當訊號低落時,必須越過負向閥值時才會轉態為0,故正向閥值與負向閥值此中間區域為一模糊區域,也就是抗干擾濾波時的作用區,而所謂的延遲現象也就是看該模糊區的範圍寬窄而定義,與比較器不同的地方在於,比較器是將兩者輸入訊號相比,當訊號兩者不相等時,則改變輸出狀態(實務上也很難相等),故純比較器的結過會如下圖:

20150918-2

在實務上時使用時,必須依據實際的情況來決定需要哪種輸出的型態,通常假使輸出狀態不需要太敏感,且可能會有干擾的情況(例如輸入訊號帶有雜訊、飄動等可能,則Schmitt或許可以是一個不錯的選擇。

通常在實務設計上,我們會盡可能的避免採用絕對值的判斷方式,其原因有

1.作為絕對值得設計是很難掌控生產(每個元件均有誤差)。

2.絕對值不能保證絕對不受環境影響(溫度、濕度、壓力)。

3.絕對值得產出會使得成本增加。

4.絕對值的條件如果沒有很穩定,則產品就會非常不穩定。

諸如上述種種原因,故我們通常設計時會採用相對的概念,而Schmitt trigger在一般做控制時也是很好用的一種相對概念的濾波功能。

2.硬體Schmitt trigger

硬體的Schmitt trigger通常會直接使用IC來做,例如HEF4093,亦或者配合比較器、運算放大器來使用,其作法是使用一回授偏壓電阻,使其改變參考電壓。

20150918-3

3.軟體Schmitt trigger

軟體的Schmitt就是要依據輸出狀態而改變輸入條件判斷值,例如使用A/D量測電壓作為ON/OFF判斷時,我們可以有類似這樣的作法

uint8 swLogic(float inputVolt)
	{
	static float threshold = 2.7;
	
	if (inputVolt > threshold)
		{
		threshold = 2.3;
		return SW_ON;
		}
	else if (inputVolt < threshold)
		{
		threshold = 2.7;
		return SW_OFF;
		}
	
	}

使用軟體的方式改變判斷點參數,就可以製造出模糊區域,例如上述程式以2.5V為基準,於正閥值判斷點為2.7,於反向閥值判斷點為2.3如此一來就有0.4的模糊空間,就可以有效的容許干擾產生,然而當模糊間距越大時,也就代表實際反應速度會越慢,此必須經過實務上校調才會得到理想結果。

發表迴響