大家好,我是小小的電子之路,這是我的第12篇原創(chuàng)文章,很高興與大家一起分享~
原文出自微信公眾號(hào)【小小的電子之路】
門電路的兩個(gè)輸入信號(hào)同時(shí)向相反的邏輯電平跳變的現(xiàn)象叫做競(jìng)爭(zhēng),這種競(jìng)爭(zhēng)可能在電路的輸出端產(chǎn)生尖峰脈沖,這種現(xiàn)象稱為競(jìng)爭(zhēng)冒險(xiǎn)。
競(jìng)爭(zhēng)冒險(xiǎn)產(chǎn)生的根本原因是輸入信號(hào)通過(guò)兩條或兩條以上的路徑傳輸?shù)捷敵龆?,每條路徑的延時(shí)不同,從而導(dǎo)致信號(hào)不能同時(shí)到達(dá)輸出端。接下來(lái),我們就通過(guò)幾個(gè)簡(jiǎn)單的電路了解一下競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象。
1、移位寄存器
首先來(lái)看下面一個(gè)電路,這個(gè)電路簡(jiǎn)單描述了移位寄存器的工作原理,當(dāng)時(shí)鐘上升沿來(lái)臨的時(shí)候,數(shù)據(jù)會(huì)整體向右移動(dòng)一位。但是現(xiàn)在的問(wèn)題是:每次時(shí)鐘有效時(shí),為什么數(shù)據(jù)只移動(dòng)一位?
要想解釋上面的問(wèn)題,就需要具體了解一下構(gòu)成移位寄存器的最小單元—D觸發(fā)器的行為。下圖是一個(gè)D觸發(fā)器的原理圖,當(dāng)有效時(shí)鐘邊沿到來(lái)時(shí),其輸入端D的值會(huì)存入輸出端Q。
對(duì)上述D觸發(fā)器進(jìn)行功能仿真,仿真結(jié)果如下圖所示,可以看出,當(dāng)時(shí)鐘上升沿到來(lái)時(shí),觸發(fā)器的輸出Q會(huì)等于輸入D。
接下來(lái),對(duì)D觸發(fā)器進(jìn)行更接近真實(shí)情況的門級(jí)仿真,通過(guò)仿真結(jié)果可以看到,當(dāng)時(shí)鐘上升沿到來(lái)時(shí),觸發(fā)器的輸出并沒(méi)有立馬發(fā)生變化,而是等待一段時(shí)間之后其輸出Q才會(huì)與輸入D相等。
這一段延時(shí)稱為觸發(fā)器的Tco時(shí)間,即輸出延時(shí),指從觸發(fā)器有效邊沿到來(lái)到觸發(fā)器輸出有效的時(shí)間差。這也是移位寄存器每次只能移動(dòng)一位的原因。
2、計(jì)數(shù)器
接下來(lái)再看另一個(gè)電路—計(jì)數(shù)器電路,該電路由多個(gè)邏輯門組合而成,可以實(shí)現(xiàn)十六進(jìn)制計(jì)數(shù)功能。
對(duì)該電路進(jìn)行功能仿真,可以看出電路功能正常。
同樣,對(duì)電路進(jìn)行門級(jí)仿真,結(jié)果如下,將仿真圖放大可以發(fā)現(xiàn),在計(jì)數(shù)值由0001變?yōu)?010的過(guò)程中,出現(xiàn)了短暫的0011的計(jì)數(shù)值。
之所以出現(xiàn)0011這樣的計(jì)數(shù)值,是因?yàn)槊恳晃环謩e由多個(gè)不同的邏輯門電路控制,因此,每一位的變化存在一定的延時(shí),這一延時(shí)稱為Tpd時(shí)間,即傳輸延時(shí),指從輸入信號(hào)有效到輸出信號(hào)穩(wěn)定時(shí)的時(shí)間差。
但是,不同位的控制電路的延時(shí)是不同的,以上面的現(xiàn)象為例,該計(jì)數(shù)器第三位的控制電路的延時(shí)要比第四位短,因此,第三位先變?yōu)?,第四位后變?yōu)?,兩個(gè)變化之間的延時(shí)差就導(dǎo)致出現(xiàn)了0011這樣的現(xiàn)象,這就是競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象。
以當(dāng)前的時(shí)鐘頻率,上面的現(xiàn)象是不會(huì)導(dǎo)致系統(tǒng)出現(xiàn)問(wèn)題的,因?yàn)椴环€(wěn)定狀態(tài)持續(xù)的時(shí)間非常短,不會(huì)被時(shí)鐘采樣到,但是,如果時(shí)鐘頻率太高,該狀態(tài)就有可能被采樣到,導(dǎo)致系統(tǒng)出錯(cuò),這就是某些代碼運(yùn)行時(shí)時(shí)鐘頻率不能太高的原因之一。
以上就是本次分享的全部?jī)?nèi)容,謝謝大家!