帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
具USB及ZigBee無線技術之3D戰車競技
 

【作者: 許永和,曾建豪生】   2012年05月15日 星期二

瀏覽人次:【9728】

本系統以盛群的微控制器為核心,透過控制USB主控制器IC來完成讀取USB HUB上的多個USB搖桿,並以ZigBee無線的方式來遙控履帶戰車的行走與連接其上的USB飛彈砲台。實現了不需要經由電腦主機便可遊戲的架構,使其操作性更高。


USB介面動作原理

對於USB的通訊協定,其中包含了USB封包、傳輸類型、描述元、裝置要求、群組等USB規格書中相關的協定[1]。當然,唯有遵循此協定,才能執行USB周邊裝置與本作品的USB主控制台之間的資料傳輸與命令的設定。首先,我們需實現一個標準的USB通訊協定。如下圖一所示,顯示了USB主機端如何與裝置執行通信協定的傳輸格式。從圖一中,也可看出一個通信協定所需包含的各種封包與各類型欄位。在USB的傳輸中,因不同的周邊裝置的類型與應用,訂定了四種的傳輸類型,分別是控制型傳輸(Control Transfer),中斷型傳輸(Interrupt Transfer),巨量型傳輸(Bulk Transfer)以及等時型傳輸(Isochronous Transfer)。


圖一 : 標準USB控制型傳輸
圖一 : 標準USB控制型傳輸

至於USB裝置列舉過程與讀取流程圖如下圖二所示。以控制型傳輸來完成整個裝置列舉的過程,並且以其裝置專屬的傳輸類型來完成其群組裝置資料的讀取。以本系統為例,本系統以控制型傳輸完成USB HUB的裝置列舉[1],並且也是以控制型傳輸來尋找是否有裝置插入USB HUB,若有則將其以控制型傳輸裝置列舉,結束後則以中斷型傳輸來獲得USB HID操縱手把的資訊。USB HID操縱手把是屬於USB HID(Human interface device)[2]。


每當裝置第一次連接到主機時,控制型傳輸就可用來交換訊息,設定裝置的位址或是讀取裝置的描述元與要求。由於控制型傳輸非常的重要,所以必須確保傳輸的過程沒有發生任何的錯誤。因此,這個偵錯的過程可以使用CRC (Cyclic Redundancy Check,循環檢核)錯誤檢查方式來偵測。如果錯誤無法恢復的話,只好再重新傳送一次。在以上相關的USB的通訊協定中,我們必須以盛群的HT46R24來實現USB 主裝置協定的功能[3]。因此。透過控制USB主晶片(SL811HS),來達成一個PC主機上的USB主機控制器。而這對於要透過HT46R24韌體程式來抓取USB HUB與USB HID裝置來說,相關程式設計的撰寫與USB相關協定的了解,是此專題最大的負荷與技術的瓶頸,也是最難克服的關鍵目標。


圖二 : USB裝置列舉的讀取流程圖
圖二 : USB裝置列舉的讀取流程圖

履帶車輛動作原理

本作品中的履帶車是由左右兩邊的直流馬達來動作。我們利用盛群公司的8-bit MCU HT46R24結合TA7279P馬達控制IC(TOSHBA)來產生PWM(Pulse Width Modulation)波形,並控制本作品的履帶車輛的行進方向。


PWM脈波寬度調變原理,是一連串可以調整脈波寬度的信號。脈波寬度調變是一種調變或改變某個方波的簡單方法。在基本的波形上,方波工作周期(duty cycle)是根據輸入信號的變化而變化。在直流馬達控制系統中,為了減少流經馬達繞線電流及降低功率消耗等目的,常常使用脈波寬度調變信號(PWM)來控制交換式功率元件的開與關動作時間。而其最常使用的就是藉著改變輸出脈波寬度或頻率來改變馬達的轉速。若將供應馬達的電源在一個固定週期做ON及OFF 的控制,則ON 的時間越長,馬達的轉速越快,反之越慢。透過此種ON 與OFF 比例控制速度的方法即稱為脈波寬度調變,而ON 的期間稱為工作週期(duty cycle),以百分比表示。如圖三所示,為PWM信號的示意圖。若直流馬達的供應電源電壓為10伏特,乘以20%的工作週期即得到2伏特的輸出至馬達上,不同的工作週期對應出不同電壓讓直流馬達轉速產生不同的變化。



圖三 : PWM信號示意圖
圖三 : PWM信號示意圖

ZigBee無線傳輸技術

ZigBee為新一代的無線傳輸技術[4],主要是針對短距離、低成本、低耗電與架構簡單作為發展重心。對於ZigBee資料的傳送其傳輸速度最大可達250 kbps,距離方面可達100公尺。本作品的ZigBee無線感測網路模組是使用CC2530晶片組,其晶片組為TI公司推出的專門用來實現嵌入式ZigBee應用的晶片組[5]。其中,擁有高達256KB容量的大區塊的快閃記憶體,CC2530特別適合ZigBee PRO 的應用。64K與以上的版本將針對ZigBee RF4CE支援新的RemoTItm堆疊,這是業界第一個符合ZigBee RF4CE之協定堆疊,同時加大的記憶體容量能讓單晶片OTAD(Over The Air Download) 支援系統內再燒錄功能。此外,CC2530將完全整合的高效能RF收發器、8051MCU、8KB RAM 32/64/128/256 KB 快閃記憶體,與其他功能強大的功能與周邊相結合。


而根據ZigBee之技術特性,ZigBee具有如下的特性:


省電:

ZigBee傳輸速率低,使其傳輸資料量亦少,所以訊號的收發時間短,其次在非工作模式時,ZigBee處於睡眠(IDLE)模式。而在工作與睡眠模式之間的轉換時間,一般睡眠啟動時間只有15ms。此外,設備搜尋時間為30ms。透過上述方式,使得ZigBee十分省電,其內裝的電池則可支援ZigBee長達6個月到2年左右的使用時間。


可靠度高:

ZigBee之MAC層採用talk-when-ready之CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)機制。此機制為當有資料傳送需求時即立刻傳送,每個發送的資料封包都由接收方確認收到,並進行確認訊息回覆。若沒有得到確認訊息的回覆就表示發生了碰撞,將再傳送一次,以此方式大幅提高系統資訊傳輸之可靠度。


高度擴充性:

一個ZigBee的網路最多包括有255個網路節點,其中有一個是FFD,而其餘則是RFD。若是透過Network Coordinator則整體網路最多可擴充到65,535個ZigBee網路節點,再加上各個Network Coordinator可互相連接,使整體ZigBee網路節點數目將十分可觀。


作品結構

如下圖四所示,為整體系統架構示意圖,其中包括USB主控台及USB戰車。USB主控台是經由HUB接收到來自使用者的控制資料,並透過ZigBee傳輸到USB戰車上,使得USB戰車做出相對應的動作。


圖四 : 整體系統架構示意圖
圖四 : 整體系統架構示意圖

USB主控台

在USB主控台中,其控制方式以USB HID操縱手把中的十字鍵來控制戰車移動,並利用按鈕操控戰車上的飛彈砲台上下左右的移動與發射砲彈。如此,可讓玩家達到全方位的對戰的功能。由於本系統主控台端需要達到可讀取多個USB HID操縱手把,並且將其USB訊號轉達至USB戰車中來進行USB戰車的操控。因此,需設計此USB主控台來連接一USB USB以及兩組USB HID操縱手把。


如下圖五所示,為本系統的架構圖。USB主控台是以盛群的HT46R24來完成對USB主晶片組(SL811HS)的控制。其中,包含讀取USB HUB與USB HID操縱手把,並以無線的方式將訊號傳遞給USB戰車來進行遊戲。在上述所需具備的USB傳輸協定的規範中,本系統中實現的是同時讀取低速USB HID裝置與USB HUB全速裝置。而為了達成多個USB HID操縱手把的裝置列舉與讀取其訊號,USB主控台是以HT46R24中的Timer 1與Timer 0來完成測試USB HUB的裝置的插入與拔出,並對其做出相對應的列舉與除能。此外,透過Port B_0(TXD)與Port B_1(RXD)以IO模擬的方式來做出UART介面以控制外部的ZigBee模組 (CC2530)。最後,再透過Port A來控制LCD,用來顯示目前主控台狀態,並以Port C為資料埠以及Port D為控制埠來控制SL811HS IC。


圖五 : USB主控台硬體架構示意圖
圖五 : USB主控台硬體架構示意圖

其中,ZigBee模組的連線方式以主控台為協調者(Coordinator),相對的,USB戰車上的ZigBee模組則為終端裝置(End Device)。而其設定方式為只要上線則自動搜尋連線,並以星狀的方式為拓樸架構來達到一對多的操控目的。至於UART(Universal Asynchronous Receiver/Transmitter)鮑率的部分,本系統採用的是38,400bps的鮑率,以便達成USB戰車控制上更為流暢的目的。


USB戰車

本作品的USB戰車是由USB飛彈砲台[6]與履帶車結合而成。如圖六所示,為本系統USB戰車的硬體架構示意圖。其中,HT46R24會對USB主晶片組SL811HS與馬達控制IC TA7279P進行控制。


而透過ZigBee模組接收到的USB主控台所傳輸的搖桿資料,來控制USB戰車的動作。本USB戰車中,所要連接的USB裝置是屬於USB HID的USB飛彈砲台。因此,透過這個USB主裝置的設計,我們可以用控制USB飛彈砲台的轉向與發射。此外,在履帶車的部分我們使用了Port B_4~7去控制履帶車的前後左右,並透過Timer1來實現PWM的波形調整。其中,SL811HS的控制方法與主控台相同。


圖六 : USB戰車硬體架構示意圖
圖六 : USB戰車硬體架構示意圖

測試方法

USB主控台

在做USB主裝置設計的部分之前,為了達成更快速的韌體程式撰寫與偵測,一開始就必須先了解PC主機是如何讀取USB HUB、USB HID操縱手把與USB HID飛彈砲台。


本作品透過”ellisys”公司所推出的”USB Tracker”裝置,以PC主機為主控制端讀取USB HUB與其USB HID操縱手把的流程,並加以監測與分析。如下圖八與圖九所示,則是USB Tracker所抓取到USB 1.1封包資料。


在這些圖中, PC主機首先偵測到USB HUB的裝置描述元,並給予其裝置位址為1。透過位址1來讀取其USB HUB的狀態,當發現到狀態中有裝置時,則給予USB HUB上的裝置位址2,並將SPEED從FS(全速,Full Speed)更改為LS(低速,Low Speed),為的就是讀取USB HID操縱手把的訊號。而透過此USB HID操縱手把的端點1,來獲得USB HID操縱手把的訊號,也就是圖中的IN 資料交易封包


圖七 : USB Tracker分析封包封包示意圖(上)
圖七 : USB Tracker分析封包封包示意圖(上)
圖八 : USB Tracker分析封包封包示意圖(下)
圖八 : USB Tracker分析封包封包示意圖(下)

透過此測試,便可清楚的了解到USB主控台來讀取USB HUB的詳細流程。如此,便可撰寫HT46R24 MCU來控制SL811HS的USB 主控端程式碼。如下圖十所示,則為以HT46R24 MCU來達成USB HUB與USB HID操縱手把的分析封包圖。而最後的圖十一則是實體連線圖,其中清楚顯示裝置列舉的過程,以及讀取到USB HID操縱手把的訊號皆已成功。


圖九 : 以HT46R24讀取USB HUB與USB HID操縱手把之封包示意圖
圖九 : 以HT46R24讀取USB HUB與USB HID操縱手把之封包示意圖

圖十 : 整體USB HUB與USB HID操縱手把之測試連線實體圖
圖十 : 整體USB HUB與USB HID操縱手把之測試連線實體圖

USB戰車

USB戰車可以分為USB飛彈砲台與履帶車等2個部分。其中,USB飛彈砲台是使用低速的USB HID裝置來控制。如圖十二所示,則為USB飛彈砲台的各項描述元,我們可以透過USB主控端發送相對應的描述元來控制砲台的動作。


圖十一 : USB飛彈砲台的各項描述元示意圖
圖十一 : USB飛彈砲台的各項描述元示意圖

而履帶車的行進是利用PWM的原理進行直流馬達的控制。在此,透過HT46R24的Timer1來達成PWM的波形。如圖十三所示,為履帶車靜止時的PWM波形,當搖桿上的方向鍵或類比搖桿沒有任何動作時,便不會有PWM波形的產生。


圖十二 : 履帶車靜止之PWM波形測試示意圖
圖十二 : 履帶車靜止之PWM波形測試示意圖

當我們壓下方向鍵或是轉動類比搖桿時,USB戰車上的HT46R24便會開始產生相對應的PWM波形。如圖十四所示,為行駛時的PWM波形。


圖十三 : 履帶車行駛之PWM波形測試示意圖
圖十三 : 履帶車行駛之PWM波形測試示意圖

藉由波型的不同與4隻之輸出腳位切換,讓履帶車可以如圖十五所示,進行原地的方向轉換或是行進時的轉向。


圖十四 : 履帶車行駛的原地轉向與行進轉向操作示意圖
圖十四 : 履帶車行駛的原地轉向與行進轉向操作示意圖

結論

本作品主要是整合USB與ZigBee無線傳輸技術來做短距離的控制裝置,其控制端是由USB HUB及USB HID搖桿所組合而成的控制裝置,透過ZigBee無線傳輸達到短距離遙控的功能。此外,本作品使用USB HUB讓使用者使用的搖桿可以擴充給多人操作,並透過USB介面的隨插即用功能可以隨時新增搖桿來控制裝置。本作品透過ZigBee無線傳輸晶片組CC2530的擴充節點容易,可以隨時增加新的控制裝置,達到多對多的目的。因此,本作品實現了不需要經由PC便可操作的架構,使其操作性更高。而目前本作品將這項技術使用在USB HID飛彈砲台的遊戲裝置,在未來也可以運用在工業上機器設備的搖控以及一些近端電子設備的遙控等。


<本文作者為國立虎尾科技大學 資訊工程系 許永和教授、曾建豪生>


---本文由盛群半導體提供---


相關文章
意法半導體的邊緣AI永續發展策略:超越MEMS迎接真正挑戰
為嵌入式系統注入澎湃動力 開啟高效能新紀元
嵌入式系統的創新:RTOS與MCU的協同運作
STM32MP25系列MPU加速邊緣AI應用發展 開啟嵌入式智慧新時代
STM32 MCU產品線再添新成員 STM32H7R/S與STM32U0各擅勝場
comments powered by Disqus
相關討論
  相關新聞
» DigiKey第16屆年度DigiWish佳節大放送活動即將開始
» 台灣PCB產業南進助攻用人 泰國產學合作跨首步
» AI推升全球半導體製造業Q3罕見成長 動能可望延續至年底
» 中國科學家研發AI驅動系統 加速微生物研究
» 澳洲UOW大學獲資助開發量子成像系統 革新癌症放射治療


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.118.28.217
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw