請(qǐng)注意+星號(hào)公共帳戶,不要錯(cuò)過令人興奮的內(nèi)容。
從|轉(zhuǎn)移為什么要安排硬件? StrongerHuang遙控器和無人機(jī)之間還有許多通信協(xié)議。
通用數(shù)據(jù)協(xié)議如下:1. pwm:需要連接到接收器對(duì)于所有PWM輸出通道,每個(gè)通道必須連接到一組線路。
分析程序需要根據(jù)每個(gè)通道的PWM高電平持續(xù)時(shí)間來計(jì)算通道值。
2.ppm:所有通道的PWM脈沖寬度的數(shù)據(jù)格式以固定周期發(fā)送,進(jìn)行一組布線,所有通道的PWM值以一個(gè)周期發(fā)送,并且解析程序需要區(qū)分每個(gè)通道的PWM持續(xù)時(shí)間渠道本身。
3. sbus:每11位代表一個(gè)通道值協(xié)議,串行通信,但是sbus接收器通常是反向電平,當(dāng)連接到無人機(jī)時(shí),需要連接一個(gè)電平反向器,其中大多數(shù)都支持sbus飛行控制板已集成反向器,您可以將以舊換新機(jī)器直接連接到飛行控制器。
4.xbus:常規(guī)通信協(xié)議,支持18個(gè)通道,大數(shù)據(jù)包,兩種串行通信模式,可以在遙控器的配置選項(xiàng)中進(jìn)行配置。
接收器不需要特殊配置。
strongHuang 1 SBUS協(xié)議說明SBUS本質(zhì)上是一種串行通信協(xié)議,使用100K波特率,8個(gè)數(shù)據(jù)位,兩個(gè)停止位,甚至進(jìn)行驗(yàn)證,即8E2串行通信。
SBUS是接收器串行總線du輸出,通過該總線,可以獲取遙控器上所有控制通道的數(shù)據(jù)。
目前,許多型號(hào)和無人機(jī)電子設(shè)備都支持SBUS總線訪問。
使用SBUS總線獲取通道數(shù)據(jù)非常高效,并節(jié)省了硬件資源。
只需一根線即可獲取所有通道的數(shù)據(jù)。
SBUS總線使用TTL電平的反向電平,即標(biāo)準(zhǔn)TTL中的1反向?yàn)?,0反向?yàn)?。
串行端口波特率是100000,數(shù)據(jù)位是8位,而2停止位,偶校驗(yàn)。
SBUS數(shù)據(jù)的幀的長(zhǎng)度是25個(gè)字節(jié),其中“ 0”是0。
字節(jié)是幀頭:0x0f;第24個(gè)字節(jié)是幀結(jié)束:0x00;從第1個(gè)字節(jié)到第22個(gè)字節(jié)為1-16比例通道的數(shù)據(jù)字節(jié);在第23個(gè)字節(jié)中,第7位是數(shù)字開關(guān)通道18通道,第6位是數(shù)字開關(guān)通道18通道。
第五位是幀狀態(tài)標(biāo)志(判斷是否丟失了幀),用于控制接收器上的LED的狀態(tài),第四位是失控保護(hù)激活標(biāo)志。
當(dāng)該位為1時(shí),表示接收器進(jìn)入失控保護(hù)狀態(tài)。
有三點(diǎn)值得注意:1. SBUS使用負(fù)邏輯,因此接收和發(fā)送都需要硬件反轉(zhuǎn)(請(qǐng)注意,必須執(zhí)行硬件反轉(zhuǎn))。
電路如下。
這是我在Internet上閱讀信息時(shí)看到的電路。
我實(shí)際使用的是上面2的7404電路。
SBUS有兩種模式,一種。
高速模式:每4ms發(fā)送一次b。
低速模式:每14ms發(fā)送一次,這意味著串行端口每4或14ms發(fā)送25個(gè)字節(jié)的數(shù)據(jù),這25個(gè)字節(jié)的數(shù)據(jù)最多可包含16條消息。
3.100K的波特率不是標(biāo)準(zhǔn)的波特率,常規(guī)串行工具無法直接讀取它(因此,除非您的計(jì)算機(jī)編寫了非標(biāo)準(zhǔn)的波特率,否則請(qǐng)不要直接使用計(jì)算機(jī)進(jìn)行調(diào)試)。
標(biāo)準(zhǔn)串行端口),可由微控制器讀取。
strongHuang 2特定協(xié)議的格式[數(shù)據(jù)頭] [第一個(gè)字節(jié)] [第二個(gè)字節(jié)] ...... [22個(gè)字節(jié)] [標(biāo)志位] [數(shù)據(jù)尾]數(shù)據(jù)頭,標(biāo)志位和數(shù)據(jù)尾不攜帶信息,數(shù)據(jù)頭和數(shù)據(jù)尾是固定的,數(shù)據(jù)頭= 0x0f;數(shù)據(jù)尾巴= 0x00;數(shù)據(jù)頭(1個(gè)字節(jié))+數(shù)據(jù)(22個(gè)字節(jié))+標(biāo)志位(1個(gè)字節(jié))+數(shù)據(jù)尾部(1個(gè)字節(jié))更強(qiáng)Huang 3編碼和解碼1.編碼原理一個(gè)信息是二進(jìn)制11bit,例如1111 1111 111可以表示一個(gè)信息,總共有16個(gè)這樣的信息,并且這16個(gè)信息是按順序排列的。
在字符串中,獲得176位(11 * 16)數(shù)據(jù),即22字節(jié)(176/8 = 22)數(shù)據(jù),加上報(bào)頭和數(shù)據(jù)尾部奇偶校驗(yàn)位,以形成要通過串行端口發(fā)送的消息。
此類信息每4或14 ms發(fā)送一次。
因此,這16條信息中的每條信息可以代表的最大值是2 ^ 11 = 2048,這就是它的準(zhǔn)確性。
2.標(biāo)志位的高四位具有特殊含義。
不使用第四位。
根據(jù)我的理解,第七位和第六位代表兩個(gè)數(shù)字通道(通道17和18)的信息(即,僅高功率和低功率)。
平坦通道通常用于控制開和關(guān),或者簡(jiǎn)單地啟動(dòng)或停止例如,1表示啟動(dòng)電動(dòng)機(jī),0表示停止電動(dòng)機(jī)