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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CAN總線適配卡的功能特點及如何實現軟硬件設計

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

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

1 CAN總線簡介

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

CAN總線具有以下突出特點:

● 能夠以多主節(jié)點方式工作,網絡上任一節(jié)點均可設成主節(jié)點以其它節(jié)點主動發(fā)送信息。

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

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

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

●理論上,CAN總線的網上節(jié)點數不受限制,它有2032種不同的報文標識符,但具體數量取決于物理層的承受能力,通常CAN總線上的節(jié)點數可達110個。CAN總線系統一般采用總線式網絡拓撲結構,其優(yōu)點是結構簡單,成本低,系統可靠性高。其總體模式如圖1所示。

o4YBAGCly9SABS3rAAA_zIm5Z_Q353.png

2 CAN總線適配卡的功能特點

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

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

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

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

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

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

3 CAN總線適配卡的硬件設計

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

pIYBAGCly82AEUKrAABt7fukG-8263.png

3.1 雙口RAM及其控制電路

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

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

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

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公司的產品,它與MCS51系列CPU完全兼容,并帶有8k字節(jié)的在系統可編程FLASH MEMORY(最多可以擦寫100次),同時帶有256B的片內RAM,因此一般不需要擴展片外ROM。

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

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

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

3.3 CAN通信控制電路

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

o4YBAGCly8CAchAIAABhaC0Zjng024.png

4 適配卡的軟件設計

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

o4YBAGCly7qAXWV2AACzzcLhTBw162.png

責任編輯:gt

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

    關注

    112

    文章

    16105

    瀏覽量

    177081
  • CAN總線
    +關注

    關注

    145

    文章

    1911

    瀏覽量

    130570
  • 通信網絡
    +關注

    關注

    21

    文章

    2023

    瀏覽量

    51922
收藏 人收藏

    評論

    相關推薦

    基于VxWorks操作系統實現PC/104-CAN適配卡的驅動系統設計

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

    求一種CAN適配卡驅動程序的設計方案

    CAN總線技術CAN適配卡驅動程序的設計與實現基于WinCE環(huán)境的CAN
    發(fā)表于 04-23 06:43

    如何利用VxWorks操作系統實現PC/104-CAN適配卡的驅動系統設計

    求一種基于VxWorks操作系統實現PC/104-CAN適配卡的驅動系統設計
    發(fā)表于 04-28 06:17

    CAN總線分布式系統適配卡和控制單元設計

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

    基于USB的CAN適配卡的設計與實現

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

    基于CP2102高速USB2.0-CAN適配卡的設計

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

    基于WinCE環(huán)境的CAN適配卡驅動程序的設計與實現

    基于WinCE環(huán)境的CAN適配卡驅動程序的設計與實現 WinCE是一種為多種嵌入式系統和產品設計的緊湊、高效、可升級的操作系統,WinCE 采用標準模式,其最主要的特征:為有
    發(fā)表于 10-26 09:04 ?1028次閱讀

    LSI推出6Gb/s SAS主機總線適配卡

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

    基于PIC單片機的RS-232轉CAN通信適配卡設計

    基于PIC單片機的RS-232轉CAN通信適配卡設計 CAN總線-控制器局部網(CAN)國際標準(ISO11898)。
    發(fā)表于 01-27 16:24 ?1457次閱讀
    基于PIC單片機的RS-232轉<b class='flag-5'>CAN</b>通信<b class='flag-5'>適配卡</b>設計

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

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

    關于PCI9052在多功能CAN適配卡中的應用研究

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

    CAN總線PC適配卡設計

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

    基于WinCE環(huán)境的CAN適配卡驅動程序的設計與實現

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

    基于單片機實現總線控制智能數據采集模塊的軟硬件設計

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

    基于軟件模擬的SPI端口CAN控制軟硬件設計

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