<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > SPMC65單片機在CAN總線(xiàn)智能節點(diǎn)中的應用

SPMC65單片機在CAN總線(xiàn)智能節點(diǎn)中的應用

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

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

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

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

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

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

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



評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>