CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計
CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計,can,總線,rs,轉(zhuǎn)換,接口,電路設(shè)計
石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計0摘要…………………………………………………………………………………….…..……ΙABSTRACT.................................................................................................................................. ΙΙ引言 .................................................................................................................................................11. CAN 總線協(xié)議分析 ....................................................................................................................21.1 CAN 總線主要特點 ..............................................................................................................21.2 CAN 總線協(xié)議 ......................................................................................................................21.3 CAN 總線報文傳輸結(jié)構(gòu) ......................................................................................................31.4 CAN 總線錯誤處理 ..............................................................................................................31.4.1 錯誤檢測 ........................................................................................................................31.4.2 錯誤標定 ........................................................................................................................42. CAN 控制器 SJA1000 分析 ......................................................................................................52.1 CAN 節(jié)點結(jié)構(gòu)與 SJA1000 操作模式 ..................................................................................52.2 SJA1000 內(nèi)部結(jié)構(gòu)及其功能分析 ........................................................................................63. CAN 總線與 RS-232 轉(zhuǎn)換接口電路設(shè)計 ...............................................................................113.1 CAN 總線與 RS-232 轉(zhuǎn)換接口電路總體設(shè)計 ..................................................................113.2 主控制模塊電路設(shè)計 .........................................................................................................123.2.1 AT89C51 與 6116 電路設(shè)計 ........................................................................................133.2.2 看門狗電路設(shè)計 ..........................................................................................................143.3 AT89C51 與 RS-232 轉(zhuǎn)換接口電路設(shè)計 ...........................................................................163.3.1 RS-232-C 標準分析 ......................................................................................................163.3.2 RS-232 與 AT89C51 接口電路設(shè)計 ............................................................................183.4 SJA1000 與 AT89C51 接口電路設(shè)計 ................................................................................193.4.1 SJA1000 與 AT89C51 接口電路設(shè)計 ..........................................................................193.4.2 物理層接口電路設(shè)計 ................................................................................................213.5 元器件清單 ..........................................................................................................................22結(jié)論 ...............................................................................................................................................22致 謝 ...........................................................................................................................................24參考文獻 .......................................................................................................................................25石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計1CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計引言現(xiàn)場總線是安裝在生產(chǎn)過程區(qū)域的現(xiàn)場設(shè)備/儀表與控制室內(nèi)的自動控制裝置 /系統(tǒng)之間的一種串行數(shù)字式多點雙向通信的數(shù)據(jù)總線,多用于工空等領(lǐng)域,應用現(xiàn)場總線技術(shù)不僅可以降低系統(tǒng)的布線成本,還具有設(shè)計簡單、調(diào)試方便等優(yōu)點,同時,由于現(xiàn)場總線本身還提供了靈活而又功能強大的協(xié)議,這就使得用戶對系統(tǒng)配置,設(shè)備選型具有強大的自主權(quán),可以任意組合多種功能模塊擴充系統(tǒng)的功能。在眾多的現(xiàn)場工業(yè)總線中,CAN總線是一種具有國際標準而且性能價格比又較高的現(xiàn)場總線,它在當今自動控制領(lǐng)域中的應用極為廣泛,并發(fā)揮著重要的作用。一個由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個節(jié)點。實際應用中,節(jié)點數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。CAN可提供高達1Mbit/s 的數(shù)據(jù)傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。CAN通訊協(xié)議描述了在設(shè)備之間信息如何傳遞。它對層的定義與開放系統(tǒng)互連模型(OSI)一致。每一層與另一設(shè)備上相同的那一層通訊。實際的通訊是發(fā)生在每一設(shè)備上相鄰的兩層,而設(shè)備只通過模型物理層的物理介質(zhì)互連。CAN的結(jié)構(gòu)定義了模型的最下面的兩層:數(shù)據(jù)鏈路層和物理層。應用層通過不同的新型協(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è)計。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計21. CAN 總線協(xié)議分析1.1 CAN 總線主要特點CAN 總線是一種多主式的串行通信總線,具有極高的實時性和可靠行,最高通信速率可以達到 1Mbit/s,是一種十分優(yōu)秀的現(xiàn)場工業(yè)總線。CAN 總線具有如下特點:結(jié)構(gòu)簡單,只有 2 根線與外部相連,且內(nèi)部集成錯誤探測和管理模塊。通信方式靈活。可以多主方式工作,網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,而不分主從??梢渣c對點、點對多點或者全局廣播方式發(fā)送和接收數(shù)據(jù)。網(wǎng)絡(luò)上的節(jié)點信息可分成不同的優(yōu)先級,以滿足不同的實時要求。CAN 總線通信格式采用短幀格式,每幀字節(jié)最多為 8 個,可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8 字節(jié)也不會占用總線時間過長,從而保證了通信的實時性。采用非破壞性總線仲裁技術(shù)。當兩個節(jié)點同時向總線上發(fā)送數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳送數(shù)據(jù)。這大大的節(jié)省了總線仲裁沖突的時間,雜網(wǎng)絡(luò)負載很重的情況下也不會出現(xiàn)網(wǎng)絡(luò)癱瘓。直接通信距離最大可達 10Km(速率 5Kbit/s 以下) ,最高通信速率可達 1Mbit/s(此時距離最長為 40Km) ,節(jié)點數(shù)可達 110 個,通信介質(zhì)可以是雙絞線、同軸電纜或光導纖維。CAN 總線通信接口中集成了 CAN 協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢測、優(yōu)先級判別等多項工作。CAN 總線采用 CRC 進行數(shù)據(jù)檢測并可提供相應的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。1.2 CAN 總線協(xié)議CAN 總線協(xié)議主要描述設(shè)備之間的信息傳遞方式,從結(jié)構(gòu)上可分成 3 個層次,分別對應 OSI 網(wǎng)絡(luò)模型的最低兩層數(shù)據(jù)鏈路層和物理層。CAN 總線協(xié)議層次結(jié)構(gòu)由高到低如表 1-1 所示。表 1-1CAN 總線協(xié)議層次結(jié)構(gòu)協(xié)議層 對應 OSI模型 說明LLC 邏輯鏈路控制子層,用于為鏈路中的數(shù)據(jù)傳輸提供上層控制手 段MAC數(shù)據(jù)鏈路層 媒體訪問控制子層,用于控制幀結(jié)構(gòu)、仲裁、錯誤界定等數(shù)據(jù)傳輸?shù)木唧w實現(xiàn)物理層 物理層 物理層的作用是在不同節(jié)點之間根據(jù)所有的電氣屬性進行位的 實際傳輸LLC 層和 MAC 層也可以看作是 CAN 總線數(shù)據(jù)鏈路層的兩個子層。其中 LLC 層接收MAC 層傳遞的報文,主要完成報文濾波、過載通知以及恢復管理等工作。而 MAC 層則為數(shù)據(jù)報文的傳輸進行具體的控制,包括幀結(jié)構(gòu)控制、總線仲裁、錯誤檢測、出錯界定、石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計3報文收發(fā)控制等工作。物理層定義了信號是如何實際傳輸?shù)?,因此涉及到位時間、位編碼、同步的解釋,CAN 總線協(xié)議并未對物理層部分進行具體的規(guī)定。1.3 CAN 總線報文傳輸結(jié)構(gòu)報文傳輸由以下4 個不同的幀類型所表示1.數(shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。數(shù)據(jù)幀由7個不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應答場、幀結(jié)尾。數(shù)據(jù)場的長度可以為0。數(shù)據(jù)幀(或遠程幀)通過幀間空間與前述的各幀分開。2.遠程幀:總線單元發(fā)出遠程幀,請求發(fā)送具有同一識別符的數(shù)據(jù)幀。遠程幀由6個不同的位場組成:幀起始、仲裁場、控制場、CRC場、應答場、幀末尾。通過發(fā)送遠程幀,作為某數(shù)據(jù)接收器的站通過其資源節(jié)點對不同的數(shù)據(jù)傳送進行初始化設(shè)置。3.錯誤幀:任何單元檢測到總線錯誤就發(fā)出錯誤幀。錯誤幀由兩個不同的場組成。第一個場用作為不同站提供的錯誤標志(ERROR FLAG)的疊加。第二個場是錯誤界定符。為了能正確地終止錯誤幀,“錯誤被動”的節(jié)點要求總線至少有長度為3個位時間的總線空閑(如果“錯誤被動”的接收器有本地錯誤的話)。因此,總線的載荷不應為100%。有兩種形式的錯誤標志,主動錯誤標志(Active error flag)和被動錯誤標志(Passive error flag)。4.過載幀:過載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠程幀)之間提供一附加的延時。過載幀包括兩個位場:過載標志和過載界定符。有兩種過載條件都會導致過載標志的傳送:(1)接收器的內(nèi)部條件(此接收器對于下一數(shù)據(jù)幀或遠程幀需要有一延時)。(2)間歇場期間檢測到一“顯性”位。由過載條件1 而引發(fā)的過載幀只允許起始于所期望的間歇場的第一個位時間開始。而由過載條件2 引發(fā)的過載幀應起始于所檢測到 “顯性”位之后的位。1.4 CAN 總線錯誤處理1.4.1 錯誤檢測有以下5種不同的錯誤類型(這5 種錯誤不會相互排斥)1.位錯誤( Bit Error)單元在發(fā)送位的同時也對總線進行監(jiān)視。如果所發(fā)送的位值與所監(jiān)視的位值不相合,則在此位時間里檢測到一個位錯誤。但是在仲裁場(ARBITRATION FIELD)的填充位流期間或應答間隙(ACK SLOT)發(fā)送一“隱性”位的情況是例外的。此時,當監(jiān)視到一“顯性”位時,不會發(fā)出位錯誤。當發(fā)送器發(fā)送一個被動錯誤標志但檢測到“顯性”位時,也不視為位錯誤。2.填充錯誤( Struff Error)如果在使用位填充法進行編碼的信息中,出現(xiàn)了第6個連續(xù)相同的位電平時,將檢測石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計4到一個填充錯誤。3.CRC 錯誤(CRC Error)CRC序列包括發(fā)送器的CRC計算結(jié)果。接收器計算CRC的方法與發(fā)送器相同。如果計算結(jié)果與接收到CRC序列的結(jié)果不相符,則檢測到一個CRC 錯誤。4.形式錯誤( Form Error)當一個固定形式的位場含有1個或多個非法位,則檢測到一個形式錯誤。(備注:接收器的幀末尾最后一位期間的顯性位不被當作幀錯誤)5.應答錯誤( Acknowledgment Error)只要在應答間隙(ACK SLOT)期間所監(jiān)視的位不為“顯性”,則發(fā)送器會檢測到一個應答錯誤。1.4.2 錯誤標定檢測到錯誤條件的站通過發(fā)送錯誤標志指示錯誤。對于“錯誤主動”的節(jié)點,錯誤信息為“主動錯誤標志”,對于“錯誤被動”的節(jié)點,錯誤信息為“被動錯誤標志”。站檢測到無論是位錯誤、填充錯誤、形式錯誤,還是應答錯誤,這個站會在下一位時發(fā)出錯誤標志信息。只要檢測到的錯誤的條件是CRC 錯誤,錯誤標志的發(fā)送開始于ACK界定符之后的位(其他的錯誤條件除外)。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計52. CAN 控制器 SJA1000 分析2.1 CAN 節(jié)點結(jié)構(gòu)與 SJA1000 操作模式SJA1000獨立的CAN控制器有2個不同的操作模式:BasicCAN模式(和PCA82C200兼容);PeliCAN模式BasicCAN模式是上電后默認的操作模式。因此用PCA82C200 開發(fā)的已有硬件和軟件可以直接在SJA1000上使用,而不用作任何修改。PeliCAN 模式是新的操作模式,它能夠處理所有 CAN2.0B 規(guī)范的幀類型。而且它還提供一些增強功能,例如,SJA1000 支持一些錯誤分析功能,支持系統(tǒng)診斷、系統(tǒng)維護和系統(tǒng)優(yōu)化,而且這個模式里也加入了對一般 CPU 的支持和系統(tǒng)自身測試的功能。使SJA1000 能應用于更寬的領(lǐng)域。本設(shè)計采用 PeliCAN 模式,因此只給出 PeliCAN 模式增強功能。如表 2-1 所示。表2-1PeliCAN模式的增強功能CAN2.0B (active) CAN2.0B active 支持帶有29 位標識符的網(wǎng)絡(luò)擴展應用發(fā)送緩沖器 有11 位或29 位標識符的報文的單報文發(fā)送緩沖器增強的驗收濾波器 兩個驗收濾波器模式支持11 位和29 位標識符的濾波可讀的錯誤計數(shù)器可編程的出錯警告界限支持錯誤分析在原型階段和在正常操作期間可用于:診斷、系統(tǒng)維護、系統(tǒng)優(yōu)化錯誤代碼捕捉寄存器出錯中斷仲裁丟失捕捉中斷 支持系統(tǒng)優(yōu)化包括報文延遲時間的分析單次發(fā)送 使軟件命令最小化和允許快速重載發(fā)送緩沖器僅聽模式 SJA1000能夠作為一個認可的CAN 監(jiān)控器操作,可以分析CAN 總線通信或進行自動位速率檢測自測試模式 支持全部CAN 節(jié)點的功能自測試或在一個系統(tǒng)內(nèi)的自接收通常,每個CAN模塊能夠被分成不同的功能塊,如圖2-1所示。CAN控制器執(zhí)行在CAN規(guī)范里規(guī)定的完整CAN協(xié)議。它通常用于報文緩沖和驗收濾石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計6波。通用CAN收發(fā)器實現(xiàn)從CAN控制器到CAN總線物理層的電氣連接。而所有這些CAN功能都由一個模塊控制器控制,它負責執(zhí)行應用層的功能。圖2-1 CAN模塊裝置2.2 SJA1000 內(nèi)部結(jié)構(gòu)及其功能分析1.SJA1000內(nèi)部結(jié)構(gòu)SJA1000內(nèi)部可以分為接口管理邏輯、發(fā)送緩沖區(qū)、接收FIFO、比特流處理器、接收濾波器、定位邏輯器、錯誤管理邏輯、復位模塊和振蕩電路這幾個部分組成。其內(nèi)部結(jié)構(gòu)和相互關(guān)系如圖2-2所示。模塊控制器CAN 控制器CAN 收發(fā)器傳感器執(zhí)行器人機接口微處理器SJA1000PCA82C250/251傳感器執(zhí)行器人機接口CAN 總線石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計7圖2-2 SJA1000內(nèi)部結(jié)構(gòu)圖2.SJA1000引腳功能SJA1000中共有28個外部引腳,芯片封裝形式可以是DIP28,也可以是SO28。 AD7~AD0(引腳2、1、28~23) 這8個引腳為8位地址/ 數(shù)據(jù)端ALE/AS(引腳3) Intel模式下,該引腳為ALE信號輸入端。Motorola模式下,該引腳為AS信號輸入端。/CS(引腳4) 芯片片選端/RD/E(引腳5) Intel模式下,該引腳為/RD 信號輸入端,Motorola模式下,該引腳為E信號輸入端。/WR(引腳6) Intel模式下,該引腳為/WR信號輸入端,Motorola模式下,該引腳為RD/ /WR信號輸入端。CLKOUT(引腳7) SJA1000的時鐘信號輸入端。該時鐘頻率可以由SJA1000的內(nèi)部時鐘控制寄存器進行可編程控制,若時鐘控制寄存器的Clock Off 位為1,則該引腳無效。VSS1(引腳8) 邏輯地XTAL1、 XTAL2(引腳 9、10) 外部晶振接入端。Mode(引腳11) 模式選擇端。該引腳用于處理器接口的選擇,當該引腳接高電平時,SJA1000 工作在Intel模式,當該引腳接低電平時,SJA1000工作在Motorola模式。VDD3(引腳12) 輸出驅(qū)動器的電源端。TX0、TX1(引腳13、14) CAN輸出驅(qū)動器的輸出端0和輸出端1。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計8VSS3(引腳15) 輸出驅(qū)動器的接地端。/INT(引腳 16) 中斷信號輸出端。當產(chǎn)生事件且內(nèi)部中斷寄存器對應位被置位時,該引腳產(chǎn)生低電平,通知處理器產(chǎn)生外部中斷,處理器可以通過查看中斷事件寄存器來了解發(fā)生了何種中斷。該引腳為集電極開路,因此多個/INT信號可以直接連接在一起產(chǎn)生線“或” 。/RST(引腳 17) 芯片復位端。VDD2(引腳18) 輸入比較器的電源端。RX0、RX1(引腳19、20) CAN輸入比較器的輸入端0和輸入端1。VSS2(引腳21) 輸入比較器的接地端。VDD1 (引腳22) 電源端。3.SJA1000寄存器及其功能SJA1000的功能配置和行為由主控制器的命令控制。因此SJA1000 能滿足不同屬性的CAN總線系統(tǒng)的要求。主控制器和SJA1000之間的數(shù)據(jù)交換經(jīng)過一組寄存器(控制段)和一個RAM(報文緩沖器)完成。RAM部分的寄存器和地址窗口組成了發(fā)送和接收緩沖器,對于主控制器來說就象是外圍器件寄存器。表2-2根據(jù)它們在系統(tǒng)的作用分組列出了SJA1000寄存器。注意,一些寄存器只在PeliCAN模式有效,控制寄存器僅在BasicCAN模式里有效。一些寄存器是只讀的或只寫的,還有一些只能在復位模式中訪問。表2-2 SJA1000 內(nèi)部寄存器的分類寄存器地址使用類型寄存器名稱(符號) PeilCAN 模式BasicCAN 模式功能模式(MOD) 0 - 選擇睡眠模式、驗收濾波器模式、自測試模式、只聽模式和復位模式控制(CR) - 0 在 BasicCAN 模式里選擇復位模式命令(CMR) - 1 BasicCAN 模式的睡眠模式命令選擇不同的操作模式的要素時鐘分頻器(CDR)31 31 在 CLKOUT 設(shè)置時鐘信號(引腳 7)選擇 PeilCAN 模式、比較器旁路模式、TX1(管腳14)輸出模式設(shè)定CAN 通訊的要素驗收碼(ACK)驗收屏蔽(AVR)16~2920~2345驗收濾波器位的模式選擇石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計9總線定時寄存器0(BTR0)總線定時寄存器1(BTR1)6767位定時參數(shù)的設(shè)置輸出控制(OCR)8 8 輸出驅(qū)動器屬性的選擇命令(CMR) 1 1 自接收、清除數(shù)據(jù)超載、釋放接收緩沖器、中止傳輸和傳輸請求的命令狀態(tài)(SR) 2 2 報文緩沖器的狀態(tài)、CAN 核心模塊的狀態(tài)中斷(IR) 3 3 CAN 中斷標志中斷使能(IER)4 — 在 PeilCAN 模式使能和禁能中斷控制(CR) — 0 在 BasicCAN 模式使能和禁能中斷事件仲裁丟失捕捉(ALC)11 — 顯示仲裁丟失的位置錯誤代碼捕捉(ECC)12 — 顯示最近一次的錯誤類型和位置出錯警告界限(EWLR)13 — 產(chǎn)生出錯警告中斷的閥值選擇RX 錯誤記數(shù)(RXERR)14 — 反映接收錯誤記數(shù)器的當前值TX 錯誤記數(shù)(TXERR)14、15 — 反映發(fā)送錯誤計數(shù)器的當前值Rx 報文計數(shù)器(RMC)29 — 接收 FIFO 里的報文數(shù)量復雜的錯誤檢測和分析的要素RX 緩沖器起始地址(RBSA)30 — 顯示接收緩沖器提供的報文的當前內(nèi)部 RAM 地址發(fā)送緩沖器(TXBUF)16~28 10~19信息緩沖器接收緩沖器(RXBUF)16~28 20~29(1)發(fā)送緩沖器/接收緩沖器在CAN總線上發(fā)送的數(shù)據(jù)被載入SJA1000的存儲區(qū),這個存儲區(qū)叫“發(fā)送緩沖器”。從CAN總線上收到的數(shù)據(jù)也存儲在SJA1000的存儲區(qū),這個存儲區(qū)叫“接收緩沖器”,在BasicCAN模式下。這些緩沖器包括2、3或5個字節(jié)的標識符和幀信息(取決于模式和幀類石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計10型),而最多可以包含8個數(shù)據(jù)字節(jié)。在PeliCAN模式:這些緩沖器是13個字節(jié)長(見表2-3)? 1字節(jié)幀信息? 2個或4個標識符字節(jié)(標準幀或擴展幀)? 最多8個數(shù)據(jù)字節(jié)。表2-3是PeliCAN模式里的RX緩沖器1(讀訪問)和TX緩沖器(寫訪問2)表2-3 PeliCAN模式讀訪問和寫訪問CAN地址(十進制) 名稱 組成和標注16 幀信息 1位說明,如果報文包括一個標準幀或擴展幀1位遠程傳輸請求位4位數(shù)據(jù)長度碼,說明數(shù)據(jù)字節(jié)的數(shù)量17,18 標識符字節(jié)1,2 標準幀:11位標識符擴展幀:16位標識符19,20 標識符字節(jié)3,4 僅擴展幀:13個標識符幀類型標準幀:19~26擴展幀:21~28數(shù)據(jù)字節(jié)1~8 由數(shù)據(jù)長度碼說明,最多8個數(shù)據(jù)字節(jié)(2)驗收濾波器獨立的CAN控制器SJA1000裝配了一個多功能的驗收濾波器,該濾波器允許自動檢查標識符和數(shù)據(jù)字節(jié)。使用這些有效的濾波方法,可以防止對于某個節(jié)點無效的報文或報文組存儲在接收緩沖器里。因此降低了主控制器的處理負載。濾波器由驗收碼寄存器和屏蔽寄存器根據(jù)給定算法來控制。接收到的數(shù)據(jù)會和驗收代碼寄存器中的值進行逐位比較。接收屏蔽寄存器定義與比較相關(guān)的位的位置(0=相關(guān)1=不相關(guān))。只有收到的報文相應位與驗收代碼寄存器的相應位相同,報文才會被接收。PeliCAN模式的驗收濾波已被擴展:4個8位的驗收碼寄存器(ACR0,ACR1,ACR2和ACR3)和驗收屏蔽寄存器(AMR0,AMR1,AMR2和AMR3)可以用多種方法濾波報文。報文的哪些位用于驗收濾波,取決于收到的幀(標準幀或擴展幀)和選擇的濾波器模式(單濾波器或雙濾波器)。對于不需要經(jīng)過驗收濾波的報文位(例如報文組被定義為接受),驗收屏蔽寄存器必須相應的位位置上置“1”。如果報文不包括數(shù)據(jù)字節(jié)(例如:是一個遠程幀或者數(shù)據(jù)長度碼為零)但是驗收濾波包括數(shù)據(jù)字節(jié),則如果標識符直到RTR位都有效的話,報文會被接收。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計113. CAN 總線與 RS-232 轉(zhuǎn)換接口電路設(shè)計3.1 CAN 總線與 RS-232 轉(zhuǎn)換接口電路總體設(shè)計C1+1V+2C1-3C2+4C2-5V-62Cout72Cin8251out925 1in10151 in11151out121C in131Cout14GND15VCC16MAX232r7 MAX2321μF 1μF1μF GND1μF GND162738495 DB9GNDP1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/Vpp31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40AT89C51GNDGND390 VCC 0.1μf0.1μfGND 24MHz20PF 20PFGND39047K GND+5V GND GND30p30p/cs1SO2/WP3GND4SI5SCK6RST7VCC8X25045GNDVCCVCCVCCVCCVCCVCC1K1K1K1KVCC1KVCCAD023AD124AD225AD326AD427AD528AD61AD72/CS4ALE3/RD5/WR6CLKOUT7INT16RST17TX013TX114RX015RX120MODE11VDD122VSS18VSS221VSS315VDD218VDD312XTAL13XTAL210SJA10000.1μfTXD1RXD4Vref5Rs8GND2CANL6CANH7Vc3P82C250A08A17A26A35A44A53A62A71A823A922A1019E18G20W21D09D110D211D313D414D515D616D7176116NOTD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE1174HC373A12A25A38A411A514A617B13B26B412B515B618B39O11O24O37O410O513O616DIP6Vc 1 3456VCC GNDTLP113134 5 6VCCGND TLP113390+5V GNDGND VCC390 +5V1μF圖 3-1CAN 與 RS-232 接口轉(zhuǎn)換電路圖 3-1 為 CAN 總線與 RS-232 接口轉(zhuǎn)換電路圖。整個轉(zhuǎn)換接口電路包括:主控制模塊、RS-232 接口轉(zhuǎn)換電路和 CAN 控制模塊 3 個主要部分。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計12主控制模塊處理 CAN 總線以及 RS-232 接口的數(shù)據(jù)通信和控制,利用 AT89C51 完成兩種格式數(shù)據(jù)幀的交換,并對接口進行控制。RS-232 接口電路由 MAX232 芯片構(gòu)成,實現(xiàn)將單片機串口的 TTL 電平與 RS-232 電平的相互轉(zhuǎn)換。CAN控制器模塊,主要完成CAN協(xié)議的物理層和數(shù)據(jù)鏈路層協(xié)議的實現(xiàn)。其中物理接口采用PCA82C250芯片實現(xiàn)物理層的電平轉(zhuǎn)換和傳輸。CAN控制器使用SJA1000芯片,實現(xiàn)數(shù)據(jù)鏈路層協(xié)議。3.2 主控制模塊電路設(shè)計P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/Vpp31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40AT89C51GNDGND/cs1SO2/WP3GND4SI5SCK6RST7VCC8X25045GNDVCCVCC VCCVCC1K1K1K1KVCCA08A17A26A35A44A53A62A71A823A922A1019E18G20W21D09D110D211D313D414D515D616D7176116NOTD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE1174HC373A12A25A38A411A514A617B13B26B412B515B618B39O11O24O37O410O513O616DIP6圖 3-2 主控制模塊電路圖主控制模塊負責處理 CAN 以及 RS-232 接口的數(shù)據(jù)通信與控制,利用 AT89C51 完成兩種格式數(shù)據(jù)幀的交換,并對接口進行控制。如圖 3-2 中所示,RS-232 與 CAN 的轉(zhuǎn)接板石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計13主要實現(xiàn) RS-232 接口與 CAN 總線接口之間的數(shù)據(jù)傳輸,其運算量不大,因此選用可以有效降低成本的 AT89C51 作為整個設(shè)計的主控制器。AT89C51 提供以下標準功能:4k 字節(jié) Flash 閃速存儲器,1000 次可擦寫周期,三級加密程序存儲器,128 字節(jié)內(nèi)部 RAM,32 個 I/O 口線,兩個 16 位定時/計數(shù)器,一個 5向量中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式。空閑方式停止 CPU 的工作,但允許 RAM、定時/計數(shù)器、竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止所有部件工作直到下一個硬件復位。AT89C51 的電源使用+5V 電源,同時其 P3.5、P3.4 以及 P1.4~P1.5 外接一個 DIP6 開關(guān),用于設(shè)置單片機本身的地址信息。AT89C51 使用的晶振信號由 SJA1000 提供(SJA1000 用 24MHz 的片外晶振) ,SJA1000 的 CLKOUT 引腳接入 MCU 的 XTAL1 引腳。3.2.1 AT89C51 與 6116 電路設(shè)計圖3-3AT89C51與6116連接電路圖由于 CAN 總線速率與 RS-232 接口速率并不相同,因此設(shè)計中還增加了片外 RAM 芯片 6116,用作轉(zhuǎn)換雙方的數(shù)據(jù)緩沖區(qū)。設(shè)計中使用 P2.7 接反向器連接 6116 的片選端,所以接口轉(zhuǎn)換電路中的片外 RAM 的起始地址實際上應為 0X8000。AT89C51 通過數(shù)據(jù)總線、地址總線及控制總線與存儲器連接,如圖 3-4 所示:圖 3-4 片外存儲器原理框圖本設(shè)計中選用的是 6116。6116 為 2KX8 位的靜態(tài) RAM,其邏輯圖 3-5 如下:AT89C51存儲器地址總線控制總線數(shù)據(jù)總線P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RST/VPD9 P3.0/RxD10P3.1/TxD11 P3.2/INT012P3.3/INT113 P3.4/T014P3.5/T115 P3.6/WR16P3.7/RD17 XTAL218XTAL119 GND20 P2.0 21P2.1 22P2.223P2.3 24P2.4 25P2.526P2.6 27P2.7 28PSEN29ALE/PROG 30EA/Vpp 31P0.732P0.6 33P0.5 34P0.435P0.3 36P0.2 37P0.138P0.0 39VCC 40AT89C51GNDGNDVCCA08 A17A26 A35A44 A53A62 A71A823 A922A1019E18 G20 W21D0 9D1 10D2 11D3 13D4 14D5 15D6 16D7 176116NOTD03 Q0 2D14 Q1 5D27 Q2 6D38 Q3 9D413 Q4 12D514 Q5 15D617 Q6 16D718 Q7 19OE1 LE1174HC373石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計14圖 3-5 片外 RAM6116 邏輯圖其中 A0~A10 為 11 根地址線,I/O~I/O7 為 8 根數(shù)據(jù)線,/E 為片選端,當/E 低電平有效時才能選中芯片。/G 為數(shù)據(jù)輸出選通端,/W 為寫信號端。其工作方式見表 3-1:表 3-1 片外數(shù)據(jù)存儲器工作方式控制信號 /E /G /W讀 0 0 1寫 0 1 0非選通 1 ╳ ╳3.2.2 看門狗電路設(shè)計一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統(tǒng)需要出讓一個定時器資源,而且若系統(tǒng)軟件運行不正常,可能導致看門狗系統(tǒng)也癱瘓。硬件看門狗是真正意義上的“ 程序運行監(jiān)視器 ”,如計數(shù)型的看門狗電路通常由 555 多諧振蕩器、計數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復雜,運行不夠可靠。所以本設(shè)計使用帶有 SPI 總線接口的 X25045 實現(xiàn)硬件看門狗功能。圖 3-6 X25045 芯片圖1.X25045 引腳功能/CS: 片選擇輸入SO: 串行輸出,數(shù)據(jù)由此引腳逐位輸出SI: 串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入 X25045SCK: 串行時鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出/WP: 寫保護輸入。當它低電平時,寫操作被禁止Vss: 地Vcc: 電源電壓RESET:復位輸出2.X25045 的特性6116A0~10 VCCI/O0~7/W/G/E GNDS1/cs1SO2/WP3GND4 SI 5SCK 6RST 7VCC 8X25045石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計15可選時間的看門狗定時器 VCC 的降壓檢測和復位控制5 種標準的開始復位電壓使用特定的編程順序即可對低電壓檢測和復位開始電壓進行編程 復位電壓可低至 VCC=1V 省電特性在看門狗打開時,電源小于50uA在看門狗關(guān)閉時,電源小于 10uA在讀操作時,電源小于2mA4K位EEPROM 1000000次的擦寫周期具有數(shù)據(jù)的塊保護功能,可以保護1/4、1/2或全部的EEPROM,當然也可以置于不保護狀態(tài)內(nèi)建防誤寫措施用指令允許寫操作寫保護引腳時鐘可達3.3M短的編程時間16字節(jié)的頁寫模式寫時由器件內(nèi)部自動完成典型的器件寫周期為5ms3.X25045功能如圖3-7 所示,X25045將四種功能合于一體,上電復位控制、看門狗定時器、降壓管理以及具有塊保護功能的串行EEPROM,它有助于簡化轉(zhuǎn)換接口的設(shè)計,減少印制板的占用面積,提高可靠行。圖3-7 X25045內(nèi)部結(jié)構(gòu)圖該芯片內(nèi)的串行 EEPROM 具有塊鎖保護 COMS 串行 EEPROM,它被組織成 8 位的結(jié)構(gòu),它由一個由四線構(gòu)成的 SPI 總線方式進行操作,其擦寫周期至少有 1000000 次,并且寫好的數(shù)據(jù)能夠保存 100 年。X25045 在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表 3-2 所示。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計16表 3-2X25045 讀寫操作指令表指令名 指令格式 操作WREN 00000110 設(shè)置寫使能鎖存器(允許寫操作)WRDI 00000100 復位寫使能鎖存器(禁止寫操作)RDSR 00000101 讀狀態(tài)寄存器WRSR 00000001 寫狀態(tài)寄存器READ 0000A8011 把開始于所選地址的寄存器中的數(shù)據(jù)讀出WRITE 0000A8010 把數(shù)據(jù)寫入開始所選地址的寄存器4.看門狗芯片 X25045 與 AT89C51 接口電路設(shè)計/cs1 SO2/WP3 GND4 SI 5SCK 6RST 7VCC 8X25045P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RST/VPD9 P3.0/RxD10P3.1/TxD11 P3.2/INT012P3.3/INT113 P3.4/T014P3.5/T115 P3.6/WR16P3.7/RD17 XTAL218XTAL119 GND20 P2.0 21P2.1 22P2.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28PSEN 29ALE/PROG 30EA/Vpp 31P0.7 32P0.6 33P0.5 34P0.4 35P0.3 36P0.2 37P0.1 38P0.0 39VCC 4089C51GNDVCCVCCVCCgnd1K1K1K 1KVCC圖 3-8 X25045 與 AT89C51 接口電路圖如圖 3-8 所示,X25045 的 4 個主要引腳/CS、SCK、SI 、SO 分別對應連接 AT89C51的 P1.0~P1.3 腳,這些引腳還應該連上拉電阻。/WP 接高電平,使 X25045 始終保持寫保護輸入狀態(tài)。X25045 芯片內(nèi)包含有一個看門狗定時器,可通過軟件預置系統(tǒng)的監(jiān)控時間。在看門狗定時器預置的時間內(nèi)若沒有總線活動,則 X25045 將從 RESET 輸出一個高電平信號給AT89C51,使其復位。3.3 AT89C51 與 RS-232 轉(zhuǎn)換接口電路設(shè)計3.3.1 RS-232-C 標準分析RS-232C 標準(協(xié)議)的全稱是 EIA-RS-232C 標準,其中 EIA(Electronic Industry Association)代表美國電子工業(yè)協(xié)會,RS(ecommeded standard)代表推薦標準,232 是標識號,C 代表 RS232 的最新一次修改(1969) ,在這之前,有 RS232B、RS232A。 。它規(guī)定連接電纜和機械、電氣特性、信號功能及傳送過程。常用物理標準還有 EIA;RS-232-C、EIA ;RS-422-A 、EIA;RS-423A、EIA;RS-485。這里只介紹EIA;RS-232-C(簡稱 232,RS232 ) 。例如,目前在 IBM PC 機上的 COM1、COM2接口,就是 RS-232C 接口。1.RS-232 電氣特性EIA-RS-232C 對電器特性、邏輯電平和各種信號線功能都作了規(guī)定。在 TxD 和 RxD 上:邏輯 1(MARK)=-3V~-15V石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計17邏輯 0(SPACE)=+3~+15V在 RTS、CTS、DSR、DTR 和 DCD 等控制線上:信號有效(接通,ON 狀態(tài),正電壓)=+3V~+15V信號無效(斷開,OFF 狀態(tài),負電壓)=-3V~-15V以上規(guī)定說明了 RS-323C 標準對邏輯電平的定義。對于數(shù)據(jù)(信息碼):邏輯 “1”(MARK)的電平低于-3V,邏輯“0”(SPACE)的電平高于+3V;對于控制信號;接通狀態(tài)(ON)即信號有效的電平高于+3V,斷開狀態(tài)(OFF)即信號無效的電平低于-3V,也就是當傳輸電平的絕對值大于 3V 時,電路可以有效地檢查出來,介于 -3~+3V 之間的電壓無意義,低于-15V 或高于+15V 的電壓也認為無意義,因此,實際工作時,應保證電平在±(3~15)V 之間。EIA-RS-232C 與 TTL 轉(zhuǎn)換:EIA-RS-232C 是用正負電壓來表示邏輯狀態(tài),與 TTL 以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計算機接口或終端的 TTL 器件連接,必須在 EIA-RS-232C 與 TTL 電路之間進行電平和邏輯關(guān)系的變換。實現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。本文采用集成電路芯片 MAX2322.RS-232 機械特性:由于 RS-232C 并未定義連接器的物理特性,因此,出現(xiàn)了 DB-25、DB-15 和 DB-9 各種類型的連接器,其引腳的定義也各不相同。下面僅介紹 DB-9 連接器。在 AT 機及以后,不支持 20mA 電流環(huán)接口,使用 DB-9 連接器,作為提供多功能I/O 卡或主板上 COM1 和 COM2 兩個串行接口的連接器。它只提供異步通信的 9 個信號。在通信速率低于 20kb/s 時,RS-232C 所直接連接的最大物理距離為 15m(50 英尺) 。RS-232C 標準規(guī)定,若不使用 MODEM,在碼元畸變小于 4%的情況下,DTE 和DCE 之間最大傳輸距離為 15m(50 英尺) 。可見這個最大的距離是在碼元畸變小于 4%的前提下給出的。為了保證碼元畸變小于 4%的要求,接口標準在電氣特性中規(guī)定,驅(qū)動器的負載電容應小于 2500pF3.RS-232C 接口信號RS-232C 標準接口有 25 條線, 4 條數(shù)據(jù)線、11 條控制線、 3 條定時線、7 條備用和未定義線,常用的只有 9 根,它們是:(1)聯(lián)絡(luò)控制信號線數(shù)據(jù)裝置準備好(Data set ready-DSR)——有效時(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。數(shù)據(jù)終端準備好(Data set ready-DTR)——有效時( ON)狀態(tài),表明數(shù)據(jù)終端可以使用。請求發(fā)送(Request to send-RTS)——用來表示DTE請求DCE發(fā)送數(shù)據(jù),即當終端要發(fā)送數(shù)據(jù)時,使該信號有效(ON狀態(tài)) ,向MODEM 請求發(fā)送。它用來控制MODEM是否要進入發(fā)送狀態(tài)。允許發(fā)送(Clear to send-CTS)——用來表示DCE準備好接收DTE發(fā)來的數(shù)據(jù),是對請求發(fā)送信號RTS 的響應信號。當MODEM已準備好接收終端傳來的數(shù)據(jù),并向前發(fā)送時,使該信號有效,通知終端開始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計18接收線信號檢出(Received Line detection-RLSD)——用來表示DCE已接通通信鏈路,告知DTE準備接收數(shù)據(jù)。當本地的MODEM收到由通信鏈路另一端(遠地)的MODEM 送來的載波信號時,使RLSD信號有效,通知終端準備接收,并且由MODEM 將接收下來的載波信號解調(diào)成數(shù)字兩數(shù)據(jù)后,沿接收數(shù)據(jù)線RxD 送到終端。此線也叫做數(shù)據(jù)載波檢出(Data Carrier dectection-DCD)線。振鈴指示(Ringing-RI)——當MODEM收到交換臺送來的振鈴呼叫信號時,使該信號有效(ON狀態(tài)) ,通知終端,已被呼叫。(2)數(shù)據(jù)發(fā)送與接收線發(fā)送數(shù)據(jù)(Transmitted data-TxD)——通過TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。接收數(shù)據(jù)(Received data-RxD)——通過RxD線終端接收從MODEM 發(fā)來的串行數(shù)據(jù),(DCE→DTE)。(3)地線3.3.2 RS-232 與 AT89C51 接口電路設(shè)計1.MAX232 芯片引腳功能MAX232 芯片是美信公司專門為電腦的 RS-232 標準串口設(shè)計的接口電路,使用+5v 單電源供電。MAX232 芯片功能包括:電荷泵電路、數(shù)據(jù)轉(zhuǎn)換通道和供電。MAX232 的芯片圖如圖 3-9 所示:圖 3-9 MAX232 芯片引腳圖電荷泵電路。由 1、3、4、5 腳和 2 只電容構(gòu)成,2 管腳串聯(lián)一個電容接電源,6 管腳串聯(lián)一個電容接地。功能是產(chǎn)生+12v 和-12v 兩個電源,提供給 RS-232 串口電平的需要。數(shù)據(jù)轉(zhuǎn)換通道。由 7、8、9、10、11、12、13、14 腳構(gòu)成兩個數(shù)據(jù)通道。其中 13 腳( R1IN) 、12 腳(R1OUT) 、11 腳(T1IN) 、14 腳(T1OUT)為第一數(shù)據(jù)通道。8 腳(R2IN) 、9 腳(R2OUT) 、10 腳(T2IN) 、7 腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從 T1IN、T2IN 輸入轉(zhuǎn)換成 RS-232 數(shù)據(jù)從 T1OUT、T2OUT 送到電腦 DP9 插頭;DP9 插頭的 RS-232 數(shù)據(jù)從 R1IN、R2IN 輸入轉(zhuǎn)換成 TTL/CMOS 數(shù)據(jù)后從R1OUT、R2OUT 輸出。而我們用來作寫頻器就只需一個通道就行啦。所以一通道的7、8、9、10 腳就全空腳,我們只用了第二通道的 4 個管腳。供電電源。15 腳 DNG、16 腳 VCC(+5v) 。2.RS-232 與 AT89C51 接口電路設(shè)計石家莊經(jīng)濟學院本科生畢業(yè)設(shè)計19C1+1 V+2C1-3 C2+4C2-5 V-62Cout7 2Cin8 251out 925 1in 10151 in11151out 121C in 131Cout14GND 15VCC 16MAX232MAX2321μF1μF1μFGND1μFGND162738495DB9GNDVCCVCC P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RST/VPD9 P3.0/RxD10P3.1/TxD11 P3.2/INT012P3.3/INT113 P3.4/T014P3.5/T115 P3.6/WR16P3.7/RD17 XTAL218XTAL119 GND20 P2.0 21P2.1 22P2.223P2.3 24P2.4 25P2.526P2.6 27P2.7 28PSEN29ALE/PROG 30EA/Vpp 31P0.732P0.6 33P0.5 34P0.435P0.3 36P0.2 37P0.138P0.0 39VCC 40AT89C51GNDVCC1μF圖 3-10 AT89C51 與 RS-232 接口電路如圖 3-10 所示,MAX232 芯片構(gòu)成 RS-232 的接口轉(zhuǎn)換電路,實現(xiàn) AT89C51 串口的TTL 電平與 RS-232 電平的相互轉(zhuǎn)換。其中 R1out 和 T1in 引腳接單片機的 RXD 引腳和TXD 引腳, R1in 和 T1out 作為 RS-232 接口輸出連接標準 DB9 接口的引腳 2 和引腳3。DB9 接口引腳 5 接地。為了使 MAX232 芯片正常工作,還需要外接 4 個 1μF 的電容用于芯片升壓,以完成電平轉(zhuǎn)換。3.4 SJA1000 與 AT89C51 接口電路設(shè)計
CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計.rar |
壓縮包目錄 | 預覽區(qū) |
|
請點擊導航文件預覽
|
編號:146512
類型:共享資源
大小:185.39KB
格式:RAR
上傳時間:2017-10-26
100
積分
積分
- 關(guān) 鍵 詞:
- can 總線 rs 轉(zhuǎn)換 接口 電路設(shè)計
- 資源描述:
-
CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計,can,總線,rs,轉(zhuǎn)換,接口,電路設(shè)計展開閱讀全文
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://italysoccerbets.com/p-146512.html