智能儀器的數據通信與接口技術_第1頁
智能儀器的數據通信與接口技術_第2頁
智能儀器的數據通信與接口技術_第3頁
智能儀器的數據通信與接口技術_第4頁
智能儀器的數據通信與接口技術_第5頁
已閱讀5頁,還剩248頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

3.1串行數據通信技術3.2并行數據通信技術3.3

USB總線技術3.4智能卡接口技術3.5無線通信技術3.6

實訓項目三——智能家居系方案分析本章小結

智能儀器的數據通信與接口技術 3.1串行數據通信技術

3.1.1串行通信的基本概念

串行通信是將數據一位一位地傳送,它只需要一根數據線,硬件成本低,而且可以使用現有的通信通道(如電話、電報等),故在智能化測控儀器儀表中通常采用串行通信方式來實現與其它儀器或計算機系統之間的數據傳送。下面介紹串行通信的一些基本概念。

1.數據傳送速率——波特率(Baudrate)

所謂波特率,是指每秒串行發送或接收的二進制位(比特,bit)數目,其單位為b/s(每秒比特數),它是衡量數據傳送速度的指標,也是衡量傳送通道頻帶寬度的指標。

2.單工、半雙工與全雙工

按照智能設備發送和接收數據的方向以及能否同時進行數據傳送,可將數據傳輸分為工、半雙工與全雙工三種,如圖3-1所示。圖3-1全雙工、半雙工、單工示意圖

(1)單工(Simplex)方式:相互通信的任何一方僅允許數據單方向傳送。

(2)半雙工(Half

Duplex)方式:通信的雙方既可以發送又可以接收數據,但是發送和接收數據只能分時使用同一傳輸線路,即在某一時刻只允許進行一個方向的數據傳送。

(3)全雙工(Full

Duplex)方式:通信的雙方采用兩根傳送線連接兩端設備,可同時進行數據的發送和接收。

3.串行傳送(通信)方式及規程

在串行傳送中,沒有專門的信號線可用來指示接收、發送的時刻并辨別字符的起始和結束,為了使接收方能夠正確地解釋接收到的信號,收發雙方需要制定并嚴格遵守通信規程(協議)。串行傳送有異步和同步兩種基本方式,通信規程如下所述。

1)異步傳送規程

異步傳送的特點是以字符為單位傳送的。異步傳送的每個字符必須由起始位(1位“0”)開始,之后是7或8位數據和一位奇偶校驗位,數據的低位在先、高位在后,字符以停止位(1位、1位半或2位邏輯“1”)表示字符的結束。從起始位開始到停止位結束組成一幀信息,因此,異步串行通信一幀字符信息由四部分組成:起始位、數據位、奇偶校驗位和停止位(見圖3-2)。停止位后面可能不立刻緊接下一字符的起始位,這時停止位后面一直維持“1”狀態,這些位稱為“空閑位”。圖3-2異步傳送數據格式

異步傳送的標準波特率有很多種,目前常用的是300b/s、600b/s、1200b/s、2400b/s、〖JP〗4800b/s、9600b/s和19200b/s。異步傳送對每個字符都附加了同步信息,降低了對時鐘的要求,硬件較為簡單。但冗余信息(起始位、停止位、奇偶校驗位)所占比例較大,數據的傳送速度一般低于同步傳送方式。

2)同步傳送規程

在同步傳送過程中,必須規定數據的長度(每個字符有效數據為幾位),并以數據塊形式傳送,用同步字符指示數據塊的開始。同步字符可用單字符、雙字符或多字符。數據塊之后為CRC(CyclicRedundancyCheck,循環冗余驗碼)字符,用于檢驗同步傳送的數據是否出錯。同步傳送的格式如圖3-3所示。圖3-3同步傳送數據格式

由于同步傳送中的冗余信息(同步字符、CRC字符)所占比例小,數據的傳送速度一般高于異步傳送方式。由于要求發送方與接收方的時鐘精確同步,同步傳送方式的硬件較為復雜。時鐘信息可以通過一根獨立的信號線進行傳送,也可以通過將信息中的時鐘代碼化來實現(如采用曼徹斯特編碼)。

4.基帶傳輸

對數字信號不加調制,以其基本形式進行的傳輸,稱之為“基帶傳輸”。基帶傳輸中數字信息的形式是與其通信速率有關的開關信號,覆蓋相當寬廣的頻譜。受傳輸介質(電纜)分布參數和外界噪聲等影響,信號將會產生一定程度的畸變。為在接收端能正確地還原數據信息,必須將信號在傳輸過程中的畸變限制在一定的范圍以內。由于分布參數和外界噪聲的影響與傳輸距離成正比,從而導致對傳輸速率和傳輸距離的限制。

5.調制/解調與調制解調器

“儀器內部總線”、“片間總線”和“底板總線”采用基帶傳輸一般沒有什么問題,對于“儀器外部總線”上進行的遠距離數據傳輸,基帶傳輸不能保證其可靠性,必須對基帶信號加以調制再進行傳輸。調制的本質是將頻帶寬度無限的數字信號轉換為頻帶有限的調制信號(模擬信號或射頻信號),從而大大增加其可靠傳輸的距離,在接收端通過解調再將調制信號恢復為原來的數字信號。這一過程被稱之為調制/解調(modulationanddemodulation),承擔調制/解調任務的設備稱之為調制解調器(MODEM),如圖3-4所示。圖3-4通過MODEM的串行通信示意圖3.1.2

RS-232標準串行接口總線

RS-232C是美國電子工業協會EIA(ElectronicIndustriesAssociation)公布的串行通信標準,RS是英文“推薦標準”的字頭縮寫,232是標識號,C表示該標準修改的次數(3次)。最初發展RS-232標準是為了促進數據通信在公用電話網上的應用,通常要采用調制解調器(MODEM)進行遠距離數據傳輸。20世紀60年代中期,將此標準引入到計算機領域,目前廣泛用于計算機與外圍設備的串行異步通信接口中,除了真正的遠程通信外,不再通過電話網和調制解調器。

1.總線描述

RS-232C標準定義了數據通信設備(DCE)與數據終端設備(DTE)之間進行串行數據傳輸的接口信息,規定了接口的電氣信號和接插件的機械要求。RS-232C對信號開關電平規定如下:

驅動器的輸出電平為

接收器的輸入檢測電平為

邏輯“0”+5~+15V

邏輯“0”>+3V

邏輯“1”-5~-15V

邏輯“1”<-3V

RS-232C采用負邏輯,噪聲容限可達到2V。

RS-232C接口定義了20條可以同外界連接的信號線,并對它們的功能做了具體規定。這些信號線并不是在所有的通信過程中都要用到,可以根據通信聯絡的繁雜程度選用其中的某些信號線。常用的信號線如表3-1所示。

表3-1

RS-232C標準串行接口總線的常用信號線

RS-232C用做計算機與遠程通信設備的數據傳輸接口,如圖3-5所示。圖中信號線分為數據信號線和控制信號線,分別說明如下。

1)數據信號線

發送數據”(TXD)與“接收數據”(RXD)是一對數據傳輸信號線。TXD用于發送數據,當無數據發送時,TXD線上的信號為“1”。RXD用于接收數據,當無數據接收時或接收數據間隔期間,RXD線上的信號也為“1”。圖3-5帶RS-232C接口的通信設備連接

2)控制信號線

“請求發送”(RTS)與“為發送清零”(CTS)信號線用于半雙工通信方式。半雙工方式下發送和接收只能分時進行,當DTE有數據待發送時,先發“請求發送”信號通知調制解調器。此時若調制解調器處于發送方式,回送“為發送清零”信號,發送即開始。若調制解調器處于接收方式,則必須等到接收完畢轉為發送方式時,才向DTE回送“為發送清零”信號。在全雙工方式下,發送和接收能同時進行,不使用這兩條控制信號線。

“DCE就緒”(DSR)與“DTE就緒”(DTR)信號線分別表示DCE和DTE是否處于可供使用的狀態?!氨Wo地”信號線一般連接設備的屏蔽地。

2.RS-232C接口的常用系統連接

計算機與智能設備通過RS

232C標準總線直接互聯傳送數據是很有實用價值的,一般使用者需要熟悉互聯接線的方法。

圖3-6所示為全雙工標準系統連接?!鞍l送數據”線交叉連接,總線兩端的每個設備均既可發送,又可接收?!罢埱蟀l送”(RTS)線折回與自身的“為發送清零”(CTS)線相連,表明無論何時都可以發送?!癉CE就緒”(DSR)與對方的“DTE就緒”(DTR)交叉互聯,作為總線一端的設備檢測另一端的設備是否就緒的握手信號?!拜d波檢測”(DCD)與對方的“請求發送”(RTS)相連,使一端的設備能夠檢測對方設備是否在發送。這兩條連線較少應用。圖3-6全雙工標準系統連接圖3-7全雙工最簡系統連接

RS-232C發送器電容負載的最大驅動能力為2500pF,這就限制了信號線的最大長度。例如,如果傳輸線采用每米分布電容約為150pF的雙絞線通信電纜,最大通信距離限制在15m。如果使用分布電容較小的同軸電纜,傳輸距離可以再增加一些。對于長距離傳輸或無線傳輸,則需要用調制解調器通過電話線或無線收發設備連接,如圖3-8所示。圖3-8調制解調器通信系統連接圖

3.電平轉換

在計算機及智能儀器內,通用的信號是正邏輯的TTL電平。而RS-232C的邏輯電平為負邏輯的±12V信號,與TTL電平不兼容,必須進行電平轉換。用于電平轉換的集成電路芯片種類很多,RS-232C總線輸出驅動器有MC1488、SN75188、SN75150等,RS-232C總線接收器有MC1489、SN75199、SN75152等,其中MC1488和MC1489的應用方法如圖3-9所示。為了把+5V的TTL電平轉換為-2~+12V的RS

232C電平,輸出驅動器需要±12V電源。某些RS-232C接口芯片采用單一的+5V電源,其內部已經集成了DC/DC電源轉換系統,而且輸出驅動器與接收器制作在同一芯片中,使用更為方便,例如MAX232、ICL232等。圖3-9

RS-232C與TTL電平變換器

4.計算機接口

計算機中的數據是并行的,為了實現異步串行傳輸,發送時必須進行并-串轉換,而且要把數據字符組織成如圖3-2所示的數據格式;接收時必須從圖3-2所示的格式中把有用的字符提取出來,再進行串/并轉換。此外,還要檢驗傳送是否正確。這些工作一般采用專用集成電路芯片UART(通用異步接收器/發送器)來完成。UART作為計算機的串行通信接口電路芯片,在相應的控制軟件配合下,實現異步串行數據傳輸。UART芯片種類很多,常用的有Intel8251、8250、ZilogZ80

SIO、MotorolaMC6850等。許多單片計算機也具有UART功能,詳細內容讀者可參閱有關的書籍和產品手冊。3.1.3

RS-422A與RS-423A標準串行接口總線

雖然,RS-232C使用很廣泛,但它存在著一些固有的不足,主要有:

(1)數據傳輸速率慢,一般低于20kb/s。

(2)傳送距離短,一般局限于15m,既使采用較好的器件及優質同軸電纜,最大傳輸距離也不能超過60m。

(3)有25芯D型插針和9芯D型插針等多種連接方式。

(4)信號傳輸電路為單端電路,共模抑制性能較差,抗干擾能力弱。圖3-10

RS-432A和RS-422A的電路連接3.1.4

RS-485標準串行接口總線

RS-485標準串行接口總線實際上是RS

422A的變型,它是為了適應用最少的信號線實現多站互聯、構建數據傳輸網的需要而產生的。它與RS-422A的不同之處在于:

(1)在兩個設備相連時,RS-422A為全雙工,RS

485為半雙工。

(2)對于RS-422A,數據信號線上只能連接一個發送驅動器,而RS-485卻可以連接多個,但在某一時刻只能有一個發送驅動器發送數據。因此,RS-485的發送電路必須由使能端E加以控制。

RS-485用于多個設備互聯,構建數據傳輸網十分方便,而且,它可以高速遠距離傳送數據。因此,許多智能儀器都配有RS-485總線接口,為網絡互聯、構成分布式測控系統提供了方便。通過RS

485總線進行多站互聯的原理如圖3-11所示。在同一對信號線上,RS-485總線可以連接多達32個發送器和32個接收器。某些RS-485接口芯片可以連接更多的發送器和接收器(128或256)。圖3-11

RS-485總線多站互聯原理圖圖3-12傳輸距離與傳輸速率關系

應當指出,對于RS-423A、RS-422A與RS-485總線,表3-2中列出的最大傳輸距離和最大傳輸速率并不能同時達到。傳輸距離長時,傳輸速率就低一些;傳輸距離短時,傳輸速率就可以高一些。對于RS-422A與RS-485,傳輸距離與傳輸速率之間的關系如圖3-12所示。可以看出,在最高傳輸速率10Mb/s情況下,傳輸距離僅為10m。只有在傳輸速率不超過100kb/s條件下,傳輸距離才可以達到1200m。當傳輸速率在100kb/s~10Mb/s范圍內時,傳輸距離受限于傳輸線的歐姆阻抗、集膚效應等損耗而導致信號畸變。由于損耗與頻率有關,所以傳輸率與傳輸距離約為反比關系,可用下面的經驗公式進行計算:

速率(b/s)×距離(m)≤100M表3-2

RS-423A、RS-422A與RS-485的各項性能對比

1.傳輸線的選擇和阻抗匹配

在差分平衡系統中,一般選擇雙絞線作為信號傳輸線。雙絞線價格低廉,使用方便,兩條線基本對稱,外界干擾噪聲主要以共模方式出現,對接收器的差動輸入影響不大。信號在傳輸線上傳送時,如果遇到阻抗不連續的情況,會出現反射現象。傳送的數字信號包含豐富的諧波分量,如果傳輸線阻抗不匹配,高次諧波可能通過傳輸線向外輻射形成電磁干擾(EMT)。雙絞線的特性阻抗一般在110~130Ω之間,通常在傳輸線末端接一個120Ω電阻進行阻抗匹配。有些型號的RS

485發送器芯片有意降低信號變化沿斜率(簡稱為限斜率)。從而使高次諧波分量大大減少,并可減少傳輸線阻抗匹配不完善而帶來的不利影響。例如MAX483、MAX488、SN75LBC184等芯片都具有這種功能。

2.隔離

RS-485總線在多站互聯時,相距較遠的不同站之間的地電位差可能很大,各站若直接聯網很有可能導致接口芯片,尤其是接收器接口芯片的損壞。解決這一問題簡單有效的方法是將各站的串行通信接口電路與其他站進行電氣隔離,如圖3-13所示。實踐證明,這是一種有效的辦法。圖3-13電路可以用分立的高速光耦器件,帶隔離的DC/DC電源變換器與RS-485收發器組合而成,也可以采用專門的帶隔離收發器的芯片。MAXIM公司生產的MAX1480B是具有光隔離的RS-485接口芯片,片內包括收發器、光電耦合器和隔離電源,單一的+5V電源供電,使用十分方便。圖3-13光電隔離的RS-485總線

3.抗靜電放電沖擊

RS-485接收器差分輸入端對地的共模電壓范圍為-7~+12V,超過此范圍時器件可能損壞。接口芯片在安裝和使用過程中,可能受到靜電放電沖擊,例如人體接觸芯片引腳引起的靜電放電,其電壓可以高達35kV。靜電放電會影響電路的正常工作或導致器件損壞。解決的辦法是選用帶靜電放電保護的RS-485接口器件,例如MAX1487E、MAX483E-491E、SN75LBC184等。這些器件對于抗其他類型的高共模電壓干擾(如雷電干擾)也很有效。解決這一問題的另一個辦法是在傳輸信號線上加箝位電路。

4.傳輸線的鋪設及屏蔽

在系統安裝時,應盡量做到傳輸線單獨鋪設,不與交流動力線一起鋪設在同一條電纜溝中。強信號線與弱信號線避免平行走向,盡量使兩者正交。如果這些要求很難實現,也要盡量使信號線離干擾線遠一些,一般認為兩者的距離應為干擾導線內徑的40倍以上。如果采用帶有屏蔽層的雙絞線,將屏蔽層良好地接大地,也會有很好的效果。 3.2并行數據通信技術

3.2.1

Centronics標準并行接口

微型計算機配備的并行接口遵從Centronics標準,這是一個得到工業界大量支持的標準,多用于計算機與打印機的并行連接,在智能儀器和其他智能設備(如仿真開發裝置)與微型計算機的連接中也得到采用。這個標準開始規定了一個36芯插頭座,并對每個引腳的信號做了明確的規定(如表3-3所示)。其中有8條數據線、3條聯絡線和一些特殊的控制線。后來將這個標準簡化為25芯插頭座。表3-3

Centronics標準并行接口引腳信號3.2.2

GP-IB(IEEE488)總線

自動測試系統中典型的并行總線是GP-IB(IEEE488)總線,GP-IB即通用接口總線(GeneralPurposeInterfaceBus)是國際通用的儀器接口標準。GP-IB總線可將多臺配置有GP-IB接口的獨立儀器連接起來,在具有GP-IB接口的計算機和GP-IB協議的控制下形成協調運行的有機整體。由于數據傳輸距離較近,雖然并行數據電纜的導線數目較多,但可以體現并行通信高速傳輸的優勢。

在自動測試系統中,配置有GP-IB接口的智能儀器(一般稱之為GP-IB儀器)之間的通信是通過接口系統發送“儀器消息”和“接口消息”來實現的。儀器消息即通常概念中的數據或數據消息,主要包含該儀器的特定信息(如編程指令、測量結果、機器狀態和數據文件等);接口消息則用于管理總線,通常稱之為命令(command)或命令消息;接口消息執行諸如總線初始化、對儀器尋址、將儀器設置為遠程方式或本地方式等操作。此處的“命令”與特定儀器的專用命令是兩個不同的概念,特定儀器的專用命令在GP-IB系統中是作為數據消息來處理的。在一個GP-IB標準接口總線系統中,要進行有效的通信聯絡,至少有“講者”(talker)、“聽者”(listener)和“控者”(controller)三類儀器裝置。講者通過總線向接收數據的一個或多個聽者發送數據信息;聽者是通過總線接收由講者發出消息的裝置;控制器(控者)則通過向所有的儀器發送命令來管理GP-IB總線上的信息流。

自動測試系統中的某臺GP-IB儀器,既可能是講者,也可能是聽者。但在某一時刻,只能有一個講者在起作用。圖3-14中由數字電壓表、信號發生器、打印機和計算機(安裝GP-IB卡)組成自動測試系統。計算機為控者,用以控制三臺GP-IB儀器按照GP-IB協議規范協調地工作。“聽”、“講”、“控”是相對GP-IB總線而言的。圖3-14

GP-IB自動測試系統

GP-IB標準接口由16根信號線組成,分為數據線(8根)、掛鉤線(handshake)(3根)和接口管理線(5根)三組。數據線DIO1~DIO-8傳輸數據消息和命令消息。ATN線的狀態決定數據線上的消息是數據還是命令。所有的命令和大多數數據采用7位ASCII或ISO代碼,故數據線的第8位(DIO8)可用做奇偶校驗位或不用。3根掛鉤線控制儀器之間信息字節的傳輸,形成“三線互鎖掛鉤”過程,以保證數據線上信息字節的發送和接收不產生傳輸錯誤。

3根掛鉤線的信號為:

(1)NRFD(NotReadyforData,接收數據未就緒):指示某儀器是否準備好接收一個消息字節。該信號線在接收命令時由所有的儀器驅動,在接收數據消息時由聽者驅動。

(2)NDAC(NotDataAccepted,未接收數據):指示某儀器是否接收到消息字節。該信號線在接受命令時由所有的儀器驅動,而在接收數據消息時由聽者驅動。

(3)DAV(DataValid,數據有效):指示數據線上的信號是穩定(有效)并可由儀器安全接收的??刂破髟诎l送命令時發送信號,而講者則在發送數據消息時發送此信號。

5根管理信號線的信息分別是:

(1)ATN(Attention,注意):控制器在使用數據線發送命令時將這根信號線設置為真,而在某一講者可以發送數據消息時將其設置為假。

(2)IFC(InterfaceClear,接口清除):系統某控制器驅動該信號線對總線初始化,并成功執行控制器。

(3)REN(RemoteEnable,遠程允許):系統控制器驅動REN,用于將各儀器設置于遠程(remote)編程或本地(local)編程方式。

(4)SRQ(ServiceRequest,服務請求):任何儀器均可以驅動該信號線,實現異步請求控制器服務。

(5)EOI(EndorIdentify,結束或識別):講者使用該信號線標記信息字符串的結束,而控制器則使用該信號線要求各儀器在并行查詢操作中識別各自的響應。圖3-15

GP-IB連接器及信號

GP-IB總線通過標準電纜將GP-IB系統中各獨立的GP-IB儀器連接起來。GP-IB控制器的作用如同計算機中的CPU,但更像市話系統中的交換機,對GP-IB總線構成的通信網絡實施監控。當控制器察覺到某儀器欲發送一條數據消息時,即把講者連接到聽者??刂破魍ǔT谥v者向聽者發送消息之前,對講者和聽者尋址,在講者和聽者之間建立聯系。某些GP-IB系統的組成不需要控制器(例如一個系統中某儀器永遠是講者,而其他儀器則只是聽者)。如果系統中講者和聽者的身份需要動態更換,則系統中必須有一個控制器。這個控制器通常是一臺計算機。GP-IB系統中可以存在多個控制器,但任何時刻只能有一個執行控制器(controller-in-charge,CIC),其他控制器只能充當講者和聽者的角色。

GP-IB總線信號采用TTL電平負邏輯。GP-IB總線上的每臺儀器均采用一種特殊的24線屏蔽電纜連接,每根電纜的兩端都是一個將插頭和插座組合在一起的連接器。這樣的連接器可將多臺設備按串聯和星形的形式連接。24線連接器的引腳信號如圖3-15所示。連接器中18~23腳上的接地導線GND分別與6~11腳的信號線形成雙絞線,以提高系統的抗干擾能力。

為了達到GP-IB在設計時所確定的高數據傳輸率,總線上儀器之間的距離和能夠掛接的儀器數目是有限的。對于一般的操作來說,總線上相鄰兩儀器之間的距離不得大于4m,而總線上所有儀器之間的平均距離不得大于2m,系統中GP-IB總線的電纜總長度不得超過20m,最多只能掛接15臺儀器,且加電的儀器不得少于2/3。

1.控制器的操作

控制器加電后一般應發出IFC信號,使所有的GP-IB設備初始化。然后設置ATN(低電平有效),表示控制器將向總線上的聽者和講者發送命令,實現對系統的配置和調度。這時數據線上的8位數據為命令地址組合碼,其定義如表格3-4所示。除對聽者和講者身份進行設置和取消的命令外,還可使用16條通用命令。從該表中還可以看到GP-IB設備可選用31個地址(雖然GP-IB總線上最多只能驅動15個裝置)。表3-4

GP-IB總線命令地址組合碼

控制器的操作過程:①控制器檢測SRQ線,當其為低電平時,通過查詢確定請求服務的儀器;②控制器設置ATN為有效(低電平);③控制器發送X0100001,確定地址為1的儀器為聽者;④控制器發送X1000010,確定地址為2的儀器為講者;⑤控制器設置ATN為高電平;⑥講者與聽者交換數據;⑦控制器發送X0111111關閉聽者;⑧控制器發送X1011111關閉講者。

2.三線掛鉤操作圖3-16

GP-IB總線的三線掛鉤操作

處于GP-IB總線數據傳輸最底層的三線掛鉤操作的標準過程如圖3-16所示:首先需要聽者解除(接收數據未就緒),由于NRFD和NDAC具有“線或”特性,總線上的所有聽者都接觸NRFD才能使NRFD線呈高電平。而講者在確認所有聽者均已就緒后將有效數據字節放置在數據線上,然后發出DAV(數據有效),通知聽者已有一個有效的數據字節放置在數據線上。這時,聽者即可開始接收數據,只要有一個聽者開始接收數據即將NRFD置為低電平。聽者在接收了數據后試圖接觸NDAC(數據未接收)信號,表示數據已被接收。同樣,必須所有的聽者均發出NDAC,才能使NDAC線呈現高電平。

從以上掛鉤過程中可以看到,GP-IB總線上的數據傳輸速率取決于速度最慢的設備。一個字節的傳送不能少于以下過程所需要的時間:①NRFD傳送到講者的時間;②聽者接收字節并產生NDAC信號的時間;③NDAC回傳到講者的時間;④講者再次產生DAV信號之前所需要的穩定時間。為了提高數據傳輸速率,NI(NationalInstruments)公司開發了一種稱之為HS488的專利性高速GP-IB掛鉤協議,它可以有效地消除三線掛鉤操作中的傳遞延時。

以上所述的一個數據字節傳輸的三線掛鉤過程是GP-IB總線數據通信的基礎,但是完整的信息一般包括多個字節,傳送完整的信息涉及數據格式、狀態報告、消息交換協議等多方面的問題。雖然IEEE488.1標準通過明確定義機械、電氣和硬件協議的規格,大大簡化了不同GP-IB儀器之間的互聯,但并未很好地解決數據格式、狀態報告、消息交換協議、公共組態命令或裝置專用命令等方面的標準化問題,不同廠家在解決這些問題時采用不同方法,留給用戶無所適從的困難。IEEE488.2標準針對原IEEE488標準的局限和含糊之處進行了進一步的標準化,并保持與IEEE488.1標準兼容,IEEE488.2標準主要在軟件協議方面制定了數據格式、狀態上報、出錯處理、控制器功能以及公共命令的標準。這些標準化工作使得GP-IB系統工作更加可靠。為了簡化GP-IB接口設計,Intel、Motorola等公司推出了專用大規模集成電路接口芯片。Intel公司的8291A、8292及8293為其中的典型代表。Intel8291A可以實現除控者功能以外的全部接口功能。8292接口芯片僅具有控者功能,一般與8291A聯合使用,組成全功能GP-IB接口。8293是專門為8291A和8292配套的總線收/發器,以保證GP-IB總線具有足夠的驅動能力。以下僅對8291A做簡要介紹。圖3-17

8291A引腳及內部結構圖表3-5

8291內部寄存器一覽表3.2.3

VXI總線

VXI(VMEbusExtensionsforInstrumentation)總線儀器系統是模板插卡式結構的智能儀器系統??蓪⒏鞣N具有獨立功能的模板式智能儀器連接在一起,構成自動測試系統或計算機測控系統。VXI總線儀器系統中的模板式智能儀器被稱為卡式儀器(InstrumentAtCard,IAC)。如卡式數字電壓表、示波器、函數發生器、AI/AO、DI/DO通道等。按照自動測試系統或測控系統的功能要求,將選定的若干IAC安置在同一個機箱中,并掛在機箱背板的高速并行總線(背板總線)上即可構成不同用途和規模的VXI總線儀器系統。這些IAC可以在本機(local)方式下獨立工作,在需要彼此呼應或與儀器系統外部交換數據時,可通過“背板總線”進入遠程(remote)。VXI總線儀器系統具有信息吞吐量大、配置靈活、結構緊湊、儀器體積小等特點,是當前實驗室儀器系統研究和發展的熱點。

VME總線(VersabusModuleEuropean)是Motorola公司于1981年針對32位微處理器68000而開發的微機總線。VXI總線是VME總線標準在智能儀器領域的擴展,由HP等5個測試儀器公司于1987年聯合推薦,是當前儀器系統中得到廣泛應用和發展的一個并行總線標準。VXI總線儀器系統采用了其數據速率高達40MB/s的VME總線作為機箱背板總線。背板總線在功能上相當于連接獨立儀器的GP-IB總線,但是具有更高的數據吞吐率。控制器也可以制作成IAC掛接在背板總線上,對總線上的各種信息實施調度和控制。相當于在一個機箱內集成了整個GP-IB總線儀器系統的功能。

VXI總線具有嚴格的機械和電氣標準。共定義了4種儀器模板的尺寸:A型(10×16cm2)、B型(23.3×16cm2)、C型(23.3×34cm2)和D型(36.7×34cm2)。其中,A、B兩種是VME已定義的且具有真正含義的VME模板;C、D兩種是VXI標準專門定義的適用于更高性能儀器的尺寸,應用最多的是C尺寸模板。VXI儀器系統采用可變尺寸結構,允許小尺寸模板插入大機箱中。VXI系統的機箱(mainframe)除了外殼和背板之外,還提供VXI系統的工作電源系統和冷卻系統等。VXI總線還定義了模板與底板總線插接的3個96針連接器標準,分別稱為P1、P2、P3。

P1連接器是VME或VXI總線必須配備的基本連接器,它包括數據傳輸總線(24位地址和16位數據)、中斷信號線和某些電源線;任選的P2連接器適用于除A尺寸以外的所有模板,可將數據傳輸總線擴展到32位,還增加了許多資源,如4個附加電源電壓、局部總線、模塊識別總線(允許確定模塊的槽編號)等,此外還有TTL和ECL觸發總線和10MHz差分ECL時鐘信號等;任選的P3連接器只用于D尺寸模板,對P2提供的資源進一步擴展,又提供了24根局部總線、附加的ECL觸發線、100MHz時鐘和用于精密同步的星形觸發線等,以適合特殊用途。VXI系統的模板尺寸和連接器(P1、P2、P3)的總線分布如圖3-18所示。圖3-18

VXI系統模板尺寸和連接器的總線分布

VXI總線裝置是VXI總線系統中的基本部件。每個裝置都有唯一的地址編碼(0~255),每個VXI總線儀器系統中最多可容納256個裝置。一個裝置可以占據數個槽位,也允許幾個裝置共用一個槽位。電壓表、計數器或信號發生器等一般都是單槽位裝置。VXI總線裝置的類型共有4種:寄存器基裝置、消息基裝置、存儲器裝置和擴展裝置。寄存器基裝置只有組態寄存器和裝置決定的寄存器,而沒有通信寄存器。裝置的通信通過寄存器讀/寫來實現,在命令者/受令者的分層結構中擔任受令者。寄存器基裝置電路簡單、易于實現,由于節省了指令的譯碼時間,數據傳輸速度快;存儲器裝置與寄存器基裝置很相似,也沒有通信寄存器,只能靠寄存器的讀/寫來進行通信。一般可將存儲器裝置與寄存器基裝置同等對待;以消息為基礎的消息基寄存器不但具有組態寄存器和若干由裝置決定的寄存器,而且還具有通信寄存器來支持復雜的通信規程,進行高水平的通信。消息基裝置屬于智能化的較復雜的裝置,如計算機、資源管理者、各類高性能測試儀器插件等,可以擔任分層結構中的命令者,也可以擔任受命者,或者同時兼任上層的受命者及下層的命令者。擴展裝置是有特定目的的裝置,用于為VXI未來的發展定義新的裝置門類。圖3-19

VXI總線通信規程示意圖

VXI系統的通信有若干層,其通信規程如圖3-19所示。第1層是“寄存器讀/寫層”,其通信是通過寄存器的讀/寫來實現,通信速度快、硬件費用節省。但這種通信也是對用戶支持最少,最不方便的通信。第2層是“信號/中斷層”,允許VXI裝置向它的命令者回報信息,也是一種寄存器基裝置和存儲器裝置支持的低層通信。第3層是“字串行規程層”,命令者與受命者之間的字串行通信,應遵守消息基裝置的通信規程。字串行規程與儀器特定規程之間有兩種聯系方式,一種是直接以字串行方式向裝置發送所要求的命令或數據;另一種是經過488-VXI規程和488.2語言與特定規程聯系,使用這種方式可以像控制GP-IB儀器一樣控制VXI儀器。

消息基裝置通過通信寄存器還支持一種共享存儲器規程,即兩個裝置可以通過它們中一個裝置所占有的存儲器塊進行通信,從而達到較高的通信速度。這是字串行通信做不到的。在某些情況下,各裝置之間還可通過本地總線高速傳送數據,這也是VXI系統的一個重要特色。VXI總線儀器系統的硬件規范及字串行協議,確保了眾多廠商生產的VXI總線儀器插卡的硬件兼容。為提高軟件的兼容性,在VXI總線和GP-IB等自動測試系統中采用了兩個軟件標準,即IEEE488.2和可編程儀器標準命令SCPI。IEEE488.2主要規定儀器的內務管理功能,并不涉及裝置的消息本身。SCPI建立在IEEE488.2基礎上,側重于解決智能儀器的程倥和儀器響應中裝置消息標準化的問題。

有兩個特殊功能是每個VXI總線系統不可缺少的。第一個是負責機箱背板管理的0號插槽功能。0號插槽處于每個VXI總線機箱中特定的物理位置,從這個槽上發出的信號必須包括時鐘源和數據通過背板時的仲裁邏輯等。插入該插槽的模板在履行這些硬件功能以外,還能履行其他的功能,如與外部微型計算機的GP-IB接口通信等。這個插槽一般由命令器(commander)或嵌入式計算機占據。VXI總線系統的第二個特殊功能是其資源管理器。位于邏輯地址0的資源管理器是一個消息基命令器,負責對系統的配置。可以將資源管理器理解為系統初始化程序,每當系統加電或復位的時候進行以下操作:①識別系統中所有的VXI裝置;②為系統運行配置所有的資源;③管理系統自檢;④配置系統A24和A32的映射;⑤配置命令/服務分級機制;⑥啟動正常運行。

為了充分利用其他外部資源,VXI總線開發了與其他總線系統(如GP-IB、RS-232C、RS-485和MXI等)連接和轉換的模塊,使得VXI總線系統可與任何其他總線系統或儀器聯合工作。當一個機箱不能容納所有的IAC時,可增添擴展機箱,采用總線擴展器將主機箱與擴展機箱連接起來,以構成完整的VXI總線儀器系統。

VXI總線儀器系統的嵌入式控制器(embeddedcontroller)可直接安裝在機箱的0號槽,兼有控制器和0號槽功能。嵌入式控制器取代GP-IB/VXI轉換模塊對消息基儀器編程,可使VXI儀器系統成為獨立系統,但系統的通信性能并未改善。因為通信速率主要受ASCII消息轉換時間的影響,而不是GP-IB帶寬。如果要求比GP-IB有更大的信息吞吐量,可以采用寄存器層的直接通信。

由于VXI總線儀器系統可通過不同的接口方式與多種計算機連接,軟件方面可以充分利用各種通用軟件、操作系統、高級語言和軟件工具等。VXI總線儀器系統充分吸收并繼承了GP-IB沿用的488.1、488.2和程控儀器標準命令SCPI,創造了一個從程控儀器標準命令、儀器之間信息交換到系統操作運行高度統一的軟件環境。

3.3

USB總線技術

USB(UniversalserialBus)即通用串行總線。在傳統計算機組織結構的基礎上,引入了網絡的某些技術,已成為新型計算機接口的主流。USB是一種電纜總線,支持主機與各式各樣“即插即用”外部設備之間的數據傳輸。多個設備按協議規定分享USB帶寬,在主機和總線上的設備運行中,仍允許添加或拆除外設。USB總線具有以下主要特征:

(1)用戶易用性:電纜連接和連接頭采用單一模型,電氣特性與用戶無關,并提供了動態連接、動態識別等特性。

(2)應用的廣泛性:傳輸率從幾kb/s到幾Mb/s,乃至上百Mb/s,并在同一根電纜線上支持同步、異步兩種傳輸模式??梢詫Χ鄠€USB總線設備(最多127個)同時進行操作,利用底層協議提高了總線利用率,使主機和設備之間可傳輸多個數據流和報文。

(3)使用的靈活性:允許對設備緩沖區大小進行選擇,并通過設定緩沖區的大小和執行時間,支持各種數據傳輸率,支持不同大小的數據包。

(4)容錯性強:在協議中規定了出錯處理和差錯校正的機制,可以對有缺陷的設備進行認定,對錯誤的數據進行校正或報告。

(5)“即插即用”的體系結構:具有簡單而完善的協議,并與現有的操作系統相適應,不會產生任何沖突。

(6)性價比較高:USB雖然擁有諸多優秀的特性,但其價格較低。USB總線技術將外設和主機硬件進行最優化集成,并提供了低價的電纜和連接頭等。

目前,USB總線技術應用日益廣泛,各種臺式電腦和移動式智能設備普遍配備了USB總線接口,同時出現了大量的USB外設(如USB電子盤等),USB接口芯片也日益普及。在智能儀器中裝備USB總線接口既可以使其方便地聯入USB系統,從而大大提高智能儀器的數據通信能力,也可使智能儀器選用各種USB外部設備,增強智能儀器的功能。3.3.1

USB的系統描述

USB系統分為USB主機、USB設備和USB連接三部分。任何USB系統中只有一個主機,USB系統和主機系統的接口稱為主機控制器(HostController),它是由硬件和軟件綜合實現的。USB設備包括集線器(Hub)和功能部件(Function)兩種類型,集線器為USB提供了更多的連接點,功能部件則為系統提供了具體的功能。USB的物理連接為分層星型布局,每個集線器處于星型布局的中心,與其他集線器或功能部件點對點連接。根集線器置于主機系統內部,用以提供對外的USB連接點。圖3-20為USB系統拓撲圖。圖3-20

USB總線拓撲結構

USB系統通過一種四線的電纜傳送信號和電源。分兩種數據傳輸模式:12Mb/s高速信號模式和1.5Mb/s低速信號模式,兩種模式可在同一USB總線傳輸時自動切換。由于過多采用低速模式會降低總線的利用率,所以該模式只支持有限幾個低速設備(如鼠標等)。若采用同步傳送方式,時鐘信號與差分數據將一同發送(時鐘信號轉換成單極性非歸零碼),每個數據包中均帶有同步信號以保證收方還原出時鐘。USB電纜如圖3-21所示,VBUS、GND兩條線用來向USB設備提供電源。VBUS的電壓為+5V,為了保證足夠的輸入電壓和終端阻抗,重要的終端設備應位于電纜尾部,每個端口都可檢測終端是否連接或分離,并區分出高速或低速設備。

所有設備都有一個上行或下行的連接器,上行連接器和下行連接器不可互換,因而避免了集線器間非法的、循環往復的連接。同一根電纜中還有一對互相纏繞的數據線。連結器有4個方向,并帶有屏蔽層,以避免外界的干擾。USB電源包括電源分配和電源管理兩方面內容。電源分配是指USB如何分配主計算機所提供的能源,需要主機提供電源的設備稱做總線供電設備(如鍵盤、輸入筆和鼠標等),自帶電源設備被稱做自供電設備。USB系統的主機有與USB相互獨立的電源管理系統,系統軟件可以與主機的能源管理系統結合共同處理各種電源事件,如掛起、喚醒等。圖3-21

USB電纜及信號3.3.2

USB總線協議

USB是一種輪詢方式的總線,主機控制器初始化所有的數據傳送。USB協議反映了USB主機與USB設備進行交互時的語言結構和規則。每次傳送開始,主機控制器將發送一個描述傳輸的操作種類、方向、USB設備地址和端口號的USB數據包,被稱為標記包(PacketIDentifier,PID);USB設備從解碼后的數據包的適當位置取出屬于自己的數據。傳輸開始時,由標記包來設置數據的傳輸方向,然后發送端發送數據包,接收端則發送一個對應的握手數據包以表明是否發送成功。發送端和接收端之間的USB傳輸,有兩種類型的信道:流通道和消息信道。消息數據采用USB所定義的數據結構、信道與數據帶寬、傳送服務類型和端口特性(如方向、緩沖區大小等)有關。多數信道在USB設備設置完成后才會存在。而默認控制信道當設備一啟動后即存在,從而為設備的設置、狀況查詢和輸入控制信息提供了方便。

任務安排可對流通道進行數據控制。發送“不予確認”握手信號即可阻塞數據傳輸,若總線有空閑,數據傳輸將重復進行。這種流控制機制允許靈活的任務安排,可使不同性質的流通道同時正常工作,這樣多種流通道可在不同時間段進行工作,傳送不同大小的數據包。3.3.3

USB數據流

USB總線上的數據流就是主機與USB設備之間的通信。這種數據流可分為應用層、USB邏輯設備層和USB總線接口層,共有四種基本的數據傳送類型:

(1)控制傳送:控制傳送采用了嚴格的差錯控制機制,其數據傳送是無損的。USB設備在初次安裝時,USB系統軟件使用控制傳送來設置參數。

(2)批傳送:批量數據即大量數據,如打印機和掃描儀中所使用的。批量數據是連續傳送的,在硬件級上使用錯誤檢測以保證可靠的數據傳輸,在協議中引入了數據的可重復傳送。根據其他一些總線動作,批量數據占用的帶寬可做相應的改變。

(3)中斷傳送:中斷數據是少量的,要求傳送延遲時間短。這種數據可由設備在任何時刻發送,并且以不慢于設備指定的速度在USB上傳送。中斷數據一般由事件通告、特征及坐標組成,只有一個或幾個字節。

(4)同步傳送:在建立、傳送和使用同步數據時,須滿足其連續性和實時性。同步數據以穩定的速率發送和接收。為使接收方保持相同的時間安排,同步信道的帶寬的確定必須滿足對相關功能部件的取樣特征。除了傳輸率,同步數據對傳送延遲非常敏感,因此也須做相關處理。一個典型的例子是聲音傳送,如果數據流的傳送率不能保證,則數據丟失將取決于緩沖區和幀的大小。即使數據在硬件上以合適的速率傳送,但軟件造成的傳送延遲也會對實時系統造成損害。一般USB系統會從USB帶寬中,給同步數據流分配專有部分,以滿足所需要的傳輸率。

USB的帶寬可容納多種不同數據流,因此可連接大量設備,可容納從1B+D(64kb/s+16kb/s)到T1(1.5Mb/s)速率的電信設備,而且USB支持在同一時刻的不同設備具有不同的傳輸速率,并可動態變化。3.3.4

USB的容錯性能

USB提供了多種數據傳輸機制,如使用差分驅動、接收和防護,以保證信號的完整性;使用循環冗余碼,以進行外設裝卸的檢測和系統資源的設置,對丟失和損壞的數據包暫停傳輸,利用協議自我恢復,以建立數據控制信道,從而使功能部件避免了相互影響。上述機制的建立,極大地保證了數據的可靠傳輸。在錯誤檢測方面,協議中對每個包中的控制位都提供了循環冗余碼校驗,并提供了一系列的硬件和軟件設施來保證數據正確性,循環冗余碼可對一位或兩位的錯誤進行100%的恢復。在錯誤處理方面,協議在硬件和軟件上均有措施。硬件的錯誤處理包括匯報錯誤和重新進行一次傳輸,傳輸中若再次遇到錯誤,由USB的主機控制器按照協議重新進行傳輸,最多可進行三次。若錯誤依然存在,則對客戶端軟件報告錯誤,使之按特定方式處理。3.3.5

USB設備

USB設備有集線器和功能部件兩類。在即插即用的USB結構體系中,集線器(如圖3-22所示)簡化了USB互聯的復雜性,可使更多不同性質的設備聯入USB系統中。集線器各連接點被稱做端口,上行端口向主機方向連接(每個集線器只有1個上行端口),下行端口可連接另外的集線器或功能部件。集線器具有檢測每個下行端口設備的安裝或拆卸的功能,并可對下行端口的設備分配能源,每個下行端口可辨別所連接的設備是高速還是低速。集線器包括兩部分:集線控制器和集線再生器。集線再生器位于上行端口和下行端口之間,可放大衰減的信號和恢復畸變的信號,并且支持復位、掛起、喚醒等功能。通過集線控制器所帶有的接口寄存器,主機對集線器的狀態參數和控制命令進行設置,并監視和控制其端口。圖3-22

USB集線器示意圖

功能部件是通過總線進行發送、接收數據或控制信息的USB設備,由一根電纜連在集線器某個端口上。功能部件一般相互獨立,但也有一種復合設備,其中有多個功能部件和一個內置集線器,共同利用一根USB電纜。每個功能部件都含有描述該設備的性能和所需資源的設置信息。主機應在功能部件使用前對其設置,如分配USB帶寬等。定位設備(鼠標、光筆)、輸入設備(鍵盤)、輸出設備(打印機)等都屬于功能部件。

當設備被連接并編號后,有唯一的USB地址。USB系統就是通過該地址對設備進行操作的。每一個USB設備通過一條或多條信道與主機通信。所有的USB設備在零號端口上有一指定的信道,USB的控制信道即與之相聯。通過這條控制信道,所有的USB設備都有一個共同的準入機制,以獲得控制操作的信息。控制信道中的信息應完整地描述USB設備,主要包括標準信息類別和USB生產商的信息。3.3.6

USB系統設置

USB設備可隨時安裝或拆卸。所有USB設備連接在USB系統的某個端口上。集線器有一個狀態指示器,可指明USB設備的連接狀態。主機將所有集線器排成隊列以取回USB設備的連接狀態信號。在USB設備安裝后,主機通過設備控制信道來激活該端口,并將默認的地址值賦給USB設備(主機對每個設備指定了唯一的USB地址),并檢測這種新裝的USB設備是下一級的集線器還是功能部件。如果安裝的是集線器,并有外設連在其端口上,上述過程對每個USB設備的安裝都要做一遍;如果屬功能部件,則主機關于該設備的驅動軟件等將被激活。當USB設備從集線器的端口拆除后,集線器關閉該端口,并向主機報告設備已不存在,USB系統軟件將準確地進行撤消處理。如果拆除的是集線器,則系統軟件將對集線器及連接在其上的所有設備進行撤消處理。3.3.7

USB系統中的主機

USB系統的主機通過主機控制器與USB設備進行交互。主要功能為:檢測USB設備的安裝或拆卸,管理主機和USB設備間的控制數據流,收集狀態和操作信息,向各USB設備提供電源。USB系統軟件管理USB設備驅動程序的運作,包括設備編號和設置、同步數據傳輸、異步數據傳輸、電源管理、設備與總線信息管理等。圖3-23

PDIUSBD12引腳結構3.3.8

USB總線儀器

USB總線儀器的開發一般由以下幾部分組成:硬件的設計、USB控制芯片固件的實現、Windows驅動的編寫以及應用程序編寫。下面介紹一種基于USB的數據采集儀。

該儀器的USB接口采用專用芯片PDIUSBD12,它是一款性價比很高的USB器件,它通常用作微控制器系統中實現與微控制器進行通信的高速通用并行接口,它還支持本地的DMA傳輸。這種實現USB接口的標準組件使得設計者可以在各種不同類型微控制器中選擇出最合適的微控制器,這種靈活性減小了開發的時間、風險以及費用。通過使用已有的結構和減少固件上的投資,從而用最快捷的方法實現最經濟的USB外設的解決方案。表3-6

PDIUSBD12管腳信號圖3-24

USB數據采集儀硬件框圖

下面分別詳細說明各部分的主要特點。

(1)USB總線接口。USB總線接口采用的是PDIUSBD12,見圖3-25。高性能USB接口器件集成了SIE、FIFO存儲器、收發器以及電壓調整器,可與任何微控制器/微處理器實現高速并行接口(2Mb/s),直接內存存取DMA操作,雙電源操作3.3V或擴展的5V電源,在批量模式和同步模式下均可實現1Mb/s的數據傳輸速率。選用PDIUSBD12控制芯片可以方便地與微控制器接口。無論是DSP還是MCU和ARM,都可以方便地與它接口,并升級系統。

(2)微控制器單元。P89C51RD2HBA是PHILIPS公司推出基于8051核的單片機。它內部有64KB的Flash存儲器,支持串行在系統編程(ISP)和在應用中編程(IAP)。該器件的1個機器周期由6個時鐘周期組成,因此運行速度是傳統80C51的兩倍。該單片機有4組8位I/O口、3個16位定時/計數器、多個中斷源、4個中斷優先級嵌套結構、1個增強型UART??紤]到該芯片可以利用ISP和IAP方便地下載程序,可以實現在系統可編程,并最大限度減小了額外的元器件開銷和電路板面積。而且它的速度是相同晶振頻率8051單片機的兩倍,可以大大地提高系統整體的運行速度。

(3)數據采集部分。ADS7809是TI公司的16位、100kHz的采樣率、單+5V電源A/D芯片。它是電容式逐次逼近A/D轉換器。片內帶有+2.5V基準源,最大功耗小于100mW。與同類16位A/D相比,ADS7809具有較高的穩定性,而且功耗較低,采樣率也能滿足要求。

2.數據采集儀的固件程序設計

數據采集儀的固件程序主要由兩部分構成:A/D采集數據程序和USB與主機通信程序。圖3-26系統軟件結構

固件程序采用在中斷程序中置相應標志位,在主循環程序中處理數據的方法來實現數據采集和USB通信的功能。系統軟件中的后臺程序ISR(中斷處理程序)和前臺主循環程序之間的數據交換是通過標志位和數據緩存區來實現的,如圖3-26所示。這種結構,主循環不關心數據是來自USB還是其他渠道,它只檢查循環緩沖區內需要處理的新數據,這樣主循環程序專注于數據的處理,而ISR能夠以最大可能的速度進行數據的傳輸。采用這種稱為前后臺的處理方式可以節省微處理器的開銷,高效地利用微處理器資源。

(1)A/D數據采集程序。設備得到主機啟動命令后啟動A/D。A/D采集數據后經過串并轉換并將數據推入FIFO,當FIFO半滿時發出中斷請求,微控制器響應中斷,置相應的標志位。前臺主循環程序查詢標志位,進行讀數操作。

(2)USB與主機通信程序。USB最初被設計成可以處理對傳輸速率、響應時間和錯誤校正有不同要求的很多類型的外設。數據傳輸的不同類型處理不同的需要,一個外設可以支持它最適合的傳輸類型。PDIUSBD12芯片包括控制端點、中斷端點和主端點,它們分別完成控制傳輸、中斷傳輸和同步傳輸。

在這個系統中主機通過中斷傳輸給采集系統發送命令。主端點可以配置成同步傳輸或批量傳輸,主端點是吞吐大數據的主要端點。在數據采集儀中,主端點配置成同步傳輸,用來傳送A/D采集回來的數據。下面分別說明各個端點子程序。

(1)控制端點子程序完成USB總線列舉過程,如圖3-27所示。當USB接口器件(PDIUSBD12)接收到建立包,產生一個中斷通知微控制器,微控制器響應中斷并通過讀D12中斷寄存器決定包是否發到控制端點。如果包是送往控制端點,MCU需要通過讀D12的最后處理狀態寄存器進一步確定數據是否是一個建立包,第一個包必須是建立包。如果是建立包,就根據主機命令作出相應的應答。

(2)主端點子程序傳送A/D采集的數據到PC。在A/D采集完數據后,微控制器讀取A/D采集的數據并保存數據到主端點緩沖區,主循環程序先寫一批數據到USB的數據緩沖區,置相應的標志位。當主機從USB緩沖區讀數據時,中斷程序清空USB緩沖區,并把下一批要傳輸的數據從主端點緩沖區寫入USB緩沖區,等待主機下一次讀USB緩沖區,這樣循環反復直至完成主端點緩沖區的數據傳輸。

(3)中斷端點子程序完成PC向采集系統發送采集數據命令的功能,如圖3-28所示。中斷端點的緩沖區最大為16個字節,通過中斷端點給系統發送A/D的啟動命令、通道、采樣點數和采樣間隔,使用中斷端點傳送主機發送的命令,使數據采集儀能夠快速地作出響應。中斷端點子程序首先讀出USB的中斷端點緩沖區里的數據保存到主循環中斷端點緩沖區,之后判斷緩沖區的第一個字節是不是啟動A/D的命令。如果是,則置相應的標志位,在主循環中讀取中斷端點緩沖區的其他數據,得到通道、采樣數和采樣間隔的信息,調用A/D采集程序,啟動A/D。圖3-27控制端點子程序圖3-28中斷端點子程序

通過應用USB作為數據采集儀的通信總線,使數據采集儀具有了無需外接電源、可以熱插拔等特點。經過測試,數據采集儀采樣速率可以達到100kb/s,可以完成一般用途的數據采集的需要。

隨著USB2.0規范的推出,USB在速度上(協議中說明可以達到480Mb/s)有了長足的發展,在USB2.0的補充規范中提出了USBOTG(On-The-Go)協議,可以使外設以主機的身份與其他外設相連,外設與外設可以點對點地通信,這給USB帶來更強的生命力。目前,USB廣泛的應用在儀器儀表、計算機和消費電子類產品等領域。 3.4智能卡接口技術

智能卡的英文為SmartCard,又稱集成電路卡,即IC卡(IntegratedCircuitCard),有些國家也稱之為智慧卡、微芯片卡等。它將一個專用的集成電路芯片鑲嵌于PVC(或ABS等)塑料基片中,封裝成卡的形式,其外形與覆蓋磁條的磁卡相似。IC卡的概念是20世紀70年代初提出的,法國布爾(BULL)公司于1976年首先創造出IC卡產品,并將這項技術應用到金融、交通、醫療、身份證明等多個行業,它將微電子技術和計算機技術結合在一起,提高了人們生活和工作的現代化程度。IC卡芯片具有寫入數據和存儲數據的能力,IC卡存儲器中的內容根據需要可以有條件地供外部讀取,或供內部信息處理和判斷。根據卡中所鑲嵌的集成電路的不同可以分成以下六類。

(1)存儲卡??ㄖ械募呻娐窞殡姴脸删幊讨蛔x存儲器EEPROM(Electrically

Erasable

ProgrammableRead-onlyMemory),以及地址譯碼電路和指令譯碼電路。存儲卡屬于被動型卡,通常采用同步通信方式。這種卡片存儲方便、使用簡單、價格便宜,在很多場合可以替代磁卡。但該類IC卡不具備保密功能,用于存放不需要保密的信息。例如醫療上用的急救卡、餐飲業用的客戶菜單卡。常見的存儲卡有ATMEL公司的AT24C16、AT24C64等。

(2)邏輯加密卡??ㄖ械募呻娐肪哂屑用苓壿嫼虴EPROM。每次讀/寫卡之前要先進行密碼驗證,如果連續幾次密碼驗證錯誤,卡片將會自鎖,成為死卡。從數據管理、密碼校驗和識別方面來說,邏輯加密卡也是被動型卡,采用同步方式進行通信。該類卡片存儲量相對較小、價格相對便宜,適用于有一定保密要求的場合,如食堂就餐卡、電話卡、公共事業收費卡。常見的邏輯加密卡有SIEMENS公司的SLE4442、SLE4428,ATMEL公司的AT88SC1608等。

(3)CPU卡??ㄖ械募呻娐钒⑻幚砥鲉卧–PU)、存儲單元(RAM、ROM和EEPROM)和輸入/輸出接口單元。其中,RAM用于存放運算過程中的中間數據,ROM中固化有片內操作系統COS(ChipOperatingSystem),而EEPROM用于存放持卡人的個人信息以及發行單位的有關信息。CPU管理信息的加/解密和傳輸,嚴格防范非法訪問卡內信息,發現數次非法訪問,將鎖死相應的信息區(也可用高一級命令解鎖)。CPU卡的容量有大有小,價格比邏輯加密卡要高。CPU卡的良好的處理能力和上佳的保密性能,使其成為IC卡發展的主要方向。CPU卡適用于保密性要求特別高的場合,如金融卡、軍事密令傳遞卡等。國際上比較著名的CPU卡提供商有Gemplus、G&D、Schlumberger等。

(4)超級智能卡。在CPU卡的基礎上增加鍵盤、液晶顯示器、電源,即成為超級智能卡,有的卡上還具有指紋識別裝置。VISA國際信用卡組織試驗的一種超級卡即帶有20個鍵,可顯示16個字符,除有計時、計算機匯率換算功能外,還存儲有個人信息、醫療、旅行用數據和電話號碼等。

(5)混合卡?;旌峡ㄒ泊嬖诙喾N形式,將IC芯片和磁卡同做在一張卡片上,將接觸式和非接觸式融為一體,一般都稱為“混合卡”。

(6)光卡。光卡(OpticalCard)由半導體激光材料組成,能夠儲存記錄并再生大量信息。光卡記錄格局目前形成了兩種格局:Canon型和Delta型。這兩種形式均已被國際標準化組織接收為國際標準。光卡具有體積小、便于隨身攜帶、數據安全可靠、容量大、抗干擾性強、不易更改、保密性好和相對價格便宜等長處。

在IC卡選型時需考慮如下參數:

(1)環境溫度。如CPU卡的工作溫度在0℃以上,而MemoryCard可以工作在-20℃的低溫環境。

(2)工作電壓。SIEMENS公司的IC卡一般工作電壓在4.75~5.25V,ATMEL公司的IC卡工作電壓在2.7~5.5V。

(3)擦寫次數。IC卡的壽命由對IC卡的擦寫次數決定,SIEMENS公司的IC卡指標為1萬次擦寫壽命,ATMEL公司的IC卡指標為10萬次擦寫壽命。

(4)使用壽命。IC卡讀寫器的使用壽命主要由兩個因素決定:讀寫器本身器件的選擇和卡座的壽命。卡座的壽命分別由10萬次、20萬次和50萬次。國內一些制造商也生產了相當數量的少于7000次壽命的卡座,主要用于IC卡收費的終端表內,如IC卡電表、民用水表、煤氣表等。

(5)上電操作。讀寫器對IC卡的上電操作,僅在接到軟件發出的指令以后才能進行,在IC卡沒有插入的情況下,應給出上電出錯的返回代碼。

(6)可靠性。3.4.1

IC卡的接口設備

為了使用卡片,需要有與IC卡配合工作的接口設備IFD(InterfaceDevice),或稱為讀寫設備。IFD可以是一個由微處理器、鍵盤、顯示器與I/O接口組成的獨立設備,該接口設備通過IC卡上的8個觸點向IC卡提供電源并與IC卡相互交換信息。IFD也可以是一個簡單的接口電路,IC卡通過該電路與通用微機相連接。IC卡上能存儲的信息總是有限的,因此大部分信息需要存放在接口設備或計算機中。3.4.2

IC卡存儲區的分配和功能

存儲型IC卡又分為兩種,如圖3-29所示。圖3-29

IC卡邏輯結構

通用存儲器IC卡:一般均采用通用存儲器芯片,不完全符合或支持有關IC卡國際標準,沒有或很少有安全控制功能。

智能存儲器IC卡:采用智能存儲器芯片(稱為專用IC卡芯片),符合或支持有關IC卡國際標準,具有較為完善的安全控制功能。

IC卡一般分為四個存儲區:

(1)公開的(不保密的)存儲區:內含公用信息,注入發行標識符,持卡人的賬號等。

(2)外部不可讀的存儲區:存儲的內容供內部決策用,如PIN值,該值是在卡片發行時進行個人或處理寫入的,用戶在輸入正確的PIN值后,允許輸入新PIN值進行修改,但在任何情況下,都不允許將存儲在卡中的PIN值向外界傳送。在本存儲區內還可能存放秘鑰。

(3)保密存儲區:內含賬面余額、允許卡使用的服務類型及限額等。當持卡人輸入正確的PIN值后,允許讀取本存儲區數據,并根據應用情況寫入正確數據(如修改余額)。

(4)記錄區:內含每次交易細節,稱為日志,可供查詢。除了存儲器卡外,在其他IC卡中還有邏輯電路或微處理器,提供安全可靠的服務。3.4.3接觸型IC卡及接口

接觸式IC卡是指通過IC卡讀寫設備的觸點與IC卡的觸點接觸后進行數據的讀寫。國際標準ISO7816對此類卡的機械特性、電器特性等進行了嚴格的規定。

1.國際標準IC卡接觸點分布

IC卡接觸點引腳及觸點功能如圖3-30和表3-7所示。圖3-30

IC卡接觸點引腳圖表3-7觸點功能表

2.接觸式IC卡讀卡器的硬件設計

IC卡主要通過卡本身插入讀卡器終端,與上位機或遠程網絡交換信息,如圖3-31所示,即IC卡發送和響應上位機命令的過程示意圖。圖3-31

IC卡命令發送及響應過程圖3-32

IC卡與單片機的接口電路

3.接觸式IC卡讀卡器的軟件設計

圖3-33識卡流程圖3.4.4非接觸型IC卡及接口

非接觸式IC卡又稱射頻卡,它成功地將射頻識別技術和IC卡技術結合起來,解決了無源和免接觸的難題,是電子器件領域的一大突破。非接觸式IC卡與IC卡讀卡器之間無機械觸點,通過無線電波來完成讀寫操作,二者之間的通信頻率為13.56MHz,滿足國際標準ISO10536系列規定。非接觸式IC卡操作快捷、抗環境污染、抗靜電能力、設備無需經常維護,一般用在使用頻繁、信息量相對較少、可靠性要求較高的場合,如電子交易,門禁系統,防偽,各種電、水、熱能和煤氣計量表的預付費系統,乃至寵物識別等系統。

1.非接觸式IC卡系統構成

與接觸式IC相比,非接觸式IC卡內嵌芯片除CPU、邏輯單元、存儲單元外,增加了射頻收發電路。非接觸式IC卡本身是無源卡,當讀寫器對卡進行讀寫操作時,讀寫器發出的信號由兩部分疊加組成:一部分是電源信號,該信號由卡接收后,與本身的L/C產生一個瞬間能量來供給芯片工作。另一部分則是指令和數據信號,指揮芯片完成數據的讀取、修改、儲存等,并返回信號給讀寫器。

非接觸式IC卡系統一般由控制器、讀寫器、IC卡組成,框圖見圖3-34所示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論