接口電路轉(zhuǎn)換設(shè)計管理論文
時間:2022-07-16 04:16:00
導(dǎo)語:接口電路轉(zhuǎn)換設(shè)計管理論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
引言
現(xiàn)場總線是安裝在生產(chǎn)過程區(qū)域的現(xiàn)場設(shè)備/儀表與控制室內(nèi)的自動控制裝置/系統(tǒng)之間的一種串行數(shù)字式多點(diǎn)雙向通信的數(shù)據(jù)總線,多用于工空等領(lǐng)域,應(yīng)用現(xiàn)場總線技術(shù)不僅可以降低系統(tǒng)的布線成本,還具有設(shè)計簡單、調(diào)試方便等優(yōu)點(diǎn),同時,由于現(xiàn)場總線本身還提供了靈活而又功能強(qiáng)大的協(xié)議,這就使得用戶對系統(tǒng)配置,設(shè)備選型具有強(qiáng)大的自主權(quán),可以任意組合多種功能模塊擴(kuò)充系統(tǒng)的功能。在眾多的現(xiàn)場工業(yè)總線中,CAN總線是一種具有國際標(biāo)準(zhǔn)而且性能價格比又較高的現(xiàn)場總線,它在當(dāng)今自動控制領(lǐng)域中的應(yīng)用極為廣泛,并發(fā)揮著重要的作用。一個由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個節(jié)點(diǎn)。實際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。CAN可提供高達(dá)1Mbit/s的數(shù)據(jù)傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。
CAN通訊協(xié)議描述了在設(shè)備之間信息如何傳遞。它對層的定義與開放系統(tǒng)互連模型(OSI)一致。每一層與另一設(shè)備上相同的那一層通訊。實際的通訊是發(fā)生在每一設(shè)備上相鄰的兩層,而設(shè)備只通過模型物理層的物理介質(zhì)互連。CAN的結(jié)構(gòu)定義了模型的最下面的兩層:數(shù)據(jù)鏈路層和物理層。應(yīng)用層通過不同的新型協(xié)議層(專門用于特殊的工業(yè)領(lǐng)域加上由個別CAN用戶定義的任何合適的方案)和物理層連接。物理層和數(shù)據(jù)鏈路層對于設(shè)計者來說是透明的,并包含在所有執(zhí)行CAN協(xié)議的部件中。
實際中,許多設(shè)備是RS-232接口,為了實現(xiàn)CAN總線數(shù)據(jù)和RS-232接口設(shè)備數(shù)據(jù)的傳輸,設(shè)計完成了CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計。
1.CAN總線協(xié)議分析
1.1CAN總線主要特點(diǎn)
CAN總線是一種多主式的串行通信總線,具有極高的實時性和可靠行,最高通信速率可以達(dá)到1Mbit/s,是一種十分優(yōu)秀的現(xiàn)場工業(yè)總線。CAN總線具有如下特點(diǎn):
結(jié)構(gòu)簡單,只有2根線與外部相連,且內(nèi)部集成錯誤探測和管理模塊。
通信方式靈活??梢远嘀鞣绞焦ぷ?,網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,而不分主從。
可以點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)或者全局廣播方式發(fā)送和接收數(shù)據(jù)。
網(wǎng)絡(luò)上的節(jié)點(diǎn)信息可分成不同的優(yōu)先級,以滿足不同的實時要求。
CAN總線通信格式采用短幀格式,每幀字節(jié)最多為8個,可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8字節(jié)也不會占用總線時間過長,從而保證了通信的實時性。
采用非破壞性總線仲裁技術(shù)。當(dāng)兩個節(jié)點(diǎn)同時向總線上發(fā)送數(shù)據(jù)時,優(yōu)先級低的節(jié)點(diǎn)主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點(diǎn)可不受影響地繼續(xù)傳送數(shù)據(jù)。這大大的節(jié)省了總線仲裁沖突的時間,雜網(wǎng)絡(luò)負(fù)載很重的情況下也不會出現(xiàn)網(wǎng)絡(luò)癱瘓。
直接通信距離最大可達(dá)10Km(速率5Kbit/s以下),最高通信速率可達(dá)1Mbit/s(此時距離最長為40Km),節(jié)點(diǎn)數(shù)可達(dá)110個,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。
CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢測、優(yōu)先級判別等多項工作。
CAN總線采用CRC進(jìn)行數(shù)據(jù)檢測并可提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。
1.2CAN總線協(xié)議
CAN總線協(xié)議主要描述設(shè)備之間的信息傳遞方式,從結(jié)構(gòu)上可分成3個層次,分別對應(yīng)OSI網(wǎng)絡(luò)模型的最低兩層數(shù)據(jù)鏈路層和物理層。CAN總線協(xié)議層次結(jié)構(gòu)由高到低如表1-1所示。
表1-1CAN總線協(xié)議層次結(jié)構(gòu)
協(xié)議層
對應(yīng)OSI模型
說明
LLC
數(shù)據(jù)鏈路層
邏輯鏈路控制子層,用于為鏈路中的數(shù)據(jù)傳輸提供上層控制手段
MAC
媒體訪問控制子層,用于控制幀結(jié)構(gòu)、仲裁、錯誤界定等數(shù)據(jù)傳輸?shù)木唧w實現(xiàn)
物理層
物理層
物理層的作用是在不同節(jié)點(diǎn)之間根據(jù)所有的電氣屬性進(jìn)行位的實際傳輸
LLC層和MAC層也可以看作是CAN總線數(shù)據(jù)鏈路層的兩個子層。其中LLC層接收MAC層傳遞的報文,主要完成報文濾波、過載通知以及恢復(fù)管理等工作。而MAC層則為數(shù)據(jù)報文的傳輸進(jìn)行具體的控制,包括幀結(jié)構(gòu)控制、總線仲裁、錯誤檢測、出錯界定、報文收發(fā)控制等工作。
物理層定義了信號是如何實際傳輸?shù)?,因此涉及到位時間、位編碼、同步的解釋,CAN總線協(xié)議并未對物理層部分進(jìn)行具體的規(guī)定。
1.3CAN總線報文傳輸結(jié)構(gòu)
報文傳輸由以下4個不同的幀類型所表示
1.?dāng)?shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。
數(shù)據(jù)幀由7個不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應(yīng)答場、幀結(jié)尾。數(shù)據(jù)場的長度可以為0。數(shù)據(jù)幀(或遠(yuǎn)程幀)通過幀間空間與前述的各幀分開。
2.遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一識別符的數(shù)據(jù)幀。
遠(yuǎn)程幀由6個不同的位場組成:幀起始、仲裁場、控制場、CRC場、應(yīng)答場、幀末尾。通過發(fā)送遠(yuǎn)程幀,作為某數(shù)據(jù)接收器的站通過其資源節(jié)點(diǎn)對不同的數(shù)據(jù)傳送進(jìn)行初始化設(shè)置。
3.錯誤幀:任何單元檢測到總線錯誤就發(fā)出錯誤幀。
錯誤幀由兩個不同的場組成。第一個場用作為不同站提供的錯誤標(biāo)志(ERRORFLAG)的疊加。第二個場是錯誤界定符。
為了能正確地終止錯誤幀,"錯誤被動"的節(jié)點(diǎn)要求總線至少有長度為3個位時間的總線空閑(如果"錯誤被動"的接收器有本地錯誤的話)。因此,總線的載荷不應(yīng)為100%。有兩種形式的錯誤標(biāo)志,主動錯誤標(biāo)志(Activeerrorflag)和被動錯誤標(biāo)志(Passiveerrorflag)。
4.過載幀:過載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時。
過載幀包括兩個位場:過載標(biāo)志和過載界定符。
有兩種過載條件都會導(dǎo)致過載標(biāo)志的傳送:
(1)接收器的內(nèi)部條件(此接收器對于下一數(shù)據(jù)幀或遠(yuǎn)程幀需要有一延時)。
(2)間歇場期間檢測到一"顯性"位。
由過載條件1而引發(fā)的過載幀只允許起始于所期望的間歇場的第一個位時間開始。而由過載條件2引發(fā)的過載幀應(yīng)起始于所檢測到"顯性"位之后的位。
1.4CAN總線錯誤處理
1.4.1錯誤檢測
有以下5種不同的錯誤類型(這5種錯誤不會相互排斥)
1.位錯誤(BitError)
單元在發(fā)送位的同時也對總線進(jìn)行監(jiān)視。如果所發(fā)送的位值與所監(jiān)視的位值不相合,則在此位時間里檢測到一個位錯誤。但是在仲裁場(ARBITRATIONFIELD)的填充位流期間或應(yīng)答間隙(ACKSLOT)發(fā)送一"隱性"位的情況是例外的。此時,當(dāng)監(jiān)視到一"顯性"位時,不會發(fā)出位錯誤。當(dāng)發(fā)送器發(fā)送一個被動錯誤標(biāo)志但檢測到"顯性"位時,也不視為位錯誤。
2.填充錯誤(StruffError)
如果在使用位填充法進(jìn)行編碼的信息中,出現(xiàn)了第6個連續(xù)相同的位電平時,將檢測到一個填充錯誤。
3.CRC錯誤(CRCError)
CRC序列包括發(fā)送器的CRC計算結(jié)果。接收器計算CRC的方法與發(fā)送器相同。如果計算結(jié)果與接收到CRC序列的結(jié)果不相符,則檢測到一個CRC錯誤。
4.形式錯誤(FormError)
當(dāng)一個固定形式的位場含有1個或多個非法位,則檢測到一個形式錯誤。(備注:接收器的幀末尾最后一位期間的顯性位不被當(dāng)作幀錯誤)
5.應(yīng)答錯誤(AcknowledgmentError)
只要在應(yīng)答間隙(ACKSLOT)期間所監(jiān)視的位不為"顯性",則發(fā)送器會檢測到一個應(yīng)答錯誤。
1.4.2錯誤標(biāo)定
檢測到錯誤條件的站通過發(fā)送錯誤標(biāo)志指示錯誤。對于"錯誤主動"的節(jié)點(diǎn),錯誤信息為"主動錯誤標(biāo)志",對于"錯誤被動"的節(jié)點(diǎn),錯誤信息為"被動錯誤標(biāo)志"。站檢測到無論是位錯誤、填充錯誤、形式錯誤,還是應(yīng)答錯誤,這個站會在下一位時發(fā)出錯誤標(biāo)志信息。只要檢測到的錯誤的條件是CRC錯誤,錯誤標(biāo)志的發(fā)送開始于ACK界定符之后的位(其他的錯誤條件除外)。
2.CAN控制器SJA1000分析
2.1CAN節(jié)點(diǎn)結(jié)構(gòu)與SJA1000操作模式
SJA1000獨(dú)立的CAN控制器有2個不同的操作模式:
BasicCAN模式(和PCA82C200兼容);
PeliCAN模式
BasicCAN模式是上電后默認(rèn)的操作模式。因此用PCA82C200開發(fā)的已有硬件和軟件可以直接在SJA1000上使用,而不用作任何修改。
PeliCAN模式是新的操作模式,它能夠處理所有CAN2.0B規(guī)范的幀類型。而且它還提供一些增強(qiáng)功能,例如,SJA1000支持一些錯誤分析功能,支持系統(tǒng)診斷、系統(tǒng)維護(hù)和系統(tǒng)優(yōu)化,而且這個模式里也加入了對一般CPU的支持和系統(tǒng)自身測試的功能。使SJA1000能應(yīng)用于更寬的領(lǐng)域。
本設(shè)計采用PeliCAN模式,因此只給出PeliCAN模式增強(qiáng)功能。如表2-1所示。
表2-1PeliCAN模式的增強(qiáng)功能
CAN2.0B(active)
CAN2.0Bactive支持帶有29位標(biāo)識符的網(wǎng)絡(luò)擴(kuò)展應(yīng)用
發(fā)送緩沖器
有11位或29位標(biāo)識符的報文的單報文發(fā)送緩沖器
增強(qiáng)的驗收濾波器
兩個驗收濾波器模式支持11位和29位標(biāo)識符的濾波
可讀的錯誤計數(shù)器
支持錯誤分析在原型階段和在正常操作期間可用于:診斷、系統(tǒng)維護(hù)、系統(tǒng)優(yōu)化
可編程的出錯警告界限
錯誤代碼捕捉寄存器
出錯中斷
仲裁丟失捕捉中斷
支持系統(tǒng)優(yōu)化包括報文延遲時間的分析
單次發(fā)送
使軟件命令最小化和允許快速重載發(fā)送緩沖器
僅聽模式
SJA1000能夠作為一個認(rèn)可的CAN監(jiān)控器操作,可以分析CAN總線通信或進(jìn)行自動位速率檢測
自測試模式
支持全部CAN節(jié)點(diǎn)的功能自測試或在一個系統(tǒng)內(nèi)的自接收
通常,每個CAN模塊能夠被分成不同的功能塊,如圖2-1所示。
CAN控制器執(zhí)行在CAN規(guī)范里規(guī)定的完整CAN協(xié)議。它通常用于報文緩沖和驗收濾波。
通用CAN收發(fā)器實現(xiàn)從CAN控制器到CAN總線物理層的電氣連接。
而所有這些CAN功能都由一個模塊控制器控制,它負(fù)責(zé)執(zhí)行應(yīng)用層的功能。
元器件清單
表3-3CAN總線與RS-2232接口電路設(shè)計元?dú)饧鍐?/p>
序號
元件名稱
數(shù)量(個)
單價(元)
總價(元)
1
AT89C51
1
7.50
7.50
2
SJA1000
1
25.00
25.00
3
HM6116
1
1.00
1.00
4
MAX232
1
5.00
5.00
5
74HC373
1
1.00
1.00
6
PCA82C250
1
6.50
6.50
7
X25045
1
1.00
1.00
8
TLP113
2
3.00
6.00
合計
53.00
結(jié)論
本設(shè)計完成了CAN總線與RS-232轉(zhuǎn)換接口設(shè)計。由于CAN總線與RS-232接口數(shù)據(jù)通信速率以及通信幀格式都不同,本設(shè)計最大優(yōu)點(diǎn)是解決了這兩點(diǎn)不同,實現(xiàn)了數(shù)據(jù)在CAN總線與RS-232接口之間的傳輸。且設(shè)計中由于使用了CAN總線進(jìn)行數(shù)據(jù)傳輸這就使得通信方式多主性。網(wǎng)絡(luò)上任意節(jié)點(diǎn)可以任意時刻主動地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息而不分主從??梢渣c(diǎn)對點(diǎn),點(diǎn)對多點(diǎn)或全局廣播方式發(fā)送和接收數(shù)據(jù)。
由于CAN總線標(biāo)準(zhǔn)沒有定義應(yīng)用層,數(shù)據(jù)鏈路層提供與信息內(nèi)容相應(yīng)的尋址能力,消息的內(nèi)容完全由應(yīng)用解釋。且CAN總線的每個數(shù)據(jù)幀最多只能承載8個字節(jié)的數(shù)據(jù),因而只適應(yīng)提供短的變量服務(wù)。許多功能還需要擴(kuò)展。
綜上所述,通過此次設(shè)計,我們感受到CAN總線帶來的各種便利。而且,由于CAN總線具有結(jié)構(gòu)簡單、實時性極高、可靠性強(qiáng)且本身具有強(qiáng)大的糾錯能力。使得它在當(dāng)今自動控制領(lǐng)域中的應(yīng)用極為廣泛。由于CAN協(xié)議參考OSI開放系統(tǒng)互聯(lián)模型,可由用戶定義應(yīng)用層協(xié)議,通過相關(guān)的CAN轉(zhuǎn)接設(shè)備,將CAN與計算機(jī)相連,利用CAN232B轉(zhuǎn)換器組建一個CAN控制網(wǎng)絡(luò),能夠很方便的實現(xiàn)RS-232多點(diǎn)組網(wǎng)、遠(yuǎn)程通訊,并且,不需要更改原有RS-232通訊軟件,用戶可直接嵌入原有的應(yīng)用領(lǐng)域,使系統(tǒng)設(shè)計達(dá)到更先進(jìn)的水平。
摘要............................................................................................................Ι
ABSTRACT..................................................................................................................................ΙΙ
引言1
1.CAN總線協(xié)議分析2
1.1CAN總線主要特點(diǎn)2
1.2CAN總線協(xié)議2
1.3CAN總線報文傳輸結(jié)構(gòu)3
1.4CAN總線錯誤處理3
1.4.1錯誤檢測3
1.4.2錯誤標(biāo)定4
2.CAN控制器SJA1000分析5
2.1CAN節(jié)點(diǎn)結(jié)構(gòu)與SJA1000操作模式5
2.2SJA1000內(nèi)部結(jié)構(gòu)及其功能分析6
3.CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計11
3.1CAN總線與RS-232轉(zhuǎn)換接口電路總體設(shè)計11
3.2主控制模塊電路設(shè)計12
3.2.1AT89C51與6116電路設(shè)計13
3.2.2看門狗電路設(shè)計14
3.3AT89C51與RS-232轉(zhuǎn)換接口電路設(shè)計16
3.3.1RS-232-C標(biāo)準(zhǔn)分析16
3.3.2RS-232與AT89C51接口電路設(shè)計18
3.4SJA1000與AT89C51接口電路設(shè)計19
3.4.1SJA1000與AT89C51接口電路設(shè)計19
3.4.2物理層接口電路設(shè)計21
3.5元器件清單22
結(jié)論22
致謝24
參考文獻(xiàn)25