0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN總線適配卡的功能特點(diǎn)及如何實(shí)現(xiàn)軟硬件設(shè)計(jì)

電子設(shè)計(jì) ? 來源:計(jì)算機(jī)與數(shù)字工程 ? 作者:汪建平;陶春;周偉 ? 2021-05-20 10:37 ? 次閱讀

作者:汪建平;陶春;周偉

1 CAN總線簡介

CAN(Controller Area Network)總線屬于現(xiàn)場總線的范疇,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。CAN協(xié)議目前已納入ISO國際標(biāo)準(zhǔn)(ISO11898),它分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層,其中物理層和數(shù)據(jù)鏈路層協(xié)議已經(jīng)集成在芯片中,可通過硬件自動完成數(shù)據(jù)的成幀與發(fā)送和接收,從而大大減少軟件的工作量,因此,特別適用于工業(yè)自動化領(lǐng)域,尤其是那些強(qiáng)調(diào)低層監(jiān)測與控制且要求可靠性高、實(shí)時(shí)性好的惡劣條件下的工業(yè)現(xiàn)場使用。

CAN總線具有以下突出特點(diǎn):

● 能夠以多主節(jié)點(diǎn)方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可設(shè)成主節(jié)點(diǎn)以其它節(jié)點(diǎn)主動發(fā)送信息

●報(bào)文傳輸不含目標(biāo)地址,它以全網(wǎng)廣播為基礎(chǔ),各個(gè)接收站可根據(jù)報(bào)文中反映的數(shù)據(jù)性質(zhì)標(biāo)識符來過濾報(bào)文以決定是否接收。同時(shí)可通過報(bào)文標(biāo)識符將報(bào)文設(shè)定為不同的發(fā)送優(yōu)先級,以滿足不同的實(shí)時(shí)要求。

●非破壞性總線仲裁和錯(cuò)誤界定,利用現(xiàn)有的產(chǎn)品,可由控制器自動解決總線沖突和出錯(cuò)界定,并對用戶完全透明,同時(shí)還能區(qū)分暫時(shí)和永久故障,并可自動關(guān)閉故障節(jié)點(diǎn)。

通信距離可達(dá)10km(速率5kb/s),速度可達(dá)1MB/s(距離40m以內(nèi))。

●理論上,CAN總線的網(wǎng)上節(jié)點(diǎn)數(shù)不受限制,它有2032種不同的報(bào)文標(biāo)識符,但具體數(shù)量取決于物理層的承受能力,通常CAN總線上的節(jié)點(diǎn)數(shù)可達(dá)110個(gè)。CAN總線系統(tǒng)一般采用總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其優(yōu)點(diǎn)是結(jié)構(gòu)簡單,成本低,系統(tǒng)可靠性高。其總體模式如圖1所示。

o4YBAGCly9SABS3rAAA_zIm5Z_Q353.png

2 CAN總線適配卡的功能特點(diǎn)

CAN總線通信適配卡是插在PC機(jī)ISA插槽內(nèi)的智能通訊卡,它可使PC機(jī)方便地連接到CAN總線上,其特點(diǎn)如下:

(1)采用高性能的8位微處理器89C52(12MHz),可減輕PC主機(jī)的通信負(fù)擔(dān),而且可以運(yùn)行復(fù)雜的用戶通信任務(wù)。 (2)卡上帶有l(wèi)kB的高速雙口RAM存儲器,可直接映射到主機(jī)內(nèi)存空間以實(shí)現(xiàn)CAN總線與主機(jī)PC的高速數(shù)據(jù)交換,并可設(shè)置雙口RAM在ISA總線中的基地址。

(3)采用16MHz CAN控制器SJAl000時(shí),其通訊速率可高達(dá)1Mbps。

(4)中斷申請電路能夠保證PC機(jī)和適配卡上的微處理器實(shí)時(shí)處理對方的處理要求。

(5)適配卡上帶有光電隔離,可保護(hù)PC機(jī)避免由于地環(huán)流而造成的損壞,并可增強(qiáng)系統(tǒng)在惡劣環(huán)境中使用的可靠性。

(6)為方便系統(tǒng)調(diào)試,可用LED指示系統(tǒng)狀態(tài)和CAN的接收和發(fā)送狀態(tài)。

3 CAN總線適配卡的硬件設(shè)計(jì)

CAN通信適配卡由雙口RAM電路、微控制器電路、CAN通信控制電路三部分組成,其結(jié)構(gòu)框圖如圖2所示。

pIYBAGCly82AEUKrAABt7fukG-8263.png

3.1 雙口RAM及其控制電路

雙口RAM是一種性能優(yōu)越的快速通信器件,它能提供兩種完全獨(dú)立的端口,每個(gè)端口都有完整的地址、數(shù)據(jù)和控制線。對于器件兩邊的使用者CPU而言,它與一般的RAM無多大區(qū)別,只有在兩邊同時(shí)讀寫同一地址單元時(shí),才會出現(xiàn)競爭現(xiàn)象。在CAN通信適配卡中,通常利用雙口RAM IDT7130來建立雙向數(shù)據(jù)交換通道,以實(shí)現(xiàn)PC機(jī)和CAN控制器之間的數(shù)據(jù)傳送。

PC機(jī)與擴(kuò)展存儲器的接口有兩種方法:一種是把雙口RAM當(dāng)成外部設(shè)備,使用端口I/O指令進(jìn)行訪問,這種方法一次只能傳送一個(gè)字節(jié)(或字),因而傳送速度較慢;另一種是內(nèi)存映像法,即把雙口RAM地址配置于PC機(jī)主存儲器的高端(一般為C0000H-DFFFFH),以使PC機(jī)像訪問主存儲器一樣訪問雙口RAM,同時(shí)使所有能夠訪問主存儲器的指令也可以以同樣的方式訪問雙口RAM。內(nèi)存映像法可以以字符塊為單位進(jìn)行傳送,因而可實(shí)現(xiàn)快速訪問雙口RAM。正是基于這些優(yōu)點(diǎn),在本適配卡設(shè)計(jì)中采用了內(nèi)存映射的存儲器尋址方式。

圖3為雙口RAM的控制電路,其訪問原理為:ISA總線共有24條地址線,可尋址16MB存儲空間。地址線A12-A19接到比較器74LS688的P0-P7,比較器的Q0-Q5接一個(gè)六位的撥碼開關(guān),Q6、Q7接高電平。74LS688的輸出接可編程邏輯器件GALl6V8。這樣,當(dāng)P0-7=Q0-7時(shí),74LS688的輸出為低電平,地址選擇有效。另外,通過設(shè)置撥碼開關(guān),用戶可以選擇雙口RAM在PC機(jī)存儲器中的初始地址。如置撥碼開關(guān)為Q0-5=001011,則雙口RAM在ISA總線的初始地址為D0000H。這樣,通過可編程邏輯器件GALl6V8便可將1SA總線的各種信號進(jìn)行邏輯組合,以形成三個(gè)控制信號,從而實(shí)現(xiàn)PC機(jī)對雙口RAM的訪問。這三個(gè)信號為:

o4YBAGCly8eARnIMAACfQ9nO8p8149.png

P19=P1*P2*P3*P6*P7 RAM片選信號

P18=P1*P2*P3*P6*P7*P5 RAM讀信號

P17=P1*P2*P3*P6*P7*P4 RAM寫信號

3.2微控制器電路

微控制器89C52是ATMEL公司的產(chǎn)品,它與MCS51系列CPU完全兼容,并帶有8k字節(jié)的在系統(tǒng)可編程FLASH MEMORY(最多可以擦寫100次),同時(shí)帶有256B的片內(nèi)RAM,因此一般不需要擴(kuò)展片外ROM。

當(dāng)89C52與CAN總線通信時(shí),通常需要較大的數(shù)據(jù)緩沖區(qū),因此該系統(tǒng)中擴(kuò)展了8kB的片外RAM來滿足通信的需要。

在該適配卡中,有一些數(shù)據(jù)(如下層CAN節(jié)點(diǎn)的數(shù)目、CAN通信的初始化參數(shù)等)在適配卡斷電以后仍需要保存,因此應(yīng)擴(kuò)展一片EEPROM。本卡采用的是一個(gè)8k X 8位的非易失性存儲器2864,它的快速讀時(shí)間最大為250ns,存儲的數(shù)據(jù)可以保存10年。如果程序在運(yùn)行過程中需要對適配卡的通信參數(shù)進(jìn)行重新配置,可通過調(diào)用PC機(jī)對CAN適配卡參數(shù)配置子程序來完成,并可在設(shè)置成功的同時(shí)將相應(yīng)的參數(shù)存入2864,以備下次適配卡啟動時(shí)調(diào)用。

考慮到電路調(diào)試和系統(tǒng)故障的處理,本卡設(shè)計(jì)了三種復(fù)位方式。其中上電復(fù)位方式為在PC機(jī)通電時(shí),使CAN適配器也同時(shí)復(fù)位;在調(diào)試出現(xiàn)問題時(shí)可通過手動復(fù)位鍵復(fù)位,以便解決調(diào)試中出現(xiàn)的問題;第三種是軟件復(fù)位,該方式可通過調(diào)用PC機(jī)管理程序中的初始化模塊并通過軟件指令對CAN適配卡進(jìn)行復(fù)位。

3.3 CAN通信控制電路

CAN通信控制器選用PHILIPS公司的sJAl000,它具有完成高性能通信協(xié)議所要求的全部必要特征,支持CAN協(xié)議約定的4種不同幀格式(即數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和超載幀),具有簡單總線連接的SJAl000可完成物理層和數(shù)據(jù)鏈路層的所有功能,并在與CPU連接時(shí)可確保SJAl000以存儲器映像的外圍設(shè)備出現(xiàn)。為加強(qiáng)CAN總線的差動發(fā)送和接收能力,該電路采用了CAN總線收發(fā)接口電路82C250。82C250的引腳8允許選擇高速、斜率控制和待機(jī)三種不同的工作方式,并可通過設(shè)置撥碼開關(guān)切換不同的工作方式。在SJAl000與82C250之間接入光電耦合器可增強(qiáng)系統(tǒng)的抗干擾能力,光耦可采用高速光耦6N137,光耦兩側(cè)應(yīng)采用5V的DC-DC隔離電源。圖4所示是一種CAN通信接口電路。

o4YBAGCly8CAchAIAABhaC0Zjng024.png

4 適配卡的軟件設(shè)計(jì)

適配卡主要承擔(dān)的是計(jì)算機(jī)和CAN節(jié)點(diǎn)之間的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),因而其軟件設(shè)計(jì)也包括兩部分:其一是PC機(jī)端的應(yīng)用程序,用于負(fù)責(zé)完成PC機(jī)和雙口RAM的通信。實(shí)際上,運(yùn)行時(shí)需要開發(fā)虛擬設(shè)備驅(qū)動程序(VxD)來完成對雙口RAM的讀寫、對雙口RAM中斷的處理以及和應(yīng)用程序的通信。其二是卡上單片機(jī)端的程序設(shè)計(jì),該程序采用FranklinC51編寫,可完成單片機(jī)與雙口RAM以及與CAN控制器之間的通信。圖5為該適配卡的簡化程序流程圖。

o4YBAGCly7qAXWV2AACzzcLhTBw162.png

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16037

    瀏覽量

    176678
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1908

    瀏覽量

    130503
  • 通信網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    21

    文章

    2016

    瀏覽量

    51890
收藏 人收藏

    評論

    相關(guān)推薦

    基于VxWorks操作系統(tǒng)實(shí)現(xiàn)PC/104-CAN適配卡的驅(qū)動系統(tǒng)設(shè)計(jì)

    PC/104-CAN適配卡主要由CAN控制器(SJA1000)、光電隔離(6N137),收發(fā)驅(qū)動器(82C250)及譯碼電路組成。編程主要了解的是控制器SJA1000。CAN
    的頭像 發(fā)表于 09-08 17:51 ?3597次閱讀
    基于VxWorks操作系統(tǒng)<b class='flag-5'>實(shí)現(xiàn)</b>PC/104-<b class='flag-5'>CAN</b><b class='flag-5'>適配卡</b>的驅(qū)動系統(tǒng)設(shè)計(jì)

    求一種CAN適配卡驅(qū)動程序的設(shè)計(jì)方案

    CAN總線技術(shù)CAN適配卡驅(qū)動程序的設(shè)計(jì)與實(shí)現(xiàn)基于WinCE環(huán)境的CAN
    發(fā)表于 04-23 06:43

    如何利用VxWorks操作系統(tǒng)實(shí)現(xiàn)PC/104-CAN適配卡的驅(qū)動系統(tǒng)設(shè)計(jì)

    求一種基于VxWorks操作系統(tǒng)實(shí)現(xiàn)PC/104-CAN適配卡的驅(qū)動系統(tǒng)設(shè)計(jì)
    發(fā)表于 04-28 06:17

    CAN總線分布式系統(tǒng)適配卡和控制單元設(shè)計(jì)

    介紹CAN總線分布式系統(tǒng)中適配卡和控制單元的硬件組成及軟件的設(shè)計(jì)方法, 給出硬件原理圖;詳細(xì)分析SJA1000的初始化方法、驗(yàn)收濾波器的原理
    發(fā)表于 04-08 09:51 ?27次下載

    基于USB的CAN適配卡的設(shè)計(jì)與實(shí)現(xiàn)

    本文論述了CAN 總線系統(tǒng)中CAN 適配卡的重要作用,在分析其他CAN 適配卡
    發(fā)表于 08-05 09:16 ?16次下載

    基于CP2102高速USB2.0-CAN適配卡的設(shè)計(jì)

    基于CP2102高速USB2.0-CAN適配卡的設(shè)計(jì) 基于橋接芯片CP2102,設(shè)計(jì)了USB2.0-CAN適配卡。系統(tǒng)采用USB和CAN
    發(fā)表于 04-22 18:34 ?3333次閱讀
    基于CP2102高速USB2.0-<b class='flag-5'>CAN</b><b class='flag-5'>適配卡</b>的設(shè)計(jì)

    基于WinCE環(huán)境的CAN適配卡驅(qū)動程序的設(shè)計(jì)與實(shí)現(xiàn)

    基于WinCE環(huán)境的CAN適配卡驅(qū)動程序的設(shè)計(jì)與實(shí)現(xiàn) WinCE是一種為多種嵌入式系統(tǒng)和產(chǎn)品設(shè)計(jì)的緊湊、高效、可升級的操作系統(tǒng),WinCE 采用標(biāo)準(zhǔn)模式,其最主要的特征:為有
    發(fā)表于 10-26 09:04 ?1016次閱讀

    LSI推出6Gb/s SAS主機(jī)總線適配卡

    LSI推出6Gb/s SAS主機(jī)總線適配卡 LSI公司推出采用6Gb/s SAS技術(shù)的SATA+SAS主機(jī)總線適配卡(HBA)──LSI SAS 9200系列產(chǎn)品。LSI SAS 9
    發(fā)表于 11-04 15:33 ?764次閱讀

    基于PIC單片機(jī)的RS-232轉(zhuǎn)CAN通信適配卡設(shè)計(jì)

    基于PIC單片機(jī)的RS-232轉(zhuǎn)CAN通信適配卡設(shè)計(jì) CAN總線-控制器局部網(wǎng)(CAN)國際標(biāo)準(zhǔn)(ISO11898)。
    發(fā)表于 01-27 16:24 ?1446次閱讀
    基于PIC單片機(jī)的RS-232轉(zhuǎn)<b class='flag-5'>CAN</b>通信<b class='flag-5'>適配卡</b>設(shè)計(jì)

    發(fā)電機(jī)狀態(tài)監(jiān)測儀中CAN適配卡的設(shè)計(jì)方案

    發(fā)電機(jī)狀態(tài)監(jiān)測儀中CAN適配卡的設(shè)計(jì)方案 摘要:文中介紹了發(fā)電機(jī)狀態(tài)監(jiān)測儀中CAN智能適配卡功能
    發(fā)表于 03-03 19:37 ?744次閱讀
    發(fā)電機(jī)狀態(tài)監(jiān)測儀中<b class='flag-5'>CAN</b><b class='flag-5'>適配卡</b>的設(shè)計(jì)方案

    關(guān)于PCI9052在多功能CAN適配卡中的應(yīng)用研究

    關(guān)于PCI9052在多功能CAN適配卡中的應(yīng)用研究 0 概述PCI總線是一種獨(dú)立于CPU的局部總線,實(shí)
    發(fā)表于 04-08 15:02 ?1098次閱讀
    關(guān)于PCI9052在多<b class='flag-5'>功能</b><b class='flag-5'>CAN</b><b class='flag-5'>適配卡</b>中的應(yīng)用研究

    CAN總線PC適配卡設(shè)計(jì)

    本文首先介紹PCI總線控制器PCI9052與CAN總線通信控制器SJA1000的工作原理,并且介紹了PCI總線CAN
    發(fā)表于 09-23 17:34 ?2048次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>PC<b class='flag-5'>適配卡</b>設(shè)計(jì)

    基于WinCE環(huán)境的CAN適配卡驅(qū)動程序的設(shè)計(jì)與實(shí)現(xiàn)

    本文簡要介紹了嵌入式實(shí)時(shí)操作系統(tǒng)WinCE環(huán)境下驅(qū)動程序的設(shè)計(jì)原理和CAN總線技術(shù)并詳細(xì)分析了依托PC/104總線CAN適配卡底層驅(qū)動程序
    發(fā)表于 03-29 14:25 ?3次下載

    基于單片機(jī)實(shí)現(xiàn)總線控制智能數(shù)據(jù)采集模塊的軟硬件設(shè)計(jì)

    軟硬件設(shè)計(jì),該模塊可以實(shí)現(xiàn)控制現(xiàn)場的數(shù)字、模擬信號采集,現(xiàn)場數(shù)據(jù)預(yù)處理,數(shù)據(jù)傳送以及與監(jiān)控計(jì)算機(jī)通訊等功能
    的頭像 發(fā)表于 10-31 07:51 ?3150次閱讀
    基于單片機(jī)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>總線</b>控制智能數(shù)據(jù)采集模塊的<b class='flag-5'>軟硬件</b>設(shè)計(jì)

    基于軟件模擬的SPI端口CAN控制軟硬件設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于軟件模擬的SPI端口CAN控制軟硬件設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-13 11:38 ?0次下載
    基于軟件模擬的SPI端口<b class='flag-5'>CAN</b>控制<b class='flag-5'>卡</b>的<b class='flag-5'>軟硬件</b>設(shè)計(jì)