在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的水下機(jī)器人執(zhí)行節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)

            基于CAN總線的水下機(jī)器人執(zhí)行節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)

            作者: 時(shí)間:2009-09-08 來源:網(wǎng)絡(luò) 收藏

            在設(shè)計(jì)一個(gè)基于的通信系統(tǒng)時(shí),確定標(biāo)識符的分配非常重要,它關(guān)系到通訊網(wǎng)絡(luò)結(jié)構(gòu)的合理性和傳輸效率的高低,是制定應(yīng)用層協(xié)議的一個(gè)重要研究內(nèi)容。本文在2.0標(biāo)準(zhǔn)幀格式的基礎(chǔ)上,根據(jù)控制系統(tǒng)的需求特點(diǎn)制定了一個(gè)多幀傳輸?shù)膽?yīng)用層協(xié)議。協(xié)議中將11位信息標(biāo)識符按表1進(jìn)行分配。

            標(biāo)識符ID28-ID25定義為源地址,ID24-ID21定義為目的地址,這樣節(jié)點(diǎn)可以按優(yōu)先權(quán)高低由低向高分配地址,保證競爭中優(yōu)先權(quán)高的節(jié)點(diǎn)能先占用。相同目的/源地址的幀還可以通過標(biāo)識符ID20-ID19來調(diào)整優(yōu)先權(quán),ID18的值用來區(qū)分多幀傳輸中起始幀(1)/普通幀(0)。

            在標(biāo)識符分配中,一般保留一個(gè)地址作為數(shù)據(jù)廣播,另外不使用地址15,以避免標(biāo)識符前7位全為隱性位(邏輯1)。因此協(xié)議可以滿足不多于14個(gè)節(jié)點(diǎn)的需求。


            表1 CAN幀信息和標(biāo)識碼定義

            一般CAN的應(yīng)用層協(xié)議習(xí)慣將流長度、多幀索引等信息放在數(shù)據(jù)場中,但這樣每一幀都浪費(fèi)了若干個(gè)字節(jié)。因此本文將多幀傳輸?shù)南嚓P(guān)信息作為起始幀發(fā)出,而有效數(shù)據(jù)作為普通幀隨后發(fā)出。起始幀的數(shù)據(jù)域結(jié)構(gòu)見表2,傳輸號為本次多幀傳輸?shù)男蛱?,流長度為本次數(shù)據(jù)傳輸?shù)淖止?jié)數(shù)。


            表2 起始幀(ID18=1)的數(shù)據(jù)域

            普通幀的數(shù)據(jù)域?qū)τ脩羰峭该鞯模梢愿鶕?jù)需要任意安排使用。

            總線上傳輸?shù)男畔⒖煞譃橐韵氯悾?1)傳感器節(jié)點(diǎn)數(shù)據(jù)傳輸命令,傳送為保證機(jī)器人正常運(yùn)動(dòng)所需要的傳感器信息,包括航行傳感器和任務(wù)傳感器等。(2)航跡控制命令。上述兩類命令按照一定時(shí)鐘節(jié)拍發(fā)送到總線上,一般發(fā)送航跡命令的節(jié)拍要比發(fā)送傳感器數(shù)據(jù)的節(jié)拍慢。(3)特殊命令,例如出現(xiàn)緊急情況需要上浮等,此種命令是不定時(shí)發(fā)送的,發(fā)送的頻率也不是均勻的。

            根據(jù)以上通信特點(diǎn),在滿足功能要求的條件下,為了簡潔,協(xié)議規(guī)定命令均不超過8個(gè)字節(jié),并使用2個(gè)字節(jié)來為命令編碼。節(jié)點(diǎn)間一次可能傳輸一個(gè)或多個(gè)命令。在本文制定的應(yīng)用層協(xié)議中,命令通過普通幀傳輸。

            表3列舉了普通幀的數(shù)據(jù)域結(jié)構(gòu),每個(gè)普通幀包含一個(gè)命令,其數(shù)據(jù)域前兩個(gè)字節(jié)為命令編碼,第三個(gè)字節(jié)存放本條命令的參數(shù)個(gè)數(shù),后面為若干個(gè)參數(shù)的內(nèi)容。


            表3 普通幀(ID18=0)的數(shù)據(jù)域

            CAN程序設(shè)計(jì)
            CAN軟件設(shè)計(jì)主要包括初始化函數(shù)、接收處理函數(shù)、發(fā)送處理函數(shù)、中斷處理函數(shù)等。

            CAN通信的初始化工作主要包括操作模式設(shè)定、驗(yàn)收濾波器設(shè)置、總線定時(shí)、管腳配置和中斷設(shè)置等幾項(xiàng)工作。需要注意總線上各節(jié)點(diǎn)的波特率必須一致,另外P1.0(RXDC)和P1.1(TXDC)必須設(shè)置為準(zhǔn)雙向模式。

            CAN接收程序流程見圖4。中斷函數(shù)中負(fù)責(zé)接收CAN信息,并將對每個(gè)任務(wù)的描述及其所包含的命令插入隊(duì)列;而主循環(huán)中將各任務(wù)包含的命令從隊(duì)列取出,并且根據(jù)命令執(zhí)行相應(yīng)的運(yùn)算或操作。使用隊(duì)列的好處是在執(zhí)行命令的同時(shí)中斷函數(shù)還可以接收新的命令,避免了同時(shí)讀寫通信緩沖區(qū)造成的沖突。

            CAN的發(fā)送程序采用查詢方式,因?yàn)镃AN總線本身提供了比較好的總線仲裁、錯(cuò)誤檢測、錯(cuò)誤標(biāo)定和故障界定功能,發(fā)送程序的設(shè)計(jì)比較簡單,這里不再過多贅述。


            圖4 CAN接收處理程序

            試驗(yàn)與結(jié)論

            執(zhí)行節(jié)點(diǎn)的工作對象為小型自治測量型,低阻力流線型殼體,水中配成中性浮力,由一個(gè)三葉螺旋槳提供推力,水平舵和垂直舵各一對來控制航向與姿態(tài),技術(shù)指標(biāo)見表4。

            機(jī)器人先后完成了水上拖纜航行和無纜自治航行。試驗(yàn)證明,本節(jié)點(diǎn)完全滿足自治水下機(jī)器人航行控制性能的高要求,并且具有實(shí)時(shí)性高、可靠性強(qiáng)、使用方便等優(yōu)點(diǎn)。在今后的工作中,還可以對執(zhí)行節(jié)點(diǎn)做進(jìn)一步的改進(jìn),如更換高性能的微控制器,進(jìn)一步提高節(jié)點(diǎn)的處理速度;采用嵌入式操作系統(tǒng)來提高節(jié)點(diǎn)的實(shí)時(shí)處理能力,從而使節(jié)點(diǎn)具備更高性能。

            表4 水下機(jī)器人技術(shù)指標(biāo)

            伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理



            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉