新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > CAN總線分布式系統(tǒng)適配卡和控制單元設計

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

作者: 時間:2012-02-29 來源:網(wǎng)絡 收藏
1 分布式系統(tǒng)的結構
系統(tǒng)結構如圖1所示。本系統(tǒng)由上位監(jiān)控計算機、三部分構成。其中上位監(jiān)控計算機采用IBM-PC兼容機,主要負責對系統(tǒng)數(shù)據(jù)的接收與管理、控制命令的發(fā)送以及各動態(tài)參數(shù)和設備狀態(tài)實時顯示。以單片機為核心,主要負責對現(xiàn)場環(huán)境參數(shù)和設備狀態(tài)進行檢測,對采集來的數(shù)據(jù)進行處理,并對進行操作和控制。,可使PC機方便地連接到CAN總線上。它內(nèi)嵌微處理器、CAN總線控制器、CAN總線收發(fā)器和。作為PC機與CAN總線的數(shù)據(jù)共享區(qū),通過設備將其映射成PC機的物理內(nèi)存,實現(xiàn)CAN與PC機的高速數(shù)據(jù)交換。CAN總線適配卡上帶有光電隔離,可增強系統(tǒng)在惡劣環(huán)境中的抗干擾能力。總線兩端各有1個電阻R(約120Ω)起總線阻抗匹配作用。

2 CAN適配卡的設計
2.1 硬件設計

CAN適配卡的硬件組成框圖如圖2所示,由ISA接口、、CPU、CAN通信控制器、CAN總線接口82C250等組成。由于帶有片上CAN控制器的單片機都含較多的I/O線、定時/計數(shù)器、A/D等功能,往往較復雜,因此微處理器使用價廉的AT89C51單片機。為了進一步提高抗干擾措施,在2個CAN器件之間使用了由高速隔離器件6N137構成的隔離電路。光耦兩側應采用DC-DC隔離電源。硬件電路中使用82C250的目的是為了增大通信距離。要實現(xiàn)PC機和CAN控制器之間的數(shù)據(jù)傳送,必須在PC機和適配卡上的MPU之間建立起雙向的數(shù)據(jù)交換通道。通過ISA總線實現(xiàn)單片機系統(tǒng)與主機之間的數(shù)據(jù)交換有多種實現(xiàn)方法。本適配卡采用集成雙口RAM實現(xiàn)數(shù)據(jù)交換。由于CAN信號傳輸采用短幀結構(8字節(jié)數(shù)據(jù)),雙口RAM的容量要求并不大,本卡選用2K×8位的帶中斷請求信號INT和忙信號BUSY的IDT7132。具體的連接電路如圖3、圖4所示。上位PC機對雙口RAM的尋址方式采用I/O尋址方式,使用的控制線為IOW和IOR。為避免產(chǎn)生讀寫錯誤,使用雙口RAM的關鍵是處理好爭用現(xiàn)象。IDT7132提供了中斷判優(yōu)和硬件判優(yōu)兩種方式。當兩端口爭用同一地址單元時,由片內(nèi)硬件電路,根據(jù)兩邊的地址、片選、讀寫信號到達先后順序,裁決哪個端口有使用權。如左端口優(yōu)先使用,則自動將右端口的BUSYR信號拉為低電平,通知右側暫停讀寫操作。在本適配卡中,由于8031沒有READY信號,可以將此信號接至8031的P1.0上。當8031發(fā)出讀寫IDT7132命令時,根據(jù)P1.0口的值就可判斷對IDT7132讀寫是否存在沖突。當P1.0的值為0時,存在沖突,必須重發(fā)讀寫IDT7132的命令。由于ISA總線既沒有READY信號,也沒有通用的I/O引腳,因此將BUSYL信號通過三態(tài)門接至ISA數(shù)據(jù)線的最低位D0。用ISA總線的一個空閑I/O端口打開三態(tài)門,通過D0讀取BUSYL的狀態(tài)。

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉