摘要:本文介紹基于RS觸發(fā)器在數(shù)據(jù)采集管理中實現(xiàn)精確控制的設(shè)計應(yīng)用,可以很方便地應(yīng)用于各種便攜式設(shè)備和嵌入式應(yīng)用系統(tǒng)中。文中給出了整體硬件電路原理框圖和各功能模塊的硬件電路設(shè)計思想。實驗證明,該基于RS觸發(fā)器的計數(shù)設(shè)計很好地滿足了計數(shù)和精度高的要求。
關(guān)鍵詞:RS觸發(fā)器;適配卡;計數(shù);數(shù)據(jù)處理
DOI: 10.3969/j.issn.1005-5517.2012.11.010
隨著工業(yè)自動化要求的提高,以及控制設(shè)備和過程監(jiān)控裝置之間通訊的需要,計數(shù)功能電路在不同設(shè)備間的通訊和連接,傳輸重要的計算數(shù)據(jù)方面,起著舉足輕重的地位;ISA總線接口作為一種標(biāo)準(zhǔn)的工業(yè)接口結(jié)構(gòu)得到廣泛的應(yīng)用。用它來實現(xiàn)不同儀器和設(shè)備間的通訊與連接已經(jīng)相當(dāng)廣泛,越顯重要和突出。所以,該設(shè)計把兩者結(jié)合起來,設(shè)計出一款便于不同設(shè)備、儀器間的通訊和連接,并能夠自動完成各種計數(shù)、計時、測試和傳輸數(shù)據(jù)功能的ISA總線適配器。
系統(tǒng)硬件設(shè)計
標(biāo)準(zhǔn)ISA計算機(jī)插槽的設(shè)計
標(biāo)準(zhǔn)ISA(Industry Standard Architecture)計算機(jī)插槽采用最先進(jìn)的微機(jī)系統(tǒng)ISA適配卡插槽,由主槽和附加槽兩部分組成,每個槽都有正反兩面插腳。主槽有A1~A31、B1~B31共62腳;附加槽有C1~C18、D1~D18共36腳,兩個槽一共98腳[2]。ISA總線接口具體定義在各類專業(yè)書籍中都有詳細(xì)介紹,這里不再累述。
本設(shè)計中,低4位地址不用作地址比較片選位,而用高4位作地址比較位,因為低4位比高4位變化快,高4位地址遠(yuǎn)比低4位地址穩(wěn)定可靠,地址由撥碼開關(guān)S確定。
數(shù)據(jù)采集單元
P1、P2、P3端口為狀態(tài)量采集輸入端,P4端為比較結(jié)果輸出端,四個端口均為TTL電平。P1、P2、P3輸入的狀態(tài)量與上一時刻P1、P2、P3輸入的狀態(tài)量比較,如果比較結(jié)果相等,P4端口輸出低電平0;比較結(jié)果不相等,輸出高電平1。如果比較結(jié)果相等,說明輸入狀態(tài)量與上一時刻輸入的狀態(tài)量不同,這時需要計數(shù)器重新開始計時,P4端口輸出高電平0,再經(jīng)反相器,這時產(chǎn)生的低電平0脈沖作用給計數(shù)器清零端和RS觸發(fā)器S端,計數(shù)器清零,RS觸發(fā)器輸出端Q輸出1,作用于計數(shù)器片選端,脈沖消失后重新開始計數(shù)。如
數(shù)脈沖到來以后的脈沖等。因為,一般來說,停止計數(shù)都是在第一個停止計數(shù)脈沖到來時停止計數(shù),在該輸入以后到來的脈沖不采取停止計數(shù)動作。我們定義計數(shù)工作時間段為Tw,理想的利用RS觸發(fā)器來設(shè)定穩(wěn)定的計數(shù)時間段波形圖如圖3所示。
穩(wěn)定計數(shù)單元實質(zhì)是利用了RS觸發(fā)器的不可沖觸發(fā)性原理。RS觸發(fā)器具有的不可重觸發(fā)的特點,即單次觸發(fā),工作在當(dāng)且僅當(dāng)另一端為高電平1時。假如所有門電路的平均傳輸延遲時間相等,用tpd表示,S端輸入的低電平0信號寬度tw應(yīng)滿足:tw≥2tpd的條件,同理,R端輸入的低電平0信號寬度tw應(yīng)滿足:tw≥2tpd的條件[3]。仿真波形如圖4所示。
換一種保守的方式理解,即在各種教科書和科技書刊上所說的,利用RS觸發(fā)器具有記憶功能的特性,在Tw這段時間內(nèi),來防止R、S端誤動作,實質(zhì),就是設(shè)定RS觸發(fā)器的計數(shù)工作時間段,在這段時間內(nèi)才能計數(shù);相反,如果超出這段時間,計數(shù)功能電路不工作在計數(shù)狀態(tài),因為其不在計數(shù)時間段內(nèi)。這樣,就防止了 RS觸發(fā)器在計數(shù)時間段內(nèi)誤動作,保證了計數(shù)的穩(wěn)定性和準(zhǔn)確性。
假如在計數(shù)模塊輸入端不要RS觸發(fā)器,當(dāng)然也可以完成計數(shù)功能,并不影響計數(shù)的精確度。但是,這樣的設(shè)計存在很大風(fēng)險,會造成誤動作計數(shù):第一,在R端停止計數(shù)脈沖還沒到來時,S端有可能再次或多次出現(xiàn)低電平脈沖,重新從零開始計數(shù),這時就出現(xiàn)在計數(shù)未完成的情況下重新開始計數(shù),造成誤動作計數(shù),結(jié)果不是想要計的數(shù);第二,在S端計數(shù)脈沖還沒到來時,R端有可能再次或多次出現(xiàn)低電平脈沖,這時就出現(xiàn)在計數(shù)未完成的情況下多次停止計數(shù),造成誤動作停止計數(shù),引起計數(shù)不準(zhǔn)確。這種風(fēng)險恰恰是設(shè)計者最容易忽略的地方。
那么,采用RS觸發(fā)器就避免了以上情況的發(fā)生,tw就是所設(shè)置的計數(shù)單元穩(wěn)定的工作時間。
計時單元
該單元采用12位計數(shù),采用1M晶振,基準(zhǔn)計數(shù)頻率采用分頻器設(shè)計,其頻率值為500Hz,每一位二進(jìn)制數(shù)代表0.002s,即每秒鐘計數(shù)0.002s,這樣保證了計數(shù)精確度在小數(shù)點后面3位。該單元硬件原理圖如圖6所示。
軟件算法部分源程序如下:
void Dlgtime::OnTimer(UINT nIDEvent)
本文介紹了基于RS觸發(fā)器,高穩(wěn)定性,高精度計數(shù)適配器,采用RS觸發(fā)器提高了計數(shù)穩(wěn)定可靠性,應(yīng)用相當(dāng)廣泛。當(dāng)然,還有可以改進(jìn)的地方,比如可以增加數(shù)據(jù)采集的輸入端,使其采集更多的數(shù)據(jù);還可以增加計數(shù)位數(shù),提高計數(shù)基準(zhǔn)頻率,通過軟、硬件都可以持續(xù)的提高計數(shù)