<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          2 CAN適配卡的設(shè)計(jì)
          2.1 硬件設(shè)計(jì)

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

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();