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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SPMC65單片機(jī)在CAN總線智能節(jié)點(diǎn)中的應(yīng)用

          SPMC65單片機(jī)在CAN總線智能節(jié)點(diǎn)中的應(yīng)用

          作者: 時(shí)間:2011-10-20 來(lái)源:網(wǎng)絡(luò) 收藏
          1Can總線概述
            CAN, 全稱為“Controller Area Network”,是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。20世紀(jì)80年代初,德國(guó)Bosch公司為了解決現(xiàn)代汽車中眾多的控制與測(cè)試儀表之間的數(shù)據(jù)交換問(wèn)題,開(kāi)發(fā)出 能有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),具有抗干擾性強(qiáng)和使用可靠等優(yōu)點(diǎn),最初主要應(yīng)用汽車工業(yè),現(xiàn)在廣泛應(yīng)用于汽車工業(yè)、航空工業(yè)和工業(yè)控制等自動(dòng)化領(lǐng)域,如分布式環(huán)境監(jiān)測(cè)系統(tǒng)、溫室環(huán)境監(jiān)控系統(tǒng)、變電站變監(jiān)測(cè)系統(tǒng)等。
            是一種串行數(shù)據(jù)通信協(xié)議,其通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)數(shù)據(jù)的成幀處理,用戶可在其基礎(chǔ)上開(kāi)發(fā)適應(yīng)系統(tǒng)實(shí)際需要的應(yīng)用層通信協(xié)議。CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊編碼,采用這種方法可使網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,還可使不同的節(jié)點(diǎn)同時(shí)收到相同的數(shù)據(jù)。
            CAN總線提供高速數(shù)據(jù)傳送, 在短距離(40m)條件下具有高速(1Mbit/s)數(shù)據(jù)傳輸能力,而在最大距離10000m時(shí)具有低速(5kbits/s)傳輸能力,極適合在高速的工業(yè)自控應(yīng)用上,CAN總線可在同一網(wǎng)絡(luò)上連接多種不同功能的傳感器(如位置,溫度或壓力等)。
            CAN總線的其他特點(diǎn)如下:
           ?。?)它是一種多主總線,即每個(gè)節(jié)點(diǎn)機(jī)均可成為主機(jī),且節(jié)點(diǎn)機(jī)之間也可進(jìn)行通信;
            (2)通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通信速率可達(dá)1Mbps;
            (3)數(shù)據(jù)段長(zhǎng)度最多為8個(gè)字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令,工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同時(shí),8個(gè)字節(jié)不會(huì)占用總線時(shí)間過(guò)長(zhǎng),從而保證了通信的實(shí)時(shí)性;
           ?。?)CAN協(xié)議采用CRC檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。
            CAN可以以多主方式工作,網(wǎng)絡(luò)上任意節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)地向總線上其它節(jié)點(diǎn)發(fā)送信息,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播幾種方式發(fā)送接收數(shù)據(jù);CAN采用非破壞性總線仲裁技術(shù),當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向總線上發(fā)送信息時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),節(jié)省了總線沖突仲裁時(shí)間。
            圖1-1為一個(gè)CAN總線應(yīng)用系統(tǒng),主要有主機(jī)和各節(jié)點(diǎn)組成,主機(jī)和節(jié)點(diǎn)之間通過(guò)CAN收發(fā)器及CAN控制器相連,單個(gè)節(jié)點(diǎn)包括一個(gè)單片機(jī)控制器、一個(gè)CAN收發(fā)器和一個(gè)CAN控制器。其中一個(gè)典型的應(yīng)用是:主機(jī)接收各節(jié)點(diǎn)發(fā)送的現(xiàn)場(chǎng)數(shù)據(jù),如現(xiàn)場(chǎng)溫度、電流或壓力等參數(shù),主機(jī)經(jīng)過(guò)綜合計(jì)算、判斷作出相應(yīng)的控制命令,這些命令將通過(guò)CAN總線傳送至各節(jié)點(diǎn)。各節(jié)點(diǎn)由單片機(jī)作為控制器,它用于采集現(xiàn)場(chǎng)的各項(xiàng)參數(shù),并執(zhí)行主機(jī)發(fā)送的各項(xiàng)命令,這些命令將最終傳送至各執(zhí)行機(jī)構(gòu),如閥門、電機(jī)或泵等。

          圖1-1 CAN總線應(yīng)用系統(tǒng)
            本文將介紹基于凌陽(yáng)8位通用型工控單片機(jī)的CAN總線的設(shè)計(jì)。本文將闡述中的主控器P2404A在本方案中的應(yīng)用特點(diǎn),及主控器與CAN總線控制器之間的通信。

          2芯片特性簡(jiǎn)介
            P2404A是凌陽(yáng)推出的8位工業(yè)控制單片機(jī),最高工作頻率為8MHz,工作電壓3.0V~5.0V,有192字節(jié)的RAM和4K字節(jié)的OTP ROM,具備23個(gè)可編程IO口,內(nèi)置上/下拉電阻,8通道10位A/D轉(zhuǎn)換器(100KHz),P2404其他特性包括:
            ◆凌陽(yáng)科技8位單片機(jī)
              ☉182條指令
              ☉11種尋址模式
              ☉支持位操作(Set,Clear,Inverse,Test)
            ◆2個(gè)8位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值)
              ☉普通的定時(shí)/計(jì)數(shù)器
              ☉具有8位捕獲功能
              ☉具有8位比較功能
            ◆2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值)
              ☉普通的定時(shí)/計(jì)數(shù)器
              ☉具有8或16位捕獲功能
              ☉具有16位比較功能
              ☉12位PWM輸出
            ◆中斷方式
              ☉支持IRQ和NMI中斷
              ☉4種外部中斷
              ☉12種內(nèi)部中斷
            ◆具有SPI總線:最高通信速率為2Mbps
            ◆5種復(fù)位功能:上電復(fù)位、低電壓復(fù)位、看門狗復(fù)位、外部復(fù)位及錯(cuò)誤地址復(fù)位
            ◆支持3種時(shí)鐘電路:晶體振蕩器、RC振蕩、外部信號(hào)
            ◆2種低功耗模式:Halt模式和Stop模式
            ◆一個(gè)蜂鳴器驅(qū)動(dòng)輸出口

          3硬件設(shè)計(jì)
            在工業(yè)控制中,通常需要進(jìn)行電壓、電流、溫度等信號(hào)的實(shí)時(shí)采集、可靠傳輸和實(shí)時(shí)顯示,實(shí)現(xiàn)了PC端對(duì)CAN智能節(jié)點(diǎn)的有效控制。為了達(dá)到工業(yè)控制上這些控制要求,CAN總線上的節(jié)點(diǎn)通常需要有微控器作為節(jié)點(diǎn)的主控器。主控器完成現(xiàn)場(chǎng)各項(xiàng)參數(shù)的采集、響應(yīng)相關(guān)的外部事件、接受外部按鍵命令、產(chǎn)生驅(qū)動(dòng)信號(hào)、顯示相關(guān)參數(shù)及與CAN總線控制器通信。圖3-1為SPMC65P2404A作為節(jié)點(diǎn)控制器,各個(gè)部件的連接示意圖。

          圖 3-1智能節(jié)點(diǎn)示意圖
          ※ 數(shù)據(jù)采集部件:
            在工業(yè)控制現(xiàn)場(chǎng),通常會(huì)有各類傳感器,如電流互感器、溫度傳感器、壓力傳感器等,將現(xiàn)場(chǎng)的電流、溫度及壓力等參數(shù)轉(zhuǎn)化為模擬電信號(hào),這些模擬信號(hào)輸入MCU中的A/D轉(zhuǎn)換器,最終得到可傳輸?shù)臄?shù)字信號(hào)。SPMC65P2404A具有8通道10位精度的A/D轉(zhuǎn)換器,并可以選擇內(nèi)部或外部參考電壓,能夠滿足多通道、高精度的模數(shù)轉(zhuǎn)換。
          ※現(xiàn)場(chǎng)人機(jī)交互部件:
            人機(jī)交互部件可以實(shí)現(xiàn)工作人員在現(xiàn)場(chǎng)對(duì)某個(gè)節(jié)點(diǎn)進(jìn)行操作控制,人機(jī)交互部件包括鍵盤、紅外遙控器、LED或LCD顯示。比如,顯示模塊可以實(shí)時(shí)顯示現(xiàn)場(chǎng)參數(shù),工作人員操作鍵盤或遙控器上的某些按鍵,可以啟動(dòng)電機(jī)或電閥門等執(zhí)行機(jī)構(gòu),使系統(tǒng)達(dá)到預(yù)設(shè)定的效果。
          SPMC65P2404A具有多組捕獲功能,使用捕獲功能,可以很方便的實(shí)現(xiàn)紅外信號(hào)解碼。
          ※快速響應(yīng)外部突發(fā)事件:
            在工業(yè)控制現(xiàn)場(chǎng),突發(fā)事件保護(hù)機(jī)制非常重要。對(duì)現(xiàn)場(chǎng)的突發(fā)事件實(shí)行快速響應(yīng),并做出保護(hù)動(dòng)作將使控制現(xiàn)場(chǎng)更安全。在節(jié)點(diǎn)設(shè)計(jì)中,可以使用MCU快速響應(yīng)外部中斷,在MCU的中斷程序中,切斷驅(qū)動(dòng)信號(hào)的輸出。SPMC65P2404A能夠響應(yīng)4個(gè)外部中斷,并且每個(gè)外部中斷可以設(shè)定為非屏蔽中斷或屏蔽中斷。
          ※產(chǎn)生執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)信號(hào):
            工業(yè)控制現(xiàn)場(chǎng)會(huì)有多種執(zhí)行機(jī)構(gòu),如電機(jī)、電閥門等,正對(duì)各種每種執(zhí)行機(jī)構(gòu),MCU會(huì)輸出相應(yīng)的驅(qū)動(dòng)信號(hào),以控制這些機(jī)構(gòu)。SPMC65P2404A具有2路12位的PWM輸出能力,有2路比較輸出功能,同時(shí),每個(gè)I/O口都具備驅(qū)動(dòng)LED的能力。利用SPMC65P2404A的這些功能,并配合相應(yīng)的驅(qū)動(dòng)電路,就可以有效控制電機(jī)、電閥門等。
          ※節(jié)點(diǎn)通信連接:
            在智能節(jié)點(diǎn)的設(shè)計(jì)中,需要使用CAN控制器及CAN收發(fā)器,作為主控器與CAN總線之間的連接媒介。本智能節(jié)點(diǎn)使用MCP2510作為CAN控制器和PCA82C250作為CAN收發(fā)器。它們之間的連接是:MCU主控器通過(guò)SPI總線與CAN控制器通信,CAN控制器通過(guò)光電隔離器件與CAN收發(fā)器連接。SPMC65P2404A內(nèi)部集成SPI總線,SPI總線支持全雙工同步傳輸,具有主、從兩種模式,最高通信速率為2Mbps。CAN控制器MCP2510也具備SPI總線。

          4 智能節(jié)點(diǎn)軟件設(shè)計(jì)
            智能節(jié)點(diǎn)程序包括主程序和中斷程序兩部分,主程序處理常規(guī)的數(shù)據(jù)采集及控制操作,中斷程序則處理異常事件及紅外信號(hào)解碼。
            主程序包括系統(tǒng)初始化、按鍵掃描、紅外信號(hào)處理、顯示處理、電流信號(hào)采集、溫度數(shù)據(jù)采集、壓力信號(hào)采集、與CAN控制器通信、驅(qū)動(dòng)信號(hào)產(chǎn)生等模塊。程序流程圖如圖4-1所示:

          圖 4-1主程序流程圖
            主流程采用分時(shí)結(jié)構(gòu),在每個(gè)不同的時(shí)間片進(jìn)行不同的工作。對(duì)主程序的循環(huán)時(shí)間實(shí)行定時(shí),使得主程序每1ms循環(huán)一次。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();