账号:
密码:
CTIMES / 文章 /   
具USB及ZigBee无线技术之3D战车竞技
 

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

浏览人次:【9382】
  

本系统以盛群的微控制器为核心,透过控制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飞弹炮台的游戏设备,在未来也可以运用在工业上机器设备的摇控以及一些近端电子设备的遥控等。


<本文作者为国立虎尾科技大学 信息工程系 许永和教授、曾建豪生>


---本文由盛群半导体提供---


相关文章
ST以MCU创新应用技术潮流 打造多元解决方案
ST:精准度只是标配 感测器需执行简单运算的智慧功能
意法半导体持续专注永续发展 加速实现碳中和目标承诺
优化MCU SPI驱动程式实现高ADC吞吐率
ST:内部扩产与制造外包并进 全盘掌控半导体供应链
相关讨论
  相关新品
Arduino Motor Shield
原厂/品牌:RS
供应商:RS
產品類別:
mbed
原厂/品牌:RS
供应商:RS
產品類別:
Arduino
原厂/品牌:RS
供应商:RS
產品類別:
  相关新闻
» 虹彩光电独家胆固醇液晶技术 研发创新彩色电子纸方案
» 聚焦新兴应用 富采锁定汽车、先进显示、智能感测三大市场
» 美光针对用户端和资料中心等市场 推出232层QLC NAND
» 工研院、友达强强联手结伴 聚焦4大领域产业抢商机
» 摩尔斯微电子在台湾设立新办公室 为进军亚太写下新里程碑
  相关产品
» Transphorm与伟诠电子合作推出新款整合型氮化??器件
» ST高成本效益无线连接晶片 让eUSB配件、装置和工控设备摆脱电线羁绊
» u-blox新推两款精巧型模组内建最新Nordic蓝牙晶片
» 博世在轻度混合动力系统中采用 DELO 黏合剂
» Alif Semiconductor推出全球首款蓝牙低功耗和Matter无线微控制器
  相关资源
» Power Management Solutions for Altera FPGAs

AD


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

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3
地址:台北市中山北路三段29号11楼 / 电话 (02)2585-5526 / E-Mail: webmaster@ctimes.com.tw