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