1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 基于ADμC812的CAN總線智能節(jié)點的設(shè)計

        時間:2024-08-01 06:18:40 理工畢業(yè)論文 我要投稿
        • 相關(guān)推薦

        基于ADμC812的CAN總線智能節(jié)點的設(shè)計

        摘要:介紹了一種用單片機ADμC812、CAN總線控制器SJA1000和CAN總線驅(qū)動器POA82C250組成的CAN總線智能節(jié)點的設(shè)計方案,給出了該節(jié)點的硬件結(jié)構(gòu)和軟件設(shè)計方法,同時介紹了CAN總線的主要特點。

        1 引言

        CAN(Controller Area Network)總線協(xié)議最初是以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)的,它是一種支持分布式實時控制系統(tǒng)的串行通信局域網(wǎng)。目前,CAN總線以其高性能、高可靠性、實時性等優(yōu)點,而被廣泛應(yīng)用于控制系統(tǒng)中的檢測和執(zhí)行機構(gòu)之間的數(shù)據(jù)通信中。CAN總線具有以下一些技術(shù)特性:

        ●多主方式工作,采用非破壞性的基于優(yōu)先權(quán)的總線仲裁技術(shù);

        ●借助接收濾波可實現(xiàn)多地址的幀傳送;

        ●數(shù)據(jù)采用短幀結(jié)構(gòu),抗干擾性強,數(shù)據(jù)幀的信息CRC校驗及其它錯誤檢測措施完善;

        ●發(fā)送期間丟失仲裁或由于出錯而遭破獲的幀可以自動重發(fā);

        ●嚴重錯誤時可自動關(guān)閉總線功能,以使總線其它操作不受影響。

        CAN總線符合ISO11898標(biāo)準(zhǔn),最大傳輸速率為1MB/s時?傳輸距離最大為40m;傳輸速率為5kB/s時的最大傳輸距離為10km。CAN總線的傳輸介質(zhì)可為雙絞線、同軸電纜等。由于CAN總線是一種很有發(fā)展前景的現(xiàn)場總線,因此?得到了國際上很多大公司的支持,加之基于CAN總線的硬件接口簡單,編程方便,系統(tǒng)容易集成。因此?它特別適用于系統(tǒng)分布比較分散、實時性要求高、現(xiàn)場環(huán)境干擾大的場合。

        2 系統(tǒng)結(jié)構(gòu)

        由于CAN總線采用多主方式工作,所以它具有與DCS控制系統(tǒng)不一樣的拓撲結(jié)構(gòu)。其控制系統(tǒng)的構(gòu)成由計算機和智能節(jié)點組成,圖1所示是其系統(tǒng)結(jié)構(gòu)。該系統(tǒng)最大的特點就是所有的節(jié)點(包括上位PC機)都能以平等的地位掛接在總線上。一個CAN總線節(jié)點通常至少包括三個部分,即負責(zé)節(jié)點任務(wù)控制的單片機、CAN總線控制器以及CAN總線收發(fā)器。本文給出的就是一個可完成數(shù)據(jù)采集功能的CAN節(jié)點的設(shè)計方法。

        3。茫粒喂(jié)點的硬件設(shè)計

        本CAN節(jié)點的電路原理簡圖如圖2所示。該電路的三個核心器件是單片機ADμC812?1?、獨立的CAN總線控制器SJA1000和CAN總線驅(qū)動器PCA82C250。其中SJA1000?2?和PCA82C250兩者的組合應(yīng)用已經(jīng)在很多CAN總線節(jié)點的設(shè)計中用到,而本設(shè)計的特點就在于,它是根據(jù)要完成數(shù)據(jù)采集功能這一具體要求來選用微控制器ADμC812。圖2中的串行接口芯片MAX232作為ADμC812與PC機的串口連接,它的使用是由該單片機的調(diào)試特點決定的。

        ADμC812是高度集成、高精度12位數(shù)據(jù)采集系統(tǒng),該產(chǎn)品在其內(nèi)核中集成了帶有片內(nèi)可重編程非易失性閃速/電擦除程序存儲器的高性能8位(與8051兼容)MCU和多通道(8個輸入通道)12位ADC。

        由于ADμC812只需要通過其串口模塊和計算機的串口進行連接,而不需要額外的仿真器,因而可利用ADI公司的QUICKSTART軟件來實現(xiàn)程序的在線下載、在線調(diào)試和在線仿真,從而極大地提高了工作效率。這也是本設(shè)計使用MAX232的原因。

        該系統(tǒng)在工作時,首先將從前面?zhèn)鞲衅魉蛠淼墓I(yè)標(biāo)準(zhǔn)信號(4~20mA或1~5V)通過調(diào)理電路變?yōu)椋啊玻担值哪M電壓信號輸入至ADμC812的P0.0~P0.7 (AD0~AD7)引腳(根據(jù)實際情況確定所需AD端口的數(shù)量),然后通過程序控制,再將A/D轉(zhuǎn)換所得的數(shù)字信息通過SJA1000和PCA82C250送到CAN總線上的相關(guān)節(jié)點。

        SJA1000作為微控制器的片外擴展芯片,其片選引腳CS應(yīng)接在微控制器的P2.0上,以用于決定CAN控制器各寄存器的地址。SJA1000通過CAN總線驅(qū)動器PCA82C250連接在物理總線上。PCA82C250器件可提供對總線的差動發(fā)送能力和對CAN控制器的差動接受能力,它同時完全和“ISO11898”標(biāo)準(zhǔn)兼容。為進一步提高系統(tǒng)的抗干擾能力,一般在CAN總線控制器SJA1000和CAN總線驅(qū)動器PCA82C250之間加接6N137光電隔離芯片,只不過在圖2中沒有表示出來。由于通信信號傳輸?shù)綄?dǎo)線的端點時會發(fā)生反射,而且反射信號會干擾正常信號的傳輸,因此,總線兩端應(yīng)接有終端電阻R1、R2,以消除反射信號,其阻值應(yīng)當(dāng)與傳輸電纜的特性阻抗大致相當(dāng)。

        4。茫粒喂(jié)點的軟件設(shè)計

        本節(jié)點的軟件編程主要包括A/D轉(zhuǎn)換(ADC)、CAN控制器的初始化、CAN總線數(shù)據(jù)的發(fā)送和接收等幾個部分。主程序的流程圖如圖3所示。

        下面分別對這幾個主要部分的程序設(shè)計做一介紹。

        4.1 A/D轉(zhuǎn)換部分

        筆者在本設(shè)計中采用的是單步A/D轉(zhuǎn)換模式,并將A/D轉(zhuǎn)換結(jié)果存入指定的數(shù)據(jù)存儲區(qū)。具體步驟如下:

        (1)通過設(shè)置ADC控制寄存器(ADCCON1和ADCCON2)的值來確定A/D轉(zhuǎn)換的工作狀態(tài)和采樣通道號;

        (2)使能ADC中斷,置位SCONV位以啟動單步A/D轉(zhuǎn)換;

        (3)等待響應(yīng)ADC中斷,并進入中斷服務(wù)程序;

        (4)把采樣所得的數(shù)據(jù)從ADCDATAL和ADC-DATAH兩個特殊寄存器

        【基于ADμC812的CAN總線智能節(jié)點的設(shè)計】相關(guān)文章:

        基于單片機的CAN智能總線節(jié)點的設(shè)計03-07

        CAN智能節(jié)點的設(shè)計03-19

        基于PCI總線的CAN卡的設(shè)計與實現(xiàn)03-18

        基于CAN總線的汽車液晶儀表設(shè)計03-07

        基于CAN總線的EV電控系統(tǒng)通信的設(shè)計與開發(fā)03-19

        基于串行外設(shè)接口(SPI)的CAN總線隔離擴展設(shè)計03-18

        基于雙口RAM的LonWorks智能通信節(jié)點設(shè)計03-18

        基于C8051F314單片機和MCP2515的CAN智能節(jié)點設(shè)計03-07

        基于CAN總線的工業(yè)通訊網(wǎng)絡(luò)系統(tǒng)的設(shè)計與實現(xiàn)03-07

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>