本實(shí)用新型涉及鐵路通信信號領(lǐng)域列車超速防護(hù)系統(tǒng)的測試工裝,尤其是一種測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置。
背景技術(shù):
隨著我國軌道交通的迅猛發(fā)展,列車運(yùn)行速度不斷提高,對列車運(yùn)行控制系統(tǒng)的要求越來越高。目前,客運(yùn)專線和高鐵列車上已普遍安裝列車超速防護(hù)系統(tǒng)(Automatic TrainProtection,簡稱ATP),目前用于對ATP系統(tǒng)進(jìn)行測試的測試工裝在ATP出廠時(shí)對整機(jī)、各系統(tǒng),以及系統(tǒng)中的各個(gè)板卡分別進(jìn)行測試。對于ATP系統(tǒng)中不同板卡(包括主機(jī)板、電源板、通信板、轉(zhuǎn)接板、輸入板、輸出板、機(jī)車信號通信板、記錄器板、模擬板等)的測試,由于ATP各板卡的性能、輸入輸出口(簡稱I/O口)各不相同,難以僅用一個(gè)設(shè)備對ATP系統(tǒng)中的所有不同板卡全部進(jìn)行測試,比如測試ATP的主機(jī)板時(shí)該主機(jī)板作為host,相應(yīng)地,測試工裝作為device,而在測試ATP的輸入板/輸出板時(shí),則測試工裝作為host,而輸入板/輸出板作為device,這使得在測試不同板卡過程中,測試工裝的作用不同,這也是難以使用一套通用測試工裝測試所有ATP板卡的關(guān)鍵問題所在。
在ATP系統(tǒng)(或其各板卡)的測試過程中,通常由上位機(jī)(電腦或工控機(jī))通過數(shù)據(jù)采集卡與測試工裝連接,再由測試工裝與下位機(jī)(ATP系統(tǒng)或其板卡)連接。在列車超速防護(hù)系統(tǒng)測試工裝的設(shè)計(jì)過程中,經(jīng)常遇到的實(shí)際問題是,數(shù)據(jù)采集卡與測試工裝連接的輸入輸出線的數(shù)量通常少于測試工裝與下位機(jī)連接的傳輸線的數(shù)量。
技術(shù)實(shí)現(xiàn)要素:
本實(shí)用新型提供了一種測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置,可以擴(kuò)展數(shù)據(jù)采集卡的輸入輸出線的數(shù)量使其滿足下位機(jī)的傳輸線的需要。
一種測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置,包括譯碼器、多個(gè)下行鎖存器;所有下行鎖存器組成下行鎖存器組;數(shù)據(jù)采集卡通過輸入輸出線分別與譯碼器的輸入端和下行鎖存器的輸入端連接;數(shù)據(jù)采集卡與譯碼器輸入端連接的輸入輸出線稱為地址線,數(shù)據(jù)采集卡與下行鎖存器輸入端連接的輸入輸出線稱為數(shù)據(jù)線;所有下行鎖存器的輸入端相互并聯(lián)再 與數(shù)據(jù)采集卡的數(shù)據(jù)線相連接;譯碼器的輸出端與各下行鎖存器的鎖存端通過反相器一一對應(yīng)連接;下行鎖存器的輸出端與下位機(jī)連接。
優(yōu)選地,還可以包括多個(gè)總線收發(fā)器;至少一部分總線收發(fā)器的輸入端與下位機(jī)分別連接;所有與下位機(jī)連接的總線收發(fā)器組成總線收發(fā)器組;所有總線收發(fā)器的輸出端并聯(lián)再與數(shù)據(jù)采集卡的數(shù)據(jù)線相連;所述數(shù)據(jù)采集卡的數(shù)據(jù)線是雙向數(shù)據(jù)線,輸入端并聯(lián)的下行鎖存器的輸入端與輸出端并聯(lián)的總線收發(fā)器的輸出端并聯(lián)并與數(shù)據(jù)采集卡的雙向數(shù)據(jù)線連接;譯碼器的輸出端還包括上行輸出端,所述譯碼器的上行輸出端與各總線收發(fā)器的使能端一一對應(yīng)連接,通過對譯碼器的上行輸出端的至多一位地址置低電平打開相應(yīng)的總線收發(fā)器,總線收發(fā)器組在同一時(shí)刻至多僅有一個(gè)總線收發(fā)器能被打開。
優(yōu)選地,還可以包括多個(gè)上行鎖存器,每個(gè)與下位機(jī)連接的總線收發(fā)器的輸入端均通過一個(gè)上行鎖存器與下位機(jī)分別連接。
優(yōu)選地,下位機(jī)可以通過多條控制線分別與每個(gè)上行鎖存器的鎖存端連接。
優(yōu)選地,數(shù)據(jù)采集卡可以通過控制線與下行鎖存器的使能端連接,控制下行鎖存器的通斷。
本實(shí)用新型的有益效果:本實(shí)用新型的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置,在數(shù)據(jù)采集卡的輸入輸出線數(shù)量少于下位機(jī)傳輸線數(shù)量的情況下,能夠有效擴(kuò)充數(shù)據(jù)采集卡的輸入輸出線總量,使其滿足實(shí)際測試過程中的下位機(jī)傳輸線的需求。
附圖說明
下面結(jié)合附圖及實(shí)施方式對本實(shí)用新型作進(jìn)一步詳細(xì)的說明:
圖1是本實(shí)用新型一個(gè)實(shí)施例的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置的結(jié)構(gòu)示意圖。
圖2a是本實(shí)用新型一個(gè)實(shí)施例的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置的結(jié)構(gòu)示意圖。
圖2b是圖2a實(shí)施例的傳輸線向下位機(jī)傳輸數(shù)據(jù)和控制的示意圖。
具體實(shí)施方式
為使本實(shí)用新型的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明確,下面結(jié)合實(shí)施例以及附圖對本實(shí)用新型實(shí)施例中的技術(shù)方案做進(jìn)一步詳細(xì)說明。顯然,所描述的實(shí)施例是本實(shí)用新型的一部分實(shí)施例,而不是全部實(shí)施例。在此,本實(shí)用新型的示意性實(shí)施方式及其說明主要用于解釋本實(shí)用新型,但并不作為對本實(shí)用新型的限定。
一種測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置,包括譯碼器、多個(gè)下行鎖存器;下行鎖存器的輸入端的輸入輸出線(簡稱I/O線)的數(shù)量與其輸出端的傳輸線(即下行鎖存器與下位機(jī)相連的傳輸線,在本實(shí)施例的向下位機(jī)寫數(shù)據(jù)的過程中也稱為輸出線)數(shù)量相同;所有下行鎖存器組成下行鎖存器組;數(shù)據(jù)采集卡(簡稱DAQ)通過輸入輸出線分別與譯碼器的輸入端和下行鎖存器的輸入端連接;數(shù)據(jù)采集卡與譯碼器輸入端連接的輸入輸出線稱為地址線,數(shù)據(jù)采集卡與下行鎖存器輸入端連接的輸入輸出線稱為數(shù)據(jù)線;所有下行鎖存器的輸入端相互并聯(lián)再與數(shù)據(jù)采集卡的數(shù)據(jù)線相連接;譯碼器的至少一部分輸出端與各下行鎖存器的鎖存端(簡稱LE端)通過反相器一一對應(yīng)連接;譯碼器能將其輸入端的M條地址線譯碼為其輸出端的2M位地址,且使得所述2M位地址中有且僅有一位地址為低電平,控制下行鎖存器組在同一時(shí)刻僅有一個(gè)下行鎖存器能被打開(通過控制下行鎖存器的鎖存端來實(shí)現(xiàn));至少一部分下行鎖存器的輸出端的傳輸線分別與下位機(jī)連接。
鎖存器可用于緩存數(shù)據(jù),首先將其使能端(簡稱OE端)置低電平打開鎖存器,此時(shí)將其鎖存端(LE端)置成高電平,鎖存器輸入端的數(shù)據(jù)才能傳到其輸出端;然后將鎖存端置成低電平,此時(shí)鎖存器輸出端的數(shù)據(jù)將被保持不變,即LE端置低電平時(shí)鎖存器的輸出端數(shù)據(jù)不會(huì)因其輸入端數(shù)據(jù)的改變而改變,即實(shí)現(xiàn)了緩存數(shù)據(jù)的功能。
上位機(jī)通過PCIe接口與DAQ連接,如圖1所示。DAQ通過所述地址線與譯碼器的輸入端連接,比如圖1的實(shí)施例中使用了如表1所示的3條地址線與譯碼器連接。譯碼器能將其輸入端的M條地址線譯碼為其輸出端的2M位地址,且使得所述2M位地址中有且僅有一位地址為低電平,即表1、表2中相應(yīng)于“僅為0的輸出”列的內(nèi)容,而同一時(shí)刻其余位均為高電平,以此對與譯碼器輸出端連接的電子元件進(jìn)行唯一控制。譯碼器作為常用電子元件有3-8譯碼器、4-16譯碼器、5-32譯碼器等。本實(shí)用新型圖1所示的實(shí)施例中的譯碼器為3-8譯碼器,即圖1的實(shí)施例中的3-8譯碼器可以同時(shí)控制8個(gè)下行鎖存器。當(dāng)然,本領(lǐng)域技術(shù)人員可以理解,基于本實(shí)用新型的思想采用不同的譯碼器的類型(比如4-16譯碼器或5-32譯碼器)或多個(gè)3-8譯碼器擴(kuò)展成具有16個(gè)或32個(gè)地址的方式也能得到與本實(shí)用新型實(shí)施例類似的技術(shù)方案,根據(jù)M條地址線能夠最多控制2M個(gè)下行鎖存器的原理,可以分別控制16個(gè)或32個(gè)下行鎖存器甚至更多的下行鎖存器,因此這些擴(kuò)展的技術(shù)方案也應(yīng)在本實(shí)用新型的保護(hù)范圍之內(nèi)。由譯碼器在同一時(shí)刻僅輸出一位低電平的特性,能夠在同一時(shí)刻控制僅有一個(gè)下行鎖存器能被打開。下行鎖存器的輸入端的I/O線(即DAQ的數(shù)據(jù)線)的數(shù)量應(yīng)與下行鎖存器的輸出端的傳輸線的數(shù)量相同,在本實(shí)施例中即也為8根。
表1 3地址線譯碼器真值表
表2 4地址線譯碼器真值表
圖1的實(shí)施例中,8個(gè)下行鎖存器的輸入端并聯(lián)再與DAQ的8條數(shù)據(jù)線連接,而每個(gè)下行鎖存器均具有8根輸出線,即8個(gè)下行鎖存器(對應(yīng)于8根數(shù)據(jù)線,再加上3根地址線,共需要11根DAQ的I/O線)對下位機(jī)具有共8×8=64根輸出線,從而實(shí)現(xiàn)了DAQ向下位機(jī)端擴(kuò)容的功能。在圖1的實(shí)施例中,將8個(gè)下行鎖存器的OE端(圖中未畫出)均置低電平(比如直接接地),使其均為打開狀態(tài),使其工作。
DAQ的數(shù)據(jù)線也可以設(shè)定為16根,相應(yīng)地,總線收發(fā)器和上行鎖存器的輸入端和輸出端也均為16位,此時(shí),DAQ的24根I/O線除去用于數(shù)據(jù)線的16根和預(yù)留1根備用線 外,還剩7根,最多可以控制27=128組總線收發(fā)器和上行鎖存器(由于該過程是下位機(jī)的數(shù)據(jù)通過上行鎖存器、總線收發(fā)器將數(shù)據(jù)傳輸給DAQ,因此每組總線收發(fā)器和上行鎖存器可稱為一條上行鏈路,128組總線收發(fā)器和上行鎖存器即128條并行的上行鏈路),則這128個(gè)總線收發(fā)器的輸出端并聯(lián)再與DAQ的16條數(shù)據(jù)線連接,如前所述本實(shí)施例中的每條上行鏈路均具有16根輸出線,那么128條上行鏈路向下位機(jī)最多具有128×16=2048根傳輸線,也就是說,只要下位機(jī)對外的傳輸線(包括下位機(jī)數(shù)據(jù)線、下位機(jī)地址線、下位機(jī)控制線)少于2048根(實(shí)際應(yīng)用中通常用不到這么多傳輸線),用本實(shí)用新型的具有24根I/O線的DAQ就能滿足要求。
本實(shí)用新型的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置的一個(gè)實(shí)施例可以實(shí)現(xiàn)上位機(jī)指令對下位機(jī)的控制,每條指令是向某個(gè)特定的下行鎖存器傳輸其需要緩存的數(shù)據(jù)。具體而言,通過DAQ獲取上位機(jī)的指令,先從該指令中解析出需要傳輸數(shù)據(jù)的下行鎖存器的地址線,并由譯碼器將該地址線轉(zhuǎn)換為譯碼器輸出端的地址,通過控制相應(yīng)地址的下行鎖存器的鎖存端打開該下行鎖存器,再從該指令中解析出需要傳輸?shù)臄?shù)據(jù),在該下行鎖存器的使能端置為低電平的情況下,通過數(shù)據(jù)線將所述需要傳輸?shù)臄?shù)據(jù)傳輸給該地址對應(yīng)的下行鎖存器。
若實(shí)現(xiàn)一個(gè)任務(wù)需要按設(shè)定順序?qū)崿F(xiàn)若干指令。對指令按照設(shè)定順序編號,由于每條指令僅向一個(gè)下行鎖存器傳輸數(shù)據(jù)(即每條指令僅針對一個(gè)下行鎖存器),則執(zhí)行一個(gè)任務(wù)時(shí)各指令的順序號分別為該條指令對應(yīng)的下行鎖存器的編號。也就是說,執(zhí)行任務(wù)就是按照該任務(wù)中的設(shè)定順序號(即該指令的順序號,也即該指令對應(yīng)的下行鎖存器的編號)將需要傳輸?shù)臄?shù)據(jù)依次緩存到對應(yīng)的下行鎖存器中。
下位機(jī)可以在下行鎖存器組緩存完畢數(shù)據(jù)以后一次性獲取下行鎖存器組中緩存的數(shù)據(jù)(不要求下行鎖存器組中的所有下行鎖存器均被使用),可以設(shè)定該過程為一個(gè)任務(wù),即以下位機(jī)接收一次下行鎖存器組的緩存數(shù)據(jù)認(rèn)為是一個(gè)任務(wù)。這樣,下行鎖存器組的各下行鎖存器在每個(gè)任務(wù)中至多僅緩存一次數(shù)據(jù)(即每個(gè)下行鎖存器在一個(gè)任務(wù)中可以緩存一次數(shù)據(jù)或者不緩存數(shù)據(jù));否則,被緩存在下行鎖存器中的數(shù)據(jù)還未傳輸給下位機(jī)即會(huì)被替換掉,會(huì)影響下位機(jī)接收數(shù)據(jù)的準(zhǔn)確性。
圖1所示的實(shí)施例中,先將所有下行鎖存器的OE端均置為低電平,也就是打開全部下行鎖存器。執(zhí)行一個(gè)任務(wù)時(shí),與第一下行鎖存器(所述“第一下行鎖存器”為執(zhí)行該任務(wù)時(shí)對應(yīng)于第一條指令的下行鎖存器)相連的譯碼器輸出端為唯一的低電平,經(jīng)反相器后電平翻轉(zhuǎn)變?yōu)楦唠娖?,控制第一下行鎖存器的鎖存端為高電平,即此時(shí)的8個(gè)下行鎖存器僅所述第一下行鎖存器的輸入端從DAQ獲取的數(shù)據(jù)能傳送到其輸出端;此時(shí)由于其余的下 行鎖存器的鎖存端為低電平,它們的輸出端保持原來的數(shù)據(jù)不變,不受此時(shí)DAQ的數(shù)據(jù)線上數(shù)據(jù)的影響。下一時(shí)刻,地址線使與任務(wù)中的下一設(shè)定順序號對應(yīng)的下行鎖存器(即圖1中的第二下行鎖存器)相連的譯碼器輸出端為唯一的低電平,經(jīng)反相器后電平翻轉(zhuǎn)變?yōu)楦唠娖剑刂圃撓滦墟i存器的鎖存端為高電平,即此時(shí)的8個(gè)下行鎖存器中僅該下行鎖存器的輸入端從DAQ獲取的數(shù)據(jù)能傳送到其輸出端;而由于此時(shí)上述第一下行鎖存器的鎖存端已變?yōu)榈碗娖剑瑒t第一下行鎖存器的輸出端保持上一步驟的數(shù)據(jù)不變,不受此時(shí)DAQ數(shù)據(jù)線上數(shù)據(jù)的影響(即輸出端緩存了上一步驟的數(shù)據(jù)),處于等待狀態(tài)。以此類推,通過DAQ和譯碼器將下位機(jī)使用到的與任務(wù)中的設(shè)定順序號依次對應(yīng)的各下行鎖存器的鎖存端依次置高電平,同時(shí)通過DAQ經(jīng)數(shù)據(jù)線向下行鎖存器組輸入數(shù)據(jù),則僅其鎖存端被置高電平的下行鎖存器能將DAQ的數(shù)據(jù)從輸入端傳送到其輸出端,并在下一步驟中使該下行鎖存器的鎖存端被置低電平從而使其輸出端的數(shù)據(jù)被保持(或稱數(shù)據(jù)被緩存);直到該任務(wù)涉及到的下行鎖存器組的所有需要改變數(shù)據(jù)的下行鎖存器(即在該任務(wù)中,被下位機(jī)使用到的所有下行鎖存器)都經(jīng)過上述的數(shù)據(jù)傳輸和數(shù)據(jù)保持過程。然后由下位機(jī)通過傳輸線獲取下行鎖存器組中緩存的數(shù)據(jù):可以通過下行鎖存器組中的至少一路輸出數(shù)據(jù)控制下位機(jī)獲取下行鎖存器中緩存的所有數(shù)據(jù)(即該路數(shù)據(jù)作為下位機(jī)獲取數(shù)據(jù)的地址線決定下位機(jī)是否接收下行鎖存器組的數(shù)據(jù),參見圖2b和上述關(guān)于圖2b的說明文字),也可以通過單獨(dú)的控制線通知下位機(jī)獲取下行鎖存器中緩存的所有數(shù)據(jù)(比如由DAQ或譯碼器中的單獨(dú)控制線控制下位機(jī)獲取下行鎖存器組的數(shù)據(jù));還可以通過所有被下位機(jī)使用到的所有下行鎖存器中的一路或幾路輸出數(shù)據(jù)共同控制下位機(jī)獲取下行鎖存器中緩存的所有數(shù)據(jù);或者還可以通過設(shè)定下位機(jī)與下行鎖存器之間的協(xié)議設(shè)置固定時(shí)間使下位機(jī)按照協(xié)議中的固定時(shí)間獲取下行鎖存器組緩存的所有數(shù)據(jù),等等。
作為一個(gè)優(yōu)選實(shí)施例,本實(shí)用新型的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置,還包括多個(gè)總線收發(fā)器。至少一部分總線收發(fā)器的輸入端與下位機(jī)分別連接,用于將下位機(jī)的數(shù)據(jù)發(fā)送給DAQ進(jìn)而發(fā)送給上位機(jī)。所有與下位機(jī)連接的總線收發(fā)器組成總線收發(fā)器組。所有總線收發(fā)器的輸出端并聯(lián)再與數(shù)據(jù)采集卡的數(shù)據(jù)線相連。總線收發(fā)器與上行鎖存器之間的連接線的數(shù)量與總線收發(fā)器輸出端的I/O線(即DAQ的數(shù)據(jù)線)的數(shù)量相同,可以是8根或16根。
譯碼器的輸出端還包括上行輸出端,所述譯碼器的上行輸出端與各總線收發(fā)器的使能端一一對應(yīng)連接??偩€收發(fā)器起到開關(guān)的作用,由于DAQ每次僅能讀取一個(gè)總線收發(fā)器的數(shù)據(jù)(8根或16根數(shù)據(jù)線),當(dāng)需要DAQ讀取下位機(jī)的數(shù)據(jù)時(shí),通過對譯碼器的上行輸出 端的至多一位地址置低電平打開相應(yīng)的總線收發(fā)器獲取下位機(jī)數(shù)據(jù);在改變譯碼器的上行輸出端的地址選擇從其它總線收發(fā)器獲取下位機(jī)數(shù)據(jù)時(shí),上述總線收發(fā)器的使能端自然被置高電平從而關(guān)閉,使得總線收發(fā)器組在同一時(shí)刻至多僅有一個(gè)總線收發(fā)器打開并向DAQ傳輸數(shù)據(jù),從而在一段時(shí)間內(nèi)通過僅有的8或16根數(shù)據(jù)線將具有最多64根傳輸線或128根傳輸線的下位機(jī)的數(shù)據(jù)通過DAQ上傳至上位機(jī)。
所述數(shù)據(jù)采集卡的數(shù)據(jù)線是雙向數(shù)據(jù)線;輸入端并聯(lián)的下行鎖存器的輸入端與輸出端并聯(lián)的總線收發(fā)器的輸出端并聯(lián)并與數(shù)據(jù)采集卡的雙向數(shù)據(jù)線連接,即下行鏈路(數(shù)據(jù)從DAQ通過下行鎖存器組向下位機(jī)方向傳輸)與上行鏈路(數(shù)據(jù)從下位機(jī)通過總線收發(fā)器向DAQ方向傳輸)通過分時(shí)復(fù)用的方式共用數(shù)據(jù)采集卡的雙向數(shù)據(jù)線,這必然使得下行鎖存器與DAQ之間的I/O線的數(shù)量與總線收發(fā)器的輸出端I/O線數(shù)量相同,且與DAQ的數(shù)據(jù)線的數(shù)量相同。可以通過控制每個(gè)上行鎖存器的鎖存端置高電平(前提是將所有上行鎖存器的OE端置為低電平將其全部打開)將下位機(jī)的數(shù)據(jù)傳輸?shù)缴闲墟i存器的輸出端,再對其鎖存端置低電平使其保持輸出端的數(shù)據(jù)不變,達(dá)到選擇性緩存下位機(jī)數(shù)據(jù)的目的。為了避免上下行數(shù)據(jù)發(fā)生混亂,本實(shí)用新型通過采用DAQ的R/W線(由DAQ的I/O線模擬的地址線,詳細(xì)說明參見后面描述)參與編輯地址線、通過R/W線的取值使總線接收器組(上行鏈路)和下行鎖存器組(下行鏈路)的導(dǎo)通互斥來實(shí)現(xiàn)。具體而言,在需要向下位機(jī)傳輸數(shù)據(jù)時(shí),通過地址線控制譯碼器從而控制下行鎖存器組打開下行鏈路(比如通過R/W線為0設(shè)定為下行鏈路打通同時(shí)上行鏈路關(guān)閉(即高阻態(tài)),即對應(yīng)于表2中的前8行數(shù)據(jù));在需要從下位機(jī)獲取數(shù)據(jù)時(shí),通過地址線控制譯碼器從而控制總線收發(fā)器組打開上行鏈路(比如通過R/W線為1設(shè)定為上行鏈路打通同時(shí)下行鏈路關(guān)閉,即對應(yīng)于表2中的后8行數(shù)據(jù))將下位機(jī)的數(shù)據(jù)通過DAQ傳輸?shù)缴衔粰C(jī)。則同一時(shí)刻上行鏈路和下行鏈路只有一路能導(dǎo)通,從而避免上下行數(shù)據(jù)的混亂。而且從表2的R/W線可以很直觀的看出哪路鏈路導(dǎo)通哪路鏈路關(guān)閉。這是采用DAQ的R/W線參與編輯地址線的優(yōu)點(diǎn)。
在總線收發(fā)器需要獲取數(shù)據(jù)時(shí),通過對總線收發(fā)器的使能端置低電平打開總線收發(fā)器從而獲取與其相連的上行鎖存器緩存的數(shù)據(jù),從而對下位機(jī)傳輸?shù)臄?shù)據(jù)進(jìn)行安全控制和選擇讀取。
在上述實(shí)施例的基礎(chǔ)上,還包括多個(gè)上行鎖存器,每個(gè)與下位機(jī)連接的總線收發(fā)器的輸入端均通過一個(gè)上行鎖存器與下位機(jī)分別連接,如圖2a所示。
對于上行鎖存器的鎖存端的控制,可以由下位機(jī)的控制線控制,也可以由譯碼器的輸出線、DAQ的輸入輸出線模擬的控制線進(jìn)行控制。
作為一個(gè)優(yōu)選實(shí)施例,在上述實(shí)施例的基礎(chǔ)上,如圖2a所示,下位機(jī)通過多條控制線分別與每個(gè)上行鎖存器的鎖存端連接,在下位機(jī)需要傳輸數(shù)據(jù)時(shí),將上行鏈路打開同時(shí)將下行鏈路關(guān)閉,再通過控制線將需要打開的上行鎖存器的鎖存端置高電平將數(shù)據(jù)從上行鎖存器的輸入端傳輸?shù)捷敵龆?,再將這些上行鎖存器的鎖存端置低電平從而緩存下位機(jī)的數(shù)據(jù);在上位機(jī)需要獲取下位機(jī)的數(shù)據(jù)時(shí),通過地址線控制譯碼器的上行輸出端使需要接收數(shù)據(jù)的總線收發(fā)器的使能端以設(shè)定順序逐個(gè)置低電平,獲取緩存在上行鎖存器輸出端的數(shù)據(jù)。
DAQ僅具有輸入輸出線(簡稱I/O線)。但下位機(jī)的傳輸線分為下位機(jī)數(shù)據(jù)線、下位機(jī)地址線、下位機(jī)控制線三種類型。為了使DAQ與下位機(jī)的傳輸線對應(yīng)連接,本實(shí)用新型將DAQ的I/O線分別模擬出數(shù)據(jù)線、地址線與下位機(jī)連接。常用的DAQ有24根I/O線,也有的DAQ有32根、64根、96根、甚至一百多根I/O線。本實(shí)用新型的實(shí)施例采用具有24根I/O線的DAQ。該DAQ將24根I/O線按每組8根分為3組,分別命名為P0、P1、P2。一般將P0組的8根I/O線用來模擬數(shù)據(jù)線(模擬的8根數(shù)據(jù)線稱為D0~D7,也即本實(shí)用新型中定義的數(shù)據(jù)線),將P2組的I/O線模擬地址線(比如,表1和圖1的實(shí)施例中采用P2組的3根I/O線模擬地址線通過譯碼器生成23=8個(gè)地址)或P1組的I/O線與P2組的I/O線混合模擬地址線(比如,表2和圖2a的實(shí)施例中采用P1組的1根I/O線(稱為R/W線)與P2組的3根I/O線模擬4根地址線通過譯碼器生成24=16個(gè)地址。對應(yīng)于譯碼器的真值表分別如表1、表2所示。當(dāng)然也可以單獨(dú)使用P1組或其它任意方式混合P1組和P2組的I/O線模擬地址線。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,由DAQ的I/O線以任意方式模擬成地址線、數(shù)據(jù)線用于本實(shí)用新型的技術(shù)方案,均應(yīng)在本實(shí)用新型的保護(hù)范圍之內(nèi))。本實(shí)用新型所說的數(shù)據(jù)采集卡的地址線為DAQ的I/O線模擬的地址線,本實(shí)用新型所說的數(shù)據(jù)采集卡的數(shù)據(jù)線為DAQ的I/O線模擬的數(shù)據(jù)線。需要注意的是,本實(shí)用新型所說的數(shù)據(jù)線、地址線并非必須與下位機(jī)數(shù)據(jù)線、下位機(jī)地址線、下位機(jī)控制線的名稱相對應(yīng),比如圖2b是圖2a的實(shí)施例向下位機(jī)傳輸數(shù)據(jù)和對下位機(jī)進(jìn)行控制的一個(gè)示例的示意圖,在圖2b中,以第八下行鎖存器輸出的3根傳輸線作為下位機(jī)內(nèi)部的一個(gè)3-8譯碼器的輸入端的下位機(jī)地址線,而該3-8譯碼器的輸出地址中有一個(gè)地址與下位機(jī)鎖存器的鎖存端連接,且該下位機(jī)鎖存器的輸入端與第一下行鎖存器的輸出端連接用以接收第一下行鎖存器的數(shù)據(jù),并將其存儲(chǔ)到該3-8譯碼器的所述地址對應(yīng)的下位機(jī)的存儲(chǔ)單元,或準(zhǔn)備向第一上行鎖存器發(fā)送該下位機(jī)輸出地址對應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)。因此可以用某個(gè)或某些下行鎖存器的輸出端的傳輸線作為下位機(jī)的地址線和/或控制線對下位機(jī)進(jìn)行綜合地尋址、控制,將 數(shù)據(jù)線中的數(shù)據(jù)存儲(chǔ)到下位機(jī)的相應(yīng)地址或?qū)⑾挛粰C(jī)相應(yīng)地址的數(shù)據(jù)通過數(shù)據(jù)線發(fā)送給DAQ。
本實(shí)用新型的一個(gè)實(shí)施例:用于上述的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置的擴(kuò)容方法,包括:
S110:執(zhí)行一個(gè)任務(wù)時(shí),上位機(jī)向數(shù)據(jù)采集卡發(fā)送待傳輸?shù)臄?shù)據(jù);與第一下行鎖存器(所述“第一”為執(zhí)行該任務(wù)時(shí)對應(yīng)于第一條指令的下行鎖存器)相連的譯碼器輸出端設(shè)置為唯一的低電平(可以由DAQ的地址線選擇將譯碼器輸出端的哪一位地址置為唯一的低電平,比如表1第一行數(shù)據(jù),P2_2=0、P2_1=0、P2_0=0時(shí),Y0輸出為唯一的低電平;再比如表2第三行數(shù)據(jù),R/W=0、P2_2=0、P2_1=1、P2_0=0時(shí),Y2輸出為唯一的低電平;下同),經(jīng)反相器后電平翻轉(zhuǎn)變?yōu)楦唠娖?,控制第一下行鎖存器的鎖存端為高電平,即此時(shí)的8個(gè)下行鎖存器僅所述第一下行鎖存器的輸入端從數(shù)據(jù)采集卡獲取數(shù)據(jù)并傳送到其輸出端;此時(shí)由于其余的下行鎖存器的鎖存端為低電平,它們的輸出端保持原來的數(shù)據(jù)不變,不受其輸入端數(shù)據(jù)的影響;
S120:下一時(shí)刻,與任務(wù)中的下一設(shè)定順序號對應(yīng)的下行鎖存器(即第二條指令對應(yīng)的下行鎖存器)相連的譯碼器輸出端設(shè)置為唯一的低電平,經(jīng)反相器后電平翻轉(zhuǎn)變?yōu)楦唠娖剑刂圃撓滦墟i存器的鎖存端為高電平,即此時(shí)的8個(gè)下行鎖存器中僅該下行鎖存器的輸入端從數(shù)據(jù)采集卡獲取數(shù)據(jù)并傳送到其輸出端;而由于此時(shí)上述第一下行鎖存器的鎖存端也為低電平,則第一下行鎖存器的輸出端保持上一步驟的數(shù)據(jù)不變(即輸出端緩存了上一步驟的數(shù)據(jù)),處于等待狀態(tài);
S130:重復(fù)步驟S120,通過DAQ和譯碼器將下位機(jī)使用到的與任務(wù)中的設(shè)定順序號依次對應(yīng)的各下行鎖存器的鎖存端依次置高電平,同時(shí)通過DAQ經(jīng)數(shù)據(jù)線向下行鎖存器組輸入數(shù)據(jù),則僅其鎖存端被置高電平的下行鎖存器能將DAQ的數(shù)據(jù)從輸入端傳送到其輸出端,并在下一步驟中使該下行鎖存器的鎖存端被置低電平從而使其輸出端的數(shù)據(jù)被保持(或稱數(shù)據(jù)被緩存);直到該任務(wù)涉及到的下行鎖存器組的所有需要改變數(shù)據(jù)的下行鎖存器(即在該任務(wù)中,被下位機(jī)使用到的所有下行鎖存器)都經(jīng)過上述的數(shù)據(jù)傳輸和數(shù)據(jù)保持過程;將這些下行鎖存器中緩存的所有數(shù)據(jù)傳送到下位機(jī);
S140:由下位機(jī)獲取下行鎖存器組中緩存的數(shù)據(jù):可以通過下行鎖存器組中的至少一路輸出數(shù)據(jù)控制下位機(jī)獲取下行鎖存器中緩存的所有數(shù)據(jù)(即該路數(shù)據(jù)作為下位機(jī)獲取數(shù)據(jù)的地址線決定下位機(jī)是否接收下行鎖存器組的數(shù)據(jù)),也可以通過單獨(dú)的地址線路通知下位機(jī)獲取下行鎖存器中緩存的所有數(shù)據(jù)(比如由數(shù)據(jù)采集卡或譯碼器中的單獨(dú)地址線控制 下位機(jī)獲取下行鎖存器組的數(shù)據(jù));還可以通過所有被下位機(jī)使用到的所有下行鎖存器中的一路或幾路數(shù)據(jù)共同控制下位機(jī)獲取下行鎖存器中緩存的所有數(shù)據(jù);或者還可以通過設(shè)定下位機(jī)與下行鎖存器之間的協(xié)議設(shè)置固定時(shí)間使下位機(jī)按照協(xié)議中的固定時(shí)間獲取下行鎖存器組緩存的所有數(shù)據(jù)。
本實(shí)用新型的一個(gè)實(shí)施例還提供了一種用于上述的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置的擴(kuò)容方法,包括:
S110:執(zhí)行一個(gè)任務(wù)時(shí),上位機(jī)向數(shù)據(jù)采集卡發(fā)送待傳輸?shù)臄?shù)據(jù);與第一下行鎖存器(所述“第一”為執(zhí)行該任務(wù)時(shí)對應(yīng)于第一條指令的下行鎖存器)相連的譯碼器輸出端設(shè)置為唯一的低電平,經(jīng)反相器后電平翻轉(zhuǎn)變?yōu)楦唠娖?,控制第一下行鎖存器的鎖存端為高電平,所述第一下行鎖存器的輸入端從數(shù)據(jù)采集卡獲取數(shù)據(jù)并傳送到其輸出端;
S120:下一時(shí)刻,與任務(wù)中的下一設(shè)定順序號對應(yīng)的下行鎖存器相連的譯碼器輸出端設(shè)置為唯一的低電平,經(jīng)反相器后電平翻轉(zhuǎn)變?yōu)楦唠娖剑刂圃撓滦墟i存器的鎖存端為高電平,該下行鎖存器的輸入端從數(shù)據(jù)采集卡獲取數(shù)據(jù)并傳送到其輸出端,使得下行鎖存器的輸出端保持?jǐn)?shù)據(jù)不變;
S130:重復(fù)步驟S120,直到該任務(wù)涉及到的所有下行鎖存器都經(jīng)過上述的數(shù)據(jù)傳輸和數(shù)據(jù)保持過程;
S140:由下位機(jī)獲取下行鎖存器組中緩存的數(shù)據(jù);至此,下位機(jī)根據(jù)下行鎖存器組的數(shù)據(jù)進(jìn)行處理分析,將處理分析后的數(shù)據(jù)作為準(zhǔn)備上傳給上位機(jī)的數(shù)據(jù)。
以上步驟與上一實(shí)施例相對應(yīng)的步驟類似,細(xì)節(jié)不贅述。
以下為從下位機(jī)的某個(gè)存儲(chǔ)單元讀取數(shù)據(jù)的過程,以下步驟既可以結(jié)合上述步驟,也可以作為獨(dú)立的讀數(shù)據(jù)步驟:
S200:執(zhí)行一個(gè)任務(wù)時(shí),數(shù)據(jù)采集卡通過譯碼器控制下行鎖存器選擇下位機(jī)的需要上傳數(shù)據(jù)的存儲(chǔ)單元的地址,使下位機(jī)準(zhǔn)備好需要上傳的數(shù)據(jù)(具體方式可參考圖2b所示實(shí)施例,當(dāng)然圖2b僅是一種用于說明的示例性方式);將譯碼器輸出端的置低電平的地址設(shè)置在上行輸出端的地址范圍內(nèi)(比如可以由表2的R/W線加以區(qū)別和控制,R/W線為1設(shè)定為上行鏈路打通同時(shí)下行鏈路關(guān)閉,即對應(yīng)于表2中的后8行數(shù)據(jù));
S210:將總線收發(fā)器組的所有總線收發(fā)器的使能端均置高電平,即先關(guān)閉所有總線收發(fā)器。將下行鎖存器的使能端置高電平,即通過使能端關(guān)閉下行鏈路,防止上下行數(shù)據(jù)串?dāng)_。本實(shí)施例可以通過DAQ輸出的多個(gè)控制線分別直接控制各下行鎖存器的使能端,使其置高電平,將下行鎖存器關(guān)閉。
S220:對需要打開的上行鎖存器使其鎖存端置高電平,使下位機(jī)的數(shù)據(jù)傳輸?shù)剿錾闲墟i存器的輸出端,再對所述上行鎖存器置低電平;從而實(shí)現(xiàn)了對下位機(jī)數(shù)據(jù)的緩存,即使下位機(jī)數(shù)據(jù)發(fā)生改變,也不會(huì)影響已緩存的下位機(jī)數(shù)據(jù)??梢杂上挛粰C(jī)的控制線直接控制上行鎖存器的鎖存端,如圖2a所示;或者由上位機(jī)的控制線控制上行鎖存器的鎖存端;如不需要緩存下位機(jī)數(shù)據(jù)則可將上行鎖存器處于常開狀態(tài),即可以將所有或選定的上行鎖存器的鎖存端均置高電平。
本實(shí)施例中,上位機(jī)通過指令獲取下位機(jī)處理分析后的數(shù)據(jù),每條指令是上位機(jī)向某個(gè)特定的總線收發(fā)器發(fā)出的打開或關(guān)閉的指令。具體而言,通過DAQ獲取上位機(jī)的指令,從該指令中解析出對應(yīng)的總線收發(fā)器的地址線,并由譯碼器將該地址線轉(zhuǎn)換為譯碼器上行輸出端的地址,接收該地址對應(yīng)的總線收發(fā)器所獲取的下位機(jī)的數(shù)據(jù)并傳輸給DAQ。
下位機(jī)向上位機(jī)傳輸數(shù)據(jù)的任務(wù)稱為上行任務(wù)。實(shí)現(xiàn)一個(gè)上行任務(wù)需要按接收順序?qū)崿F(xiàn)若干接收指令。對接收指令按照接收順序號,由于每條接收指令僅接收一個(gè)總線收發(fā)器中的數(shù)據(jù)(即每條接收指令僅對應(yīng)一個(gè)總線收發(fā)器),則執(zhí)行一個(gè)上行任務(wù)時(shí)各接收指令的接收順序號為該條接收指令對應(yīng)的總線收發(fā)器的編號。也就是說,執(zhí)行上行任務(wù)就是按照該上行任務(wù)中的接收順序號(即該接收指令的順序號,也即該接收指令對應(yīng)的總線收發(fā)器的編號)將下位機(jī)需要上傳的數(shù)據(jù)依次接收到DAQ中。
上行鎖存器的作用是將在不同時(shí)刻下位機(jī)上傳的數(shù)據(jù)先緩存起來,在總線收發(fā)器接收到DAQ的接收指令時(shí)通過打開的總線收發(fā)器將緩存的下位機(jī)數(shù)據(jù)傳輸給DAQ。在設(shè)定時(shí)間內(nèi),下位機(jī)將需要上傳的數(shù)據(jù)傳輸并緩存到與其相連的上行鎖存器中(可以是向多個(gè)上行鎖存器或一個(gè)上行鎖存器緩存數(shù)據(jù)),然后由總線收發(fā)器在所述設(shè)定時(shí)間之后接收上行鎖存器中緩存的下位機(jī)數(shù)據(jù)。所述設(shè)定時(shí)間由上位機(jī)與下位機(jī)之間的協(xié)議規(guī)定,使得在總線收發(fā)器接收上行鎖存器時(shí),上行鎖存器中緩存的數(shù)據(jù)沒有被下位機(jī)新上傳的數(shù)據(jù)替代。所述設(shè)定時(shí)間內(nèi)發(fā)送的所有接收指令定義為一個(gè)上行任務(wù),即在所述設(shè)定時(shí)間內(nèi)按接收順序?qū)崿F(xiàn)若干接收指令。
S230:與第一總線收發(fā)器(所述“第一總線收發(fā)器”為執(zhí)行該上行任務(wù)時(shí)對應(yīng)于第一條接收指令的總線收發(fā)器)相連的譯碼器的上行輸出端設(shè)置為唯一的低電平,使第一總線收發(fā)器的使能端為低電平打開第一總線收發(fā)器,如圖2a所示,即此時(shí)的8個(gè)總線收發(fā)器中僅第一總線收發(fā)器處于打開狀態(tài),數(shù)據(jù)采集卡通過所述第一總線收發(fā)器從第一上行鎖存器獲取其緩存的下位機(jī)數(shù)據(jù);
S240:下一時(shí)刻,與上行任務(wù)中的下一接收順序號對應(yīng)的總線收發(fā)器(即圖1中的第 二總線收發(fā)器)相連的譯碼器的上行輸出端設(shè)置為唯一的低電平,使該總線收發(fā)器的使能端為低電平打開該總線收發(fā)器,同時(shí)第一總線收發(fā)器的使能端為高電平關(guān)閉第一總線收發(fā)器;數(shù)據(jù)采集卡通過該總線收發(fā)器從與之相連的上行鎖存器獲取其緩存的下位機(jī)數(shù)據(jù)(即DAQ從總線收發(fā)器中讀取數(shù)據(jù)的過程);
S250:重復(fù)上述步驟S240,直到數(shù)據(jù)采集卡通過總線收發(fā)器組獲取了所述上行任務(wù)的設(shè)定時(shí)間內(nèi)的所有需要的下位機(jī)數(shù)據(jù)。
上述步驟S200至S250,可以作為單獨(dú)的讀取下位機(jī)數(shù)據(jù)的步驟,而不一定與步驟S100至S140的向下位機(jī)的存儲(chǔ)單元寫數(shù)據(jù)的步驟一起使用。
本實(shí)用新型的有益效果:本實(shí)用新型的測試工裝的數(shù)字輸入輸出口擴(kuò)容裝置,在數(shù)據(jù)采集卡的輸入輸出線數(shù)量少于下位機(jī)傳輸線數(shù)量的情況下,能夠有效擴(kuò)充數(shù)據(jù)采集卡的輸入輸出線總量,使其滿足實(shí)際測試過程中的下位機(jī)傳輸線的需求。
本實(shí)用新型的數(shù)據(jù)采集卡可以選用NI的PCIe6361,譯碼器可選用74AHC138,鎖存器可選用74AHC573,總線收發(fā)器可選用SN74AHC245。當(dāng)然也可以選用能實(shí)現(xiàn)本實(shí)用新型目的的其它型號電子元器件,因此,不應(yīng)以上述電子元器件的型號限制本實(shí)用新型的技術(shù)方案。
總之,以上所述僅為本實(shí)用新型技術(shù)方案的較佳實(shí)施例而已,并非用于限定本實(shí)用新型的保護(hù)范圍。凡在本實(shí)用新型的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本實(shí)用新型的保護(hù)范圍之內(nèi)。