? GPIB通信的基礎(chǔ)知識與術(shù)語集 - 支持IEEE-488.2的GPIB通信板 -
通俗易懂、淺顯地解釋GPIB通信的概要及術(shù)語,解釋編程所需要的基礎(chǔ)知識。
》Contents
》什么是GPIB?
》GPIB的規(guī)格
》GPIB的特點
》連接GPIB通信設(shè)備與計算機的優(yōu)點
》連接數(shù)量
》連接方式
》線纜長度
》數(shù)據(jù)傳輸速度
》通話端與收聽端
》主端與從端
》設(shè)備地址
》握手通信
》控制器的作用
》GPIB的信號線
》SRQ(服務(wù)請求)與輪詢
》接口功能
》信息與指令
什么是GPIB?
GPIB(General Purpose Interface Bus)是作為計算機與計量儀器的接口開發(fā)的,主要用于連接計算機與計量儀器。美國Hewlett Packard公司的內(nèi)部規(guī)格“HP-IB”獲得IEEE (Institute of Electrical and Electronic Engineers: 美國電氣和電子工程師協(xié)會)的認可,并成為國際標準規(guī)格?,F(xiàn)在,很多計量儀器標準配置GPIB接口,在使用計算機與計量儀器的計測系統(tǒng)上得到廣泛應(yīng)用。
GPIB的規(guī)格
GPIB的規(guī)格有“IEEE488”和“IEEE488.2”兩種,其中后者是上位協(xié)議,屬于現(xiàn)在的主流。IEEE488.2在IEEE488規(guī)定的傳輸方法之上,增加了字符數(shù)據(jù)和數(shù)值表示的語法、各設(shè)備共通使用的指令(Command)、查詢(Query)等規(guī)定,支持IEEE488.2的設(shè)備不僅可以遵照IEEE488.2的標準通信,而且在IEEE488規(guī)定的范圍內(nèi)也能通信。
GPIB通信產(chǎn)品一覽
GPIB的特點
1、采用總線結(jié)構(gòu)的接口,利用馱載封裝方式的連接器,設(shè)備間的連接和構(gòu)成容易。此外,即使連接的設(shè)備增加,也可只用計算機的一個接口。
2、通過握手通信,能夠進行可靠性高的數(shù)據(jù)傳輸。
3、作為計量儀器行業(yè)的標準總線,很多計量儀器配置有GPIB接口,學習一個的步驟,就能夠控制各種各樣的計量儀器。
4.即使是通信速度不同的設(shè)備,也能連接(但是,整個系統(tǒng)適應(yīng)通信速度就是最慢的設(shè)備的速度)。
馱載封裝結(jié)構(gòu)的連接器
連接GPIB通信設(shè)備與計算機的優(yōu)點
目前,仍有很多計量儀器配置GPIB接口,之所以能夠在計量儀器行業(yè)確立標準總線的地位,是因為在與計算機的連接上具有以下的諸多優(yōu)點。
1、用計算機描述和執(zhí)行設(shè)備的控制編程,實現(xiàn)了計測的自動化、省力化。
2、用圖表表示計測數(shù)據(jù),保存文件等,實現(xiàn)了活用計算機能力的計測系統(tǒng)。
在1臺計算機上連接多臺計量儀器,各設(shè)備通過程序進行自動計測,用計算機收集計測得到的數(shù)據(jù),進行分析、表示處理、數(shù)據(jù)保存,這是一般的使用方法。
使用GPIB通信設(shè)備與計算機的系統(tǒng)示例
引進效果
1、通過自動化提高能力和效率
實現(xiàn)各種控制的自動化能夠大幅降低觀測人員的肉體和精神負擔。
2、通過GPIB通信,以塊為單位高效地將來自CCD攝像頭的圖像數(shù)據(jù)讀入計算機,可大幅縮短觀測時間。
問題點、想改善之處
由于GPIB通信的制約(整個系統(tǒng)的線纜總長),必須在望遠鏡附近進行操作和觀測,非常不便;研究人員之間想實時共享信息等,有很多要求。
在“計測和控制設(shè)備開發(fā)”、“網(wǎng)絡(luò)設(shè)備開發(fā)”上擁有豐富經(jīng)驗的Contec能夠改善此類問題點。
連接數(shù)量
規(guī)格規(guī)定包括控制器(計算機)在內(nèi),一個系統(tǒng)內(nèi)能夠連接的設(shè)備數(shù)量為15臺,超過這個數(shù)字的設(shè)備不能連接到一個系統(tǒng)上。
連接方式
菊花鏈、星形(放射狀)及其組合等,能夠進行自由度高的連接。但是,禁止環(huán)路連接。
菊花鏈連接
星形連接
注意:禁止環(huán)路連接。
線纜長度
各裝置間的線纜長度為4m以下,在一個系統(tǒng)中,可用于裝置相互連接的線纜最大長度為“2m×裝置個數(shù)”或者20m,以二者中短的為準
例1:總共有2臺設(shè)備時(控制器1臺+GPIB通信設(shè)備1臺)
2m×(裝置個數(shù)=2臺)< 20m,因此,一個系統(tǒng)總的線纜最大長度為4m。
例2:總共有3臺設(shè)備時(控制器1臺+GPIB通信設(shè)備2臺)
2m×(裝置個數(shù)=3臺)< 20m,因此,一個系統(tǒng)總的線纜最大長度為6m。
例3:總共有15臺設(shè)備時(控制器1臺+GPIB通信設(shè)備14臺)
2m×(裝置個數(shù)=15臺)>20m,因此,一個系統(tǒng)總的線纜最大長度為20m。
數(shù)據(jù)傳輸速度
使用8根數(shù)據(jù)線,以最大1MB/秒的速度,一次傳輸1個字節(jié)的數(shù)據(jù)。然而,很多計測儀器的通信速度慢,而且連接在同一總線上的設(shè)備的通信速度就是通信速度最慢的設(shè)備的速度。
通話端與收聽端
在連接在總線上的設(shè)備中,將接受數(shù)據(jù)的設(shè)備表示為聽話人(Listener),將發(fā)送數(shù)據(jù)的設(shè)備表示為講話人(Talker)。由控制器指定講話人和聽話人。將管理整個系統(tǒng)的裝置叫做控制器,通常由計算機(個人計算機)擔任。
主端與從端
所謂主端,如同其名稱所表達的那樣,就是主人(Master),在進行GPIB通信上具有決定權(quán)(發(fā)送指令等),相對主端,從端就是仆從(Slave),需要遵照主端的指示(接收指令等)運作。在系統(tǒng)構(gòu)成上,需要主端1臺,而需要從端1臺以上,而且在控制計量儀器時,計算機是控制器,因此就是主端。
設(shè)備地址
連接到GPIB系統(tǒng)上的各裝置在同一系統(tǒng)內(nèi)具有唯一(固有)的地址,通過該地址識別各裝置(將分配給自身的地址叫做我的地址)。如果將設(shè)備比作電話,設(shè)備地址就相當于電話號碼,可向該編號的設(shè)備發(fā)送數(shù)據(jù),或從其接收數(shù)據(jù),進行通信。在同一通信系統(tǒng)內(nèi),可在“0~30之間”自由設(shè)定設(shè)備地址,但不得與其他設(shè)備的地址重復。
握手通信
所謂握手,就是發(fā)送端向接收端發(fā)送“正在發(fā)送數(shù)據(jù)”的信號,接收端接收該信號,從信號線上讀入數(shù)據(jù)。并向發(fā)送端返回“已接收數(shù)據(jù)”的信號,這種通信方式一邊由雙方共同確認數(shù)據(jù)的收發(fā),一邊傳輸數(shù)據(jù)。由此,GPIB實現(xiàn)了可靠性高的數(shù)據(jù)收發(fā)。
控制器的作用
為了防止數(shù)據(jù)沖突,限定某一時刻只有1臺GPIB總線上的設(shè)備能夠發(fā)送數(shù)據(jù)。實現(xiàn)這一點的就是控制器??刂破髦饕M行以下動作。也就是說,要是用程序來表現(xiàn)這些,可以說就能夠構(gòu)建以計算機為控制器的GPIB系統(tǒng)。
1、指定講話人。
2、指定與講話人配對的聽話人(也可指定多個裝置)。
3、可將系統(tǒng)復位到初始狀態(tài)。
4、進行各設(shè)備的遠程控制。
5、承擔相應(yīng)各設(shè)備的服務(wù)請求的職責。
6、可向各設(shè)備發(fā)送指令(Command)。
GPIB的信號線
由8根數(shù)據(jù)線、3根握手線、5根管理總線組成,規(guī)格對連接器、信號配置的規(guī)定如下。尤其是編寫GPIB程序上所需的管理總線,需要透徹理解其職責。
GPIB的連接器芯配置圖
管理總線(5根)
用于高效控制連接在總線上的裝置,管理信息流動。在控制GPIB的設(shè)備上承擔重要的職責。
ATN(Attention)
在數(shù)據(jù)模式和指令模式中使用數(shù)據(jù)線,其中數(shù)據(jù)模式用于在裝置間傳輸數(shù)據(jù),指令模式用于從控制器向各裝置發(fā)送指令。指示當前的數(shù)據(jù)線狀態(tài)的是ATN線。ATN線的管理由控制器進行。當ATN線變成低電平后,各裝置必須從控制器接收指令。如果ATN線是低電平,就是指令模式;如果ATN線是高電平,就是數(shù)據(jù)模式(收發(fā)測量數(shù)據(jù)等)。
IFC(Interface Clear)
為初始化所有設(shè)備的接口功能,由控制器發(fā)送。各裝置接收該信號,將接口功能置于初始狀態(tài)。但是,緩沖器的內(nèi)容等各設(shè)備固有的部分(設(shè)備功能)不會被初始化(設(shè)備功能部分的初始化通過設(shè)備清除指令或者設(shè)備固有的指令進行)。以100μsec以上的脈沖信號發(fā)送IFC信號。
SRQ(Service Request)
接受控制的各裝置為向控制器發(fā)送處理結(jié)束、異常發(fā)生的通知,使用該信號。當某一裝置進入請求服務(wù)的狀態(tài)時,該裝置將SRQ線置于低電平。如果控制器獲悉SRQ線處于低電平,進行輪詢(輿論調(diào)查)處理,調(diào)查哪一設(shè)備請求了什么樣的服務(wù)。
REN(Remote Enable)
用于控制設(shè)備的遠程/本地狀態(tài)。只有具有控制器功能的裝置才能使用。
EOI(End or Identify)
在進行通信時,彼此需要同時結(jié)束通信(發(fā)送結(jié)束/接收結(jié)束)。進行二進制數(shù)據(jù)通信時,使用“EOI”表示數(shù)據(jù)的終端。進行字符數(shù)據(jù)通信時,可以使用“分隔符代碼”;而進行二進制數(shù)據(jù)通信時,需要利用EOI線控制數(shù)據(jù)的終端。
數(shù)據(jù)線(8根)
用于發(fā)送多路信息或者傳輸數(shù)據(jù)。
接地線(8根)
除了數(shù)據(jù)線以外,其余的信號線全部采用接地線與雙絞線結(jié)構(gòu)。GPIB使用的線纜和連接器采用的是屏蔽結(jié)構(gòu),抗電磁干擾性優(yōu)越。
握手線(3根)
用于數(shù)據(jù)線的握手。
DAV(Data Valid)
這是表示正在發(fā)送數(shù)據(jù)的信號線。
NDAC(No Data Accepted)
這是表示接收未完成的信號線。
NRFD(Not Ready For Data)
這是表示接收準備未完成的信號線。
SRQ(服務(wù)請求)與輪詢
為了用程序控制GPIB設(shè)備,接收數(shù)據(jù),除了理解管理總線的操作外,理解SRQ(服務(wù)請求)與輪詢的動作能夠編寫高效的程序。
SRQ(服務(wù)請求)
為了向控制器發(fā)送異常發(fā)生、發(fā)送準備完成的通知等,發(fā)出中斷請求,為此設(shè)置了SRQ功能。如果發(fā)出SRQ請求,SRQ線為“真”,向控制器傳達連接在總線上的某個設(shè)備發(fā)出了服務(wù)請求。然而,只靠SRQ信號分不清哪一設(shè)備發(fā)出了請求,于是控制器進行輪詢(輿論調(diào)查)處理,查清發(fā)出了服務(wù)請求的設(shè)備,并確認內(nèi)容。
串行查詢
這種方法由控制器向認為發(fā)出了服務(wù)請求的設(shè)備,一臺一臺地依次詢問是否發(fā)出了SRQ信號。接到串行查詢的設(shè)備向控制器發(fā)送被稱為“狀態(tài)字節(jié)”的1個字節(jié)的數(shù)據(jù)??刂破髡{(diào)查各設(shè)備的狀態(tài)字節(jié),把握哪一設(shè)備發(fā)出了服務(wù)請求,提出了什么樣的請求。一般多用串行查詢。
并行查詢
這種方法將8根數(shù)據(jù)線分別分配給1臺設(shè)備,一次性調(diào)查哪些設(shè)備(最多8臺設(shè)備)發(fā)送了SRQ。如果執(zhí)行并行查詢,各設(shè)備向分配的線路發(fā)送“0”或者“1”,答復是否向控制器發(fā)送了服務(wù)請求。
狀態(tài)字節(jié)
狀態(tài)字節(jié)(1個字節(jié))與收發(fā)數(shù)據(jù)一樣,被輸出到數(shù)據(jù)線上。當設(shè)備發(fā)出了SRQ時,狀態(tài)字節(jié)的第6位為“真(1)”,沒有發(fā)出SRQ的設(shè)備為“假(0)”。狀態(tài)字節(jié)的其余位可以表達各設(shè)備固有的含義。例如,可將發(fā)出SRQ的原因(計測結(jié)束、異常發(fā)生等)通知控制器。在被控制器輪詢后,狀態(tài)字節(jié)的第6位為恢復為“0”。
接口功能
GPIB的規(guī)格將對象設(shè)備的功能分割為接口功能和設(shè)備功能,規(guī)格只規(guī)定了接口功能。但是,連接在GPIB上的設(shè)備不必安裝所有功能。
設(shè)備功能
這是設(shè)備固有的部分,不屬于GPIB規(guī)格。設(shè)備固有的指令、設(shè)備的操作方法、測量量程的設(shè)定方法等。
接口功能
這是GPIB的規(guī)格規(guī)定的功能。GPIB通信設(shè)備只從各功能中安裝必要的功能。
具備GPIB的裝置的結(jié)構(gòu)
信息與指令
GPIB準備有規(guī)格規(guī)定的各種各樣的信息、指令。使用這些控制GPIB通信設(shè)備。
多路接口信息
這是為使GPIB連接的設(shè)備動作而準備的、規(guī)格規(guī)定的信息(指令)。這是只有控制器才能使用的信息(指令),使用數(shù)據(jù)線(8根)發(fā)出多路接口信息。有地址指令、通用指令。
設(shè)備信息
這是只有1根信號線才具有意義的信息。當線路為“真”時表示命令開始,為“假”時表示命令結(jié)束。
單線信息
這是只有1根信號線才具有意義的信息。當線路為“真”時表示命令開始,為“假”時表示命令結(jié)束。
●ATN (Attention)
●IFC (Interface Clear)
●SRQ (Service Request)
●REN (Remote Enable)
●EOI (End or Identify)
地址指令
這是只對特定設(shè)備使用、由GPIB規(guī)格規(guī)定的指令(Command)。
GTL (Go To Local)
將對方設(shè)備置于本地狀態(tài)。
SDC (Selected Device Clear)
將設(shè)備復位到初始狀態(tài)。
PPC (Parallel Poll Configure)
設(shè)定并行查詢功能的響應(yīng)位。
GET (Group Execute Trigger)
為設(shè)備設(shè)置觸發(fā)(計測開始等)。
TCT (Take Control)
可將對方設(shè)備指名為活動控制器。
通用指令
這是對連接的所有設(shè)備使用、由GPIB規(guī)格規(guī)定的指令(Command)。
LLO (Local Lock-Out)
禁止對方設(shè)備的本地功能。
DCL (Device Clear)
將總線上的所有設(shè)備置于初始狀態(tài)。
PPU (Parallel Poll Unconfigure)
取消并行查詢功能的響應(yīng)位。
SPE (Serial Poll Enable)
將對方設(shè)備置于串行查詢模式。
SPD (Serial Poll Disable)
解除對方設(shè)備的串行查詢模式。
UNL (UNLISTEN)
全部解除當前的聽話人指定。
UNT (UNTALK)
全部解除當前的講話人指定。
IEEE488.2共通指令
這是符合IEEE488.2標準的設(shè)備可共通使用的指令(Command)??筛咝У乜刂艷PIB通信設(shè)備。
準備有“*RST”、“*CLS”、“*TRG”、“*IDN?”等的指令、查詢(Query)。
基礎(chǔ)知識與術(shù)語說明
工控機 CPU / 芯片組 存儲器 擴展插槽 顯示器接口
測量控制 模擬量輸入輸出 數(shù)字量輸入輸出 電機運動控制 串行通信 GPIB通信
提交
搭載CODESYS軟件PLC、可通過HAT尺寸板來擴展I/O
新產(chǎn)品通信 – 搭載網(wǎng)狀Wi-Fi/智能漫游功能
運動控制的基礎(chǔ)知識
配備具有服務(wù)器級AI性能的NVIDIA® Jetson AGX Orin?
技術(shù) | CONPROSYS?從測量控制到IoT領(lǐng)域!