CAN總線與RS-232轉換接口電路設計
CAN總線與RS-232轉換接口電路設計,can,總線,rs,轉換,接口,電路設計
石家莊經濟學院本科生畢業(yè)設計0摘要.ABSTRACT. 引言 .11. CAN 總線協(xié)議分析 .21.1 CAN 總線主要特點 .21.2 CAN 總線協(xié)議 .21.3 CAN 總線報文傳輸結構 .31.4 CAN 總線錯誤處理 .31.4.1 錯誤檢測 .31.4.2 錯誤標定 .42. CAN 控制器 SJA1000 分析 .52.1 CAN 節(jié)點結構與 SJA1000 操作模式 .52.2 SJA1000 內部結構及其功能分析 .63. CAN 總線與 RS-232 轉換接口電路設計 .113.1 CAN 總線與 RS-232 轉換接口電路總體設計 .113.2 主控制模塊電路設計 .123.2.1 AT89C51 與 6116 電路設計 .133.2.2 看門狗電路設計 .143.3 AT89C51 與 RS-232 轉換接口電路設計 .163.3.1 RS-232-C 標準分析 .163.3.2 RS-232 與 AT89C51 接口電路設計 .183.4 SJA1000 與 AT89C51 接口電路設計 .193.4.1 SJA1000 與 AT89C51 接口電路設計 .193.4.2 物理層接口電路設計 .213.5 元器件清單 .22結論 .22致 謝 .24參考文獻 .25石家莊經濟學院本科生畢業(yè)設計1CAN總線與RS-232轉換接口電路設計引言現場總線是安裝在生產過程區(qū)域的現場設備/儀表與控制室內的自動控制裝置 /系統(tǒng)之間的一種串行數字式多點雙向通信的數據總線,多用于工空等領域,應用現場總線技術不僅可以降低系統(tǒng)的布線成本,還具有設計簡單、調試方便等優(yōu)點,同時,由于現場總線本身還提供了靈活而又功能強大的協(xié)議,這就使得用戶對系統(tǒng)配置,設備選型具有強大的自主權,可以任意組合多種功能模塊擴充系統(tǒng)的功能。在眾多的現場工業(yè)總線中,CAN總線是一種具有國際標準而且性能價格比又較高的現場總線,它在當今自動控制領域中的應用極為廣泛,并發(fā)揮著重要的作用。一個由CAN總線構成的單一網絡中,理論上可以掛接無數個節(jié)點。實際應用中,節(jié)點數目受網絡硬件的電氣特性所限制。CAN可提供高達1Mbit/s 的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。CAN通訊協(xié)議描述了在設備之間信息如何傳遞。它對層的定義與開放系統(tǒng)互連模型(OSI)一致。每一層與另一設備上相同的那一層通訊。實際的通訊是發(fā)生在每一設備上相鄰的兩層,而設備只通過模型物理層的物理介質互連。CAN的結構定義了模型的最下面的兩層:數據鏈路層和物理層。應用層通過不同的新型協(xié)議層(專門用于特殊的工業(yè)領域加上由個別CAN用戶定義的任何合適的方案)和物理層連接。物理層和數據鏈路層對于設計者來說是透明的,并包含在所有執(zhí)行CAN協(xié)議的部件中。實際中,許多設備是RS-232接口,為了實現CAN總線數據和RS-232接口設備數據的傳輸,設計完成了CAN總線與RS-232轉換接口電路設計。石家莊經濟學院本科生畢業(yè)設計21. CAN 總線協(xié)議分析1.1 CAN 總線主要特點CAN 總線是一種多主式的串行通信總線,具有極高的實時性和可靠行,最高通信速率可以達到 1Mbit/s,是一種十分優(yōu)秀的現場工業(yè)總線。CAN 總線具有如下特點:結構簡單,只有 2 根線與外部相連,且內部集成錯誤探測和管理模塊。通信方式靈活??梢远嘀鞣绞焦ぷ?,網絡上的其他節(jié)點發(fā)送信息,而不分主從??梢渣c對點、點對多點或者全局廣播方式發(fā)送和接收數據。網絡上的節(jié)點信息可分成不同的優(yōu)先級,以滿足不同的實時要求。CAN 總線通信格式采用短幀格式,每幀字節(jié)最多為 8 個,可滿足通常工業(yè)領域中控制命令、工作狀態(tài)及測試數據的一般要求。同時,8 字節(jié)也不會占用總線時間過長,從而保證了通信的實時性。采用非破壞性總線仲裁技術。當兩個節(jié)點同時向總線上發(fā)送數據時,優(yōu)先級低的節(jié)點主動停止數據發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳送數據。這大大的節(jié)省了總線仲裁沖突的時間,雜網絡負載很重的情況下也不會出現網絡癱瘓。直接通信距離最大可達 10Km(速率 5Kbit/s 以下) ,最高通信速率可達 1Mbit/s(此時距離最長為 40Km) ,節(jié)點數可達 110 個,通信介質可以是雙絞線、同軸電纜或光導纖維。CAN 總線通信接口中集成了 CAN 協(xié)議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環(huán)冗余檢測、優(yōu)先級判別等多項工作。CAN 總線采用 CRC 進行數據檢測并可提供相應的錯誤處理功能,保證了數據通信的可靠性。1.2 CAN 總線協(xié)議CAN 總線協(xié)議主要描述設備之間的信息傳遞方式,從結構上可分成 3 個層次,分別對應 OSI 網絡模型的最低兩層數據鏈路層和物理層。CAN 總線協(xié)議層次結構由高到低如表 1-1 所示。表 1-1CAN 總線協(xié)議層次結構協(xié)議層 對應 OSI模型 說明LLC 邏輯鏈路控制子層,用于為鏈路中的數據傳輸提供上層控制手 段MAC數據鏈路層 媒體訪問控制子層,用于控制幀結構、仲裁、錯誤界定等數據傳輸的具體實現物理層 物理層 物理層的作用是在不同節(jié)點之間根據所有的電氣屬性進行位的 實際傳輸LLC 層和 MAC 層也可以看作是 CAN 總線數據鏈路層的兩個子層。其中 LLC 層接收MAC 層傳遞的報文,主要完成報文濾波、過載通知以及恢復管理等工作。而 MAC 層則為數據報文的傳輸進行具體的控制,包括幀結構控制、總線仲裁、錯誤檢測、出錯界定、石家莊經濟學院本科生畢業(yè)設計3報文收發(fā)控制等工作。物理層定義了信號是如何實際傳輸的,因此涉及到位時間、位編碼、同步的解釋,CAN 總線協(xié)議并未對物理層部分進行具體的規(guī)定。1.3 CAN 總線報文傳輸結構報文傳輸由以下4 個不同的幀類型所表示1數據幀:數據幀攜帶數據從發(fā)送器至接收器。數據幀由7個不同的位場組成:幀起始、仲裁場、控制場、數據場、CRC場、應答場、幀結尾。數據場的長度可以為0。數據幀(或遠程幀)通過幀間空間與前述的各幀分開。2遠程幀:總線單元發(fā)出遠程幀,請求發(fā)送具有同一識別符的數據幀。遠程幀由6個不同的位場組成:幀起始、仲裁場、控制場、CRC場、應答場、幀末尾。通過發(fā)送遠程幀,作為某數據接收器的站通過其資源節(jié)點對不同的數據傳送進行初始化設置。3錯誤幀:任何單元檢測到總線錯誤就發(fā)出錯誤幀。錯誤幀由兩個不同的場組成。第一個場用作為不同站提供的錯誤標志(ERROR FLAG)的疊加。第二個場是錯誤界定符。為了能正確地終止錯誤幀,“錯誤被動”的節(jié)點要求總線至少有長度為3個位時間的總線空閑(如果“錯誤被動”的接收器有本地錯誤的話)。因此,總線的載荷不應為100%。有兩種形式的錯誤標志,主動錯誤標志(Active error flag)和被動錯誤標志(Passive error flag)。4過載幀:過載幀用以在先行的和后續(xù)的數據幀(或遠程幀)之間提供一附加的延時。過載幀包括兩個位場:過載標志和過載界定符。有兩種過載條件都會導致過載標志的傳送:(1)接收器的內部條件(此接收器對于下一數據幀或遠程幀需要有一延時)。(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)如果在使用位填充法進行編碼的信息中,出現了第6個連續(xù)相同的位電平時,將檢測石家莊經濟學院本科生畢業(yè)設計4到一個填充錯誤。3CRC 錯誤(CRC Error)CRC序列包括發(fā)送器的CRC計算結果。接收器計算CRC的方法與發(fā)送器相同。如果計算結果與接收到CRC序列的結果不相符,則檢測到一個CRC 錯誤。4形式錯誤( Form Error)當一個固定形式的位場含有1個或多個非法位,則檢測到一個形式錯誤。(備注:接收器的幀末尾最后一位期間的顯性位不被當作幀錯誤)5應答錯誤( Acknowledgment Error)只要在應答間隙(ACK SLOT)期間所監(jiān)視的位不為“顯性”,則發(fā)送器會檢測到一個應答錯誤。1.4.2 錯誤標定檢測到錯誤條件的站通過發(fā)送錯誤標志指示錯誤。對于“錯誤主動”的節(jié)點,錯誤信息為“主動錯誤標志”,對于“錯誤被動”的節(jié)點,錯誤信息為“被動錯誤標志”。站檢測到無論是位錯誤、填充錯誤、形式錯誤,還是應答錯誤,這個站會在下一位時發(fā)出錯誤標志信息。只要檢測到的錯誤的條件是CRC 錯誤,錯誤標志的發(fā)送開始于ACK界定符之后的位(其他的錯誤條件除外)。石家莊經濟學院本科生畢業(yè)設計52. CAN 控制器 SJA1000 分析2.1 CAN 節(jié)點結構與 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 能應用于更寬的領域。本設計采用 PeliCAN 模式,因此只給出 PeliCAN 模式增強功能。如表 2-1 所示。表2-1PeliCAN模式的增強功能CAN2.0B (active) CAN2.0B active 支持帶有29 位標識符的網絡擴展應用發(fā)送緩沖器 有11 位或29 位標識符的報文的單報文發(fā)送緩沖器增強的驗收濾波器 兩個驗收濾波器模式支持11 位和29 位標識符的濾波可讀的錯誤計數器可編程的出錯警告界限支持錯誤分析在原型階段和在正常操作期間可用于:診斷、系統(tǒng)維護、系統(tǒng)優(yōu)化錯誤代碼捕捉寄存器出錯中斷仲裁丟失捕捉中斷 支持系統(tǒng)優(yōu)化包括報文延遲時間的分析單次發(fā)送 使軟件命令最小化和允許快速重載發(fā)送緩沖器僅聽模式 SJA1000能夠作為一個認可的CAN 監(jiān)控器操作,可以分析CAN 總線通信或進行自動位速率檢測自測試模式 支持全部CAN 節(jié)點的功能自測試或在一個系統(tǒng)內的自接收通常,每個CAN模塊能夠被分成不同的功能塊,如圖2-1所示。CAN控制器執(zhí)行在CAN規(guī)范里規(guī)定的完整CAN協(xié)議。它通常用于報文緩沖和驗收濾石家莊經濟學院本科生畢業(yè)設計6波。通用CAN收發(fā)器實現從CAN控制器到CAN總線物理層的電氣連接。而所有這些CAN功能都由一個模塊控制器控制,它負責執(zhí)行應用層的功能。圖2-1 CAN模塊裝置2.2 SJA1000 內部結構及其功能分析1SJA1000內部結構SJA1000內部可以分為接口管理邏輯、發(fā)送緩沖區(qū)、接收FIFO、比特流處理器、接收濾波器、定位邏輯器、錯誤管理邏輯、復位模塊和振蕩電路這幾個部分組成。其內部結構和相互關系如圖2-2所示。模塊控制器CAN 控制器CAN 收發(fā)器傳感器執(zhí)行器人機接口微處理器SJA1000PCA82C250/251傳感器執(zhí)行器人機接口CAN 總線石家莊經濟學院本科生畢業(yè)設計7圖2-2 SJA1000內部結構圖2SJA1000引腳功能SJA1000中共有28個外部引腳,芯片封裝形式可以是DIP28,也可以是SO28。 AD7AD0(引腳2、1、2823) 這8個引腳為8位地址/ 數據端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的內部時鐘控制寄存器進行可編程控制,若時鐘控制寄存器的Clock Off 位為1,則該引腳無效。VSS1(引腳8) 邏輯地XTAL1、 XTAL2(引腳 9、10) 外部晶振接入端。Mode(引腳11) 模式選擇端。該引腳用于處理器接口的選擇,當該引腳接高電平時,SJA1000 工作在Intel模式,當該引腳接低電平時,SJA1000工作在Motorola模式。VDD3(引腳12) 輸出驅動器的電源端。TX0、TX1(引腳13、14) CAN輸出驅動器的輸出端0和輸出端1。石家莊經濟學院本科生畢業(yè)設計8VSS3(引腳15) 輸出驅動器的接地端。/INT(引腳 16) 中斷信號輸出端。當產生事件且內部中斷寄存器對應位被置位時,該引腳產生低電平,通知處理器產生外部中斷,處理器可以通過查看中斷事件寄存器來了解發(fā)生了何種中斷。該引腳為集電極開路,因此多個/INT信號可以直接連接在一起產生線“或” 。/RST(引腳 17) 芯片復位端。VDD2(引腳18) 輸入比較器的電源端。RX0、RX1(引腳19、20) CAN輸入比較器的輸入端0和輸入端1。VSS2(引腳21) 輸入比較器的接地端。VDD1 (引腳22) 電源端。3SJA1000寄存器及其功能SJA1000的功能配置和行為由主控制器的命令控制。因此SJA1000 能滿足不同屬性的CAN總線系統(tǒng)的要求。主控制器和SJA1000之間的數據交換經過一組寄存器(控制段)和一個RAM(報文緩沖器)完成。RAM部分的寄存器和地址窗口組成了發(fā)送和接收緩沖器,對于主控制器來說就象是外圍器件寄存器。表2-2根據它們在系統(tǒng)的作用分組列出了SJA1000寄存器。注意,一些寄存器只在PeliCAN模式有效,控制寄存器僅在BasicCAN模式里有效。一些寄存器是只讀的或只寫的,還有一些只能在復位模式中訪問。表2-2 SJA1000 內部寄存器的分類寄存器地址使用類型寄存器名稱(符號) PeilCAN 模式BasicCAN 模式功能模式(MOD) 0 選擇睡眠模式、驗收濾波器模式、自測試模式、只聽模式和復位模式控制(CR) 在 BasicCAN 模式里選擇復位模式命令(CMR) BasicCAN 模式的睡眠模式命令選擇不同的操作模式的要素時鐘分頻器(CDR)31 31 在 CLKOUT 設置時鐘信號(引腳 7)選擇 PeilCAN 模式、比較器旁路模式、TX1(管腳14)輸出模式設定CAN 通訊的要素驗收碼(ACK)驗收屏蔽(AVR)1629202345驗收濾波器位的模式選擇石家莊經濟學院本科生畢業(yè)設計9總線定時寄存器0(BTR0)總線定時寄存器1(BTR1)6767位定時參數的設置輸出控制(OCR)8 8 輸出驅動器屬性的選擇命令(CMR) 1 1 自接收、清除數據超載、釋放接收緩沖器、中止傳輸和傳輸請求的命令狀態(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 產生出錯警告中斷的閥值選擇RX 錯誤記數(RXERR)14 反映接收錯誤記數器的當前值TX 錯誤記數(TXERR)14、15 反映發(fā)送錯誤計數器的當前值Rx 報文計數器(RMC)29 接收 FIFO 里的報文數量復雜的錯誤檢測和分析的要素RX 緩沖器起始地址(RBSA)30 顯示接收緩沖器提供的報文的當前內部 RAM 地址發(fā)送緩沖器(TXBUF)1628 1019信息緩沖器接收緩沖器(RXBUF)1628 2029(1)發(fā)送緩沖器/接收緩沖器在CAN總線上發(fā)送的數據被載入SJA1000的存儲區(qū),這個存儲區(qū)叫“發(fā)送緩沖器”。從CAN總線上收到的數據也存儲在SJA1000的存儲區(qū),這個存儲區(qū)叫“接收緩沖器”,在BasicCAN模式下。這些緩沖器包括2、3或5個字節(jié)的標識符和幀信息(取決于模式和幀類石家莊經濟學院本科生畢業(yè)設計10型),而最多可以包含8個數據字節(jié)。在PeliCAN模式:這些緩沖器是13個字節(jié)長(見表2-3) 1字節(jié)幀信息 2個或4個標識符字節(jié)(標準幀或擴展幀) 最多8個數據字節(jié)。表2-3是PeliCAN模式里的RX緩沖器1(讀訪問)和TX緩沖器(寫訪問2)表2-3 PeliCAN模式讀訪問和寫訪問CAN地址(十進制) 名稱 組成和標注16 幀信息 1位說明,如果報文包括一個標準幀或擴展幀1位遠程傳輸請求位4位數據長度碼,說明數據字節(jié)的數量17,18 標識符字節(jié)1,2 標準幀:11位標識符擴展幀:16位標識符19,20 標識符字節(jié)3,4 僅擴展幀:13個標識符幀類型標準幀:1926擴展幀:2128數據字節(jié)18 由數據長度碼說明,最多8個數據字節(jié)(2)驗收濾波器獨立的CAN控制器SJA1000裝配了一個多功能的驗收濾波器,該濾波器允許自動檢查標識符和數據字節(jié)。使用這些有效的濾波方法,可以防止對于某個節(jié)點無效的報文或報文組存儲在接收緩沖器里。因此降低了主控制器的處理負載。濾波器由驗收碼寄存器和屏蔽寄存器根據給定算法來控制。接收到的數據會和驗收代碼寄存器中的值進行逐位比較。接收屏蔽寄存器定義與比較相關的位的位置(0=相關1=不相關)。只有收到的報文相應位與驗收代碼寄存器的相應位相同,報文才會被接收。PeliCAN模式的驗收濾波已被擴展:4個8位的驗收碼寄存器(ACR0,ACR1,ACR2和ACR3)和驗收屏蔽寄存器(AMR0,AMR1,AMR2和AMR3)可以用多種方法濾波報文。報文的哪些位用于驗收濾波,取決于收到的幀(標準幀或擴展幀)和選擇的濾波器模式(單濾波器或雙濾波器)。對于不需要經過驗收濾波的報文位(例如報文組被定義為接受),驗收屏蔽寄存器必須相應的位位置上置“1”。如果報文不包括數據字節(jié)(例如:是一個遠程幀或者數據長度碼為零)但是驗收濾波包括數據字節(jié),則如果標識符直到RTR位都有效的話,報文會被接收。石家莊經濟學院本科生畢業(yè)設計113. CAN 總線與 RS-232 轉換接口電路設計3.1 CAN 總線與 RS-232 轉換接口電路總體設計C1+1V+2C1-3C2+4C2-5V-62Cout72Cin8251out925 1in10151 in11151out121C in131Cout14GND15VCC16MAX232r7 MAX2321F 1F1F GND1F 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.1f0.1fGND 24MHz20PF 20PFGND39047K GND+5V GND GND30p30p/cs1SO2/WP3GND4SI5SCK6RST7VCC8X25045GNDVCCVCCVCCVCCVCCVCC1K1K1K1KVCC1KVCCAD023AD124AD225AD326AD427AD528AD61AD72/CS4ALE3/RD5/WR6CLKOUT7INT16RST17TX013TX114RX015RX120MODE11VDD122VSS18VSS221VSS315VDD218VDD312XTAL13XTAL210SJA10000.1fTXD1RXD4Vref5Rs8GND2CANL6CANH7Vc3P82C250A08A17A26A35A44A53A62A71A823A922A1019E18G20W21D09D110D211D313D414D515D616D7176116NOTD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE1174HC373A12A25A38A411A514A617B13B26B412B515B618B39O11O24O37O410O513O616DIP6Vc 1 3456VCC GNDTLP113134 5 6VCCGND TLP113390+5V GNDGND VCC390 +5V1F圖 3-1CAN 與 RS-232 接口轉換電路圖 3-1 為 CAN 總線與 RS-232 接口轉換電路圖。整個轉換接口電路包括:主控制模塊、RS-232 接口轉換電路和 CAN 控制模塊 3 個主要部分。石家莊經濟學院本科生畢業(yè)設計12主控制模塊處理 CAN 總線以及 RS-232 接口的數據通信和控制,利用 AT89C51 完成兩種格式數據幀的交換,并對接口進行控制。RS-232 接口電路由 MAX232 芯片構成,實現將單片機串口的 TTL 電平與 RS-232 電平的相互轉換。CAN控制器模塊,主要完成CAN協(xié)議的物理層和數據鏈路層協(xié)議的實現。其中物理接口采用PCA82C250芯片實現物理層的電平轉換和傳輸。CAN控制器使用SJA1000芯片,實現數據鏈路層協(xié)議。3.2 主控制模塊電路設計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 接口的數據通信與控制,利用 AT89C51 完成兩種格式數據幀的交換,并對接口進行控制。如圖 3-2 中所示,RS-232 與 CAN 的轉接板石家莊經濟學院本科生畢業(yè)設計13主要實現 RS-232 接口與 CAN 總線接口之間的數據傳輸,其運算量不大,因此選用可以有效降低成本的 AT89C51 作為整個設計的主控制器。AT89C51 提供以下標準功能:4k 字節(jié) Flash 閃速存儲器,1000 次可擦寫周期,三級加密程序存儲器,128 字節(jié)內部 RAM,32 個 I/O 口線,兩個 16 位定時/計數器,一個 5向量中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM、定時/計數器、竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內容,但振蕩器停止工作并禁止所有部件工作直到下一個硬件復位。AT89C51 的電源使用+5V 電源,同時其 P3.5、P3.4 以及 P1.4P1.5 外接一個 DIP6 開關,用于設置單片機本身的地址信息。AT89C51 使用的晶振信號由 SJA1000 提供(SJA1000 用 24MHz 的片外晶振) ,SJA1000 的 CLKOUT 引腳接入 MCU 的 XTAL1 引腳。3.2.1 AT89C51 與 6116 電路設計圖3-3AT89C51與6116連接電路圖由于 CAN 總線速率與 RS-232 接口速率并不相同,因此設計中還增加了片外 RAM 芯片 6116,用作轉換雙方的數據緩沖區(qū)。設計中使用 P2.7 接反向器連接 6116 的片選端,所以接口轉換電路中的片外 RAM 的起始地址實際上應為 0X8000。AT89C51 通過數據總線、地址總線及控制總線與存儲器連接,如圖 3-4 所示:圖 3-4 片外存儲器原理框圖本設計中選用的是 6116。6116 為 2KX8 位的靜態(tài) RAM,其邏輯圖 3-5 如下:AT89C51存儲器地址總線控制總線數據總線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石家莊經濟學院本科生畢業(yè)設計14圖 3-5 片外 RAM6116 邏輯圖其中 A0A10 為 11 根地址線,I/OI/O7 為 8 根數據線,/E 為片選端,當/E 低電平有效時才能選中芯片。/G 為數據輸出選通端,/W 為寫信號端。其工作方式見表 3-1:表 3-1 片外數據存儲器工作方式控制信號 /E /G /W讀 0 0 1寫 0 1 0非選通 1 3.2.2 看門狗電路設計一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統(tǒng)需要出讓一個定時器資源,而且若系統(tǒng)軟件運行不正常,可能導致看門狗系統(tǒng)也癱瘓。硬件看門狗是真正意義上的“ 程序運行監(jiān)視器 ”,如計數型的看門狗電路通常由 555 多諧振蕩器、計數器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復雜,運行不夠可靠。所以本設計使用帶有 SPI 總線接口的 X25045 實現硬件看門狗功能。圖 3-6 X25045 芯片圖1X25045 引腳功能/CS: 片選擇輸入SO: 串行輸出,數據由此引腳逐位輸出SI: 串行輸入,數據或命令由此引腳逐位寫入 X25045SCK: 串行時鐘輸入,其上升沿將數據或命令寫入,下降沿將數據輸出/WP: 寫保護輸入。當它低電平時,寫操作被禁止Vss: 地Vcc: 電源電壓RESET:復位輸出2X25045 的特性6116A010 VCCI/O07/W/G/E GNDS1/cs1SO2/WP3GND4 SI 5SCK 6RST 7VCC 8X25045石家莊經濟學院本科生畢業(yè)設計15可選時間的看門狗定時器 VCC 的降壓檢測和復位控制5 種標準的開始復位電壓使用特定的編程順序即可對低電壓檢測和復位開始電壓進行編程 復位電壓可低至 VCC=1V 省電特性在看門狗打開時,電源小于50uA在看門狗關閉時,電源小于 10uA在讀操作時,電源小于2mA4K位EEPROM 1000000次的擦寫周期具有數據的塊保護功能,可以保護1/4、1/2或全部的EEPROM,當然也可以置于不保護狀態(tài)內建防誤寫措施用指令允許寫操作寫保護引腳時鐘可達3.3M短的編程時間16字節(jié)的頁寫模式寫時由器件內部自動完成典型的器件寫周期為5ms3X25045功能如圖3-7 所示,X25045將四種功能合于一體,上電復位控制、看門狗定時器、降壓管理以及具有塊保護功能的串行EEPROM,它有助于簡化轉換接口的設計,減少印制板的占用面積,提高可靠行。圖3-7 X25045內部結構圖該芯片內的串行 EEPROM 具有塊鎖保護 COMS 串行 EEPROM,它被組織成 8 位的結構,它由一個由四線構成的 SPI 總線方式進行操作,其擦寫周期至少有 1000000 次,并且寫好的數據能夠保存 100 年。X25045 在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表 3-2 所示。石家莊經濟學院本科生畢業(yè)設計16表 3-2X25045 讀寫操作指令表指令名 指令格式 操作WREN 00000110 設置寫使能鎖存器(允許寫操作)WRDI 00000100 復位寫使能鎖存器(禁止寫操作)RDSR 00000101 讀狀態(tài)寄存器WRSR 00000001 寫狀態(tài)寄存器READ 0000A8011 把開始于所選地址的寄存器中的數據讀出WRITE 0000A8010 把數據寫入開始所選地址的寄存器4看門狗芯片 X25045 與 AT89C51 接口電路設計/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.0P1.3 腳,這些引腳還應該連上拉電阻。/WP 接高電平,使 X25045 始終保持寫保護輸入狀態(tài)。X25045 芯片內包含有一個看門狗定時器,可通過軟件預置系統(tǒng)的監(jiān)控時間。在看門狗定時器預置的時間內若沒有總線活動,則 X25045 將從 RESET 輸出一個高電平信號給AT89C51,使其復位。3.3 AT89C51 與 RS-232 轉換接口電路設計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 接口。1RS-232 電氣特性EIA-RS-232C 對電器特性、邏輯電平和各種信號線功能都作了規(guī)定。在 TxD 和 RxD 上:邏輯 1(MARK)=-3V-15V石家莊經濟學院本科生畢業(yè)設計17邏輯 0(SPACE)=+315V在 RTS、CTS、DSR、DTR 和 DCD 等控制線上:信號有效(接通,ON 狀態(tài),正電壓)+3V+15V信號無效(斷開,OFF 狀態(tài),負電壓)=-3V-15V以上規(guī)定說明了 RS-323C 標準對邏輯電平的定義。對于數據(信息碼):邏輯 “1”(MARK)的電平低于-3V,邏輯“0”(SPACE)的電平高于+3V;對于控制信號;接通狀態(tài)(ON)即信號有效的電平高于+3V,斷開狀態(tài)(OFF)即信號無效的電平低于-3V,也就是當傳輸電平的絕對值大于 3V 時,電路可以有效地檢查出來,介于 -3+3V 之間的電壓無意義,低于-15V 或高于+15V 的電壓也認為無意義,因此,實際工作時,應保證電平在(315)V 之間。EIA-RS-232C 與 TTL 轉換:EIA-RS-232C 是用正負電壓來表示邏輯狀態(tài),與 TTL 以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計算機接口或終端的 TTL 器件連接,必須在 EIA-RS-232C 與 TTL 電路之間進行電平和邏輯關系的變換。實現這種變換的方法可用分立元件,也可用集成電路芯片。本文采用集成電路芯片 MAX2322RS-232 機械特性:由于 RS-232C 并未定義連接器的物理特性,因此,出現了 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ī)定,驅動器的負載電容應小于 2500pF3RS-232C 接口信號RS-232C 標準接口有 25 條線, 4 條數據線、11 條控制線、 3 條定時線、7 條備用和未定義線,常用的只有 9 根,它們是:(1)聯絡控制信號線數據裝置準備好(Data set ready-DSR)有效時(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。數據終端準備好(Data set ready-DTR)有效時( ON)狀態(tài),表明數據終端可以使用。請求發(fā)送(Request to send-RTS)用來表示DTE請求DCE發(fā)送數據,即當終端要發(fā)送數據時,使該信號有效(ON狀態(tài)) ,向MODEM 請求發(fā)送。它用來控制MODEM是否要進入發(fā)送狀態(tài)。允許發(fā)送(Clear to send-CTS)用來表示DCE準備好接收DTE發(fā)來的數據,是對請求發(fā)送信號RTS 的響應信號。當MODEM已準備好接收終端傳來的數據,并向前發(fā)送時,使該信號有效,通知終端開始沿發(fā)送數據線TxD發(fā)送數據。石家莊經濟學院本科生畢業(yè)設計18接收線信號檢出(Received Line detection-RLSD)用來表示DCE已接通通信鏈路,告知DTE準備接收數據。當本地的MODEM收到由通信鏈路另一端(遠地)的MODEM 送來的載波信號時,使RLSD信號有效,通知終端準備接收,并且由MODEM 將接收下來的載波信號解調成數字兩數據后,沿接收數據線RxD 送到終端。此線也叫做數據載波檢出(Data Carrier dectection-DCD)線。振鈴指示(Ringing-RI)當MODEM收到交換臺送來的振鈴呼叫信號時,使該信號有效(ON狀態(tài)) ,通知終端,已被呼叫。(2)數據發(fā)送與接收線發(fā)送數據(Transmitted data-TxD)通過TxD終端將串行數據發(fā)送到MODEM,(DTEDCE)。接收數據(Received data-RxD)通過RxD線終端接收從MODEM 發(fā)來的串行數據,(DCEDTE)。(3)地線3.3.2 RS-232 與 AT89C51 接口電路設計1MAX232 芯片引腳功能MAX232 芯片是美信公司專門為電腦的 RS-232 標準串口設計的接口電路,使用+5v 單電源供電。MAX232 芯片功能包括:電荷泵電路、數據轉換通道和供電。MAX232 的芯片圖如圖 3-9 所示:圖 3-9 MAX232 芯片引腳圖電荷泵電路。由 1、3、4、5 腳和 2 只電容構成,2 管腳串聯一個電容接電源,6 管腳串聯一個電容接地。功能是產生+12v 和-12v 兩個電源,提供給 RS-232 串口電平的需要。數據轉換通道。由 7、8、9、10、11、12、13、14 腳構成兩個數據通道。其中 13 腳( R1IN) 、12 腳(R1OUT) 、11 腳(T1IN) 、14 腳(T1OUT)為第一數據通道。8 腳(R2IN) 、9 腳(R2OUT) 、10 腳(T2IN) 、7 腳(T2OUT)為第二數據通道。TTL/CMOS數據從 T1IN、T2IN 輸入轉換成 RS-232 數據從 T1OUT、T2OUT 送到電腦 DP9 插頭;DP9 插頭的 RS-232 數據從 R1IN、R2IN 輸入轉換成 TTL/CMOS 數據后從R1OUT、R2OUT 輸出。而我們用來作寫頻器就只需一個通道就行啦。所以一通道的7、8、9、10 腳就全空腳,我們只用了第二通道的 4 個管腳。供電電源。15 腳 DNG、16 腳 VCC(+5v) 。2RS-232 與 AT89C51 接口電路設計石家莊經濟學院本科生畢業(yè)設計19C1+1 V+2C1-3 C2+4C2-5 V-62Cout7 2Cin8 251out 925 1in 10151 in11151out 121C in 131Cout14GND 15VCC 16MAX232MAX2321F1F1FGND1FGND162738495DB9GNDVCCVCC 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 40AT89C51GNDVCC1F圖 3-10 AT89C51 與 RS-232 接口電路如圖 3-10 所示,MAX232 芯片構成 RS-232 的接口轉換電路,實現 AT89C51 串口的TTL 電平與 RS-232 電平的相互轉換。其中 R1out 和 T1in 引腳接單片機的 RXD 引腳和TXD 引腳, R1in 和 T1out 作為 RS-232 接口輸出連接標準 DB9 接口的引腳 2 和引腳3。DB9 接口引腳 5 接地。為了使 MAX232 芯片正常工作,還需要外接 4 個 1F 的電容用于芯片升壓,以完成電平轉換。3.4 SJA1000 與 AT89C51 接口電路設計
收藏
編號:146512
類型:共享資源
大?。?span id="9xx6x1k" class="font-tahoma">185.39KB
格式:RAR
上傳時間:2017-10-26
100
積分
- 關 鍵 詞:
-
can
總線
rs
轉換
接口
電路設計
- 資源描述:
-
CAN總線與RS-232轉換接口電路設計,can,總線,rs,轉換,接口,電路設計
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。