<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è) > 嵌入式系統 > 設計應用 > CAN總線(xiàn)的數據采集與處理系統的設計

CAN總線(xiàn)的數據采集與處理系統的設計

作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò ) 收藏
  1 引言

  現場(chǎng)總線(xiàn)及其應用技術(shù)日益成為國際自動(dòng)控制領(lǐng)域關(guān)注的一個(gè)焦點(diǎn)。CAN總線(xiàn)是目前公認的幾種最有前途的現場(chǎng)總線(xiàn)之一。通信介質(zhì)可以是雙絞線(xiàn)、同軸電纜和光纖,其通信速率可達1mbps。can國際標準的制定更加推動(dòng)了它的發(fā)展和應用,基于can總線(xiàn)的工業(yè)應用系統業(yè)大量涌現。其主要應用領(lǐng)域包括大型儀器設備、傳感器技術(shù)數據采集系統和工業(yè)現場(chǎng)監控系統等[1][2]。本文結合can總線(xiàn)的特點(diǎn),介紹了基于can總線(xiàn)的數據采集與處理的一種設計方法。

本文引用地址:http://dyxdggzs.com/article/201612/329423.htm

  2 系統設計

  2.1 can系統概要

  

  圖1 結構簡(jiǎn)圖

  本系統由兩個(gè)cpu通過(guò)雙口 ram相互連接組成,一片cpu(p87c591)負責can信號的發(fā)送與接收,另一片cpu(p89c58ba)負責 rs-485 信號的發(fā)送與接收。設計中通訊控制器選用了集成有can控制器的p87c591單片機。它自帶的can控制器完全具有sja1000的功能,可完成can協(xié)議中規定的所有數據鏈路層和物理層的功能。且p87c591自帶了15個(gè)中斷源和看門(mén)狗定時(shí)器(wdt),應用十分方便。系統結構簡(jiǎn)圖如圖1所示。圖中各部分所完成的主要功能如下:

  (1) cpu-1:該芯片帶有can接口,故可與下位機進(jìn)行can通訊。通過(guò)can總線(xiàn)發(fā)送上位機的設定信息給下位機,同時(shí)接收下位機提供的數據信息,將其存入雙口ram中,以供cpu-2來(lái)查詢(xún)。

  (2) cpu-2:該芯片連接有max491和max485 芯片,故可與外部進(jìn)行422或485通訊,上位機的信息通過(guò)485通訊讀入cpu-2之中,cpu-2再將其存入雙口ram之中,以供cpu-1來(lái)查詢(xún),cpu-1再通過(guò)can總線(xiàn)將此設定信息傳送給上位機。反之,下位機的所有已存入雙口ram的檢測值信息,也是通過(guò)該單片機的讀取,并通過(guò)485通訊,將所有顯示信息在人機界面上顯示。

  (3) 雙口ram:雙口ram用于存儲系統的設置信息和狀態(tài)信息,完成各種信息存儲與交換。選用存儲容量為16k的idt7006系列,并采用后備電池支持,保證掉電時(shí)存儲的信息不丟失。雙口ram按存儲內容不同,分為設置區、狀態(tài)區和預留區。設置區用來(lái)存儲上位機的信息;狀態(tài)區用來(lái)存儲從下位機收集的系統狀態(tài)信息;預留區則作為預留備用。

  2.2 p87c591單片機概要

  在系統中采用philips公司生產(chǎn)的p87c591單片機,該單片機是一個(gè)8 位高性能微控制器具有片內can控制器[3],大大簡(jiǎn)化了硬件電路的設計,提高了can接口的穩定性。p87c591 采用了強大的80c51指令集,并集成了sja1000 can控制器的pelican功能。主要有以下功能特點(diǎn):can2.0b控制器,支持11位標準標識符和29位擴展標識符,4個(gè)可獨立配置的驗收濾波器,都可“在運行中改變”。can控制器的發(fā)送緩沖區能夠保存一個(gè)完整的can信息幀(標準或擴展幀格式),只要通過(guò)cpu啟動(dòng)發(fā)送,信息字節就從發(fā)送緩沖區傳輸到can內核模塊完成發(fā)送。can接口包含5個(gè)實(shí)現cpu與can控制器連接的特殊功能寄存器,對重要can寄存器的訪(fǎng)問(wèn)通過(guò)快速自動(dòng)增加的尋址和對特殊功能寄存器的位尋址實(shí)現。接收一個(gè)信息時(shí),can內核模塊將串行位流轉換成并行數據輸入到驗收濾波器,通過(guò)該可編程濾波器,p87c591可以確定實(shí)際接收到的信息。

  p87c591連接的can節點(diǎn)電路設計比較簡(jiǎn)單,所需的外部元件只是一個(gè)晶振加兩個(gè)電容驅動(dòng)片內震蕩器、一個(gè)連接到復位腳的電阻、電容。使用片內上電復位電路以及一個(gè)收發(fā)器將p87c591連接到can總線(xiàn)上。如圖2所示。

  

  圖2 can 節點(diǎn)電路

  2.3 can總線(xiàn)p87c591單片機側的主要任務(wù)

  在整個(gè)系統中591起到數據傳輸和處理的作用,通過(guò)can總線(xiàn)接收數據采集節點(diǎn)接收來(lái)的信息,整理后按協(xié)議存儲到雙口ram中。其主要任務(wù)有以下兩點(diǎn):其一采集下位機的數據信息;其二將采集來(lái)的信息按照協(xié)議的約定存儲到雙口ram中的固定的位置,便于58查詢(xún)顯示。

  3 can總線(xiàn)軟件設計

  can總線(xiàn)軟件設計主要包括兩大部分:通信網(wǎng)絡(luò )的應用層協(xié)議和功能實(shí)現的流程和編碼。can通信軟件主要由初始化、接收處理、發(fā)送處理及中斷處理等組成。本文重點(diǎn)介紹發(fā)送、接收處理子程序。

  3.1 發(fā)送程序

  發(fā)送子程序負責節點(diǎn)報文的發(fā)送。信息從can控制器發(fā)送到can總線(xiàn)是由can控制器自動(dòng)完成的。其流程圖如圖3所示。

  

  圖3 查詢(xún)發(fā)送流程圖

  3.2 接收程序

  接收子程序負責接收節點(diǎn)報文的接收。信息從can總線(xiàn)到can緩沖區是由can控制器自動(dòng)完成的,接收程序只需從接收緩沖區讀取要接收的信息。其流程圖如圖4所示。

  

  圖4 中斷接收流程圖

  4 問(wèn)題討論

  本設計的硬件電路中, 采用雙cpu系統,即用一個(gè)cpu完成測控功能,另一個(gè)cpu完成系統聯(lián)網(wǎng)和接口通信功能。cpu間的通信可以采用串口、并口等方式,但它們共同的缺點(diǎn)是操作復雜、速度慢。因此,采用雙口ram方式在兩個(gè)cpu系統間交換數據是一個(gè)不錯的選擇。但雙口ram有時(shí)會(huì )發(fā)生共享沖突問(wèn)題。

  一般雙口ram都提供了兩個(gè)完全獨立的端口,每個(gè)端口都有自己的控制線(xiàn)、地址線(xiàn)和數據線(xiàn),cpu對雙口ram端口的操作等效于對它對外部ram進(jìn)行操作。雙口ram在使用上要注意的問(wèn)題是如何避免兩端cpu對同一ram單元的爭用,雙口ram可提供三種防沖突方式:插入等待狀態(tài)的防沖突方式;信號燈防沖突方式;中斷防沖突方式。本設計中雙口ram主要用于兩個(gè)cpu之間交換數據,由于交換的實(shí)時(shí)性很難用軟件來(lái)保證,所以采用中斷方式解決沖突問(wèn)題。

  雙口ram被劃分為兩個(gè)區域,其中數據接收緩沖區是通信cpu插件向其發(fā)送命令和數據的區域;數據發(fā)送緩沖區是它向通信cpu插件發(fā)送數據的區域。為了保證數據交換的實(shí)時(shí)性和有效性,可采用雙口ram的中斷方式通知對方,信號intl和intr可作為cpu的一個(gè)中斷輸入。數據交換時(shí),先將數據放入對應的雙口ram存儲區,然后寫(xiě)入對方信箱,以通知對方有數據發(fā)送;接收方在相應的中斷中對數據進(jìn)行處理,同時(shí)讀自己的信箱以清除中斷信號,然后再寫(xiě)入對方信箱以告知其數據已處理完畢。

  5 結束語(yǔ)

  所設計的系統可用于電力參數監控和其他工業(yè)自動(dòng)化場(chǎng)合。利用can總線(xiàn)結構靈活簡(jiǎn)單,可靠性高,適應性好,易于維護等優(yōu)點(diǎn)。通過(guò)rs485/422和can 總線(xiàn)轉換器實(shí)現現場(chǎng)智能設備與上位機間或其他監控裝置的數據交換,利用上位機強大的數據處理能力,實(shí)現事件記錄、數據處理等功能。因此該系統用于工業(yè)領(lǐng)域性?xún)r(jià)比較高。



評論


技術(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>