can總線與rs-232轉(zhuǎn)換接口電路設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  摘要…………………………………………………………………………………….…..……Ι</p><p>  ABSTRACT.................................................................................................................................. ΙΙ<

2、/p><p><b>  引言1</b></p><p>  1. CAN總線協(xié)議分析2</p><p>  1.1 CAN總線主要特點(diǎn)2</p><p>  1.2 CAN總線協(xié)議2</p><p>  1.3 CAN總線報(bào)文傳輸結(jié)構(gòu)3</p><p>  1.4

3、CAN總線錯(cuò)誤處理3</p><p>  1.4.1 錯(cuò)誤檢測(cè)3</p><p>  1.4.2 錯(cuò)誤標(biāo)定4</p><p>  2. CAN控制器SJA1000分析5</p><p>  2.1 CAN節(jié)點(diǎn)結(jié)構(gòu)與SJA1000操作模式5</p><p>  2.2 SJA1000內(nèi)部結(jié)構(gòu)及其功能分析6&l

4、t;/p><p>  3. CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計(jì)11</p><p>  3.1 CAN總線與RS-232轉(zhuǎn)換接口電路總體設(shè)計(jì)11</p><p>  3.2 主控制模塊電路設(shè)計(jì)12</p><p>  3.2.1 AT89C51與6116電路設(shè)計(jì)13</p><p>  3.2.2 看門狗電路

5、設(shè)計(jì)14</p><p>  3.3 AT89C51與RS-232轉(zhuǎn)換接口電路設(shè)計(jì)16</p><p>  3.3.1 RS-232-C標(biāo)準(zhǔn)分析16</p><p>  3.3.2 RS-232與AT89C51接口電路設(shè)計(jì)18</p><p>  3.4 SJA1000與AT89C51接口電路設(shè)計(jì)19</p><

6、p>  3.4.1 SJA1000與AT89C51接口電路設(shè)計(jì)19</p><p>  3.4.2 物理層接口電路設(shè)計(jì)21</p><p>  3.5元器件清單22</p><p><b>  結(jié)論22</b></p><p><b>  致 謝24</b></p>

7、<p><b>  參考文獻(xiàn)25</b></p><p>  CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計(jì)</p><p><b>  引言</b></p><p>  現(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)

8、總線技術(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ò)

9、硬件的電氣特性所限制。CAN可提供高達(dá)1Mbit/s的數(shù)據(jù)傳輸速率,這使實(shí)時(shí)控制變得非常容易。另外,硬件的錯(cuò)誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。</p><p>  CAN通訊協(xié)議描述了在設(shè)備之間信息如何傳遞。它對(duì)層的定義與開放系統(tǒng)互連模型(OSI)一致。每一層與另一設(shè)備上相同的那一層通訊。實(shí)際的通訊是發(fā)生在每一設(shè)備上相鄰的兩層,而設(shè)備只通過模型物理層的物理介質(zhì)互連。CAN的結(jié)構(gòu)定義了模型的最下面的兩層:數(shù)

10、據(jù)鏈路層和物理層。應(yīng)用層通過不同的新型協(xié)議層(專門用于特殊的工業(yè)領(lǐng)域加上由個(gè)別CAN用戶定義的任何合適的方案)和物理層連接。物理層和數(shù)據(jù)鏈路層對(duì)于設(shè)計(jì)者來說是透明的,并包含在所有執(zhí)行CAN協(xié)議的部件中。</p><p>  實(shí)際中,許多設(shè)備是RS-232接口,為了實(shí)現(xiàn)CAN總線數(shù)據(jù)和RS-232接口設(shè)備數(shù)據(jù)的傳輸,設(shè)計(jì)完成了CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計(jì)。</p><p>  1

11、. CAN總線協(xié)議分析</p><p>  1.1 CAN總線主要特點(diǎn)</p><p>  CAN總線是一種多主式的串行通信總線,具有極高的實(shí)時(shí)性和可靠行,最高通信速率可以達(dá)到1Mbit/s,是一種十分優(yōu)秀的現(xiàn)場(chǎng)工業(yè)總線。CAN總線具有如下特點(diǎn):</p><p>  結(jié)構(gòu)簡(jiǎn)單,只有2根線與外部相連,且內(nèi)部集成錯(cuò)誤探測(cè)和管理模塊。</p><p&g

12、t;  通信方式靈活??梢远嘀鞣绞焦ぷ?,網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,而不分主從。</p><p>  可以點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)或者全局廣播方式發(fā)送和接收數(shù)據(jù)。</p><p>  網(wǎng)絡(luò)上的節(jié)點(diǎn)信息可分成不同的優(yōu)先級(jí),以滿足不同的實(shí)時(shí)要求。</p><p>  CAN總線通信格式采用短幀格式,每幀字節(jié)最多為8個(gè),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同

13、時(shí),8字節(jié)也不會(huì)占用總線時(shí)間過長(zhǎng),從而保證了通信的實(shí)時(shí)性。</p><p>  采用非破壞性總線仲裁技術(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ò)癱瘓。</p><p>  直接通信距離最大可達(dá)10Km(速率5Kbit/s以下),最高通信速率可達(dá)1Mbi

14、t/s(此時(shí)距離最長(zhǎng)為40Km),節(jié)點(diǎn)數(shù)可達(dá)110個(gè),http://www.bysj360.com/通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。</p><p>  CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢測(cè)、優(yōu)先級(jí)判別等多項(xiàng)工作。</p><p>  CAN總線采用CRC進(jìn)行數(shù)據(jù)檢測(cè)并可提供相應(yīng)的錯(cuò)誤處理功

15、能,保證了數(shù)據(jù)通信的可靠性。</p><p>  1.2 CAN總線協(xié)議</p><p>  CAN總線協(xié)議主要描述設(shè)備之間的信息傳遞方式,從結(jié)構(gòu)上可分成3個(gè)層次,分別對(duì)應(yīng)OSI網(wǎng)絡(luò)模型的最低兩層數(shù)據(jù)鏈路層和物理層。CAN總線協(xié)議層次結(jié)構(gòu)由高到低如表1-1所示。</p><p>  表1-1CAN總線協(xié)議層次結(jié)構(gòu)</p><p>  LLC層

16、和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ā)控制等工作。</p><p>  物理層定義了信號(hào)是如何實(shí)際傳輸?shù)?,因此涉及到位時(shí)間、位編碼、同步的解釋,CAN總線協(xié)議并未對(duì)物理層部分進(jìn)行具體的規(guī)定。</p><

17、;p>  1.3 CAN總線報(bào)文傳輸結(jié)構(gòu)</p><p>  報(bào)文傳輸由以下4個(gè)不同的幀類型所表示</p><p>  1.?dāng)?shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。</p><p>  數(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)程幀)通過幀間空間與前述的各幀分開。</p>

18、<p>  2.遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請(qǐng)求發(fā)送具有同一識(shí)別符的數(shù)據(jù)幀。</p><p>  遠(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è)置。</p><p>  3.錯(cuò)誤幀:任何單元檢測(cè)到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。</p><p>  錯(cuò)誤

19、幀由兩個(gè)不同的場(chǎng)組成。第一個(gè)場(chǎng)用作為不同站提供的錯(cuò)誤標(biāo)志(ERROR FLAG)的疊加。第二個(gè)場(chǎng)是錯(cuò)誤界定符。</p><p>  為了能正確地終止錯(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)志(Active error flag)和被動(dòng)錯(cuò)誤標(biāo)志(Passive error flag)

20、。</p><p>  4.過載幀:過載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。</p><p>  過載幀包括兩個(gè)位場(chǎng):過載標(biāo)志和過載界定符。</p><p>  有兩種過載條件都會(huì)導(dǎo)致過載標(biāo)志的傳送:</p><p> ?。?)接收器的內(nèi)部條件(此接收器對(duì)于下一數(shù)據(jù)幀或遠(yuǎn)程幀需要有一延時(shí))。</p>&

21、lt;p> ?。?)間歇場(chǎng)期間檢測(cè)到一“顯性”位。</p><p>  由過載條件1 而引發(fā)的過載幀只允許起始于所期望的間歇場(chǎng)的第一個(gè)位時(shí)間開始。而由過載條件2引發(fā)的過載幀應(yīng)起始于所檢測(cè)到“顯性”位之后的位。</p><p>  1.4 CAN總線錯(cuò)誤處理</p><p>  1.4.1 錯(cuò)誤檢測(cè)</p><p>  有以下5種不同的錯(cuò)

22、誤類型(這5種錯(cuò)誤不會(huì)相互排斥)</p><p>  1.位錯(cuò)誤(Bit Error)</p><p>  單元在發(fā)送位的同時(shí)也對(duì)總線進(jìn)行監(jiān)視。如果所發(fā)送的位值與所監(jiān)視的位值不相合,則在此位時(shí)間里檢測(cè)到一個(gè)位錯(cuò)誤。但是在仲裁場(chǎng)(ARBITRATION FIELD)的填充位流期間或應(yīng)答間隙(ACK SLOT)發(fā)送一“隱性”位的情況是例外的。此時(shí),當(dāng)監(jiān)視到一“顯性”位時(shí),不會(huì)發(fā)出位錯(cuò)誤。當(dāng)發(fā)送

23、器發(fā)送一個(gè)被動(dòng)錯(cuò)誤標(biāo)志但檢測(cè)到“顯性”位時(shí),也不視為位錯(cuò)誤。</p><p>  2.填充錯(cuò)誤(Struff Error)</p><p>  如果在使用位填充法進(jìn)行編碼的信息中,出現(xiàn)了第6個(gè)連續(xù)相同的位電平時(shí),將檢測(cè)到一個(gè)填充錯(cuò)誤。</p><p>  3.CRC錯(cuò)誤(CRC Error)</p><p>  CRC序列包括發(fā)送器的CRC計(jì)

24、算結(jié)果。接收器計(jì)算CRC的方法與發(fā)送器相同。如果計(jì)算結(jié)果與接收到CRC序列的結(jié)果不相符,則檢測(cè)到一個(gè)CRC錯(cuò)誤。</p><p>  4.形式錯(cuò)誤(Form Error)</p><p>  當(dāng)一個(gè)固定形式的位場(chǎng)含有1個(gè)或多個(gè)非法位,則檢測(cè)到一個(gè)形式錯(cuò)誤。(備注:接收器的幀末尾最后一位期間的顯性位不被當(dāng)作幀錯(cuò)誤)</p><p>  5.應(yīng)答錯(cuò)誤(Acknowled

25、gment Error)</p><p>  只要在應(yīng)答間隙(ACK SLOT)期間所監(jiān)視的位不為“顯性”,則發(fā)送器會(huì)檢測(cè)到一個(gè)應(yīng)答錯(cuò)誤。</p><p>  1.4.2 錯(cuò)誤標(biāo)定</p><p>  檢測(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ò)

26、誤、填充錯(cuò)誤、形式錯(cuò)誤,還是應(yīng)答錯(cuò)誤,這個(gè)站會(huì)在下一位時(shí)發(fā)出錯(cuò)誤標(biāo)志信息。只要檢測(cè)到的錯(cuò)誤的條件是CRC錯(cuò)誤,錯(cuò)誤標(biāo)志的發(fā)送開始于ACK界定符之后的位(其他的錯(cuò)誤條件除外)。</p><p>  2. CAN控制器SJA1000分析</p><p>  2.1 CAN節(jié)點(diǎn)結(jié)構(gòu)與SJA1000操作模式</p><p>  SJA1000獨(dú)立的CAN控制器有2個(gè)不同的操

27、作模式:</p><p>  BasicCAN模式(和PCA82C200兼容);</p><p><b>  PeliCAN模式</b></p><p>  BasicCAN模式是上電后默認(rèn)的操作模式。因此用PCA82C200開發(fā)的已有硬件和軟件可以直接在SJA1000上使用,而不用作任何修改。</p><p>  Pe

28、liCAN模式是新的操作模式,它能夠處理所有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)域。</p><p>  本設(shè)計(jì)采用PeliCAN模式,因此只給出PeliCAN模式增強(qiáng)功能。如表2-1所示。</p><p&g

29、t;  表2-1PeliCAN模式的增強(qiáng)功能</p><p>  通常,每個(gè)CAN模塊能夠被分成不同的功能塊,如圖2-1所示。</p><p>  CAN控制器執(zhí)行在CAN規(guī)范里規(guī)定的完整CAN協(xié)議。它通常用于報(bào)文緩沖和驗(yàn)收濾波。</p><p>  通用CAN收發(fā)器實(shí)現(xiàn)從CAN控制器到CAN總線物理層的電氣連接。</p><p>  而所有

30、這些CAN功能都由一個(gè)模塊控制器控制,它負(fù)責(zé)執(zhí)行應(yīng)用層的功能。</p><p>  圖2-1 CAN模塊裝置</p><p>  2.2 SJA1000內(nèi)部結(jié)構(gòu)及其功能分析</p><p>  1.SJA1000內(nèi)部結(jié)構(gòu)</p><p>  SJA1000內(nèi)部可以分為接口管理邏輯、發(fā)送緩沖區(qū)、接收FIFO、比特流處理器、接收濾波器、定位邏輯器

31、、錯(cuò)誤管理邏輯、復(fù)位模塊和振蕩電路這幾個(gè)部分組成。其內(nèi)部結(jié)構(gòu)和相互關(guān)系如圖2-2所示。</p><p>  圖2-2 SJA1000內(nèi)部結(jié)構(gòu)圖</p><p>  2.SJA1000引腳功能</p><p>  SJA1000中共有28個(gè)外部引腳,芯片封裝形式可以是DIP28,也可以是SO28。 AD7~AD0(引腳2、1、28~23) 這8個(gè)引腳為8位地址

32、/數(shù)據(jù)端</p><p>  ALE/AS(引腳3) Intel模式下,該引腳為ALE信號(hào)輸入端。Motorola模式下,該引腳為AS信號(hào)輸入端。</p><p>  /CS(引腳4) 芯片片選端</p><p>  /RD/E(引腳5) Intel模式下,該引腳為/RD信號(hào)輸入端,Motorola模式下,</p><p>  該引腳為

33、E信號(hào)輸入端。</p><p>  /WR(引腳6) Intel模式下,該引腳為/WR信號(hào)輸入端,Motorola模式下,</p><p>  該引腳為RD/ /WR信號(hào)輸入端。</p><p>  CLKOUT(引腳7) SJA1000的</p><p>  時(shí)鐘信號(hào)輸入端。該時(shí)鐘頻率可以由SJA1000的內(nèi)部時(shí)鐘控制寄存器進(jìn)行可編

34、程控制,若時(shí)鐘控制寄存器的Clock Off 位為1,則該引腳無效。</p><p>  VSS1(引腳8) 邏輯地</p><p>  XTAL1、XTAL2(引腳9、10) 外部晶振接入端。</p><p>  Mode(引腳11) 模式選擇端。該引腳用于處理器接口的選擇,當(dāng)該引腳接高電平時(shí),SJA1000工作在Intel模式,當(dāng)該引腳接低電平時(shí),SJA

35、1000工作在Motorola模式。</p><p>  VDD3(引腳12) 輸出驅(qū)動(dòng)器的電源端。</p><p>  TX0、TX1(引腳13、14) CAN輸出驅(qū)動(dòng)器的輸出端0和輸出端1。</p><p>  VSS3(引腳15) 輸出驅(qū)動(dòng)器的接地端。</p><p>  /INT(引腳16) 中斷信號(hào)輸出端。當(dāng)產(chǎn)生事件且內(nèi)

36、部中斷寄存器對(duì)應(yīng)位被置位時(shí),該引腳產(chǎn)生低電平,通知處理器產(chǎn)生外部中斷,處理器可以通過查看中斷事件寄存器來了解發(fā)生了何種中斷。該引腳為集電極開路,因此多個(gè)/INT信號(hào)可以直接連接在一起產(chǎn)生線“或”。</p><p>  /RST(引腳17) 芯片復(fù)位端。</p><p>  VDD2(引腳18) 輸入比較器的電源端。</p><p>  RX0、RX1(引腳19、

37、20) CAN輸入比較器的輸入端0和輸入端1。</p><p>  VSS2(引腳21) 輸入比較器的接地端。</p><p>  VDD1 (引腳22) 電源端。</p><p>  3.SJA1000寄存器及其功能</p><p>  SJA1000的功能配置和行為由主控制器的命令控制。因此SJA1000能滿足不同屬性的CAN總線系統(tǒng)

38、的要求。主控制器和SJA1000之間的數(shù)據(jù)交換經(jīng)過一組寄存器(控制段)和一個(gè)RAM(報(bào)文緩沖器)完成。RAM部分的寄存器和地址窗口組成了發(fā)送和接收緩沖器,對(duì)于主控制器來說就象是外圍器件寄存器。</p><p>  表2-2根據(jù)它們?cè)谙到y(tǒng)的作用分組列出了SJA1000寄存器。</p><p>  注意,一些寄存器只在PeliCAN模式有效,控制寄存器僅在BasicCAN模式里有效。一些寄存器

39、是只讀的或只寫的,還有一些只能在復(fù)位模式中訪問。</p><p>  表2-2 SJA1000 內(nèi)部寄存器的分類</p><p> ?。?)發(fā)送緩沖器/接收緩沖器</p><p>  在CAN總線上發(fā)送的數(shù)據(jù)被載入SJA1000的存儲(chǔ)區(qū),這個(gè)存儲(chǔ)區(qū)叫“發(fā)送緩沖器”。從CAN總線上收到的數(shù)據(jù)也存儲(chǔ)在SJA1000的存儲(chǔ)區(qū),這個(gè)存儲(chǔ)區(qū)叫“接收緩沖器”,在BasicCAN

40、模式下。這些緩沖器包括2、3或5個(gè)字節(jié)的標(biāo)識(shí)符和幀信息(取決于模式和幀類型),而最多可以包含8個(gè)數(shù)據(jù)字節(jié)。</p><p>  在PeliCAN模式:這些緩沖器是13個(gè)字節(jié)長(zhǎng)(見表2-3)</p><p><b>  ? 1字節(jié)幀信息</b></p><p>  ? 2個(gè)或4個(gè)標(biāo)識(shí)符字節(jié)(標(biāo)準(zhǔn)幀或擴(kuò)展幀)</p><p>

41、;  ? 最多8個(gè)數(shù)據(jù)字節(jié)。</p><p>  表2-3是PeliCAN模式里的RX緩沖器1(讀訪問)和TX緩沖器(寫訪問2)</p><p>  表2-3 PeliCAN模式讀訪問和寫訪問</p><p><b> ?。?)驗(yàn)收濾波器</b></p><p>  獨(dú)立的CAN控制器SJA1000裝配了一個(gè)多功能的驗(yàn)收

42、濾波器,該濾波器允許自動(dòng)檢查標(biāo)識(shí)符和數(shù)據(jù)字節(jié)。使用這些有效的濾波方法,可以防止對(duì)于某個(gè)節(jié)點(diǎn)無效的報(bào)文或報(bào)文組存儲(chǔ)在接收緩沖器里。因此降低了主控制器的處理負(fù)載。</p><p>  濾波器由驗(yàn)收碼寄存器和屏蔽寄存器根據(jù)給定算法來控制。接收到的數(shù)據(jù)會(huì)和驗(yàn)收代碼寄存器中的值進(jìn)行逐位比較。接收屏蔽寄存器定義與比較相關(guān)的位的位置(0=相關(guān)1=不相關(guān))。只有收到的報(bào)文相應(yīng)位與驗(yàn)收代碼寄存器的相應(yīng)位相同,報(bào)文才會(huì)被接收。<

43、;/p><p>  PeliCAN模式的驗(yàn)收濾波已被擴(kuò)展:4個(gè)8位的驗(yàn)收碼寄存器(ACR0,ACR1,ACR2和ACR3)和驗(yàn)收屏蔽寄存器(AMR0,AMR1,AMR2和AMR3)可以用多種方法濾波報(bào)文。報(bào)文的哪些位用于驗(yàn)收濾波,取決于收到的幀(標(biāo)準(zhǔn)幀或擴(kuò)展幀)和選擇的濾波器模式(單濾波器或雙濾波器)。對(duì)于不需要經(jīng)過驗(yàn)收濾波的報(bào)文位(例如報(bào)文組被定義為接受),驗(yàn)收屏蔽寄存器必須相應(yīng)的位位置上置“1”。</p&g

44、t;<p>  如果報(bào)文不包括數(shù)據(jù)字節(jié)(例如:是一個(gè)遠(yuǎn)程幀或者數(shù)據(jù)長(zhǎng)度碼為零)但是驗(yàn)收濾波包括數(shù)據(jù)字節(jié),則如果標(biāo)識(shí)符直到RTR位都有效的話,報(bào)文會(huì)被接收。</p><p>  3. CAN總線與RS-232轉(zhuǎn)換接口電路設(shè)計(jì)</p><p>  3.1 CAN總線與RS-232轉(zhuǎn)換接口電路總體設(shè)計(jì)</p><p>  圖3-1CAN與RS-232接口轉(zhuǎn)換

45、電路</p><p>  圖3-1為CAN總線與RS-232接口轉(zhuǎn)換電路圖。整個(gè)轉(zhuǎn)換接口電路包括:主控制模塊、RS-232接口轉(zhuǎn)換電路和CAN控制模塊3個(gè)主要部分。</p><p>  主控制模塊處理CAN總線以及RS-232接口的數(shù)據(jù)通信和控制,利用AT89C51完成兩種格式數(shù)據(jù)幀的交換,并對(duì)接口進(jìn)行控制。</p><p>  RS-232接口電路由MAX232芯

46、片構(gòu)成,實(shí)現(xiàn)將單片機(jī)串口的TTL電平與RS-232電平的相互轉(zhuǎn)換。</p><p>  CAN控制器模塊,主要完成CAN協(xié)議的物理層和數(shù)據(jù)鏈路層協(xié)議的實(shí)現(xiàn)。其中物理接口采用PCA82C250芯片實(shí)現(xiàn)物理層的電平轉(zhuǎn)換和傳輸。CAN控制器使用SJA1000芯片,實(shí)現(xiàn)數(shù)據(jù)鏈路層協(xié)議。</p><p>  3.2 主控制模塊電路設(shè)計(jì)</p><p>  圖3-2主控制模塊電

47、路圖</p><p>  主控制模塊負(fù)責(zé)處理CAN以及RS-232接口的數(shù)據(jù)通信與控制,利用AT89C51完成兩種格式數(shù)據(jù)幀的交換,并對(duì)接口進(jìn)行控制。如圖3-2中所示,RS-232與CAN的轉(zhuǎn)接板主要實(shí)現(xiàn)RS-232接口與CAN總線接口之間的數(shù)據(jù)傳輸,其運(yùn)算量不大,因此選用可以有效降低成本的AT89C51作為整個(gè)設(shè)計(jì)的主控制器。</p><p>  AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)

48、Flash閃速存儲(chǔ)器,1000次可擦寫周期,三級(jí)加密程序存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM、定時(shí)/計(jì)數(shù)器、竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位

49、。</p><p>  AT89C51的電源使用+5V電源,同時(shí)其P3.5、P3.4以及P1.4~P1.5外接一個(gè)DIP6開關(guān),用于設(shè)置單片機(jī)本身的地址信息。</p><p>  AT89C51使用的晶振信號(hào)由SJA1000提供(SJA1000用24MHz的片外晶振),SJA1000的CLKOUT引腳接入MCU的XTAL1引腳。</p><p>  3.2.1 AT

50、89C51與6116電路設(shè)計(jì)</p><p>  圖3-3AT89C51與6116連接電路圖</p><p>  由于CAN總線速率與RS-232接口速率并不相同,因此設(shè)計(jì)中還增加了片外RAM芯片6116,用作轉(zhuǎn)換雙方的數(shù)據(jù)緩沖區(qū)。設(shè)計(jì)中使用P2.7接反向器連接6116的片選端,所以接口轉(zhuǎn)換電路中的片外RAM的起始地址實(shí)際上應(yīng)為0X8000。</p><p>  A

51、T89C51通過數(shù)據(jù)總線、地址總線及控制總線與存儲(chǔ)器連接,如圖3-4所示:</p><p>  圖3-4片外存儲(chǔ)器原理框圖</p><p>  本設(shè)計(jì)中選用的是6116。6116為2KX8位的靜態(tài)RAM,其邏輯圖3-5如下:</p><p>  圖3-5 片外RAM6116邏輯圖</p><p>  其中A0~A10為11根地址線,I/O~I(xiàn)

52、/O7為8根數(shù)據(jù)線,/E為片選端,當(dāng)/E低電平有效時(shí)才能選中芯片。/G為數(shù)據(jù)輸出選通端,/W為寫信號(hào)端。其工作方式見表3-1:</p><p>  表3-1片外數(shù)據(jù)存儲(chǔ)器工作方式</p><p>  3.2.2 看門狗電路設(shè)計(jì)</p><p>  一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統(tǒng)需要出讓一個(gè)定時(shí)器資源,而且若系統(tǒng)軟件運(yùn)行不正常,可

53、能導(dǎo)致看門狗系統(tǒng)也癱瘓。硬件看門狗是真正意義上的“程序運(yùn)行監(jiān)視器”,如計(jì)數(shù)型的看門狗電路通常由555多諧振蕩器、計(jì)數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。所以本設(shè)計(jì)使用帶有SPI總線接口的X25045實(shí)現(xiàn)硬件看門狗功能。</p><p>  圖3-6 X25045芯片圖</p><p>  1.X25045引腳功能</p><p>

54、;  /CS: 片選擇輸入SO: 串行輸出,數(shù)據(jù)由此引腳逐位輸出SI: 串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入X25045SCK: 串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出/WP: 寫保護(hù)輸入。當(dāng)它低電平時(shí),寫操作被禁止Vss: 地Vcc: 電源電壓RESET:復(fù)位輸出</p><p>  2.X25045的特性</p><p>  

55、可選時(shí)間的看門狗定時(shí)器 </p><p>  VCC的降壓檢測(cè)和復(fù)位控制</p><p>  5種標(biāo)準(zhǔn)的開始復(fù)位電壓</p><p>  使用特定的編程順序即可對(duì)低電壓檢測(cè)和復(fù)位開始電壓進(jìn)行編程 </p><p>  復(fù)位電壓可低至VCC=1V </p><p><b>  省電特性</b><

56、;/p><p>  在看門狗打開時(shí),電源小于50uA</p><p>  在看門狗關(guān)閉時(shí),電源小于10uA</p><p>  在讀操作時(shí),電源小于2mA</p><p>  4K位EEPROM 1000000次的擦寫周期</p><p>  具有數(shù)據(jù)的塊保護(hù)功能,可以保護(hù)1/4、1/2或全部的EEPROM,當(dāng)然也可以置于

57、不保護(hù)狀態(tài)</p><p><b>  內(nèi)建防誤寫措施</b></p><p><b>  用指令允許寫操作</b></p><p><b>  寫保護(hù)引腳</b></p><p><b>  時(shí)鐘可達(dá)3.3M</b></p><p&g

58、t;<b>  短的編程時(shí)間</b></p><p><b>  16字節(jié)的頁(yè)寫模式</b></p><p>  寫時(shí)由器件內(nèi)部自動(dòng)完成</p><p>  典型的器件寫周期為5ms</p><p><b>  X25045功能</b></p><p>

59、  如圖3-7所示,X25045將四種功能合于一體,上電復(fù)位控制、看門狗定時(shí)器、降壓管理以及具有塊保護(hù)功能的串行EEPROM,它有助于簡(jiǎn)化轉(zhuǎn)換接口的設(shè)計(jì),減少印制板的占用面積,提高可靠行。</p><p>  圖3-7 X25045內(nèi)部結(jié)構(gòu)圖</p><p>  該芯片內(nèi)的串行EEPROM具有塊鎖保護(hù)COMS串行EEPROM,它被組織成8位的結(jié)構(gòu),它由一個(gè)由四線構(gòu)成的SPI總線方式進(jìn)行操作

60、,其擦寫周期至少有1000000次,并且寫好的數(shù)據(jù)能夠保存100年。</p><p>  X25045在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表3-2所示。</p><p>  表3-2X25045讀寫操作指令表</p><p>  4.看門狗芯片X25045與AT89C51接口電路設(shè)計(jì)</p><p>  圖3-8 X2504

61、5與AT89C51接口電路圖</p><p>  如圖3-8所示,X25045的4個(gè)主要引腳/CS、SCK、SI、SO分別對(duì)應(yīng)連接AT89C51的P1.0~P1.3腳,這些引腳還應(yīng)該連上拉電阻。/WP接高電平,使X25045始終保持寫保護(hù)輸入狀態(tài)。</p><p>  X25045芯片內(nèi)包含有一個(gè)看門狗定時(shí)器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒有總線活動(dòng),則X25

62、045將從RESET輸出一個(gè)高電平信號(hào)給AT89C51,使其復(fù)位。</p><p>  3.3 AT89C51與RS-232轉(zhuǎn)換接口電路設(shè)計(jì)</p><p>  3.3.1 RS-232-C標(biāo)準(zhǔn)分析</p><p>  RS-232C標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C標(biāo)準(zhǔn),其中EIA(Electronic Industry Association)代表美國(guó)電

63、子工業(yè)協(xié)會(huì),RS(ecommeded standard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。。它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過程。常用物理標(biāo)準(zhǔn)還有EIA&#0;RS-232-C、EIA&#0;RS-422-A、EIA&#0;RS-423A、EIA&#0;RS-485。這里只介紹EIA&#0;RS-232-

64、C(簡(jiǎn)稱232,RS232)。例如,目前在IBM PC機(jī)上的COM1、COM2接口,就是RS-232C接口。</p><p>  1.RS-232電氣特性</p><p>  EIA-RS-232C對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。</p><p>  在TxD和RxD上:邏輯1(MARK)=-3V~-15V</p><p> 

65、 邏輯0(SPACE)=+3~+15V</p><p>  在RTS、CTS、DSR、DTR和DCD等控制線上:</p><p>  信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V</p><p>  信號(hào)無效(斷開,OFF狀態(tài),負(fù)電壓)=-3V~-15V</p><p>  以上規(guī)定說明了RS-323C標(biāo)準(zhǔn)對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(

66、信息碼):邏輯“1”(MARK)的電平低于-3V,邏輯“0”(SPACE)的電平高于+3V;對(duì)于控制信號(hào);接通狀態(tài)(ON)即信號(hào)有效的電平高于+3V,斷開狀態(tài)(OFF)即信號(hào)無效的電平低于-3V,也就是當(dāng)傳輸電平的絕對(duì)值大于3V時(shí),電路可以有效地檢查出來,介于-3~+3V之間的電壓無意義,低于-15V或高于+15V的電壓也認(rèn)為無意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在±(3~15)V之間。</p><p>

67、  EIA-RS-232C與TTL轉(zhuǎn)換:EIA-RS-232C是用正負(fù)電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必須在EIA-RS-232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。本文采用集成電路芯片MAX232</p><p>  2.RS-232機(jī)械特性:</p><

68、p>  由于RS-232C并未定義連接器的物理特性,因此,出現(xiàn)了DB-25、DB-15和DB-9各種類型的連接器,其引腳的定義也各不相同。下面僅介紹DB-9連接器。</p><p>  在AT機(jī)及以后,不支持20mA電流環(huán)接口,使用DB-9連接器,作為提供多功能I/O卡或主板上COM1和COM2兩個(gè)串行接口的連接器。它只提供異步通信的9個(gè)信號(hào)。</p><p>  在通信速率低于20

69、kb/s時(shí),RS-232C所直接連接的最大物理距離為15m(50英尺)。</p><p>  RS-232C標(biāo)準(zhǔn)規(guī)定,若不使用MODEM,在碼元畸變小于4%的情況下,DTE和DCE之間最大傳輸距離為15m(50英尺)??梢娺@個(gè)最大的距離是在碼元畸變小于4%的前提下給出的。為了保證碼元畸變小于4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)動(dòng)器的負(fù)載電容應(yīng)小于2500pF</p><p>  3.R

70、S-232C接口信號(hào)</p><p>  RS-232C標(biāo)準(zhǔn)接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時(shí)線、7條備用和未定義線,常用的只有9根,它們是:</p><p> ?。?)聯(lián)絡(luò)控制信號(hào)線</p><p>  數(shù)據(jù)裝置準(zhǔn)備好(Data set ready-DSR)——有效時(shí)(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。</p><p

71、>  數(shù)據(jù)終端準(zhǔn)備好(Data set ready-DTR)——有效時(shí)(ON)狀態(tài),表明數(shù)據(jù)終端可以使用。</p><p>  請(qǐng)求發(fā)送(Request to send-RTS)——用來表示DTE請(qǐng)求DCE發(fā)送數(shù)據(jù),即當(dāng)終端要發(fā)送數(shù)據(jù)時(shí),使該信號(hào)有效(ON狀態(tài)),向MODEM請(qǐng)求發(fā)送。它用來控制MODEM是否要進(jìn)入發(fā)送狀態(tài)。</p><p>  允許發(fā)送(Clear to send-

72、CTS)——用來表示DCE準(zhǔn)備好接收DTE發(fā)來的數(shù)據(jù),是對(duì)請(qǐng)求發(fā)送信號(hào)RTS的響應(yīng)信號(hào)。當(dāng)MODEM已準(zhǔn)備好接收終端傳來的數(shù)據(jù),并向前發(fā)送時(shí),使該信號(hào)有效,通知終端開始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。</p><p>  接收線信號(hào)檢出(Received Line detection-RLSD)——用來表示DCE已接通通信鏈路,告知DTE準(zhǔn)備接收數(shù)據(jù)。當(dāng)本地的MODEM收到由通信鏈路另一端(遠(yuǎn)地)的MODEM送來的載

73、波信號(hào)時(shí),使RLSD信號(hào)有效,通知終端準(zhǔn)備接收,并且由MODEM將接收下來的載波信號(hào)解調(diào)成數(shù)字兩數(shù)據(jù)后,沿接收數(shù)據(jù)線RxD送到終端。此線也叫做數(shù)據(jù)載波檢出(Data Carrier dectection-DCD)線。</p><p>  振鈴指示(Ringing-RI)——當(dāng)MODEM收到交換臺(tái)送來的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效(ON狀態(tài)),通知終端,已被呼叫。</p><p> ?。?)

74、數(shù)據(jù)發(fā)送與接收線</p><p>  發(fā)送數(shù)據(jù)(Transmitted data-TxD)——通過TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。</p><p>  接收數(shù)據(jù)(Received data-RxD)——通過RxD線終端接收從MODEM發(fā)來的串行數(shù)據(jù),(DCE→DTE)。</p><p><b>  (3)地線</b>&

75、lt;/p><p>  3.3.2 RS-232與AT89C51接口電路設(shè)計(jì)</p><p>  1.MAX232芯片引腳功能</p><p>  MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電。MAX232芯片功能包括:電荷泵電路、數(shù)據(jù)轉(zhuǎn)換通道和供電。MAX232的芯片圖如圖3-9所示:</p><p

76、>  圖3-9 MAX232芯片引腳圖</p><p>  電荷泵電路。由1、3、4、5腳和2只電容構(gòu)成,2管腳串聯(lián)一個(gè)電容接電源,6管腳串聯(lián)一個(gè)電容接地。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。 數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)

77、通道。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輸出。而我們用來作寫頻器就只需一個(gè)通道就行啦。所以一通道的7、8、9、10腳就全空腳,我們只用了第</p><

78、;p><b>  二通道的4個(gè)管腳。</b></p><p>  供電電源。15腳DNG、16腳VCC(+5v)。</p><p>  2.RS-232與AT89C51接口電路設(shè)計(jì)</p><p>  圖3-10 AT89C51與RS-232接口電路</p><p>  如圖3-10所示,MAX232芯片構(gòu)成RS-

79、232的接口轉(zhuǎn)換電路,實(shí)現(xiàn)AT89C51串口的TTL電平與RS-232電平的相互轉(zhuǎn)換。其中R1out和T1in引腳接單片機(jī)的RXD引腳和TXD引腳,R1in和T1out作為RS-232接口輸出連接標(biāo)準(zhǔn)DB9接口的引腳2和引腳3。DB9接口引腳5接地。為了使MAX232芯片正常工作,還需要外接4個(gè)1μF的電容用于芯片升壓,以完成電平轉(zhuǎn)換。</p><p>  3.4 SJA1000與AT89C51接口電路設(shè)計(jì)<

80、;/p><p>  3.4.1 SJA1000與AT89C51接口電路設(shè)計(jì)</p><p>  1.SJA1000的電氣連接原理圖,如圖3-11所示。</p><p>  圖3-11 SJA1000電氣連接原理圖</p><p>  CAN核心模塊負(fù)責(zé)CAN信息幀的收發(fā)和CAN協(xié)議的實(shí)現(xiàn),接口管理邏輯負(fù)責(zé)同外部主控制器的接口,該單元中的每一個(gè)寄存

81、器都可由主控制器通過SJA1000的地址/數(shù)據(jù)總線訪問,發(fā)送緩沖區(qū)可存儲(chǔ)一個(gè)完整的信息幀,長(zhǎng)度為13個(gè)字節(jié)。主控制器可直接將標(biāo)識(shí)符和數(shù)據(jù)送入發(fā)送緩沖區(qū),然后置位命令寄存器(CMR)中的發(fā)送請(qǐng)求位TR,啟動(dòng)CAN核心模塊讀取發(fā)送緩沖區(qū)中的數(shù)據(jù),按CAN協(xié)議封裝成一完整CAN信息幀,通過收發(fā)器發(fā)往總線。驗(yàn)收濾波器單元完成接收信息的濾波,只有驗(yàn)收濾波通過且無差錯(cuò),才把接收的信息幀送入接收FIFO緩沖區(qū),且置位接收緩沖區(qū)狀態(tài)標(biāo)志SR.0,表明接

82、收緩沖區(qū)中已有成功接收的信息幀,接收幀的數(shù)量可通過訪問接收信息計(jì)數(shù)器(RMC)得知。接收FIFO共有64個(gè)字節(jié),遠(yuǎn)遠(yuǎn)超過82C200的接收緩沖區(qū),因而SJA1000的超載能力也大大加強(qiáng)。</p><p>  SJA1000的寄存器和管腳配置使它可以使用各種各樣集成或分立的CAN收發(fā)器。SJA1000支持直接連接到兩個(gè)著名的微型控制器系列:8xC51和68xx。通過SJA1000的</p><p

83、>  MODE引腳可選擇接口模式</p><p>  Intel模式: MODE 高</p><p>  Motorola模式: MODE 低</p><p>  Philips基于8xC51系列的8位微控制器和XA結(jié)構(gòu)的16位微型控制器都使用Intel模式。</p><p>  為了和其他控制器的地址數(shù)據(jù)總線和控制信號(hào)匹配,必須要附加

84、邏輯電路。但是必須確保在上電期間不產(chǎn)生寫脈沖。另一個(gè)方法在這個(gè)時(shí)候使片選輸入是高電平,禁能CAN控制器。</p><p>  2.SJA1000內(nèi)部功能特性:</p><p><b> ?。?)電源</b></p><p>  SJA1000有三對(duì)電源引腳,用于CAN控制器內(nèi)部不同的數(shù)字和模擬模塊。</p><p>  

85、VDD1/VSS1: 內(nèi)部邏輯 (數(shù)字)</p><p>  VDD2/VSS2: 輸入比較器 (模擬)</p><p>  VDD3/VSS3: 輸出驅(qū)動(dòng)器 (模擬)</p><p><b>  (2)復(fù)位</b></p><p>  為了使SJA1000正確復(fù)位,CAN控制器的XTAL1管腳必須連接一個(gè)穩(wěn)定的振蕩

86、器時(shí)鐘。引腳17的外部復(fù)位信號(hào)要同步并被內(nèi)部延長(zhǎng)到15個(gè)XTAL。這保證了SJA1000所有寄存器能夠正確復(fù)位。要注意的是上電后的振蕩器的起振時(shí)間必須要考慮。</p><p> ?。?)振蕩器和時(shí)鐘策略</p><p>  SJA1000能用片內(nèi)振蕩器或片外時(shí)鐘源工作。另外CLKOUT管腳可被使能,向主控制器輸出時(shí)鐘頻率。如果不需要CLKOUT信號(hào),可以通過置位時(shí)鐘分頻寄存器(Clock

87、Off=1)關(guān)斷。這將改善CAN節(jié)點(diǎn)的EME性能。CLKOUT信號(hào)的頻率可以通過時(shí)鐘分頻寄存器改變;fCLKOUT = fXTAL / 時(shí)鐘分頻因子(1,2,4,6,8,10,12,14)。</p><p>  上電或硬件復(fù)位后,時(shí)鐘分頻因子的默認(rèn)值由所選的接口模式(引腳11)決定。如果使用16MHz的晶振,Intel模式下CLKOUT的頻率是8MHz。Motorola模式中,復(fù)位后的時(shí)鐘分頻因子是12,這種情況

88、CLKOUT會(huì)產(chǎn)生1.33MHz的頻率。</p><p><b> ?。?)睡眠和喚醒</b></p><p>  置位命令寄存器的進(jìn)入睡眠位(BasicCAN)模式或模式寄存器(PeliCAN模式)的睡眠模式位后,如果沒有總線活動(dòng)和中斷等待,SJA1000就會(huì)進(jìn)入睡眠模式。振蕩器在15個(gè)CAN位時(shí)間內(nèi)保持運(yùn)行狀態(tài)。此時(shí),微型控制器用CLKOUT頻率來計(jì)時(shí),進(jìn)入自己的

89、低功耗模式。如果出現(xiàn)三個(gè)喚醒條件之中的一個(gè),振蕩器會(huì)再次啟動(dòng)并產(chǎn)生一個(gè)喚醒中斷。振蕩器穩(wěn)定后,CLKOUT頻率被激活。</p><p>  3.SJA1000與AT89C51接口電路設(shè)計(jì)</p><p>  CAN控制器功能像是一個(gè)時(shí)鐘源,復(fù)位信號(hào)由外部復(fù)位電路產(chǎn)生。如圖3-12所示,在設(shè)計(jì)里,SJA1000的片選由微控制器的P2.7口控制。否則,這個(gè)片選輸入必須接到VSS。</p&

90、gt;<p>  圖3-12 SJA1000與AT89C51接口電路</p><p>  CAN控制器SJA1000芯片采用片外24MHz晶振,其CLKOUT引腳輸出工作頻率接入微處理器的XTAL1引腳。片選/CS端與單片機(jī)的P2.7引腳直接相連,因此SJA1000的尋址空間從地址0開始。AD0~AD7直接與AT89C51的低8位數(shù)據(jù)/地址復(fù)用口P0口,MODE接高電平設(shè)置為Intel模式,中斷輸出

91、信號(hào)/INT與微處理器的/INT0連接,使CAN通信可以采用中斷和查詢兩種方式。TLP113的外接390Ω電阻為限流保護(hù)電阻,為避免當(dāng)驅(qū)動(dòng)器失效時(shí)出現(xiàn)過流導(dǎo)致控制器損壞。</p><p>  3.4.2 物理層接口電路設(shè)計(jì)</p><p>  1.物理層接口電路設(shè)計(jì)</p><p>  圖3-13 CAN總線智能節(jié)點(diǎn)硬件電路</p><p>

92、;  如圖3-13所示,本設(shè)計(jì)采用集成的收發(fā)器(PCA82C250),82C250收發(fā)器是協(xié)議控制器和物理傳輸線路之間的接口,對(duì)總線提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力。</p><p>  PCA82C250與CAN總線的接口部分采用一定的安全和抗干擾措施。CANH和CANL與地之間并聯(lián)了兩個(gè)30P的小電容,可以起到濾除總線的高頻干擾和一定的防電磁輻射的能力。另外在兩根CAN總線接入端與地之間分別反

93、接一個(gè)保護(hù)二極管,當(dāng)CAN總線有較高的負(fù)電壓時(shí),通過二極管的短路可起到一定的過壓保護(hù)作用。PCA82C250的Rs腳上接有一個(gè)斜率電阻,電阻大小可根據(jù)總線通訊速度適當(dāng)調(diào)整,一般在16K~140K之間。用光電隔離芯片TLP113將CAN控制器SJA1000和收發(fā)器PCA82C250隔離,以便有效地增加通訊距離和抗干擾能力。</p><p>  2.CAN通用收發(fā)器PCA82C250管腳功能</p>&

94、lt;p>  82C250的共有8個(gè)管腳,下面介紹各管腳功能:</p><p>  TXD 發(fā)送數(shù)據(jù)輸入</p><p>  RXD 接收數(shù)據(jù)輸出</p><p>  Vref 參考電壓輸出</p><p>  CANH 低電平CAN電壓輸入/輸出</p><p>  CANL 高電平CA

95、N電壓輸入/輸出</p><p>  Rs 斜率電阻輸入</p><p>  VCC 電源端</p><p>  GND 接地端</p><p><b>  3.5元器件清單</b></p><p>  表3-3 CAN總線與RS-2232接口電路設(shè)計(jì)元?dú)饧鍐?lt;/p&g

96、t;<p><b>  結(jié)論</b></p><p>  本設(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ā)送信息

97、而不分主從。可以點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多點(diǎn)或全局廣播方式發(fā)送和接收數(shù)據(jù)。</p><p>  由于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ò)展。</p><p>  綜上所述,通過此次設(shè)計(jì),我們感受到CAN總線帶來的各種便利。而且,由于CAN總線具有結(jié)

98、構(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)的水平。</p><p

99、><b>  致 謝</b></p><p>  本設(shè)計(jì)從初具構(gòu)思,到篩選代表性資料,形成初稿,到反復(fù)修改各稿,最后定稿,這一過程使我對(duì)CAN總線和RS-232通信接口有了深刻的了解,對(duì)89C51有了更深刻的了解。從中學(xué)到很多東西。在此,我特別要感謝在實(shí)習(xí)當(dāng)中給了我很大的幫助和無微不至的關(guān)懷的田悅新老師,他樸實(shí)的工作作風(fēng),嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,淵博的科學(xué)知識(shí),正直的人格,給我深深的影響,也

100、必將激勵(lì)我在科學(xué)技術(shù)的道路上前進(jìn),在我論文的寫作過程中所給予細(xì)心指導(dǎo)和幫助,使我有機(jī)會(huì)能更深的熟悉論文的寫作規(guī)范,特別是老師的點(diǎn)評(píng)使我受益菲淺,給我的論文寫作指明了方向。同時(shí)還要感謝和我一起做這個(gè)設(shè)計(jì)的陳亮同學(xué),使我的論文能夠順利完成。</p><p><b>  參考文獻(xiàn)</b></p><p> ?。?]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M]].北京:航空航天

101、大學(xué)出版社。</p><p> ?。?]李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:航空航天大學(xué)出版社。</p><p> ?。?]舒彥.安萍.CAN 總線系統(tǒng)的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,1998.</p><p>  [4]何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,1999,8.</p><p> ?。?]

102、馬忠梅,劉濱,戚軍等.單片機(jī)C語(yǔ)言Windows環(huán)境編程寶典[M].北京:北京航空航天大學(xué)出版社,2003.</p><p> ?。?]饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003. </p><p> ?。?]陽(yáng)憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999,6.</p><p> ?。?]鄔

103、寬明.單片機(jī)外圍器件實(shí)用手冊(cè)--數(shù)據(jù)傳輸接口器件分冊(cè)[Z]. 北京:北京航空航天大學(xué)出版社,1998.12.</p><p> ?。?]Philips Semiconductors.PDIUSBD12 Specification[Z].1999.</p><p> ?。?0]80C51 8-bit Flash microcontroller family P89C66X[Z].Philip

104、s Semiconductors APLICATION NOTE, 2001.</p><p> ?。?1]SJA1000 Stand-alone CAN controller.[Z].Philips Semiconductors APLICATION NOTE, 1997.12.</p><p>  [12] 鄒繼軍,饒運(yùn)濤.CAN控制器SJA1000驗(yàn)收原理及運(yùn)用[EB/OL]. ww

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論