本發(fā)明涉及測量、測試技術(shù)領(lǐng)域,特別涉及一種具有雙向io功能的測量裝置。
背景技術(shù):
iic(inter-integratedcircuit)總線是飛利浦公司于上世紀80年代所設(shè)計,是用較少的連線將一個主設(shè)備和多個從設(shè)備連接在同一總線上的技術(shù)。iic總線包括數(shù)據(jù)線sda和時鐘線scl,數(shù)據(jù)線可以雙向傳輸信號,時鐘線由主設(shè)備輸出給各個從設(shè)備。數(shù)據(jù)線和時鐘線均需要加上拉電阻,信號線上高電平是由外加上拉電阻提供,低電平是由各個設(shè)備提供。
iic總線接口特點是接口線少,控制簡單。iic接口主要在低速應(yīng)用,最高應(yīng)用也只有3.4mbit/s。應(yīng)用較廣泛的有fram(ferromagneticrandomaccessmemory,鐵電存儲器)、eeprom(electricallyerasableprogrammableread-onlymemory,帶電可擦可編程只讀存儲器)、flash、rtc(real-timeclock,實時時鐘)、mcu(microcontrolunit,微控制單元)、lcd驅(qū)動器、鍵盤接口等等。
在測試、測量領(lǐng)域中,射頻信號源是射頻微波工作者必備的測試測量儀器之一。它可以根據(jù)使用者的設(shè)定輸出不同頻率幅度的射頻信號,其主要輸出連續(xù)波(cw)射頻信號,當然還能輸出各種調(diào)制信號,如fm(frequencymodulation,調(diào)頻)、am(aplitudemodulation,調(diào)幅)、pm(phasemodulation,調(diào)相)、iq、pulse(脈沖)等。隨著雷達、通訊技術(shù)的發(fā)展,對射頻源也提出了更高的要求。為實現(xiàn)如此復(fù)雜功能,需要用到很多邏輯器件或微控制器,這些器件之間需要很復(fù)雜的接口來實現(xiàn)芯片間的通訊。一般來說器件與器件之間的通訊是通過一定的協(xié)議來實現(xiàn),但是若是跨器件的通訊就需要更復(fù)雜的握手同步機制來支持通訊,這樣勢必會讓設(shè)計變得異常復(fù)雜。
如前所述,若兩個器件a,b之間進行通訊,一般通過導(dǎo)線連通這兩個器件,然后這兩個器件遵循共同約定協(xié)議進行通訊,但是若在某種條件下這兩個器件之間串接了器件c,這時欲實現(xiàn)a,b間通訊就會很困難。比如a向b發(fā)送信號,首先a向c發(fā)送信號,c接收到信號后再傳給b;b再給a回信息也是先發(fā)數(shù)據(jù)給c,最后由c發(fā)送給a。這樣c起到翻譯的作用。器件c是指邏輯器件或微處理器,如cpld(complexprogrammablelogicdevice,復(fù)雜可編程邏輯器件)、fpga(field-programmablegatearray,現(xiàn)場可編程門陣列)、mcu、arm等。若b器件是低速串行器件,而本身時序操作很復(fù)雜,如串行spi(serialperipheralinterface)接口的flash,串行iic接口的eeprom等等,這樣對串接器件c的要求就會很高,c需要對不同的a和b器件進行編程。尤其當a或b器件很多時,c的編程就會很復(fù)雜,占用大量資源。
現(xiàn)有的可以實現(xiàn)雙向io的器件結(jié)構(gòu)如圖1所示,邏輯器件u100實現(xiàn)雙向io功能。邏輯器件u100的一個端口為p101,另外一個端口為p102,控制端口p105,另外一個可能的控制端口p106用虛線表示。工作時,由控制端口p105或者是p106決定端口p101和p102之間的工作狀態(tài)。
u101和u102是邏輯器件u100內(nèi)部的三態(tài)門,p103和p104分別是三態(tài)門的控制端口。邏輯單元101是控制三態(tài)門工作狀態(tài)的控制單元。
設(shè)三態(tài)門u101的邏輯關(guān)系如表1所示:
表1
則圖1中電路可能的工作狀態(tài)如表2:
表2
注:文中所述其他三態(tài)門邏輯關(guān)系與u101一樣。0代表邏輯低電平,1代表邏輯高電平,hi-z代表高阻,x代表0或1。文中信號均指邏輯電平信號。
這樣邏輯器件u101只需依據(jù)表2的邏輯關(guān)系實現(xiàn)雙向io的功能。
圖2給出了一種邏輯單元100的內(nèi)部結(jié)構(gòu)圖,不用按照表2的邏輯關(guān)系,就能簡單的實現(xiàn)雙向io。
邏輯器件100的控制端口p105'經(jīng)過反相器u103'分出兩組控制端口p103'和p104'。其中,p103'接圖1的p103,p104'接圖1的p104,p105'接圖1的p105,這樣就可實現(xiàn)簡單的雙向io控制。
這樣圖1的邏輯關(guān)系變?yōu)楸?:
表3
圖3給出了另外一種邏輯單元100的內(nèi)部結(jié)構(gòu)圖,圖3中的邏輯單元100可以實現(xiàn)帶使能功能的雙向io。圖3中,u103”是非門,u104”和u105”是與門。將圖3中的p103”接圖1的p103,p104”接p104,p105”接p105,p106”接p107,可以得到如下邏輯關(guān)系,見表4:
表4
邏輯器件u101只需按照表3或者表4的邏輯關(guān)系實現(xiàn)雙向io的功能,但是此辦法比較笨拙,需要必須的控制管腳p105和可能的控制管腳p106來實現(xiàn)雙向io功能。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種具有雙向io功能的測量裝置,無需任何外部的控制接口就能實現(xiàn)雙向io功能。該測量裝置包括邏輯器件、第一電阻和第二電阻;
所述邏輯器件包括邏輯單元、第一三態(tài)門和第二三態(tài)門;
所述邏輯單元的第一端口分別與第一三態(tài)門的輸入端、第二三態(tài)門的輸出端和第一采樣端口連接;所述邏輯單元的第二端口分別與第一三態(tài)門的輸出端、第二三態(tài)門的輸入端和第二采樣端口連接;所述邏輯單元的第三端口與第一三態(tài)門的控制端連接;所述邏輯單元的第四端口與第二三態(tài)門的控制端連接;
所述第一電阻的第一端分別與第一采樣端口、邏輯單元的第一端口、第一三態(tài)門的輸入端和第二三態(tài)門的輸出端連接;第一電阻的第二端接vcc;
所述第二電阻的第一端分別與第二采樣端口、邏輯單元的第二端口、第一三態(tài)門的輸出端和第二三態(tài)門的輸入端連接;第二電阻的第二端接vcc;
所述邏輯單元用于根據(jù)第一采樣端口和第二采樣端口的邏輯電平變化,控制第一三態(tài)門和第二三態(tài)門的通斷。
在一個實施例中,所述根據(jù)第一采樣端口和第二采樣端口的邏輯電平變化,控制第一三態(tài)門和第二三態(tài)門的通斷,包括:
當?shù)谝徊蓸佣丝跒榈碗娖綍r,第一三態(tài)門導(dǎo)通,第二三態(tài)門斷開,第二采樣端口為低電平;
當?shù)诙蓸佣丝跒榈碗娖綍r,第二三態(tài)門導(dǎo)通,第一三態(tài)門斷開,第一采樣端口為低電平;
當?shù)谝徊蓸佣丝诤偷诙蓸佣丝诰鶠楦唠娖綍r,第一三態(tài)門和第二三態(tài)門均斷開。
在一個實施例中,所述邏輯器件包括內(nèi)部時鐘發(fā)生器,用于控制輸入輸出狀態(tài)的自動切換。
在一個實施例中,所述邏輯單元還與外部時鐘端口連接,用于控制輸入輸出狀態(tài)的自動切換。
在本發(fā)明實施例中,邏輯單元根據(jù)第一采樣端口第二采樣和端口的邏輯電平變化,自動控制第一三態(tài)門的控制端和第二三態(tài)門的通斷,無需任何外部的控制接口就能實現(xiàn)io狀態(tài)的自動轉(zhuǎn)換。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:
圖1是本發(fā)明實施例提供的一種現(xiàn)有的實現(xiàn)雙向io的器件結(jié)構(gòu)圖;
圖2是本發(fā)明實施例提供的一種邏輯單元100的內(nèi)部結(jié)構(gòu)圖;
圖3是本發(fā)明實施例提供的一種另外一種邏輯單元100的內(nèi)部結(jié)構(gòu)圖;
圖4是本發(fā)明實施例提供的一種具有雙向io功能的測量裝置;
圖5是本發(fā)明實施例提供的邏輯單元201的具體實現(xiàn)方法流程圖;
圖6是本發(fā)明實施例提供的雙向io功能的測量裝置用于iic通訊系統(tǒng)的結(jié)構(gòu)圖;
圖7是本發(fā)明實施例提供的雙向io功能的測量裝置用于1wire通訊系統(tǒng)的結(jié)構(gòu)圖;
圖8是本發(fā)明實施例提供的雙向io功能的測量裝置用于1wire通訊系統(tǒng)的另一種結(jié)構(gòu)圖;
圖9是本發(fā)明實施例提供的雙向io功能的測量裝置用于復(fù)雜通訊系統(tǒng)的結(jié)構(gòu)圖;
圖10是本發(fā)明實施例提供的雙向io功能的測量裝置用于復(fù)雜通訊系統(tǒng)的樹形結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施方式和附圖,對本發(fā)明做進一步詳細說明。在此,本發(fā)明的示意性實施方式及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
本發(fā)明提出一種具有雙向io功能的測量裝置,無需任何外部的控制接口就能實現(xiàn)雙向io功能。
圖4是本發(fā)明實施例提供的一種具有雙向io功能的測量裝置,如圖4所示,測量裝置包括邏輯器件u200、第一電阻r201和第二電阻r202;
所述邏輯器件包括邏輯單元201、第一三態(tài)門u201和第二三態(tài)門u202;
所述邏輯單元201的第一端口分別與第一三態(tài)門u201的輸入端、第二三態(tài)門u202的輸出端和第一采樣端口p201連接;所述邏輯單元201的第二端口分別與第一三態(tài)門u201的輸出端、第二三態(tài)門u202的輸入端和第二采樣端口p202連接;所述邏輯單元201的第三端口與第一三態(tài)門u201的控制端連接;所述邏輯單元201的第四端口與第二三態(tài)門u202的控制端連接;
所述第一電阻r201的第一端分別與第一采樣端口p201、邏輯單元201的第一端口、第一三態(tài)門u201的輸入端和第二三態(tài)門u202的輸出端連接;第一電阻r201的第二端接vcc;
所述第二電阻r202的第一端分別與第二采樣端口p202、邏輯單元201的第二端口、第一三態(tài)門u201的輸出端和第二三態(tài)門u202的輸入端連接;第二電阻r201的第二端接vcc;
所述邏輯單元201用于根據(jù)第一采樣端口p201和第二采樣端口p202的邏輯電平變化,控制第一三態(tài)門u201和第二三態(tài)門u202的通斷,實現(xiàn)io狀態(tài)的自動轉(zhuǎn)換。
具體的,邏輯單元201的第一端口和第二端口為輸入端口,是作用相同的端口,都是用于接收通過第一采樣端口和第二采樣端口輸入的信號,根據(jù)信號檢測第一采樣端口和第二采樣端口的邏輯電平變化。
邏輯單元的第三端口、第四端口為輸出端口,是作用相同的端口,都是用于輸出第一三態(tài)門和第二三態(tài)門的控制信號。
對于上拉電阻的取值可以參照,iic總線協(xié)議中的規(guī)定。
本發(fā)明用通用邏輯器件或微處理器實現(xiàn)真正的雙向io功能。實現(xiàn)同一器件兩個端口的邏輯直連。
具體實施時,所述邏輯器件u200包括內(nèi)部時鐘發(fā)生器,用于控制輸入輸出狀態(tài)的自動切換?;?,邏輯單元201與外部時鐘端口(管腳)clk連接,用于控制輸入輸出狀態(tài)的自動切換。另外本發(fā)明不需要任何外部控制信號。
具體實施時,所述根據(jù)第一采樣端口p201和第二采樣端口p202的邏輯電平變化,控制第一三態(tài)門u201和第二三態(tài)門u202的通斷,包括:
當?shù)谝徊蓸佣丝趐201為低電平時,第一三態(tài)門u201導(dǎo)通,第二三態(tài)門u202斷開,第二采樣端口p202為低電平;
當?shù)诙蓸佣丝趐202為低電平時,第二三態(tài)門u202導(dǎo)通,第一三態(tài)門u201斷開,第一采樣端口p201為低電平;
當?shù)谝徊蓸佣丝趐201和第二采樣端口p202均為高電平時,第一三態(tài)門u201和第二三態(tài)門u202均斷開。
邏輯單元201具體實現(xiàn)方法如圖5所示:
注:為描述方便將p203端口用ea替代,p204端口用eb替代,p201用a替代,p202用b替代。
首先將兩個三態(tài)門的輸出置為高阻,即將ea和eb清0,這樣由于接在三態(tài)門輸出的電阻作用,將輸出的兩個端口拉高(假設(shè)外界均為高阻)。這樣整個邏輯單元201處于監(jiān)控狀態(tài)。
由于所有狀態(tài)均是在時鐘驅(qū)動下改變,故下述每一個狀態(tài)的轉(zhuǎn)移均在每個時鐘周期下轉(zhuǎn)移。
在第一個時鐘周期下,邏輯單元201檢測a端口是否變?yōu)榈碗娖?,若未變,說明a端口并未輸入任何外界信號,這時ea還是保持原來的0,處于監(jiān)控狀態(tài),在下一個時鐘周期,邏輯單元201檢測b端口是否變?yōu)榈碗娖?,若未變,說明b端口并未輸入任何外界信號,這時ea還是保持原來的0,處于監(jiān)控狀態(tài)。在接下來的時鐘周期,邏輯單元201依照上述邏輯轉(zhuǎn)移路線依次檢測a端口和b端口邏輯電平。
若a、b端口其中之一變低,則表明外界有信號輸入,而且也決定了此電平的傳輸方向,這時邏輯單元201控制相應(yīng)的控制端口,使能該方向上的三態(tài)門,即置1。同時還需要不斷重復(fù)檢測輸入端口邏輯電平是否變高。若變高,則表明外界將總線(總線指a或b)釋放,這時邏輯單元201也需要將輸出電平變高,即將控制端清0,狀態(tài)再次轉(zhuǎn)移至監(jiān)控狀態(tài);若不變(保持低電平),則表明外界傳輸狀態(tài)保持不變,邏輯單元210需要繼續(xù)保持該方向上的三態(tài)門使能,即保持為1,這時邏輯單元201運行至傳輸狀態(tài)。
以實際為例:
在監(jiān)控狀態(tài)下,若在其中的一個時鐘周期邏輯單元201檢測到a端口為低電平,那么表明外界有信號從p201傳輸?shù)絧202,這時需要將u201使能,即ea=1,這樣p202端也變?yōu)榈碗娖?。在接下來的時鐘周期里,邏輯單元201不斷檢測a端口是否為高,若為高,表明外界信號將a端口置高,這時邏輯單元201將u201禁止,即ea=0,這樣b端口由于電阻r202的作用拉高,同時邏輯狀態(tài)返回置監(jiān)控狀態(tài);若邏輯單元201檢測到a端口為低,那么繼續(xù)保持傳輸狀態(tài)。
在監(jiān)控狀態(tài)下,若在其中的一個時鐘周期邏輯單元201檢測到b端口為低電平,那么表明外界有信號從p202傳輸?shù)絧201,這時需要將u202使能,即eb=1,這樣p201端也變?yōu)榈碗娖健T诮酉聛淼臅r鐘周期里,邏輯單元201不斷檢測b端口是否為高,若為高,表明外界信號將b端口置高,這時邏輯單元201將u202禁止,即eb=0,這樣a端口由于電阻r201的作用拉高,同時邏輯狀態(tài)返回置監(jiān)控狀態(tài);若邏輯單元201檢測到b端口為低,那么繼續(xù)保持傳輸狀態(tài)。
當邏輯器件u200中本身自帶有時鐘,流程圖中每一步在自帶時鐘的驅(qū)動下運行,若邏輯器件u200中本身不帶有時鐘,則用外部時鐘控制管腳clk驅(qū)動流程中每一步運行。
此流程圖可以有fpga的verilog或vhdl語言實現(xiàn),亦可以通過arm,mcu編程實現(xiàn)。
需要確定雙向io上邏輯信號的最高頻率fmax,理論上此流程圖運行最大會有2個時鐘周期的延遲,所以每個邏輯單元201的最小頻率fclkmin為3fmax,工程上為了保證建立保持時間,一般取大于6~12fmax比較可靠。
另外,若每增加一個串行邏輯單元,那么頻率即要加6~12fmax。若主控與設(shè)備之間跨接n個邏輯器件,那么邏輯器件時鐘頻率應(yīng)該大于6n~12nfmax。
采用本發(fā)明就可以避免現(xiàn)有技術(shù)中存在的問題,即使有中間串接器件c,a與b的通訊也不會受c的影響,c起到直接橋連的作用。
器件c無需大量編程,而且不需要知道a,b器件任何協(xié)議的情況下(除最高限制速度fmax(最高頻率maximumfrequency外),即可實現(xiàn)a和b的互聯(lián)。
典型應(yīng)用中如a器件是arm處理器,c是fpga,b是iic接口的eeprom和溫度傳感器,這樣若a器件arm欲讀取溫度,這時只需要通過本發(fā)明的芯片橋接辦法直接在c器件fpga中建立一個直通的通道,直接將a器件arm和b器件溫度傳感器直連,從而達到直接讀取溫度的目的。
本發(fā)明應(yīng)用以iic通訊為例,如圖6所示。
圖中主控芯片z401欲與設(shè)備s401進行iic通訊,iic通訊接口有scl和sda兩條連線,scl是單向線,故圖4中用帶箭頭導(dǎo)線表示。而sda是雙向io,用本發(fā)明的邏輯器件u401和u402實現(xiàn)。這樣即使設(shè)備s401與主控芯片z401中間隔了2個甚至是3個邏輯器件,本發(fā)明任然能夠讓主控芯片z401無障礙的訪問設(shè)備s401。
本發(fā)明也可用于1wire通訊系統(tǒng),如圖7所示:
主控芯片z501可以用本發(fā)明通過邏輯器件u501和邏輯器件u502將1wire設(shè)備s501連接起來,然后直接訪問通訊。
作為一種應(yīng)用變形如圖8所示:
圖中,主控芯片z601可以通過邏輯器件u601分別對1wire設(shè)備s601和1wire設(shè)備s602進行訪問。邏輯器件u601需要用開關(guān)將1wire設(shè)備s601和1wire設(shè)備s602進行區(qū)分,并且用cmd601來進行控制。
作為更一般的應(yīng)用變形可以是圖9組成的復(fù)雜網(wǎng)絡(luò),用總線表示,邏輯器件u701外接多個上拉電阻(r701-r7n1),主控芯片z701與邏輯器件u701之間用多個cmd(cmd1-cmdn1)來進行控制。圖9中的兩種電路等價。
則可以得到如圖10所示的一般電路,主控芯片z801與多個外部設(shè)備(m1-mn)之間通過多個邏輯器件(u801-u80n)進行訪問。邏輯器件(u801-u80n)外接多個上拉電阻(r801-r8nn),主控芯片z801與第一個邏輯器件u801之間、其它的邏輯器件之間用多個cmd(cmd1-cmdnn)來進行控制。這樣可以組成一個樹形結(jié)構(gòu)。設(shè)所有設(shè)備中時鐘頻率最高為fmax,則對邏輯器件最高時鐘頻率為6n~12nfmax。
綜上,采用本發(fā)明測量裝置,通過邏輯單元根據(jù)第一采樣端口第二采樣和端口的邏輯電平變化,自動控制第一三態(tài)門的控制端和第二三態(tài)門的控制端,無需任何外部的控制接口就能實現(xiàn)io狀態(tài)的自動轉(zhuǎn)換。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明實施例的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明實施例不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明實施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。