999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MSP430的四旋翼飛行器的S-BUS通信協議的設計與實現

2018-11-06 11:21:42張雨辰孫琛林奎秦生輝
中小企業管理與科技 2018年11期
關鍵詞:程序

張雨辰,孫琛,林奎,秦生輝

(北方工業大學,北京100000)

1 引言

四旋翼機器人是一種靈巧的、電動的、可以垂直起降的,能夠遙控或自主飛行并執行任務的一種空中機器人。四旋翼機器人具有4個螺旋槳并呈十字形交叉結構,相隔的螺旋槳為一組,兩組的旋轉方向不同,相鄰兩個螺旋槳旋轉方向不同來抵消水平反扭力矩,保證自身不發生自旋。與其它空中機器人相比,其靈活性體現在只通過改變螺旋槳的速度就可以執行飛行任務。

本課題采用msp430g2553作為主要控制系統,通過使用C語言編寫程序,使用S-BUS協議實現對飛機的通信。選用msp430微控制器作為控制系統是因為該系列控制器已經廣泛用于家用電器和工業控制之中,而且價格便宜,易于購買和自主設計。微控制器系統降低了外圍硬件設備的投資,省去了遙控器等設備的麻煩,無論是日常生活還是工業生產也都會隨之更加的方便。

2 S-BUS概況

Futaba S-BUS通信協議是一種用來控制舵機的串口通信協議。最多可以包含16個舵機的數據,它是由經典的RS232串口通信協議發展過來的,邏輯取反。它的長度為25字節,每字節包括1位起始位0,8位數據位,1位奇偶校驗位(若8為數據位中有奇數個1,則奇偶校驗位取1,若有偶數個1則奇偶校驗位取0),2位結束位11。信號周期為14毫秒,其中前3毫秒是數據,后11毫秒是延時,置低電平。用來發送數據的3毫秒中,共發送25*(1+8+1+2)=300位數據,也就是說,每位數據(高或低電平)持續10微秒的時間。

該協議有25個字節。其中第一個字節是起始字節,然后是22個包含數據的字節,最后是一個標志字節和結束字節。起始字節中的8位數據位為11110000b,即完整起始字節為011110000011b。標志字節可根據不同飛控自行設定,用于承載除了舵機數據以外的數據。結束字節中的數據位為00000000b。

協議中有22個包含數據的字節,每個字節數據位為8位,22*8=16*11,也就是說每個舵機的數據長度為11位。實際傳輸時需要把16個舵機數據填入22個包含數據的字節中,填入方式為第一個字節的8位和第二個字節的前3位為第一舵機,其中第一字節8位中的最高位為舵機的最低位,第二字節的從最高位數第三位為舵機的最高位。第二個字節的后5位和第三個字節的前6位為第二舵機,以此類推。

3 S-BUS在MSP430中的實現

程序主要由發送數據和接受數據2個模塊組成。流程如下所示:

圖1 發送數據

圖2 接收數據

3.1 發送數據

MSP430單片機不能對字節進行操作,因此將待發送或接收數據的每一位依次和要使用的I/O口進行與操作,從而實現信號的發送與接收。具體做法是根據配置的波特率,使用時鐘定時改變管腳電平的高低,達到發送二進制數據的目的。因為S-BUS的邏輯電平是反的,所以高電平為0,低電平為1。

發送數據時,程序首先發送一個起始字節0xF0,然后按S-BUS的規則將每個通道拆分成各個數據字節(在本文使用的程序中通過改變IO口的電平模擬數據位的發送)。發送數據字節流程如下:

圖3 發送數據字節流程

程序首先發送一個起始位(高電平),然后將通道1的低8位放到第一個數據字節,將通道1的高3位放到第二個數據字節的低3位,以此類推計算出每個數據字節并發送。當每一個數據字節中的數據位發送完后,計算偶校驗位并發送,最后發送停止位(低電平)。之后程序繼續發送下一個數據字節,直到22個數據字節發送完成。

數據字節全部發送完成后,程序將發送標志字節flags,最后發送結束字節0x00。flags的內容為:flags=bit7=ch17=digital channel(0x80)

3.2 接收數據

接收數據時,程序先收到一個起始字節,據此判斷新的一幀開始。然后將收到的22個數據字節解析出來。一種方法是,根據發送時的計算方式,反過來將每個字節通過左移或右移運算之后,相應位上按位與1,達到解析的目的。由于通道數較少,故可以用這樣一種較為取巧的方式。如果偶校驗位錯誤,則請求重新發送這一字節。之后將解析出的16個通道的數據傳遞給飛控,查看標志位的內容,最后接收到結束字節,一幀結束,等待接收下一幀。

以第一、第二個通道為例,當接收到第一個和第二個數據字節時,將第一個數據字節右移3位后,按位與00011111111,將結果存入buffer_1,第二個數據字節左移8位后,按位與11100000000,將結果存入buffer_2,再讓buffer_1按位與buffer_2即可得到第一個通道的數據。同理,將第二個數據字節右移6位后,按位與00000011111,將結果存入buffer_3,第三個數據字節左移2位后,按位與11111100000,將結果存入buffer_4,再讓buffer_3按位與buffer_4即可得到第二個通道的數據。

4 結語

本文對S-BUS協議的環境設置以及具體的數據結構進行了說明,并給出了S-BUS在MSP430上的實現。本系統進一步完善的話,可以將解析通道的部分用一個更好的算法替代本文的移位算法??梢钥吹絊-BUS是一種簡單的四旋翼通信協議,同時16個通道也較好地滿足了四旋翼飛行器對信號傳輸的需求。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 欧美色视频在线| 亚洲国产精品美女| 一区二区欧美日韩高清免费| 国产精品毛片一区| 99久久精品国产麻豆婷婷| 日本a∨在线观看| 精品国产一二三区| 亚洲日韩精品无码专区| 中文字幕人妻无码系列第三区| 亚洲国产黄色| 国产农村精品一级毛片视频| 久久婷婷六月| 婷婷色在线视频| 日韩欧美综合在线制服| 中文字幕乱码二三区免费| 88av在线| 亚洲成在线观看| 欧美伦理一区| 国产亚洲精品va在线| 久久精品亚洲中文字幕乱码| 国产一级视频在线观看网站| 久久久久中文字幕精品视频| 亚洲欧美日韩成人高清在线一区| 午夜综合网| 国产成人精品男人的天堂| 露脸国产精品自产在线播| 超碰aⅴ人人做人人爽欧美 | 91精品啪在线观看国产60岁| 欧美成人国产| 日韩福利在线观看| jizz亚洲高清在线观看| 欧美亚洲日韩不卡在线在线观看| AV老司机AV天堂| 久久一日本道色综合久久| 亚洲一级色| 色屁屁一区二区三区视频国产| 久久久久久久久18禁秘| 国产欧美亚洲精品第3页在线| 国产综合精品日本亚洲777| 久夜色精品国产噜噜| 免费A级毛片无码免费视频| 日韩中文精品亚洲第三区| 欧美性天天| 亚洲国产中文在线二区三区免| 久久亚洲国产一区二区| 亚洲精品视频免费| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲国产天堂久久综合226114| 国产小视频a在线观看| 国产微拍一区二区三区四区| 久青草免费在线视频| 国产第一页第二页| 亚洲欧洲日韩综合| 三级国产在线观看| 亚洲va欧美va国产综合下载| 亚洲床戏一区| 精品伊人久久久香线蕉| 天天摸天天操免费播放小视频| 精品一区二区三区水蜜桃| 日韩无码视频播放| 欧美www在线观看| 园内精品自拍视频在线播放| 成人免费黄色小视频| 美女无遮挡免费视频网站| 欧美国产中文| 国产本道久久一区二区三区| 久久无码高潮喷水| 日韩视频免费| 亚洲天堂高清| www.youjizz.com久久| 欧美人人干| 欧美中文一区| 亚洲欧美成人影院| 国产区免费| 在线国产三级| 久久人人爽人人爽人人片aV东京热| 日本三区视频| 99精品视频九九精品| 国产第八页| 婷婷综合亚洲| 亚洲一区二区三区国产精品| 欧美亚洲国产精品久久蜜芽|