利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊_第1頁(yè)
利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊_第2頁(yè)
利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊_第3頁(yè)
利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊_第4頁(yè)
利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于SDLC協(xié)議的串行通訊類別:通信網(wǎng)絡(luò)作者:北京理工大學(xué) 周 閏高梅國(guó) 來(lái)源:國(guó)外電子元器件 利用Intel8274多協(xié)議串行控制器實(shí)現(xiàn)基于 SDLC協(xié)議的串行通訊摘要:文章從軟、硬件設(shè)計(jì)的角度分別討論了利用Intel8274多協(xié)議串行控制器來(lái)實(shí)現(xiàn)基于同數(shù)據(jù)鏈路控制(SDLC)協(xié)議的串行通訊,介紹了多協(xié)議串行控制Intel8274的主要特點(diǎn),給出了Intel 8274和TMS320F206在某雷達(dá)項(xiàng)目中實(shí)現(xiàn)了串行通訊的硬件電路設(shè)計(jì)和軟件程序。同時(shí)指出了使用Intel8274應(yīng)注意的問(wèn)

2、題。 關(guān)鍵詞:SDLCIntel 8274 串行通訊 TMS320F206 最早由IBM公司制定的面向比特型的數(shù)據(jù)鏈路控制規(guī)程同步數(shù)據(jù)鏈路控制(SDLC)協(xié)議由于個(gè)有透明傳輸、可靠性高、傳輸效率高以及具有很大的靈活性等優(yōu)點(diǎn),已被越來(lái)越廣泛地采用。但由于這種鏈路協(xié)儀功能比較完善,因此實(shí)現(xiàn)起來(lái)也相對(duì)要復(fù)雜一些。隨著近年來(lái)大規(guī)模集成電路與微處理機(jī)、DSP技術(shù)的迅速發(fā)展,市場(chǎng)上已經(jīng)出現(xiàn)了多種實(shí)現(xiàn)這一規(guī)程的專用芯片,從而使得這種協(xié)議的實(shí)現(xiàn)發(fā)越來(lái)越簡(jiǎn)單,其應(yīng)用越來(lái)越普遍。Intel8274芯片就是其中比較典型的一種。它是由Intel公司生產(chǎn)的專門為異步、IBM雙同步和SDLC/HDLC協(xié)議的高速通訊線路與

3、Intel公司的微機(jī)機(jī)系統(tǒng)的連接而設(shè)計(jì)的多協(xié)議串行控制器(MPSC)。1 同步數(shù)據(jù)鏈路控制(SDLC)協(xié)議同步數(shù)據(jù)鏈路控制(SDLC:SynchronousData Link Control)是由IBM公司制定的一種鏈路通訊協(xié)議,現(xiàn)已成為系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)(SNA)的數(shù)據(jù)鏈路控制協(xié)議,是目前可靠性和傳輸較高的最先進(jìn)的傳輸控制協(xié)議之一。另一種相類似的通訊協(xié)議是高級(jí)數(shù)據(jù)鏈路控制(HDLC)協(xié)議。由于SDLC的制定要早于HDLC,同時(shí)因?yàn)镮BM公司也共同參與了HDLC的制定,所以HDLC實(shí)際上包含了SDLC,從而使SDLC協(xié)議成為HDLC協(xié)議的一個(gè)子集。在SDLC協(xié)議中,被傳輸?shù)囊唤M信息數(shù)據(jù)被稱為“幀”。

4、完整的一個(gè)幀包含標(biāo)志字序列字段、數(shù)據(jù)站地址字段、數(shù)據(jù)站地址字段、控制字段、信息字段和幀校驗(yàn)序列字段等。標(biāo)志字序列利用特定的數(shù)據(jù)組合01111110表示,所有的幀必須以01111110開(kāi)始,并且以01111110結(jié)束。在傳輸?shù)钠渌侄沃校瑸榱朔乐钩霈F(xiàn)01111110而使接收方錯(cuò)誤的認(rèn)為是幀結(jié)束,SDLC協(xié)議采用0插入方法,即當(dāng)傳輸?shù)男畔?shù)據(jù)中出現(xiàn)連續(xù)的5個(gè)1,就由發(fā)送方在這5個(gè)1之后插入一個(gè)0.接收方在接收數(shù)據(jù)的時(shí)候,如果發(fā)現(xiàn)有5個(gè)連續(xù)的1,就將其后的一個(gè)0刪去。另外SDLC協(xié)議還規(guī)定了幀的各個(gè)字段必須是以8比特為傳輸?shù)淖钚 DLC能夠被廣泛應(yīng)用的另一個(gè)原因在于它可以進(jìn)行嚴(yán)格的差錯(cuò)控制,因?yàn)镾

5、DLC采用了最為有效的循環(huán)冗余校驗(yàn)碼(CRC16來(lái))來(lái)進(jìn)行差錯(cuò)控制。2 Intel 8274多協(xié)議串行控制器1Intel 8274具有靈活的體系結(jié)構(gòu),其主要特點(diǎn)在于只使用很少的軟、硬件即可方便地實(shí)現(xiàn)多種不同的通訊協(xié)議,如異步、字節(jié)同步和位同步(HDLC/SLC)等等。Intel 8274的主要性能指標(biāo)有:可進(jìn)行異步和同步操作;具有兩個(gè)獨(dú)立的全雙工發(fā)送器和接收器;與8048/51/85/85/88CPU,8237/57 DMA控制器以及8089I/O處理機(jī)完成兼容;有4個(gè)獨(dú)立的DMA通道;波特率達(dá)0880k波特;異步操作:58位字符,奇、偶校驗(yàn)或無(wú)校驗(yàn),1、1.5或2個(gè)停止位;可進(jìn)行幀格式、越界

6、和奇偶性錯(cuò)誤碼檢測(cè);在字節(jié)同步時(shí)可使內(nèi)部或外部的字節(jié)同步,具有一或兩具同步字符,能自動(dòng)產(chǎn)生和校驗(yàn)循環(huán)冗余檢碼(CRC-16),并可與IBM公司的雙同步協(xié)議兼容;位同步時(shí)能產(chǎn)生和識(shí)別SDLC/HDLC標(biāo)志,識(shí)別8位地址,自動(dòng)插入和刪除零位,自動(dòng)產(chǎn)生和校驗(yàn)循環(huán)冗余校驗(yàn)碼(CCITT)X.25標(biāo)準(zhǔn)兼容。當(dāng)Intel 8274用于SDLC工作方式時(shí),在初始化結(jié)束后,如果微處理機(jī)寫放發(fā)送啟動(dòng),則Intel8274處于發(fā)送狀態(tài)。此時(shí)Intel8274將自動(dòng)發(fā)送SDLC同步標(biāo)志01111110,直至微處理機(jī)給出發(fā)送信息字段。在發(fā)送過(guò)程中,Intel8274能夠自動(dòng)檢測(cè)信息字段中是否含有連續(xù)的5個(gè)1,如果有,

7、則在每5個(gè)連續(xù)1的組成的序列之后自動(dòng)插入一個(gè)0。當(dāng)發(fā)送數(shù)據(jù)緩沖器和輸出移位寄存器均沒(méi)有可發(fā)送的數(shù)據(jù)位時(shí),Intel8274就會(huì)自動(dòng)發(fā)送兩個(gè)字節(jié)的CRC(循環(huán)冗余校驗(yàn)碼),以終止該幀。當(dāng)微處理機(jī)寫入接收啟動(dòng)命令字后,Intel8274即處于接收狀態(tài),此時(shí),它可自動(dòng)搜索SDLC標(biāo)志字,以判斷幀的開(kāi)始。Intel 8274與微處理機(jī)的系統(tǒng)接口的由8個(gè)緩沖器組成,表1是其讀寫操作方式。其中數(shù)據(jù)緩沖器由A1=0尋址,命令端口由A1=1尋址。命令、參數(shù)和狀態(tài)信息保存在Intel8274的22個(gè)寄存器中。每個(gè)通道有8個(gè)寫寄存器和3個(gè)讀寄存器。這些信息均可以通過(guò)命令端口進(jìn)行讀寫。 表1 讀寫操作方式CSA1A

8、0讀操作寫操作000讀通道A數(shù)據(jù)寫通道A數(shù)據(jù)010讀通道A狀態(tài)寫通道A命令/參數(shù)001讀通道B數(shù)據(jù)寫通道B數(shù)據(jù)011讀通道B狀態(tài)寫通道B命令/參數(shù)1XX高阻抗高阻抗 Intel 8274在使用方式上同樣可以有多種靈活的配置方式,如查詢、等待、中斷和DMA等。3 串行通訊的硬件實(shí)現(xiàn)由于Intel 8274是專門為了與Intel公司的微型機(jī)系統(tǒng)相匹配而設(shè)計(jì)的,因此該芯片與一些Intel公司的CPU、DMA控制器等可以做到無(wú)縫連續(xù)。這里介紹的是通過(guò)TI公司的DSP芯片TMS320F206來(lái)對(duì)Intel8274進(jìn)行控制所組成通訊系統(tǒng)。TMS320F206是TI公司新近推出的TMS320C2XX系列DS

9、P,該系列DSP具有非常高的性價(jià)比,相對(duì)TMS320C2X系列來(lái)說(shuō),它的指令集可兼容,而速度提高了24倍,且價(jià)格降低了一半,因而在簡(jiǎn)單的控制和通訊領(lǐng)域有著非常廣泛的應(yīng)用。圖1是一個(gè)由TMS320F206、Intel 8274組成的基于RS-485標(biāo)準(zhǔn)和SDLC協(xié)議的串行通訊接口系統(tǒng)的具體結(jié)構(gòu)圖。該電路非常簡(jiǎn)單。圖中由TMS320F206充當(dāng)微處理機(jī)來(lái)對(duì)Intel8274進(jìn)行控制,而Intel 8274只使用了其中的一個(gè)接收/發(fā)送通道,并且由于采用了中斷方式,因此,它們之間只有14根連接線(其中控制線4根,數(shù)據(jù)總線8根,地線總線2根)。4 串行通訊的軟件設(shè)計(jì)在以往的Intel 8274的應(yīng)用中,

10、大部分都是工作在查詢模式。雖然查詢方式的程序設(shè)計(jì)簡(jiǎn)單,但由于必須使用控制芯片(微處理器、DSP)來(lái)不斷地查詢寄存器中的狀態(tài)標(biāo)志位,因而不能進(jìn)行其它工作,這使得整個(gè)程序的效率很低。尤其是在實(shí)時(shí)性要求較強(qiáng)的場(chǎng)合下不太適用。因此,設(shè)計(jì)時(shí)需將Intel8274工作在中斷模式。在筆者的應(yīng)用中,該串行通訊的流程首先是TMS320F206需要從另一個(gè)同步串行口接收數(shù)據(jù),然后,相關(guān)部分對(duì)該數(shù)據(jù)進(jìn)行處理程序通過(guò)Intel8274發(fā)送出去。因此Intel 8274只有在同步串行口接收到數(shù)據(jù)后才處于發(fā)送狀態(tài),其它時(shí)候則處于接收狀態(tài)。TMS320F206串行通訊的相關(guān)軟件如下(未注明寄存器均指B通道寄存器):Inte

11、l 8274初始化程序:splk #0004h,60h ;wr0:復(fù)位out 60h,0003hsplk #0020h,60h ;wr4:SDLC方式out 60h,0003hsplk #0046h,60h ;wr0:指示寄存器指向wr6out 60h,0003hsplk #0054h,60h ;wr6:接收匹配地址54hout 60h,0003hsplk #0097h,60h ;wr0:指示寄存器指向wr7out 60h,0003hsplk #007eh,60h ;wr7:同步標(biāo)志7ehout 60h,0003hsplk #0002h,60h ;A通道wr0out 60h,0002hsplk

12、 #0020h,60h ;A通道wr2:中斷方式out 60h,0002hsplk #0031h,60h ;wr0:指示寄存器指向wr1out 60h,003hsplk #001ch,60h ;wr1:全部接收中斷方式,不啟動(dòng)發(fā)送器out 60h,0003hsplk #0023h,60h ;wr0:指示寄存器指向wr3out 60h,0003hsplk #00cdh,60h ;wr3:8位接收,接收CRC、接收器啟動(dòng)out 60h,003h ;地址匹配接收模式下面是切換Intel 8274至發(fā)送狀態(tài)的同步接收中斷服務(wù)程序中:rco485s:splk #000bh,60h ;485總線轉(zhuǎn)入發(fā)送狀

13、態(tài)out 60h,iosrsplk #0085h,60h ;wr0:指示寄存器指向wr5out 60h,0003hsplk #0069h,60h ;wr5:發(fā)送CRC、發(fā)送器啟動(dòng)out 60h,0003hsplk #0001h,60h ;wr0:指示寄存器指向wr1out 60h,0003hsplk #001eh,60h ;wr1:發(fā)送中斷啟動(dòng)out 60h,0003hlacl #0ah ;等待0ah周期循環(huán),loop: sub #1h ;使發(fā)送足夠同步標(biāo)志nopbcnd loop,GTlar ar3,6fhmar *,ar3 ;置ar3為當(dāng)前輔助寄存器out *+,0001h ;發(fā)送第一個(gè)數(shù)

14、據(jù)到Intel8274Intel 8274發(fā)送/接收中斷服務(wù)程序:;Intel 8274接收r485: lar ar1,70hmar *,ar1 ;置ar1為當(dāng)前輔助寄存器in *+,0001h ;從Intel 8274接收一個(gè)數(shù)據(jù);Intel 8274發(fā)送s485:mar *,ar3 ;置ar3為當(dāng)前輔助寄存器out *+,0001h ;發(fā)送一個(gè)數(shù)據(jù)到Intel 8274lacl #60h ;等待60h周期循環(huán),loop1: sub #1h ;使能發(fā)送兩個(gè)字節(jié)CRCnop ;和至少一個(gè)同步標(biāo)志5 應(yīng)用Intel 8274的注意事項(xiàng)在圖1的硬件設(shè)計(jì)中,必須注意是Intel8274的TXCB管腳

15、(或TXCA管腳)。由于TXCB管腳在作為Intel8274的發(fā)磅器時(shí)鐘的同時(shí)又是一個(gè)輸入管腳,而作為485串行通訊數(shù)據(jù)總線上的發(fā)送器時(shí)鐘要求對(duì)于源端是輸出管腳,這樣,就必須從外部引入一個(gè)發(fā)送同步時(shí)鐘CLKT。這是使用Intel8274時(shí)在硬件上應(yīng)注意的問(wèn)題。在軟件設(shè)計(jì)中,第一個(gè)要注意的問(wèn)題是Intel8274的16個(gè)寫寄存器的使用問(wèn)題。在Intel 8274中,每個(gè)通道有8個(gè)寫寄存器和3個(gè)讀寄存器,但卻只有2根地址線。因此該芯片專門設(shè)計(jì)了一個(gè)內(nèi)部指示寄存器,以專門用于在存取8274命令/狀態(tài)時(shí)選擇讀/寫哪個(gè)命令或狀態(tài)寄存器。該指示寄存器位于WR0寄存器的D2D0位。上電復(fù)位后,指示寄存器的內(nèi)

16、容為0。因此第一次寫入命令寄存器的命令將寫入WR0,同時(shí)這個(gè)命令的低三位寫入指示寄存器,并標(biāo)志著下次將讀/取的寄存器號(hào)。而指示寄存器的內(nèi)容在完成讀或?qū)懖僮髦缶捅粡?fù)位,因些在讀或?qū)懸粋€(gè)寄存器之前,都必須先向WR0(指示寄存器)寫入一條指令。在上面的程序中,尤其是初始化段,可以明顯地看到這一過(guò)程。第二個(gè)需要注意的問(wèn)題是SDLC的同步標(biāo)志字。SDLC協(xié)議規(guī)定,在幀起始和結(jié)束的時(shí)候,必須發(fā)送至少1個(gè)同步標(biāo)志01111110。在一般的實(shí)際應(yīng)用中,TMS320F206的時(shí)候會(huì)遠(yuǎn)遠(yuǎn)高于Intel8274的時(shí)候,因此,從同步串行口接收完數(shù)據(jù),并將Intel8274切換至發(fā)送狀態(tài)起,到向Intel 8274發(fā)

17、送第一個(gè)數(shù)據(jù)之前,根本來(lái)不及讓Intel8274自動(dòng)發(fā)送至少一個(gè)SDLC協(xié)議的步標(biāo)志字。為解決這一問(wèn)題,在實(shí)際編程過(guò)程中,設(shè)計(jì)得可有意在它們之間加入一個(gè)10個(gè)周期左右的循環(huán)(虛框內(nèi)的程序)。同樣,從Intel8174發(fā)送完一幀數(shù)據(jù)之后到切換Intel 8274至接收狀態(tài)之間,設(shè)計(jì)也可有意加入一個(gè)循環(huán)(虛框內(nèi)的程序)。在這個(gè)循環(huán)中,Intel8274首先會(huì)自動(dòng)插入兩個(gè)字節(jié)的CRC循環(huán)冗余校驗(yàn)碼,然后才暗SDLC的同步標(biāo)志字,因此這個(gè)循環(huán)的周期數(shù)要大于第一個(gè)循環(huán)的周期數(shù)。這兩個(gè)循環(huán)周期的具體參數(shù)與TM320F206和Intel8274所使用的時(shí)鐘有關(guān),因此需要設(shè)計(jì)者在實(shí)際系統(tǒng)調(diào)試中加以確定。6 Intel 8274串行通訊系統(tǒng)的應(yīng)用在筆者研制的某雷達(dá)項(xiàng)目中,要求其中一條通訊線路的信息交

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論