當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]作者:魏金成 牟濤1. 引言:1.1用 CPLD 實現(xiàn) GPIB 控制芯片的意義綜觀現(xiàn)今市場上的測試儀器,不難發(fā)現(xiàn) GPIB總線有重要的作用,在研制臺式測試儀器的時候,客戶幾乎均要求具備 GPIB接口??墒窃趯嶋H研發(fā)過程中,卻發(fā)

作者:魏金成 牟濤

1. 引言:

1.1用 CPLD 實現(xiàn) GPIB 控制芯片的意義

綜觀現(xiàn)今市場上的測試儀器,不難發(fā)現(xiàn) GPIB總線有重要的作用,在研制臺式測試儀器的時候,客戶幾乎均要求具備 GPIB接口??墒窃趯嶋H研發(fā)過程中,卻發(fā)現(xiàn) GPIB控制芯片很難購買,而且價格昂貴。而且作為測試儀器具備 GPIB的接口,一般只需要具有聽、講、串查功能,而不需要控、并查功能,這樣又會造成資源與功能的浪費。所以我們嘗試用 CPLD來實現(xiàn) GPIB接口的聽、講、串查功能,不僅可擁有自主知識產(chǎn)權(quán),節(jié)省了產(chǎn)品的成本,而且具有很大的靈活性。

1.2 GPIB控制芯片簡介:

GPIB 也叫 HPIB,是一個數(shù)字化的 24腳并行總線,由 16條信號線和 8條地線組成。這 16條信號線分為 8條數(shù)據(jù)線、5條控制線和 3條握手線。8條數(shù)據(jù)線:從 DIO1到 DIO8,用來傳送命令、地址和數(shù)據(jù);5條控制線:分別為 ATN線、IFC線、REN線、SRQ線和 EOI線,用來管理通過接口的有序信息流; 3條握手線:DAV線、NRFD線和 NDAC線,用于控制設(shè)備之間消息字節(jié)的傳送。發(fā)送消息方(源方)和接收消息方(受方)利用這 3條握手線進(jìn)行三線掛鉤,以保證數(shù)據(jù)線上的消息(命令或數(shù)據(jù))能準(zhǔn)確無誤地傳送。

在 GPIB系統(tǒng)中,把器件與 GPIB總線的一種交互作用定義成一種接口功能。GPIB標(biāo)準(zhǔn)接口共定義了 10種接口功能。

1.3設(shè)計軟件及設(shè)計芯片的選擇

開發(fā)工具采用 ALTERA公司的 MAXplusⅡ10.0。MAXplusⅡ開發(fā)工具是美國 Altera公司自行設(shè)計的一種 EDA軟件工具,它具有原理圖輸入和文本輸入(采用硬件描述語言)兩種輸入手段,配備有編輯、編譯、仿真、綜合、芯片編程等功能。

Altera 公司是世界上從事可編程邏輯芯片生產(chǎn)的幾家主要廠商之一,其 MAX3000A系列可編程邏輯芯片速度快,容量大,性價比高。我們選用的 EPM3256ATC144-10,擁有 256個宏單元,144個管腳,可自定義使用的管腳達(dá) 116個,4.5ns的傳輸延時完全能滿足要求。

2. GPIB控制器各個模塊的設(shè)計

我們可以把整個系統(tǒng)劃分為幾個子系統(tǒng)。其中包括和微處理器接口的讀寫電路,與 GPIB母線通信的接口功能,以及內(nèi)部寄存器。對每個子系統(tǒng)的設(shè)計也可以采用向下分解為模塊級設(shè)計,這樣在調(diào)試和組件系統(tǒng)時,不僅具有很強的靈活性,而且方便代碼的調(diào)試以及利于代碼的重利用。與微處理器接口的讀寫電路設(shè)計可以利用組合邏輯電路設(shè)計方法實現(xiàn),其基本模塊,如:譯碼電路,讀寫電路,相對比較成熟,在設(shè)計的時候只要對其基本功能深刻理解的基礎(chǔ)上容易實現(xiàn)。與 GPIB母線通信的子系統(tǒng)設(shè)計是本課題設(shè)計的重點也是難點,它不僅需要對 IEEE488協(xié)議有深刻的認(rèn)識,而且在接口功能子集的選擇上也有一定的要求。

2.1微處理器( MCU)接口電路

微處理器(MCU)接口包括提供正確的寄存器訪問地址的譯碼電路,以及連同 WE和 DBIN一起構(gòu)成的訪問 GPIB控制器的讀寫電路, NCS用來選通地址譯碼。地址譯碼電路以及數(shù)據(jù)讀寫電路在數(shù)字電路設(shè)計中是昀為成熟的電路,在此不作更多深入的闡述。值得注意的是 GPIB控制器的讀寫信號并不是通常意義上的 RD和 WR信號,而是由 DBIN和 WE信號完成。而且,對 13個寄存器的譯碼也用的僅僅是 RS[0:2],這就需要和 DBIN信號的配合來完成譯碼功能。

2.2 內(nèi)部寄存器

GPIB控制器(參考 NAT9914)的內(nèi)部體系結(jié)構(gòu)有 13個寄存器,其中 7個可寫寄存器, 6個只讀寄存器。它們都是八位的,其中可讀寄存器有中斷狀態(tài)寄存器 0(ISR0)、中斷狀態(tài)寄存器 1(ISR1)、地址狀態(tài)寄存器(ASR)、總線狀態(tài)寄存器(BSR)、命令通過寄存器(CPR)、數(shù)據(jù)輸入寄存器(DIR);可寫寄存器有中斷屏蔽寄存器 0(IMR0)、中斷屏蔽寄存器 1(IMR1)、地址寄存器( ADR)、輔助命令寄存器( AUXCR)、串行查詢寄存器( SPR)、并行查找寄存器(PPR)、數(shù)據(jù)輸出寄存器( CDOR)。在 GPIB控制芯片的設(shè)計中對這十三個寄存器進(jìn)行詳細(xì)的描述。本模塊的設(shè)計采用圖形方式,利用參數(shù)化模塊庫實現(xiàn)各個寄存器。

2.3 接口功能

GPIB標(biāo)準(zhǔn)接口共定義了 10種接口功能。每一個接口功能由一組或多組相互聯(lián)系而又相互排斥的狀態(tài)來定義。在一個時刻,一組互聯(lián)又互斥的狀態(tài)中必須有一個而且也僅又一個狀態(tài)在起作用。在 IEEE488協(xié)議中對接口功能的每一個狀態(tài)還做了兩方面的規(guī)定:

1 當(dāng)某個狀態(tài)在起作用時,在接口上可以或必須發(fā)送的消息;

2 在什么條件下接口功能必須脫離某一狀態(tài)而進(jìn)入同一組狀態(tài)的另一個狀態(tài);

這些因素決定了狀態(tài)的處理能力。接口功能狀態(tài)圖給出了全部狀態(tài)以及從一個狀態(tài)變遷到另一個狀態(tài)一切可能的途徑。由于篇幅的限制,下面以受方掛鉤接口功能 AH功能為例,來介紹功能模塊的實現(xiàn)過程及原理。受方掛鉤功能賦予器件保證正確地接收遠(yuǎn)地多線消息地能力。一個源方掛鉤功能與一個或多個受方掛鉤功能(分別含于各個器件中)的鏈鎖掛鉤序列保證每個消息拜特的異步傳遞。受方掛鉤功能可以延遲多線消息傳遞的開始或結(jié)束,直到器件準(zhǔn)備好繼續(xù)參與傳遞過程為止。狀態(tài)圖如圖 1:

 


VHDL語言描述如下:

process(c_state,n_state)

begin

AIDS<=0;ANRS<=0;AWNS<=0;ACDS<=0;ACRS<=0;

case c_state is

when s1=>AIDS<=1;NRFD<=1;NDAC<=1;

IF (ATN OR LACS OR LADS)=1 then n_state<=s2;

else n_state<=s1; end if;

when s2=>ANRS<=1;NRFD<=0;NDAC<=0;

IF ((ATN OR rdy) and not tcs)= 1 then n_state<=s3;

elsif DAV=1 then n_state<=s5;

else n_state<=s2; end if;

when s3=>ACRS<=1;NRFD<=1;NDAC<=0;

IF DAV=1 then n_state<=s4;

ELSIF (NOT ATN AND NOT rdy)=1 THEN n_state<=s2;

else n_state<=s3; end if;

when s4=>ACDS<=1;NRFD<=0;NDAC<=0;

IF ((ATN AND T3) OR (NOT ATN AND NOT rdy))=1 THEN n_state<=s5;

else n_state<=s4; end if;

when s5=>AWNS<=1;NRFD<=0;NDAC<=1;

IF DAV=0 then n_state<=s2;

else n_state<=s5; end if;

end case;

end process;

根據(jù)儀器的具體要求,由于大多數(shù)測試系統(tǒng)只要求被遠(yuǎn)控,并不要求控功能,而并查功能在系統(tǒng)組建中屬于可選項,很少用到,為了簡化系統(tǒng),設(shè)計中徹底去掉此兩項功能。其他功能模塊包括:講者功能( T)、聽者功能( L)、源方掛鉤功能( SH)、受方掛鉤功能( AH)、服務(wù)請求功能(SR)、、遠(yuǎn)控本控功能( RL)、設(shè)備觸發(fā)功能(DT)和設(shè)備清除功能(DC)。其設(shè)計原理與 AH相同,在這里就不做詳細(xì)論述。

2.4 輔助命令譯碼器與多線消息譯碼器

1.輔助命令譯碼器通過對輔助命令寄存器 F0到 F4位的譯碼來生成輔助命令。

輔助命令共有 stactic和 pulse兩種,即靜態(tài)和脈沖兩種信號,靜態(tài)命令用電平的高低來表示。而動態(tài)命令則通過一個周期的方波脈沖信號來產(chǎn)生,要求脈沖命令至少在寫完輔助命令寄存器后保持一個周期。我們通過 VHDL語言來完成本模塊的設(shè)計。

2.多線消息是處于相互排斥的編碼集中但又公用一組信號線來傳遞的消息。在母線上,每一時刻只能傳遞一條多線消息(一個消息拜特)。多線消息在遠(yuǎn)地消息譯碼單元內(nèi)進(jìn)行譯碼。在這個譯碼單元,通過消息傳遞單元(DIO線)來接收母線上的消息。消息譯碼單元僅在命令工作方式下( ATN=真)期間起作用。這樣的接口消息可能是地址、通令、專令或副令之一。在數(shù)據(jù)工作方式( ATN=假)中,數(shù)據(jù)線上攜帶器件消息,這時譯碼單元不起作用。在本 GPIB控制器設(shè)計中,此模塊還包含了地址比較器,這樣可以得到內(nèi)部狀態(tài)機所需的與地址相關(guān)的信號。用 VHDL語言完成其設(shè)計,并例化成模塊。

2.5 三態(tài) I/O通道

需要注意的是芯片數(shù)據(jù)通道中八條數(shù)據(jù)線與控制數(shù)據(jù)流向的八條控制線都是雙向的,所以必須對 I/O通道進(jìn)行設(shè)置。實現(xiàn)雙向總線,就需要使用可編程邏輯器件的雙向口構(gòu)造雙向三態(tài)總線。三態(tài)總線的實現(xiàn),需要使用三態(tài)緩沖器,實現(xiàn)高、低電平和高阻三個狀態(tài)?;贏LTERA公司的 CPLD系列器件的特點,我們在設(shè)計的時候,內(nèi)部避免使用雙向的三態(tài)總線,將雙向的信號分別直接引到外部。在外部設(shè)計雙向三態(tài)總線。設(shè)計中采用圖形方式輸入,利用參數(shù)化模塊庫(LPM)實現(xiàn)。這種方法尤為清晰簡便。如圖所示:

 


在這里用 TE信號來作為三態(tài)總線的方向控制信號。不考慮控功能,當(dāng)本設(shè)備處于并行點名狀態(tài),或者作為非命令數(shù)據(jù)的源接受方時,TE信號為真,即 TE=PPAS+~SIDS。

2.6 GPIB總線中的三線掛鉤技術(shù)的實現(xiàn)三線掛鉤技術(shù)是本設(shè)計的關(guān)鍵,因為在總線傳輸中,所有的命令和數(shù)據(jù)的傳送都要通過三線掛鉤來實現(xiàn)。

GPIB 總線中的三線掛鉤技術(shù)( DAV、NRFD、NDAC)可以自動適應(yīng)測試系統(tǒng)中各種不同器件的傳輸速率。源方作為講者或者控者的器件,發(fā) DAV消息。受方作為聽者的器件,發(fā) NRFD、NDAC消息。三條握手線, DAV線、NRFD線和 NDAC線,用于控制設(shè)備之間消息字節(jié)的傳送。發(fā)送消息方(源方)和接收消息方(受方)利用這 3條握手線進(jìn)行三線掛鉤,以保證數(shù)據(jù)線上的消息(命令或數(shù)據(jù))能準(zhǔn)確無誤地傳送。

 


通過對系統(tǒng)的仿真,對比 NI公司的 GPIB控制器 NAT9914數(shù)據(jù)手冊上的三線掛鉤的時序圖可以看出,本設(shè)計成功地實現(xiàn)了三線掛鉤的要求。

2.7 系統(tǒng)調(diào)試

調(diào)試是軟硬件設(shè)計過程中必不可少的一環(huán)。昀終程序通過 ByteBlaster專用下載電纜下載 EPM3256ATC144-10芯片中,將下載好程序地 CPLD取代原來系統(tǒng)中的 NAT9914進(jìn)行在線調(diào)試。通過反復(fù)的試驗,成功地實現(xiàn)了 CPLD替代 GPIB控制器的大部分功能。

3. 結(jié)論本文的創(chuàng)新點:采用低成本的 CPLD器件替代了價格昂貴,且難以購買的 GPIB控制芯片,成功的實現(xiàn)了具有自主知識產(chǎn)權(quán)的 IP CORE,并且所有核心模塊完全采用 VHDL語言實現(xiàn),能夠在不同的開發(fā)環(huán)境上移植,可以根據(jù)不同的應(yīng)用環(huán)境,對其進(jìn)行進(jìn)行剪裁和優(yōu)化,不僅大大節(jié)省了成本,而且具有很大的靈活性。

參考文獻(xiàn):

譚會生,張昌凡.EDA技術(shù)及應(yīng)用.西安電子科技大學(xué)出版社,2001

楊安祿,陳長齡.電子儀器接口技術(shù),第 1版.電子科技大學(xué)出版社, 1994

王術(shù)群,田書林.“高速數(shù)據(jù)發(fā)生器的 GPIB接口與驅(qū)動軟件設(shè)計”,電子科技大學(xué)碩士論文

李訓(xùn)銘,趙雪.基于 GPIB接口的虛擬儀器在接收機測試臺的應(yīng)用[ J].微計算機信息, 2006, 6-1:184-186

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉