国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于can總線的信號實(shí)時(shí)性處理方法

      文檔序號:7647840閱讀:277來源:國知局
      專利名稱:一種基于can總線的信號實(shí)時(shí)性處理方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種采用嵌入式計(jì)算 機(jī)技術(shù)和計(jì)算機(jī)信號處理技術(shù)的基于CAN總線信號實(shí)時(shí)性處理方法。
      技術(shù)背景控制器局部網(wǎng)(Controller Area Network,簡稱CAN總線)是BOSCH公 司為現(xiàn)代工業(yè)應(yīng)用推出的一種多主機(jī)局部網(wǎng),屬于現(xiàn)場總線的范疇。它 是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于其卓越性 能現(xiàn)已廣泛應(yīng)用于工業(yè)自動化、多種控制設(shè)備、交通工具、醫(yī)療儀器以 及建筑、環(huán)境控制等眾多行業(yè)。1991年9月PHILIPS SEMICONDUCTORS制訂 并發(fā)布了CAN協(xié)議(VERSION 2.0)。該協(xié)議包括2.0A和2. OB兩部分。 2. OA給出了曾在CAN協(xié)議版本l. 2中定義的CAN報(bào)文格式,而2. 0B給出了標(biāo) 準(zhǔn)的和擴(kuò)展的兩種報(bào)文格式。此后,1993年IS0正式頒布了道路交通運(yùn)載 工具一數(shù)字信息交換一高速通信控制器局部網(wǎng)(CAN)國際標(biāo)準(zhǔn) (IS011898),為控制器局部網(wǎng)標(biāo)準(zhǔn)化、規(guī)范化推廣鋪平了道路。CAN總線是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo) 纖維。通信速率可達(dá)1MBPS。 CAN總線通信接口中集成了CAN協(xié)議的物理層 和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù) 塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級判別等項(xiàng)工作。CAN協(xié)議的一個最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個數(shù)在理論 上不受限制,數(shù)據(jù)塊的標(biāo)識碼可由11位或29位二進(jìn)制數(shù)組成,因此可以 定義211或229個不同的數(shù)據(jù)塊。這種按數(shù)據(jù)塊編碼的方式,還可使不同 的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。 數(shù)據(jù)段長度最多為8個字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài) 及測試數(shù)據(jù)的一般要求。同時(shí),8個字節(jié)不會占用總線時(shí)間過長,從而保
      證了通信的實(shí)時(shí)性。CAN協(xié)議采用CRC (循環(huán)冗余校驗(yàn))并可提供相應(yīng)的 錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN卓越的特性、極高的可靠 性和獨(dú)特的設(shè)計(jì),特別適合工業(yè)過程監(jiān)控設(shè)備的互連。因此,越來越受 到工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場總線之一。另外,CAN總線采用了多主競爭式總線結(jié)構(gòu),具有多主站運(yùn)行和分散 仲裁的串行總線以及廣播通信的特點(diǎn)。CAN總線上任意節(jié)點(diǎn)可在任意時(shí)刻 主動地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí) 現(xiàn)自由通信,CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路 層功能,可完成對通信數(shù)據(jù)的成幀處理。CAN總線協(xié)議已被國際標(biāo)準(zhǔn)化組 織認(rèn)證,技術(shù)比較成熟,控制的芯片已經(jīng)商品化,性價(jià)比高,特別適用 于分布式測控系統(tǒng)之間的數(shù)通訊。CAN總線插卡可以任意插在PC AT/XT兼 容機(jī)上,方便地構(gòu)成分布式監(jiān)控系統(tǒng)。近年來,國內(nèi)工業(yè)現(xiàn)場測試技術(shù)與現(xiàn)代動力工程技術(shù)的發(fā)展相適 應(yīng),產(chǎn)生了飛速發(fā)展。隨著電子技術(shù)、傳感器技術(shù)、計(jì)算機(jī)技術(shù)和控制 技術(shù)的推廣與應(yīng)用,以前采用人工采集處理測試數(shù)據(jù)和人工操作等測試 技術(shù)手段正被計(jì)算機(jī)自動測控系統(tǒng)所代替,數(shù)據(jù)采集在精度、可靠性、 穩(wěn)定性和靈活性都有了很大提高。但是,目前國內(nèi)在數(shù)據(jù)采集,特別是 高速采集、信號實(shí)時(shí)性處理方面存在不少問題,主要包括(1) 傳統(tǒng)的數(shù)據(jù)采集方法不適用于遠(yuǎn)程數(shù)據(jù)采集,如在串行通信 中,RS-232通信標(biāo)準(zhǔn)數(shù)據(jù)傳送距離短, 一般電纜長度為15m,不適于用作遠(yuǎn)程數(shù)據(jù)釆集;(2) 傳統(tǒng)的數(shù)據(jù)采集速率低,實(shí)時(shí)性差,如RS-232通信標(biāo)準(zhǔn)數(shù)據(jù)傳 輸速率慢,通常異歩通信速率限制在19.2kbps以下;RS-449、 RS-422 及RS- 423等通信標(biāo)準(zhǔn),實(shí)時(shí)性不強(qiáng);RS-485只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng),通 信方式也只能以主站輪詢的方式進(jìn)行,系統(tǒng)的實(shí)時(shí)性差。(3) 傳統(tǒng)的數(shù)據(jù)采集方法,由于測試工作現(xiàn)場大多環(huán)境較差,而被測 信號基本都是弱電信號,噪聲信號較多,目前一般的測試系統(tǒng)的數(shù)據(jù)處 此所測數(shù)據(jù)的可靠性、真實(shí)性不高,需用先進(jìn)的數(shù)據(jù)處 理方法進(jìn)行數(shù)據(jù)處理;且當(dāng)系統(tǒng)出現(xiàn)多節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),會導(dǎo) 致總線數(shù)據(jù)傳輸出現(xiàn)丟失某些數(shù)據(jù)幀的現(xiàn)象。 發(fā)明內(nèi)容本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種實(shí)時(shí)性更強(qiáng)、可靠性和真實(shí)性更高的基于CAN總線的信號實(shí)時(shí)性處理方法。本發(fā)明方法內(nèi)容包括(1) 根據(jù)信號各信息幀的標(biāo)識符的大小標(biāo)定信息幀的優(yōu)先級,標(biāo)識 符越小,信息幀的優(yōu)先級越高。處理時(shí),按照優(yōu)先級由高到低的順序?qū)⒏餍畔l(fā)送到CAN總線上,優(yōu)先級相同的信息幀采用FIFO (First In First 0ut,先進(jìn)先出)的機(jī)制發(fā)送。(2) 通過CAN總線從節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換優(yōu)化各信息幀發(fā)送順序,CAN總 線從節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換的流程包括CAN總線從節(jié)點(diǎn)在系統(tǒng)上電后進(jìn)行初始 化,初始化完成后,發(fā)送一個啟動報(bào)文,進(jìn)入預(yù)操作狀態(tài);在預(yù)操作狀 態(tài)下,調(diào)用CAN應(yīng)用層協(xié)議中的接收消息功能模塊檢測接收到的對象,并 對接收到的對象進(jìn)行相應(yīng)處理;在預(yù)操作狀態(tài)中,從結(jié)點(diǎn)通過服務(wù)數(shù)據(jù) 對象(Service Data Object, SD0)配置和設(shè)置參數(shù),但是禁止發(fā)送實(shí)時(shí) 數(shù)據(jù)對象(Process Data Object, PD0),在收到的是進(jìn)入操作狀態(tài)的網(wǎng) 絡(luò)管理對象(Network Management Object,麗T)報(bào)文后進(jìn)入操作狀態(tài), 如果收到的是進(jìn)入停止?fàn)顟B(tài)的NMT報(bào)文則進(jìn)入停止?fàn)顟B(tài);在操作狀態(tài)下, 進(jìn)行正常的通訊,發(fā)送實(shí)時(shí)數(shù)據(jù)對象PD0,在收到進(jìn)入預(yù)操作狀態(tài)的NMT 報(bào)文后進(jìn)入預(yù)操作狀態(tài),如果收到的是進(jìn)入停止?fàn)顟B(tài)的麗T報(bào)文則進(jìn)入停 止?fàn)顟B(tài);在停止?fàn)顟B(tài)下,從節(jié)點(diǎn)停止實(shí)時(shí)數(shù)據(jù)對象PDO和服務(wù)數(shù)據(jù)對象 SDO的通訊。本發(fā)明通過在CAN總線應(yīng)用層協(xié)議上增加發(fā)送信息調(diào)度算法來提高 CAN網(wǎng)絡(luò)通訊實(shí)時(shí)性。發(fā)送信息調(diào)度算法的前提是要保證CAN網(wǎng)絡(luò)中優(yōu)先 級高的信息幀可以先占用CAN總線,但由于CAN網(wǎng)絡(luò)中大多數(shù)C認(rèn)節(jié)點(diǎn)驅(qū)動 程序設(shè)計(jì)都采用FIFO機(jī)制,即先進(jìn)入緩沖區(qū)的信息幀先被發(fā)送到總線上。這種設(shè)計(jì)使CAN節(jié)點(diǎn)內(nèi)高優(yōu)先級的信息幀需要等待緩沖區(qū)內(nèi)未發(fā)送的信息幀發(fā)送完后才能參與總線占用權(quán)的競爭,剝奪了高優(yōu)先級信息幀的權(quán)利。該實(shí)時(shí)性優(yōu)化方法在設(shè)計(jì)節(jié)點(diǎn)控制器的CAN驅(qū)動程序時(shí)采取如下一 些措施放棄FIF0機(jī)制,發(fā)送時(shí)由中斷子程序在發(fā)送緩沖區(qū)中搜索優(yōu)先 級最高的信息幀,S口CAN標(biāo)識符最小的信息幀進(jìn)行發(fā)送;對相同的優(yōu)先 級,建立FIFO緩沖區(qū),不同優(yōu)先級的信息幀放入各自的緩沖區(qū),中斷子 程序從高優(yōu)先級的FIFO緩沖區(qū)中讀取信息幀發(fā)送到總線上。本發(fā)明通過 調(diào)整C認(rèn)網(wǎng)絡(luò)中信息幀優(yōu)先級的優(yōu)化方法,達(dá)到提高基于CAN總線的高速 數(shù)據(jù)采集和信號處理速度的目的。CAN通訊應(yīng)用層具有開放性,不同應(yīng)用場合和需求出現(xiàn)了多種不同應(yīng) 用層協(xié)議標(biāo)準(zhǔn),常用的有CAN0pen、 DeviceNet、 SAE J1939和M0ST等,本 發(fā)明主要通過基于CAN智能節(jié)點(diǎn)硬件的軟件編程實(shí)現(xiàn)自定義應(yīng)用層協(xié)議。 本發(fā)明的基于CAN應(yīng)用層協(xié)議的CAN智能從節(jié)點(diǎn)軟件設(shè)計(jì)主要包括以下工 作CAN從節(jié)點(diǎn)數(shù)據(jù)幀標(biāo)識符分配和優(yōu)先級劃分,從節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換,PD0 通訊實(shí)現(xiàn)和CAN發(fā)送中斷子流程等。其中,CAN標(biāo)識符確定C認(rèn)總線信息幀 的優(yōu)先級,標(biāo)識符數(shù)值較小的優(yōu)先級較大,CAN應(yīng)用層協(xié)議中,信息幀的 前四位標(biāo)識符表示信息幀的類型,其值的大小代表了信息幀的優(yōu)先級。相對于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)點(diǎn)(1) 采用發(fā)送信息調(diào)度算法提高CAN網(wǎng)絡(luò)通訊實(shí)時(shí)性;(2) 在設(shè)計(jì)節(jié)點(diǎn)控制器的CAN驅(qū)動程序時(shí),放棄CAN總線的FIFO機(jī)制, 發(fā)送時(shí)由中斷子程序在發(fā)送緩沖區(qū)中搜索優(yōu)先級最高的信息幀,提高優(yōu) 先級高的信息幀發(fā)送的實(shí)時(shí)性;(3) 通過調(diào)整CAN網(wǎng)絡(luò)中信息幀優(yōu)先級的優(yōu)化方法,達(dá)到提高基于CAN總線的高速數(shù)據(jù)采集和信號處理的目的;(4) 本發(fā)明通過基于CAN智能節(jié)點(diǎn)硬件的軟件編程實(shí)現(xiàn)自定義應(yīng)用層 協(xié)議,實(shí)現(xiàn)實(shí)時(shí)CAN應(yīng)用層協(xié)議設(shè)計(jì)方法;
      (5)本發(fā)明適用工業(yè)自動化各個領(lǐng)域,易于擴(kuò)展,提高數(shù)據(jù)采集速 度,使信號處理具有更高的實(shí)時(shí)性,同時(shí)降低了系統(tǒng)成本。


      圖1為本發(fā)明方法中CAN總線從節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換流程圖;圖2為本發(fā)明一實(shí)施例的CAN總線結(jié)構(gòu)示意圖。
      具體實(shí)施方式
      本發(fā)明的基于CAN總線的信號實(shí)時(shí)性處理方法具體內(nèi)容是(1) 通過在CAN總線應(yīng)用層協(xié)議上增加發(fā)送信息調(diào)度算法來提高CAN 網(wǎng)絡(luò)通訊實(shí)時(shí)性。首先通過自適應(yīng)算法,即對不同優(yōu)先級信息幀設(shè)置不 同緩沖區(qū),相同優(yōu)先級信息幀建立FIFO緩沖區(qū),發(fā)送時(shí)由中斷子程序在 發(fā)送緩沖區(qū)中搜索優(yōu)先級最高的信息幀,即CAN標(biāo)識符最小的信息幀進(jìn)行 發(fā)送,動態(tài)調(diào)整CAN信息幀的優(yōu)先級,保證CAN網(wǎng)絡(luò)中優(yōu)先級高的信息幀 可以先占用CAN總線;本發(fā)明通過調(diào)整CAN網(wǎng)絡(luò)中信息幀優(yōu)先級的優(yōu)化方 法,達(dá)到提高基于CAN總線的高速數(shù)據(jù)采集和信號優(yōu)化的目的。(2) 實(shí)時(shí)CAN應(yīng)用層協(xié)議設(shè)計(jì)方法。g卩CAN從節(jié)點(diǎn)數(shù)據(jù)幀標(biāo)識符分配 和優(yōu)先級劃分,從節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換,PDO通訊實(shí)現(xiàn)和CAN發(fā)送中斷子流程 等。其中,CAN標(biāo)識符確定CAN總線信息幀的優(yōu)先級,標(biāo)識符數(shù)值較小的 優(yōu)先級較大,CAN應(yīng)用層協(xié)議中,信息幀的前四位標(biāo)識符表示信息幀的類 型,其值的大小代表了信息幀的優(yōu)先級。CAN應(yīng)用層協(xié)議從節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換流程圖如圖1所示。從節(jié)點(diǎn)上電 后,首先從節(jié)點(diǎn)自動初始化CAN通訊接口、節(jié)點(diǎn)ID、波特率等參數(shù), 即通訊初始化;然后自動進(jìn)入節(jié)點(diǎn)初始化,調(diào)用初始化功能模塊,初始 化一些特定的用戶;完成后,發(fā)送一個啟動報(bào)文,自動進(jìn)入預(yù)操作狀 態(tài),調(diào)用預(yù)操作功能模塊,用戶的程序循環(huán)執(zhí)行著,在每個循環(huán)中,調(diào) 用一次接收消息功能模塊,用來檢査接收到的對象,并做相應(yīng)的處理。 在NMT報(bào)文來之前一直持續(xù)在預(yù)操作狀態(tài),從結(jié)點(diǎn)可以通過SDO配置和 設(shè)置參數(shù),但是不允許發(fā)送PD0。收到相應(yīng)的進(jìn)入操作狀態(tài)的麗T報(bào)文
      后,進(jìn)入操作狀態(tài),可以進(jìn)行正常的通訊,發(fā)送PD0,每個周期依然調(diào) 用一次接收消息功能模塊。收到相應(yīng)的進(jìn)入停止?fàn)顟B(tài)的麗T報(bào)文后,從節(jié)點(diǎn)進(jìn)入了停止?fàn)顟B(tài),從而停止PD0和SD0通訊,但是依然每個周期調(diào)用一次接收消息功能模塊。在CAN發(fā)送中斷子流程中,對于不同優(yōu)先級的信息幀,通過在發(fā)送 緩沖區(qū)中找出最高優(yōu)先級的信息幀進(jìn)行發(fā)送,對于相同優(yōu)先級的信息 幀,則采用FIFO機(jī)制進(jìn)行信息幀的發(fā)送。采用本發(fā)明方法實(shí)現(xiàn)對紡織機(jī)的基于CAN總線分布式控制系統(tǒng)信號實(shí) 時(shí)優(yōu)化處理(CAN總線結(jié)構(gòu)如圖2所示)??刂葡到y(tǒng)主要包括電機(jī)控制模 塊7、巻取控制模塊8、光電編碼器模塊9、電子選緯控制模塊IO、傳感器 模塊11和人機(jī)接口模塊12,分別通過CAN節(jié)點(diǎn)1、 CAN節(jié)點(diǎn)2、 CAN節(jié)點(diǎn)3、 CAN節(jié)點(diǎn)4、 CAN節(jié)點(diǎn)5、 CAN節(jié)點(diǎn)6,連接到CAN總線13、 14上,通過13、 14 進(jìn)行相互之間的通訊。通過對CAN網(wǎng)絡(luò)實(shí)時(shí)性的優(yōu)化設(shè)計(jì),具有通訊實(shí)時(shí) 性好,網(wǎng)絡(luò)連接可靠的優(yōu)點(diǎn),通過己實(shí)現(xiàn)的部分織機(jī)控制模塊的實(shí)際運(yùn) 行情況看,本發(fā)明方法能達(dá)到較好的通訊實(shí)時(shí)性、穩(wěn)定性和可靠性。
      權(quán)利要求
      1、一種基于CAN總線的信號實(shí)時(shí)性處理方法,其特征在于該方法具體內(nèi)容包括(1)根據(jù)信號各信息幀的標(biāo)識符的大小標(biāo)定信息幀的優(yōu)先級,標(biāo)識符越小,信息幀的優(yōu)先級越高;處理時(shí),按照優(yōu)先級由高到低的順序?qū)⒏餍畔l(fā)送到CAN總線上,優(yōu)先級相同的信息幀采用FIFO(First In FirstOut,先進(jìn)先出)的機(jī)制發(fā)送;(2)通過CAN總線從節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換優(yōu)化各信息幀發(fā)送順序,CAN總線從節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換的流程包括CAN總線從節(jié)點(diǎn)在系統(tǒng)上電后進(jìn)行初始化,初始化完成后,發(fā)送一個啟動報(bào)文,進(jìn)入預(yù)操作狀態(tài);在預(yù)操作狀態(tài)下,調(diào)用CAN應(yīng)用層協(xié)議中的接收消息功能模塊檢測接收到的對象,并對接收到的對象進(jìn)行相應(yīng)處理;在預(yù)操作狀態(tài)中,從結(jié)點(diǎn)通過服務(wù)數(shù)據(jù)對象(Service Data Object,SDO)配置和設(shè)置參數(shù),但是禁止發(fā)送實(shí)時(shí)數(shù)據(jù)對象(Process Data Object,PDO),在收到的是進(jìn)入操作狀態(tài)的網(wǎng)絡(luò)管理對象(Network Management Object,NMT)報(bào)文后進(jìn)入操作狀態(tài),如果收到的是進(jìn)入停止?fàn)顟B(tài)的NMT報(bào)文則進(jìn)入停止?fàn)顟B(tài);在操作狀態(tài)下,進(jìn)行正常的通訊,發(fā)送實(shí)時(shí)數(shù)據(jù)對象PDO,在收到進(jìn)入預(yù)操作狀態(tài)的NMT報(bào)文后進(jìn)入預(yù)操作狀態(tài),如果收到的是進(jìn)入停止?fàn)顟B(tài)的NMT報(bào)文則進(jìn)入停止?fàn)顟B(tài);在停止?fàn)顟B(tài)下,從節(jié)點(diǎn)停止實(shí)時(shí)數(shù)據(jù)對象PDO和服務(wù)數(shù)據(jù)對象SDO的通訊。
      全文摘要
      本發(fā)明涉及一種采用嵌入式計(jì)算機(jī)技術(shù)和計(jì)算機(jī)信號處理技術(shù)的基于CAN總線信號實(shí)時(shí)性處理方法。目前的數(shù)據(jù)處理方法簡單,可靠性和真實(shí)性不高。本發(fā)明方法包括1.根據(jù)信號各信息幀的標(biāo)識符的大小標(biāo)定信息幀的優(yōu)先級,標(biāo)識符越小信息幀的優(yōu)先級越高,處理時(shí)按照優(yōu)先級由高到低的順序?qū)⒏餍畔l(fā)送到CAN總線上;2.通過CAN總線從節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換優(yōu)化各信息幀發(fā)送順序。本發(fā)明的處理方法實(shí)時(shí)性更強(qiáng),可靠性和真實(shí)性均得到有效提高。
      文檔編號H04L1/00GK101119267SQ20071007056
      公開日2008年2月6日 申請日期2007年8月28日 優(yōu)先權(quán)日2007年8月28日
      發(fā)明者鵬 劉, 翔 張, 張懷相, 戴國駿, 虹 曾, 李二濤, 申興發(fā), 高志剛, 高申勇 申請人:杭州電子科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1