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

TWI總線模塊化設(shè)計(jì)在智能機(jī)器人中的應(yīng)用

2013-09-21 10:44:02顧星辰胡仁杰馬智勇
關(guān)鍵詞:模塊化單片機(jī)程序

顧星辰,胡仁杰,馬智勇

(東南大學(xué) 電氣工程學(xué)院,南京 210096)

引 言

模塊化設(shè)計(jì)的機(jī)器人系統(tǒng)由主控制模塊和擴(kuò)展模塊構(gòu)成,主要用于檢測機(jī)器人周圍環(huán)境信息和機(jī)器人自身運(yùn)動狀態(tài),實(shí)時(shí)獲取各種傳感器信息,并對機(jī)器人運(yùn)動進(jìn)行控制。由于要采集的數(shù)據(jù)信息很多,本系統(tǒng)應(yīng)用了TWI總線構(gòu)建模塊化架構(gòu),模塊均采用AVR單片機(jī)為主控芯片:1片 ATmega128(主控)、10片 ATmega16、2片 AT-mega64和3片ATmega8。主控制器要實(shí)時(shí)地匯總并分析各單片機(jī)的信息才能對機(jī)器人下一步動作作出決策,因此,各單片機(jī)之間的通信顯得尤為重要。另外,為了方便對電子羅盤進(jìn)行標(biāo)定,需要由主控制器向電子羅盤模塊發(fā)送相應(yīng)指令。也就是說,主控制模塊與擴(kuò)展模塊之間需要實(shí)現(xiàn)雙向多字節(jié)通信,這是一個(gè)通信難點(diǎn)。本系統(tǒng)全部模塊均采用TWI通信接口,成功建立了一個(gè)主機(jī)與多個(gè)從機(jī)之間的雙向多字節(jié)通信,有效提高了程序的運(yùn)行效率,使得智能機(jī)器人整體架構(gòu)靈活,調(diào)試方便,并且擴(kuò)展性強(qiáng)。

1 TWI總線簡介

TWI總線是對I2C總線的繼承與發(fā)展,具有I2C總線的特點(diǎn),即接線簡單。外部硬件只需兩個(gè)上拉電阻,使用兩根雙向傳輸線(一是時(shí)鐘線SCL,一是數(shù)據(jù)線SDA)就可以將128個(gè)不同的設(shè)備互連到一起。[1]TWI對I2C總線的發(fā)展表現(xiàn)在:它定義了自己的功能模塊和寄存器,寄存器各位功能的定義與I2C總線并不相同,且TWI總線引入了狀態(tài)寄存器,從而在操作和使用上比I2C總線更靈活。[2]兩線接口TWI很適合于典型的處理器應(yīng)用,以及多機(jī)間實(shí)時(shí)通信的應(yīng)用。[3]

TWI通信接口簡單,但是強(qiáng)大而靈活。支持主機(jī)和從機(jī)操作,器件可以工作于發(fā)送器模式或接收器模式。數(shù)據(jù)傳輸率高達(dá)400kHz,且支持多主機(jī)仲裁。所有連接到總線上的設(shè)備都有自己的地址,TWI協(xié)議解決了總線仲裁的問題,[4]7位地址信息允許有128個(gè)從機(jī)。基于以上優(yōu)點(diǎn),TWI通信接口非常適合應(yīng)用于微控制器(俗稱單片機(jī))系統(tǒng)。[5]

2 智能機(jī)器人系統(tǒng)的模塊化結(jié)構(gòu)

本機(jī)器人系統(tǒng)以ATmega128單片機(jī)為主控制模塊,擴(kuò)展模塊包括2個(gè)紅外傳感器模塊、6個(gè)超聲波模塊、2個(gè)視覺處理模塊、1個(gè)溫度傳感器模塊、2個(gè)里程計(jì)模塊、1個(gè)電子羅盤模塊,以及1個(gè)陀螺儀模塊。擴(kuò)展模塊負(fù)責(zé)采集相應(yīng)的數(shù)據(jù)信息,由主控制器進(jìn)行處理分析。然后,及時(shí)地對機(jī)器人下一步動作進(jìn)行決策與指示。本系統(tǒng)的模塊化結(jié)構(gòu)圖如圖1所示。其中,超聲波模塊、視覺處理模塊、電子羅盤模塊和陀螺儀模塊均采用ATmega16單片機(jī),里程計(jì)模塊采用ATmega64單片機(jī),紅外傳感器模塊和溫度傳感器模塊采用ATmega8單片機(jī)。主控制模塊與各擴(kuò)展模塊均采用TWI接口。

圖1 智能機(jī)器人系統(tǒng)的模塊化結(jié)構(gòu)圖

3 模塊化智能機(jī)器人系統(tǒng)的TWI總線結(jié)構(gòu)

TWI可以工作于4種不同的模式:主機(jī)發(fā)送器(MT)、主機(jī)接收器(MR)、從機(jī)發(fā)送器(ST)及從機(jī)接收器(SR)。同一應(yīng)用程序可以使用幾種模式。[6]本機(jī)器人系統(tǒng)中,ATmega128為主機(jī),其他單片機(jī)均為從機(jī)設(shè)備。目的是實(shí)現(xiàn)主機(jī)與多片從機(jī)之間的雙向通信,即主機(jī)可以發(fā)送多字節(jié)數(shù)據(jù)給從機(jī)設(shè)備,從機(jī)也可以發(fā)送多字節(jié)數(shù)據(jù)給主機(jī)。TWI的兩根線在工作時(shí)必須有上拉電阻,既可以通過相關(guān)程序使能內(nèi)部的上拉電阻,也可以在硬件設(shè)計(jì)時(shí)增加上拉電阻。實(shí)際應(yīng)用中,最好軟硬件的方法同時(shí)使用,雙重保障。圖2為TWI總線的硬件結(jié)構(gòu)接線圖。

圖2 TWI總線的硬件結(jié)構(gòu)接線圖

4 TWI通信的軟件設(shè)計(jì)

4.1 主機(jī)的軟件設(shè)計(jì)

本系統(tǒng)中,主機(jī)ATmega128采用輪詢TWINT位的方式。主機(jī)主程序中的系統(tǒng)初始化主要包括定時(shí)器初始化和TWI總線初始化。主機(jī)主程序中寫函數(shù)TWI_write()的詳細(xì)流程如圖3所示,讀函數(shù)TWI_read()的詳細(xì)流程如圖4所示。一次傳輸過程包括一個(gè)START信號、一個(gè)SLA+R/W信號、一個(gè)或多個(gè)數(shù)據(jù)包、一個(gè)STOP信號。每發(fā)送一個(gè)信號或一個(gè)數(shù)據(jù)包,均要檢驗(yàn)狀態(tài)寄存器TWSR中的狀態(tài)碼,如果狀態(tài)碼正確,才發(fā)下一個(gè)信號,若不正確則轉(zhuǎn)出錯(cuò)處理。通過軟件編程技巧,可以在一次TWI通信中,實(shí)現(xiàn)主機(jī)與從機(jī)之間的多字節(jié)數(shù)據(jù)傳輸。同時(shí),在主機(jī)主程序流程圖中可以看到,在一個(gè)循環(huán)內(nèi),可以實(shí)現(xiàn)主機(jī)與從機(jī)之間的雙向數(shù)據(jù)傳輸。

圖3 主機(jī)發(fā)送函數(shù)流程圖

圖4 主機(jī)接收函數(shù)流程圖

4.2 從機(jī)的軟件設(shè)計(jì)

對于所有從機(jī),均采用中斷方式。采用中斷方式時(shí),當(dāng)TWINT位置位(硬件置位),則程序會自動跳到中斷向量,執(zhí)行中斷服務(wù)程序。在等待TWINT置位期間,從機(jī)可以執(zhí)行數(shù)據(jù)采集工作或執(zhí)行其他程序,從而有效地提高了程序的運(yùn)行效率。中斷服務(wù)程序中,只需檢驗(yàn)TWSR的狀態(tài)碼,讀取或?qū)懭霐?shù)據(jù)寄存器TWDR,這樣來完成與主機(jī)的數(shù)據(jù)通信。從機(jī)TWI中斷服務(wù)程序流程圖如圖5所示。

對于不同的從機(jī),硬件方面需要注意的是SCL、SDA兩根線位于單片機(jī)的I/O端口不同,例如ATmega16的SCL、SDA 分別位于 PC0、PC1[7];ATmega8的SCL、SDA則分別位于PC5、PC4[8]。軟件方面,需要給不同從機(jī)的TWAR賦予各自的從機(jī)地址。

圖5 從機(jī)TWI中斷服務(wù)程序流程圖

4.3 TWI總線的部分程序

為了增強(qiáng)程序的可讀性,將各種模式所需的TWI總線狀態(tài)進(jìn)行宏定義。對于主機(jī),省略一些數(shù)據(jù)處理和其他功能程序,最簡化的主程序如下:

對于從機(jī),重要的是TWI中斷服務(wù)程序,詳見以下代碼:

5 TWI通信的注意問題

由于TWI通信存在主機(jī)與從機(jī)模塊,在單獨(dú)對主機(jī)程序單步調(diào)試時(shí),主機(jī)單步運(yùn)行,而從機(jī)處于全速運(yùn)行,主從機(jī)步調(diào)不一致,單步調(diào)試結(jié)果顯示TWINT位不置位或者TWSR狀態(tài)碼不正確,誤認(rèn)為程序有問題。實(shí)際上,程序在全速運(yùn)行時(shí)是可以實(shí)現(xiàn)通信的。

另外,根據(jù)功能要求,在一次TWI通信中,例如要求主機(jī)給從機(jī)發(fā)送數(shù)據(jù)的字節(jié)數(shù)是1字節(jié)或2字節(jié),此時(shí),在從機(jī)中斷接收中,需增加相應(yīng)接收標(biāo)志位flag1、flag2,通過各自的標(biāo)志位分清接收的不同字節(jié)的數(shù)據(jù),避免產(chǎn)生不必要的混淆與錯(cuò)誤。

編程中,要嚴(yán)格按照TWI說明手冊中的內(nèi)容,不同的TWSR狀態(tài)碼時(shí),對TWDR執(zhí)行相應(yīng)的操作,對TWCR寫入相應(yīng)的數(shù)值。否則,有一點(diǎn)出入,都會造成TWI通信的失敗。

結(jié) 語

本智能機(jī)器人系統(tǒng)采用TWI總線構(gòu)建了模塊化架構(gòu),優(yōu)點(diǎn)是系統(tǒng)靈活、擴(kuò)展性強(qiáng)。TWI通信方法是主機(jī)ATmega128器件程序采用查詢方式,其他多片從機(jī)器件程序則采用中斷方式。本文介紹了在一次TWI傳輸過程中,傳送多字節(jié)數(shù)據(jù)的編程方法,并且建立了主機(jī)與多從機(jī)之間的雙向多字節(jié)數(shù)據(jù)通信,可以將機(jī)器人各傳感器模塊采集到的數(shù)據(jù)實(shí)時(shí)發(fā)送至主控制器進(jìn)行處理,有效地提高了程序的運(yùn)行效率。

[1] 郭祥軍.AVR單片機(jī)的TWI總線的原理及應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(8):37-39.

[2] 劉千杰.AVR單片機(jī)中TWI的模塊化檢測系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(2):39-41.

[3] 肖晶晶,李天劍,吳啟焱.基于TWI接口的AVR單片機(jī)通信系統(tǒng)設(shè)計(jì)[J].北京信息科技大學(xué)學(xué)報(bào):自然科學(xué)版,2009(4).

[4] Atmel.ATmega128Datasheet,2011.

[5] 馬惠鋒,韓震宇.AVR單片機(jī)TWI通信接口在廣播機(jī)微控制器中的應(yīng)用[J].中國測試技術(shù),2005(2):98-100.

[6] 楚天鵬,鄭華耀.TWI接口多機(jī)通信的實(shí)現(xiàn)[J].裝備制造技術(shù),2008(6):96-98.

[7] Atmel.ATmega16Datasheet,2010.

[8] Atmel.ATmega8Datasheet,2011.

猜你喜歡
模塊化單片機(jī)程序
模塊化自主水下機(jī)器人開發(fā)與應(yīng)用
模塊化住宅
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
ACP100模塊化小型堆研發(fā)進(jìn)展
中國核電(2017年2期)2017-08-11 08:00:56
模塊化VS大型工廠
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 人禽伦免费交视频网页播放| 久久精品这里只有国产中文精品| 伊人精品视频免费在线| 免费中文字幕一级毛片| 天堂网亚洲系列亚洲系列| 亚洲国产成人无码AV在线影院L| 亚洲最大情网站在线观看| 国产成人精品三级| 成人毛片免费观看| 亚洲欧洲免费视频| 萌白酱国产一区二区| 四虎国产在线观看| 国产成人一区二区| 国产迷奸在线看| 美女被操黄色视频网站| 国产免费高清无需播放器| 狼友视频一区二区三区| 国产精品白浆无码流出在线看| 欧美激情视频一区| 欧美中文字幕一区| 久视频免费精品6| 免费啪啪网址| 在线不卡免费视频| 91美女视频在线| 国产一区在线视频观看| 亚洲人成网站色7777| 免费人成在线观看成人片| 黄色网站不卡无码| 亚洲国产成人精品一二区| 久久男人资源站| 亚洲性一区| AV网站中文| 日本在线欧美在线| 欧美天堂在线| 国产浮力第一页永久地址| 在线无码私拍| 欧美国产日韩另类| 成人a免费α片在线视频网站| 精品视频福利| 国产aⅴ无码专区亚洲av综合网 | 欧美激情一区二区三区成人| 丁香五月婷婷激情基地| 久久特级毛片| 日韩在线欧美在线| 国产精品视频999| 欧美综合中文字幕久久| 国产一级裸网站| 97se亚洲综合| 亚洲色图欧美一区| 久久午夜夜伦鲁鲁片无码免费| 69免费在线视频| 国产高清在线精品一区二区三区 | 日本91视频| 國產尤物AV尤物在線觀看| 午夜一区二区三区| 91国内在线观看| 无码AV动漫| 亚洲欧美成人综合| 亚洲欧美日韩高清综合678| 国产精品主播| 日韩无码黄色| 国产日韩精品欧美一区灰| 亚洲一区二区三区中文字幕5566| 精品国产免费观看| 999国产精品| 亚洲婷婷六月| 成人韩免费网站| 亚洲无码91视频| 99伊人精品| 国产精品永久在线| 精品1区2区3区| 日韩欧美中文在线| 激情午夜婷婷| 亚洲第一国产综合| 欧美性爱精品一区二区三区| 欧美性爱精品一区二区三区| 欧美精品综合视频一区二区| 日韩欧美在线观看| 久久伊人色| 久久久噜噜噜久久中文字幕色伊伊 | 91精品伊人久久大香线蕉| 国产成人夜色91|