CAN總線與RS232轉(zhuǎn)換接口電路設(shè)計(jì)_第1頁(yè)
CAN總線與RS232轉(zhuǎn)換接口電路設(shè)計(jì)_第2頁(yè)
CAN總線與RS232轉(zhuǎn)換接口電路設(shè)計(jì)_第3頁(yè)
CAN總線與RS232轉(zhuǎn)換接口電路設(shè)計(jì)_第4頁(yè)
CAN總線與RS232轉(zhuǎn)換接口電路設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、0 摘要摘要. . abstract. 引言引言.1 1. can 總線協(xié)議分析總線協(xié)議分析.2 1.1 can 總線主要特點(diǎn) .2 1.2 can 總線協(xié)議 .2 1.3 can 總線報(bào)文傳輸結(jié)構(gòu) .3 1.4 can 總線錯(cuò)誤處理 .3 1.4.1 錯(cuò)誤檢測(cè).3 1.4.2 錯(cuò)誤標(biāo)定.4 2. can 控制器控制器 sja1000 分析分析 .5 2.1 can 節(jié)點(diǎn)結(jié)構(gòu)與 sja1000 操作模式.5 2.2 sja1000 內(nèi)部結(jié)構(gòu)及其功能分析.6 3. can 總線與總線與 rs-232 轉(zhuǎn)換接口電路設(shè)計(jì)轉(zhuǎn)換接口電路設(shè)計(jì).11 3.1 can 總線與 rs-232 轉(zhuǎn)換接口電路總體設(shè)

2、計(jì).11 3.2 主控制模塊電路設(shè)計(jì).12 3.2.1 at89c51 與 6116 電路設(shè)計(jì).13 3.2.2 看門(mén)狗電路設(shè)計(jì).14 3.3 at89c51 與 rs-232 轉(zhuǎn)換接口電路設(shè)計(jì).16 3.3.1 rs-232-c 標(biāo)準(zhǔn)分析.16 3.3.2 rs-232 與 at89c51 接口電路設(shè)計(jì).18 3.4 sja1000 與 at89c51 接口電路設(shè)計(jì).19 3.4.1 sja1000 與 at89c51 接口電路設(shè)計(jì).19 3.4.2 物理層接口電路設(shè)計(jì).21 3.5 元器件清單.22 結(jié)論結(jié)論.22 致致 謝謝.24 參考文獻(xiàn)參考文獻(xiàn).25 1 can總線與rs-232轉(zhuǎn)換

3、接口電路設(shè)計(jì) 引言 現(xiàn)場(chǎng)總線是安裝在生產(chǎn)過(guò)程區(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é)議,這就使得用戶(hù)對(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ò)中,理論 上可以掛接無(wú)數(shù)個(gè)節(jié)點(diǎn)。實(shí)際應(yīng)用

4、中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。can可 提供高達(dá)1mbit/s的數(shù)據(jù)傳輸速率,這使實(shí)時(shí)控制變得非常容易。另外,硬件的錯(cuò)誤檢定 特性也增強(qiáng)了can的抗電磁干擾能力。 can通訊協(xié)議描述了在設(shè)備之間信息如何傳遞。它對(duì)層的定義與開(kāi)放系統(tǒng)互連模型 (osi)一致。每一層與另一設(shè)備上相同的那一層通訊。實(shí)際的通訊是發(fā)生在每一設(shè)備上相 鄰的兩層,而設(shè)備只通過(guò)模型物理層的物理介質(zhì)互連。can的結(jié)構(gòu)定義了模型的最下面 的兩層:數(shù)據(jù)鏈路層和物理層。應(yīng)用層通過(guò)不同的新型協(xié)議層(專(zhuān)門(mén)用于特殊的工業(yè)領(lǐng) 域加上由個(gè)別can用戶(hù)定義的任何合適的方案)和物理層連接。物理層和數(shù)據(jù)鏈路層對(duì) 于設(shè)計(jì)者來(lái)說(shuō)是透明的,并包含

5、在所有執(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ì)。 2 1. can 總線協(xié)議分析 1.1 can 總線總線主要特點(diǎn)主要特點(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ā)送和

6、接收數(shù)據(jù)。 網(wǎng)絡(luò)上的節(jié)點(diǎn)信息可分成不同的優(yōu)先級(jí),以滿(mǎn)足不同的實(shí)時(shí)要求。 can 總線通信格式采用短幀格式,每幀字節(jié)最多為 8 個(gè),可滿(mǎn)足通常工業(yè)領(lǐng)域中控 制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同時(shí),8 字節(jié)也不會(huì)占用總線時(shí)間過(guò)長(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)

7、 ,節(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.2 can 總線協(xié)議總線協(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é)議層次

8、結(jié)構(gòu) 協(xié)議層 對(duì)應(yīng) osi 模型 說(shuō)明 llc 邏輯鏈路控制子層,用于為鏈路中的數(shù)據(jù)傳輸提供上層控制手 段 mac 數(shù)據(jù)鏈路 層媒體訪問(wèn)控制子層,用于控制幀結(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)文濾波、過(guò)載通知以及恢復(fù)管理等工作。而 mac 層則 為數(shù)據(jù)報(bào)文的傳輸進(jìn)行具體的控制,包括幀結(jié)構(gòu)控制、總線仲裁、錯(cuò)誤檢測(cè)、出錯(cuò)界定、 3 報(bào)文收發(fā)控制等工作。 物理層定義了信號(hào)是如何實(shí)際傳輸?shù)模?/p>

9、因此涉及到位時(shí)間、位編碼、同步的解釋?zhuān)?can 總線協(xié)議并未對(duì)物理層部分進(jìn)行具體的規(guī)定。 1.3 can 總線報(bào)總線報(bào)文文傳輸結(jié)傳輸結(jié)構(gòu)構(gòu) 報(bào)文傳輸由以下4個(gè)不同的幀類(lèi)型所表示 1數(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)程幀)通過(guò)幀間空間與前述的各幀分開(kāi)。 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)、幀末尾。 通過(guò)發(fā)送遠(yuǎn)程幀,作為某數(shù)據(jù)接收器的站通過(guò)其資源節(jié)點(diǎn)對(duì)不同的數(shù)據(jù)傳送進(jìn)行初始

10、化 設(shè)置。 3錯(cuò)誤幀:任何單元檢測(cè)到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。 錯(cuò)誤幀由兩個(gè)不同的場(chǎng)組成。第一個(gè)場(chǎng)用作為不同站提供的錯(cuò)誤標(biāo)志(error flag)的疊加。第二個(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)志(active error flag)和被動(dòng)錯(cuò)誤標(biāo)志(passive error flag)。 4過(guò)載幀:過(guò)載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。 過(guò)載幀包括兩個(gè)位場(chǎng):過(guò)載標(biāo)志和過(guò)載界定符。 有兩種過(guò)載

11、條件都會(huì)導(dǎo)致過(guò)載標(biāo)志的傳送: (1)接收器的內(nèi)部條件(此接收器對(duì)于下一數(shù)據(jù)幀或遠(yuǎn)程幀需要有一延時(shí))。 (2)間歇場(chǎng)期間檢測(cè)到一“顯性”位。 由過(guò)載條件1 而引發(fā)的過(guò)載幀只允許起始于所期望的間歇場(chǎng)的第一個(gè)位時(shí)間開(kāi)始。 而由過(guò)載條件2引發(fā)的過(guò)載幀應(yīng)起始于所檢測(cè)到“顯性”位之后的位。 1.4 can 總線錯(cuò)誤處總線錯(cuò)誤處理理 1.4.1 錯(cuò)誤檢測(cè)錯(cuò)誤檢測(cè) 有以下5種不同的錯(cuò)誤類(lèi)型(這5種錯(cuò)誤不會(huì)相互排斥) 1位錯(cuò)誤(bit error) 單元在發(fā)送位的同時(shí)也對(duì)總線進(jìn)行監(jiān)視。如果所發(fā)送的位值與所監(jiān)視的位值不相合, 則在此位時(shí)間里檢測(cè)到一個(gè)位錯(cuò)誤。但是在仲裁場(chǎng)(arbitration field)的填充

12、位流 期間或應(yīng)答間隙(ack slot)發(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ò)誤(struff error) 如果在使用位填充法進(jìn)行編碼的信息中,出現(xiàn)了第6個(gè)連續(xù)相同的位電平時(shí),將檢測(cè) 4 到一個(gè)填充錯(cuò)誤。 3crc錯(cuò)誤(crc error) crc序列包括發(fā)送器的crc計(jì)算結(jié)果。接收器計(jì)算crc的方法與發(fā)送器相同。如果 計(jì)算結(jié)果與接收到crc序列的結(jié)果不相符,則檢測(cè)到一個(gè)crc錯(cuò)誤。 4形式錯(cuò)誤(form error) 當(dāng)一個(gè)固定形式的位場(chǎng)含有1個(gè)或多個(gè)非法位,則檢測(cè)到一個(gè)

13、形式錯(cuò)誤。(備注:接收 器的幀末尾最后一位期間的顯性位不被當(dāng)作幀錯(cuò)誤) 5應(yīng)答錯(cuò)誤(acknowledgment error) 只要在應(yīng)答間隙(ack slot)期間所監(jiān)視的位不為“顯性”,則發(fā)送器會(huì)檢測(cè)到一 個(gè)應(yīng)答錯(cuò)誤。 1.4.2 錯(cuò)誤標(biāo)定錯(cuò)誤標(biāo)定 檢測(cè)到錯(cuò)誤條件的站通過(guò)發(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è)到無(wú)論是位錯(cuò)誤、填充錯(cuò)誤、形式錯(cuò)誤,還是應(yīng)答錯(cuò)誤,這個(gè)站會(huì)在下一位時(shí)發(fā) 出錯(cuò)誤標(biāo)志信息。只要檢測(cè)到的錯(cuò)誤的條件是crc錯(cuò)誤,錯(cuò)誤標(biāo)志的發(fā)送開(kāi)始于ack界 定符之后的位(其他的錯(cuò)誤條件除外)

14、。 5 2. can 控制器 sja1000 分析 2.1 can 節(jié)節(jié)點(diǎn)點(diǎn)結(jié)結(jié)構(gòu)與構(gòu)與 sja1000 操作模式操作模式 sja1000獨(dú)立的can控制器有2個(gè)不同的操作模式: basiccan模式(和pca82c200兼容); pelican模式 basiccan模式是上電后默認(rèn)的操作模式。因此用pca82c200開(kāi)發(fā)的已有硬件和軟 件可以直接在sja1000上使用,而不用作任何修改。 pelican 模式是新的操作模式,它能夠處理所有 can2.0b 規(guī)范的幀類(lèi)型。而且它還 提供一些增強(qiáng)功能,例如,sja1000 支持一些錯(cuò)誤分析功能,支持系統(tǒng)診斷、系統(tǒng)維護(hù) 和系統(tǒng)優(yōu)化,而且這個(gè)模式里也

15、加入了對(duì)一般 cpu 的支持和系統(tǒng)自身測(cè)試的功能。使 sja1000 能應(yīng)用于更寬的領(lǐng)域。 本設(shè)計(jì)采用 pelican 模式,因此只給出 pelican 模式增強(qiáng)功能。如表 2-1 所示。 表表2-1pelican模式的增強(qiáng)功能模式的增強(qiáng)功能 can2.0b (active)can2.0b active 支持帶有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ò)警告界限 支持錯(cuò)誤分析在原型階段和在正常操作期間可 用于:診斷、系統(tǒng)維護(hù)、系統(tǒng)優(yōu)化 錯(cuò)誤

16、代碼捕捉寄存器 出錯(cuò)中斷 仲裁丟失捕捉中斷支持系統(tǒng)優(yōu)化包括報(bào)文延遲時(shí)間的分析 單次發(fā)送使軟件命令最小化和允許快速重載發(fā)送緩沖器 僅聽(tīng)模式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)收濾 6 波。 通用can收發(fā)器實(shí)現(xiàn)從can控制器到can總線物理層的電氣連接。 而所有這些can功能都由一個(gè)模塊控制器控制,它負(fù)責(zé)執(zhí)行應(yīng)用層的功能。 圖圖2-

17、1 can模塊裝置模塊裝置 2.2 sja1000 內(nèi)部?jī)?nèi)部結(jié)結(jié)構(gòu)構(gòu)及其功能分析及其功能分析 1sja1000內(nèi)部結(jié)構(gòu) sja1000內(nèi)部可以分為接口管理邏輯、發(fā)送緩沖區(qū)、接收f(shuō)ifo、比特流處理器、接 收濾波器、定位邏輯器、錯(cuò)誤管理邏輯、復(fù)位模塊和振蕩電路這幾個(gè)部分組成。其內(nèi)部 結(jié)構(gòu)和相互關(guān)系如圖2-2所示。 模塊控制器 can 控制器 can 收發(fā)器 傳感器 執(zhí)行器 人機(jī)接口 微處理器 sja1000 pca82c250/251 傳感器 執(zhí)行器 人機(jī)接口 can 總線 7 圖圖2-2 sja1000內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)圖 2sja1000引腳功能 sja1000中共有28個(gè)外部引腳,芯片封裝

18、形式可以是dip28,也可以是so28。 ad7ad0(引腳2、1、2823) 這8個(gè)引腳為8位地址/數(shù)據(jù)端 ale/as(引腳3) intel模式下,該引腳為ale信號(hào)輸入端。motorola模式下,該引 腳為as信號(hào)輸入端。 /cs(引腳4) 芯片片選端 /rd/e(引腳5) intel模式下,該引腳為/rd信號(hào)輸入端,motorola模式下, 該引腳為e信號(hào)輸入端。 /wr(引腳6) intel模式下,該引腳為/wr信號(hào)輸入端,motorola模式下, 該引腳為rd/ /wr信號(hào)輸入端。 clkout(引腳7) sja1000的 時(shí)鐘信號(hào)輸入端。該時(shí)鐘頻率可以由sja1000的內(nèi)部時(shí)鐘控

19、制寄存器進(jìn)行可編程控制, 若時(shí)鐘控制寄存器的clock off 位為1,則該引腳無(wú)效。 vss1(引腳8) 邏輯地 xtal1、xtal2(引腳9、10) 外部晶振接入端。 mode(引腳11) 模式選擇端。該引腳用于處理器接口的選擇,當(dāng)該引腳接高電平 時(shí),sja1000工作在intel模式,當(dāng)該引腳接低電平時(shí),sja1000工作在motorola模式。 vdd3(引腳12) 輸出驅(qū)動(dòng)器的電源端。 tx0、tx1(引腳13、14) can輸出驅(qū)動(dòng)器的輸出端0和輸出端1。 8 vss3(引腳15) 輸出驅(qū)動(dòng)器的接地端。 /int(引腳16) 中斷信號(hào)輸出端。當(dāng)產(chǎn)生事件且內(nèi)部中斷寄存器對(duì)應(yīng)位被置位

20、時(shí), 該引腳產(chǎn)生低電平,通知處理器產(chǎn)生外部中斷,處理器可以通過(guò)查看中斷事件寄存器來(lái) 了解發(fā)生了何種中斷。該引腳為集電極開(kāi)路,因此多個(gè)/int信號(hào)可以直接連接在一起產(chǎn)生 線“或” 。 /rst(引腳17) 芯片復(fù)位端。 vdd2(引腳18) 輸入比較器的電源端。 rx0、rx1(引腳19、20) can輸入比較器的輸入端0和輸入端1。 vss2(引腳21) 輸入比較器的接地端。 vdd1 (引腳22) 電源端。 3sja1000寄存器及其功能 sja1000的功能配置和行為由主控制器的命令控制。因此sja1000能滿(mǎn)足不同屬性的 can總線系統(tǒng)的要求。主控制器和sja1000之間的數(shù)據(jù)交換經(jīng)過(guò)一

21、組寄存器(控制段)和 一個(gè)ram(報(bào)文緩沖器)完成。ram部分的寄存器和地址窗口組成了發(fā)送和接收緩沖器, 對(duì)于主控制器來(lái)說(shuō)就象是外圍器件寄存器。 表2-2根據(jù)它們?cè)谙到y(tǒng)的作用分組列出了sja1000寄存器。 注意,一些寄存器只在pelican模式有效,控制寄存器僅在basiccan模式里有效。 一些寄存器是只讀的或只寫(xiě)的,還有一些只能在復(fù)位模式中訪問(wèn)。 表表2-2 sja1000 內(nèi)部寄存器的分類(lèi)內(nèi)部寄存器的分類(lèi) 寄存器地址使用類(lèi) 型 寄存器名稱(chēng)(符 號(hào))peilcan 模 式 basiccan 模 式 功能 模式(mod)0選擇睡眠模式、驗(yàn)收濾波器 模式、自測(cè)試模式、只聽(tīng)模 式和復(fù)位模式 控

22、制(cr)在 basiccan 模式里選擇復(fù)位 模式 命令(cmr)basiccan 模式的睡眠模式命 令 選擇不 同的操 作模式 的要素 時(shí)鐘分頻器 (cdr) 3131在 clkout 設(shè)置時(shí)鐘信號(hào)(引 腳 7)選擇 peilcan 模式、 比較器旁路模式、tx1(管腳 14)輸出模式 設(shè)定 can 通 訊的要 素 驗(yàn)收碼(ack) 驗(yàn)收屏蔽 (avr) 1629 2023 4 5 驗(yàn)收濾波器位的模式選擇 9 總線定時(shí)寄存器 0(btr0) 總線定時(shí)寄存器 1(btr1) 6 7 6 7 位定時(shí)參數(shù)的設(shè)置 輸出控制 (ocr) 88輸出驅(qū)動(dòng)器屬性的選擇 命令(cmr)11自接收、清除數(shù)據(jù)超

23、載、釋 放接收緩沖器、中止傳輸和 傳輸請(qǐng)求的命令 狀態(tài)(sr)22報(bào)文緩沖器的狀態(tài)、can 核 心模塊的狀態(tài) 中斷(ir)33can 中斷標(biāo)志 中斷使能 (ier) 4在 peilcan 模式使能和禁能 中斷 控制(cr)0在 basiccan 模式使能和禁能 中斷事件 仲裁丟失捕捉 (alc) 11顯示仲裁丟失的位置 錯(cuò)誤代碼捕捉 (ecc) 12顯示最近一次的錯(cuò)誤類(lèi)型和 位置 出錯(cuò)警告界限 (ewlr) 13產(chǎn)生出錯(cuò)警告中斷的閥值選 擇 rx 錯(cuò)誤記數(shù) (rxerr) 14反映接收錯(cuò)誤記數(shù)器的當(dāng)前 值 tx 錯(cuò)誤記數(shù) (txerr) 14、15反映發(fā)送錯(cuò)誤計(jì)數(shù)器的當(dāng)前 值 rx 報(bào)文計(jì)數(shù)器

24、 (rmc) 29接收 fifo 里的報(bào)文數(shù)量 復(fù)雜的 錯(cuò)誤檢 測(cè)和分 析的要 素 rx 緩沖器起始地 址(rbsa) 30顯示接收緩沖器提供的報(bào)文 的當(dāng)前內(nèi)部 ram 地址 發(fā)送緩沖器 (txbuf) 16281019信息緩 沖器 接收緩沖器 (rxbuf) 16282029 (1)發(fā)送緩沖器/接收緩沖器 在can總線上發(fā)送的數(shù)據(jù)被載入sja1000的存儲(chǔ)區(qū),這個(gè)存儲(chǔ)區(qū)叫“發(fā)送緩沖器”。 從can總線上收到的數(shù)據(jù)也存儲(chǔ)在sja1000的存儲(chǔ)區(qū),這個(gè)存儲(chǔ)區(qū)叫“接收緩沖器”,在 basiccan模式下。這些緩沖器包括2、3或5個(gè)字節(jié)的標(biāo)識(shí)符和幀信息(取決于模式和幀類(lèi) 10 型),而最多可以包含8

25、個(gè)數(shù)據(jù)字節(jié)。 在pelican模式:這些緩沖器是13個(gè)字節(jié)長(zhǎng)(見(jiàn)表2-3) 1字節(jié)幀信息 2個(gè)或4個(gè)標(biāo)識(shí)符字節(jié)(標(biāo)準(zhǔn)幀或擴(kuò)展幀) 最多8個(gè)數(shù)據(jù)字節(jié)。 表2-3是pelican模式里的rx緩沖器1(讀訪問(wèn))和tx緩沖器(寫(xiě)訪問(wèn)2) 表表2-32-3 pelicanpelican模式讀訪問(wèn)和寫(xiě)訪問(wèn)模式讀訪問(wèn)和寫(xiě)訪問(wèn) can地址(十進(jìn)制) 名稱(chēng)組成和標(biāo)注 16 幀信息1位說(shuō)明,如果報(bào)文包括一個(gè)標(biāo)準(zhǔn)幀或擴(kuò)展幀 1位遠(yuǎn)程傳輸請(qǐng)求位 4位數(shù)據(jù)長(zhǎng)度碼,說(shuō)明數(shù)據(jù)字節(jié)的數(shù)量 17,18標(biāo)識(shí)符字節(jié)1,2標(biāo)準(zhǔn)幀:11位標(biāo)識(shí)符 擴(kuò)展幀:16位標(biāo)識(shí)符 19,20標(biāo)識(shí)符字節(jié)3,4僅擴(kuò)展幀:13個(gè)標(biāo)識(shí)符 幀類(lèi)型 標(biāo)準(zhǔn)幀:1

26、926 擴(kuò)展幀:2128 數(shù)據(jù)字節(jié)18由數(shù)據(jù)長(zhǎng)度碼說(shuō)明,最多8個(gè)數(shù)據(jù)字節(jié) (2)驗(yàn)收濾波器 獨(dú)立的can控制器sja1000裝配了一個(gè)多功能的驗(yàn)收濾波器,該濾波器允許自動(dòng)檢查 標(biāo)識(shí)符和數(shù)據(jù)字節(jié)。使用這些有效的濾波方法,可以防止對(duì)于某個(gè)節(jié)點(diǎn)無(wú)效的報(bào)文或報(bào) 文組存儲(chǔ)在接收緩沖器里。因此降低了主控制器的處理負(fù)載。 濾波器由驗(yàn)收碼寄存器和屏蔽寄存器根據(jù)給定算法來(lái)控制。接收到的數(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ì)被接收。 pelican模式的驗(yàn)收濾波已被擴(kuò)展:4個(gè)8位的驗(yàn)收碼

27、寄存器(acr0,acr1,acr2和 acr3)和驗(yàn)收屏蔽寄存器(amr0,amr1,amr2和amr3)可以用多種方法濾波報(bào)文。報(bào)文 的哪些位用于驗(yàn)收濾波,取決于收到的幀(標(biāo)準(zhǔn)幀或擴(kuò)展幀)和選擇的濾波器模式(單 濾波器或雙濾波器)。對(duì)于不需要經(jīng)過(guò)驗(yàn)收濾波的報(bào)文位(例如報(bào)文組被定義為接受), 驗(yàn)收屏蔽寄存器必須相應(yīng)的位位置上置“1”。 如果報(bào)文不包括數(shù)據(jù)字節(jié)(例如:是一個(gè)遠(yuǎn)程幀或者數(shù)據(jù)長(zhǎng)度碼為零)但是驗(yàn)收濾 波包括數(shù)據(jù)字節(jié),則如果標(biāo)識(shí)符直到rtr位都有效的話,報(bào)文會(huì)被接收。 11 3. can 總線與 rs-232 轉(zhuǎn)換接口電路設(shè)計(jì) 3.1 can 總線總線與與 rs-232 轉(zhuǎn)換轉(zhuǎn)換接口接

28、口電電路路總總體體設(shè)計(jì)設(shè)計(jì) c1+ 1 v+ 2 c1- 3 c2+ 4 c2- 5 v- 6 2cout 7 2cin 8 251out 9 25 1in 10 151 in 11 151out 12 1c in 13 1cout 14 gnd 15 vcc 16 max232 r7 max232 1f 1f 1f gnd 1f gnd 1 6 2 7 3 8 4 9 5 db9 gnd p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst/vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12

29、p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal2 18 xtal1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale/prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89c51 gnd gnd 390 vcc 0.1f 0.1f gnd 24mh z 20pf 20p

30、f gnd 39047k gnd +5v gnd gnd 30p 30p /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 gnd vcc vcc vcc vcc vcc vcc 1k1k1k1k vcc 1k vcc ad0 23 ad1 24 ad2 25 ad3 26 ad4 27 ad5 28 ad6 1 ad7 2 /cs 4 ale 3 /rd 5 /wr 6 clko ut 7 int 16 rst 17 tx0 13 tx1 14 rx0 15 rx1 20 mode 11 vdd1 22 vss1 8 vss2 21 v

31、ss3 15 vdd2 18 vdd3 12 xtal1 3 xtal2 10 sja1000 0.1f txd 1 rxd 4 vref 5 rs 8 gnd 2 canl 6 canh 7 vcc 3 p82c250 a0 8 a1 7 a2 6 a3 5 a4 4 a5 3 a6 2 a7 1 a8 23 a9 22 a10 19 e 18 g 20 w 21 d0 9 d1 10 d2 11 d3 13 d4 14 d5 15 d6 16 d7 17 6116 not d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q

32、5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 74hc373 a1 2 a2 5 a3 8 a4 11 a5 14 a6 17 b1 3 b2 6 b4 12 b5 15 b6 18 b3 9 o1 1 o2 4 o3 7 o4 10 o5 13 o6 16 dip6 vccvcc 1 3 4 5 6 vcc gnd tlp113 1 3 4 5 6 vcc gnd tlp113 390 +5v gnd gnd vcc 390 +5v 1f 圖圖 3-1can 與與 rs-232 接口轉(zhuǎn)換電路接口轉(zhuǎn)換電路 圖 3-1 為 can 總線與 rs-232 接口轉(zhuǎn)換

33、電路圖。整個(gè)轉(zhuǎn)換接口電路包括:主控制模 塊、rs-232 接口轉(zhuǎn)換電路和 can 控制模塊 3 個(gè)主要部分。 12 主控制模塊處理 can 總線以及 rs-232 接口的數(shù)據(jù)通信和控制,利用 at89c51 完成 兩種格式數(shù)據(jù)幀的交換,并對(duì)接口進(jìn)行控制。 rs-232 接口電路由 max232 芯片構(gòu)成,實(shí)現(xiàn)將單片機(jī)串口的 ttl 電平與 rs-232 電 平的相互轉(zhuǎn)換。 can控制器模塊,主要完成can協(xié)議的物理層和數(shù)據(jù)鏈路層協(xié)議的實(shí)現(xiàn)。其中物理 接口采用pca82c250芯片實(shí)現(xiàn)物理層的電平轉(zhuǎn)換和傳輸。can控制器使用sja1000芯片, 實(shí)現(xiàn)數(shù)據(jù)鏈路層協(xié)議。 3.2 主控制模主控制模塊塊

34、電電路路設(shè)計(jì)設(shè)計(jì) p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst/vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal2 18 xtal1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale/prog 30 ea/vpp 31 p0.7 32 p0.6

35、 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89c51 gnd gnd /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 gnd vcc vcc vcc vcc 1k1k1k1k vcc a0 8 a1 7 a2 6 a3 5 a4 4 a5 3 a6 2 a7 1 a8 23 a9 22 a10 19 e 18 g 20 w 21 d0 9 d1 10 d2 11 d3 13 d4 14 d5 15 d6 16 d7 17 6116 not d0 3 q0 2

36、 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 74hc373 a1 2 a2 5 a3 8 a4 11 a5 14 a6 17 b1 3 b2 6 b4 12 b5 15 b6 18 b3 9 o1 1 o2 4 o3 7 o4 10 o5 13 o6 16 dip6 圖圖 3-2 主控制模塊電路圖主控制模塊電路圖 主控制模塊負(fù)責(zé)處理 can 以及 rs-232 接口的數(shù)據(jù)通信與控制,利用 at89c51 完成 兩種格式數(shù)據(jù)幀的交換,并對(duì)接口進(jìn)行控制。如圖 3-

37、2 中所示,rs-232 與 can 的轉(zhuǎn)接板 13 主要實(shí)現(xiàn) rs-232 接口與 can 總線接口之間的數(shù)據(jù)傳輸,其運(yùn)算量不大,因此選用可以 有效降低成本的 at89c51 作為整個(gè)設(shè)計(jì)的主控制器。 at89c51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié) flash 閃速存儲(chǔ)器,1000 次可擦寫(xiě)周期,三級(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 的 工作,但允許 r

38、am、定時(shí)/計(jì)數(shù)器、竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 ram 中的內(nèi)容,但振蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。 at89c51 的電源使用+5v 電源,同時(shí)其 p3.5、p3.4 以及 p1.4p1.5 外接一個(gè) dip6 開(kāi) 關(guān),用于設(shè)置單片機(jī)本身的地址信息。 at89c51 使用的晶振信號(hào)由 sja1000 提供(sja1000 用 24mhz 的片外晶振) , sja1000 的 clkout 引腳接入 mcu 的 xtal1 引腳。 3.2.1 at89c51 與與 6116 電路設(shè)計(jì)電路設(shè)計(jì) 圖圖3-3at89c513-3at89c51與與61166116連

39、接電路圖連接電路圖 由于 can 總線速率與 rs-232 接口速率并不相同,因此設(shè)計(jì)中還增加了片外 ram 芯 片 6116,用作轉(zhuǎn)換雙方的數(shù)據(jù)緩沖區(qū)。設(shè)計(jì)中使用 p2.7 接反向器連接 6116 的片選端, 所以接口轉(zhuǎn)換電路中的片外 ram 的起始地址實(shí)際上應(yīng)為 0x8000。 at89c51 通過(guò)數(shù)據(jù)總線、地址總線及控制總線與存儲(chǔ)器連接,如圖 3-4 所示: 圖圖 3-4 片外存儲(chǔ)器原理框圖片外存儲(chǔ)器原理框圖 本設(shè)計(jì)中選用的是 6116。6116 為 2kx8 位的靜態(tài) ram,其邏輯圖 3-5 如下: at89c 51 存儲(chǔ)器 地址總線 控制總線 數(shù)據(jù)總線 p1.0 1 p1.1 2

40、p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst /vpd 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale /prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35

41、 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89c51 gnd gnd vcc a0 8 a1 7 a2 6 a3 5 a4 4 a5 3 a6 2 a7 1 a8 23 a9 22 a10 19 e 18 g 20 w 21 d0 9 d1 10 d2 11 d3 13 d4 14 d5 15 d6 16 d7 17 6116 not d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 74hc373 14

42、圖圖 3-5 片外片外 ram6116 邏輯圖邏輯圖 其中 a0a10 為 11 根地址線,i/oi/o7 為 8 根數(shù)據(jù)線,/e 為片選端,當(dāng)/e 低電平有 效時(shí)才能選中芯片。/g 為數(shù)據(jù)輸出選通端,/w 為寫(xiě)信號(hào)端。其工作方式見(jiàn)表 3-1: 表表 3-1 片外數(shù)據(jù)存儲(chǔ)器工作方式片外數(shù)據(jù)存儲(chǔ)器工作方式 控制信號(hào) /e/g/w 讀 001 寫(xiě) 010 非選通 1 3.2.2 看門(mén)狗電路設(shè)計(jì)看門(mén)狗電路設(shè)計(jì) 一般有軟件看門(mén)狗和硬件看門(mén)狗兩種。軟件看門(mén)狗不需外接硬件電路,但系統(tǒng)需要 出讓一個(gè)定時(shí)器資源,而且若系統(tǒng)軟件運(yùn)行不正常,可能導(dǎo)致看門(mén)狗系統(tǒng)也癱瘓。硬件 看門(mén)狗是真正意義上的“程序運(yùn)行監(jiān)視器”,

43、如計(jì)數(shù)型的看門(mén)狗電路通常由 555 多諧振蕩器、 計(jì)數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。 所以本設(shè)計(jì)使用帶有 spi 總線接口的 x25045 實(shí)現(xiàn)硬件看門(mén)狗功能。 圖圖 3-6 x25045 芯片圖芯片圖 1x25045 引腳功能 /cs: 片選擇輸入 so: 串行輸出,數(shù)據(jù)由此引腳逐位輸出 si: 串行輸入,數(shù)據(jù)或命令由此引腳逐位寫(xiě)入 x25045 sck: 串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫(xiě)入,下降沿將數(shù)據(jù)輸出 /wp: 寫(xiě)保護(hù)輸入。當(dāng)它低電平時(shí),寫(xiě)操作被禁止 vss: 地 vcc: 電源電壓 reset:復(fù)位輸出 2x25045 的特性 611

44、6 a010 vcc i/o07 /w /g /e gnd s1 /cs 1 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 15 可選時(shí)間的看門(mén)狗定時(shí)器 vcc 的降壓檢測(cè)和復(fù)位控制 5 種標(biāo)準(zhǔn)的開(kāi)始復(fù)位電壓 使用特定的編程順序即可對(duì)低電壓檢測(cè)和復(fù)位開(kāi)始電壓進(jìn)行編程 復(fù)位電壓可低至 vcc=1v 省電特性 在看門(mén)狗打開(kāi)時(shí),電源小于50ua 在看門(mén)狗關(guān)閉時(shí),電源小于 10ua 在讀操作時(shí),電源小于2ma 4k位eeprom 1000000次的擦寫(xiě)周期 具有數(shù)據(jù)的塊保護(hù)功能,可以保護(hù)1/4、1/2或全部的eeprom,當(dāng)然也可以置于不保 護(hù)狀態(tài) 內(nèi)建

45、防誤寫(xiě)措施 用指令允許寫(xiě)操作 寫(xiě)保護(hù)引腳 時(shí)鐘可達(dá)3.3m 短的編程時(shí)間 16字節(jié)的頁(yè)寫(xiě)模式 寫(xiě)時(shí)由器件內(nèi)部自動(dòng)完成 典型的器件寫(xiě)周期為5ms 3x25045功能 如圖3-7所示,x25045將四種功能合于一體,上電復(fù)位控制、看門(mén)狗定時(shí)器、降壓管 理以及具有塊保護(hù)功能的串行eeprom,它有助于簡(jiǎn)化轉(zhuǎn)換接口的設(shè)計(jì),減少印制板的 占用面積,提高可靠行。 圖圖3-73-7 x25045x25045內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)圖 該芯片內(nèi)的串行 eeprom 具有塊鎖保護(hù) coms 串行 eeprom,它被組織成 8 位的 結(jié)構(gòu),它由一個(gè)由四線構(gòu)成的 spi 總線方式進(jìn)行操作,其擦寫(xiě)周期至少有 1000000

46、 次,并 且寫(xiě)好的數(shù)據(jù)能夠保存 100 年。 x25045 在讀寫(xiě)操作之前,需要先向它發(fā)出指令,指令名及指令格式如表 3-2 所示。 16 表表 3-2x25045 讀寫(xiě)操作指令表讀寫(xiě)操作指令表 指令名指令格式操作 wren00000110設(shè)置寫(xiě)使能鎖存器(允許寫(xiě)操作) wrdi00000100復(fù)位寫(xiě)使能鎖存器(禁止寫(xiě)操作) rdsr00000101讀狀態(tài)寄存器 wrsr00000001寫(xiě)狀態(tài)寄存器 read0000a8011把開(kāi)始于所選地址的寄存器中的數(shù)據(jù)讀出 write0000a8010把數(shù)據(jù)寫(xiě)入開(kāi)始所選地址的寄存器 4看門(mén)狗芯片 x25045 與 at89c51 接口電路設(shè)計(jì) /cs 1

47、 so 2 /wp 3 gnd 4 si 5 sck 6 rst 7 vcc 8 x25045 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst /vp d 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28

48、 ps en 29 ale /p rog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 89c51 gnd vcc vcc vcc gnd 1k 1k 1k1k vcc 圖圖 3-8 x25045 與與 at89c51 接口電路圖接口電路圖 如圖 3-8 所示,x25045 的 4 個(gè)主要引腳/cs、sck、si、so 分別對(duì)應(yīng)連接 at89c51 的 p1.0p1.3 腳,這些引腳還應(yīng)該連上拉電阻。/wp 接高電平,使 x25045 始終保持寫(xiě)保 護(hù)輸入狀態(tài)。 x2504

49、5 芯片內(nèi)包含有一個(gè)看門(mén)狗定時(shí)器,可通過(guò)軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門(mén) 狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒(méi)有總線活動(dòng),則 x25045 將從 reset 輸出一個(gè)高電平信號(hào)給 at89c51,使其復(fù)位。 3.3 at89c51 與與 rs-232 轉(zhuǎn)換轉(zhuǎn)換接口接口電電路路設(shè)計(jì)設(shè)計(jì) 3.3.1 rs-232-c 標(biāo)準(zhǔn)分析標(biāo)準(zhǔn)分析 rs-232c 標(biāo)準(zhǔn)(協(xié)議)的全稱(chēng)是 eia-rs-232c 標(biāo)準(zhǔn),其中 eia(electronic industry association)代表美國(guó)電子工業(yè)協(xié)會(huì),rs(ecommeded standard)代表推薦標(biāo)準(zhǔn),232 是標(biāo) 識(shí)號(hào),c 代表 rs232 的最新一次修

50、改(1969) ,在這之前,有 rs232b、rs232a。 。它規(guī) 定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程。常用物理標(biāo)準(zhǔn)還有 eia�;rs- 232-c、eia�;rs-422-a、eia�;rs-423a、eia�;rs-485。這里只介紹 eia�;rs-232-c(簡(jiǎn)稱(chēng) 232,rs232) 。例如,目前在 ibm pc 機(jī)上的 com1、com2 接口,就是 rs-232c 接口。 1rs-232 電氣特性 eia-rs-232c 對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。 在 txd 和 rxd 上:邏輯 1(mark)=-3v-15v 17 邏

51、輯 0(space)=+315v 在 rts、cts、dsr、dtr 和 dcd 等控制線上: 信號(hào)有效(接通,on 狀態(tài),正電壓)+3v+15v 信號(hào)無(wú)效(斷開(kāi),off 狀態(tài),負(fù)電壓)=-3v-15v 以上規(guī)定說(shuō)明了 rs-323c 標(biāo)準(zhǔn)對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(信息碼):邏輯“1” (mark)的電平低于-3v,邏輯“0”(space)的電平高于+3v;對(duì)于控制信號(hào);接通狀 態(tài)(on)即信號(hào)有效的電平高于+3v,斷開(kāi)狀態(tài)(off)即信號(hào)無(wú)效的電平低于-3v,也就 是當(dāng)傳輸電平的絕對(duì)值大于 3v 時(shí),電路可以有效地檢查出來(lái),介于-3+3v 之間的電壓 無(wú)意義,低于-15v 或高于+15v

52、的電壓也認(rèn)為無(wú)意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在 (315)v 之間。 eia-rs-232c 與 ttl 轉(zhuǎn)換:eia-rs-232c 是用正負(fù)電壓來(lái)表示邏輯狀態(tài),與 ttl 以 高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的 ttl 器件連 接,必須在 eia-rs-232c 與 ttl 電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的 方法可用分立元件,也可用集成電路芯片。本文采用集成電路芯片 max232 2rs-232 機(jī)械特性: 由于 rs-232c 并未定義連接器的物理特性,因此,出現(xiàn)了 db-25、db-15 和 db-9 各 種類(lèi)型的連接器,其引腳的定義

53、也各不相同。下面僅介紹 db-9 連接器。 在 at 機(jī)及以后,不支持 20ma 電流環(huán)接口,使用 db-9 連接器,作為提供多功能 i/o 卡或主板上 com1 和 com2 兩個(gè)串行接口的連接器。它只提供異步通信的 9 個(gè)信號(hào)。 在通信速率低于 20kb/s 時(shí),rs-232c 所直接連接的最大物理距離為 15m(50 英尺) 。 rs-232c 標(biāo)準(zhǔn)規(guī)定,若不使用 modem,在碼元畸變小于 4%的情況下,dte 和 dce 之間最大傳輸距離為 15m(50 英尺) 。可見(jiàn)這個(gè)最大的距離是在碼元畸變小于 4%的 前提下給出的。為了保證碼元畸變小于 4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)

54、動(dòng)器 的負(fù)載電容應(yīng)小于 2500pf 3rs-232c 接口信號(hào) rs-232c 標(biāo)準(zhǔn)接口有 25 條線,4 條數(shù)據(jù)線、11 條控制線、3 條定時(shí)線、7 條備用和未 定義線,常用的只有 9 根,它們是: (1)聯(lián)絡(luò)控制信號(hào)線 數(shù)據(jù)裝置準(zhǔn)備好(data set ready-dsr)有效時(shí)(on)狀態(tài),表明modem處于可 以使用的狀態(tài)。 數(shù)據(jù)終端準(zhǔn)備好(data set ready-dtr)有效時(shí)(on)狀態(tài),表明數(shù)據(jù)終端可以使 用。 請(qǐng)求發(fā)送(request to send-rts)用來(lái)表示dte請(qǐng)求dce發(fā)送數(shù)據(jù),即當(dāng)終端要發(fā) 送數(shù)據(jù)時(shí),使該信號(hào)有效(on狀態(tài)) ,向modem請(qǐng)求發(fā)送。它用

55、來(lái)控制modem是否要 進(jìn)入發(fā)送狀態(tài)。 允許發(fā)送(clear to send-cts)用來(lái)表示dce準(zhǔn)備好接收dte發(fā)來(lái)的數(shù)據(jù),是對(duì) 請(qǐng)求發(fā)送信號(hào)rts的響應(yīng)信號(hào)。當(dāng)modem已準(zhǔn)備好接收終端傳來(lái)的數(shù)據(jù),并向前發(fā)送時(shí), 使該信號(hào)有效,通知終端開(kāi)始沿發(fā)送數(shù)據(jù)線txd發(fā)送數(shù)據(jù)。 18 接收線信號(hào)檢出(received line detection-rlsd)用來(lái)表示dce已接通通信鏈路, 告知dte準(zhǔn)備接收數(shù)據(jù)。當(dāng)本地的modem收到由通信鏈路另一端(遠(yuǎn)地)的modem送 來(lái)的載波信號(hào)時(shí),使rlsd信號(hào)有效,通知終端準(zhǔn)備接收,并且由modem將接收下來(lái)的 載波信號(hào)解調(diào)成數(shù)字兩數(shù)據(jù)后,沿接收數(shù)據(jù)線r

56、xd送到終端。此線也叫做數(shù)據(jù)載波檢出 (data carrier dectection-dcd)線。 振鈴指示(ringing-ri)當(dāng)modem收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào) 有效(on狀態(tài)) ,通知終端,已被呼叫。 (2)數(shù)據(jù)發(fā)送與接收線 發(fā)送數(shù)據(jù)(transmitted data-txd)通過(guò)txd終端將串行數(shù)據(jù)發(fā)送到 modem,(dtedce)。 接收數(shù)據(jù)(received data-rxd)通過(guò)rxd線終端接收從modem發(fā)來(lái)的串行數(shù)據(jù), (dcedte)。 (3)地線 3.3.2 rs-232 與與 at89c51 接口電路設(shè)計(jì)接口電路設(shè)計(jì) 1max232 芯片引腳功能

57、 max232 芯片是美信公司專(zhuān)門(mén)為電腦的 rs-232 標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v 單 電源供電。max232 芯片功能包括:電荷泵電路、數(shù)據(jù)轉(zhuǎn)換通道和供電。max232 的芯 片圖如圖 3-9 所示: 圖圖 3-9 max232 芯片引腳圖芯片引腳圖 電荷泵電路。由 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

58、腳(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 輸出。而我們用來(lái)作寫(xiě)頻器就只需一個(gè)通道就行啦。所以一通道的 7、8、9、10 腳就全空腳,我們只用了第 二通道的 4 個(gè)管腳。 供電電源。15 腳 dng、16 腳 vcc(+5v)

59、。 2rs-232 與 at89c51 接口電路設(shè)計(jì) 19 c1+ 1 v+ 2 c1- 3 c2+ 4 c2- 5 v- 6 2cout 7 2cin 8 251out 9 25 1in 10 151 in 11 151out 12 1c in 13 1cout 14 gnd 15 vcc 16 max232 max232 1f 1f 1f gnd 1f gnd 1 6 2 7 3 8 4 9 5 db9 gnd vccvcc p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst /vpd 9 p3.0/rxd 10 p3.1

60、/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale /prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89c51 gnd vcc 1f 圖圖 3-10 at

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論