移动机器车的WiFi接口设计.pdf
移动机器车的 Wi F i 接 口设计黄猛 。 等 移动机器车的 Wi F i 接 口设计 De s i g n o f W i F i I n t er f a c e f o r Ca r l i k e M o b i l e Ro b o t 簧 牲 杜 彬 华东理工大学信息工程学院, 上海2 0 0 2 3 7 摘要针对移动机器车在运行时状态参数难以实时检测的问题, 设计了一个介于 Wi F i 模块和 S T M 3 2 微控制器之间的无线传输接 口。在该接 口设计中, 移动机器车中的微控制器 S T M 3 2与 Wi F i 模块之间采用 S P I 接 口通信, 并根据 E M 3 8 0的通信协议及时序 , 详细 讨论了 S P I 接 口的设计程序。最后通过利用 V C软件设计的上位机软件, 在 P c机上显示了赛车速度、 赛道中心线等信息。实验结果 验证了该无线接E l 传输数据的有效性 , 表明无线检测将成为移动机器车状态参数检测的发展方 向。 关键词 嵌入式系统移动机器车Wi F i S T M 3 2 E M 3 8 0 S P I 接口 中图分 类号 T P 3 3 4 . 7 文献标 志码 A Abs t r a c t To s o l v e t he d i f fic u l t y i n d e t e c t i ng t h e s t a t e p a r a me t e r s p r e c i s e l y i n r e a l t i me wh e n the c a r l i k e mo b i l e r o b o t i s i n o pe r a t i o n,a wi r e l e s s t r a n s mi s s i o n i n t e rfa c e b e t we e n W i F i mo d u l e a n d S TM3 2 mi c r o c o n t r o l l e r i s d e s i g n e d.I n the d e s i g n,S P I i n t e rf a c e c o mmu n i c a t i o n i s a d o pt e d b e t we e n mi c r o c o n t r o l l e r S T M3 2 a n d Wi F i mo d ul e;i n a c c o r d a n c e wi t h the EM3 8 0 c o mmu n i c a t i o n p r o t o c o l a n d t i mi n g s e q u e n c e,t h e d e s i g n p r o e e d u r e o f S P I i n t e rfa c e i s d i s c u s s e d i n d e t a i l .By u s i ng VC,t h e s o f t wa r e i n ho s t c o mpu t e r i s p r o g r a mme d .Th e i n f o r ma t i o n a b o u t s p e e d o f r a c e e a r a n d t h e c e n t e r l i n e o f t h e r a c e t r a c k e t c .,i s d i s p l a y e d o n P C.Th e e x pe rime n t s v e r i f y the e ffe c t i v e n e s s o f d a t a t r a n s mi s s i o n wi t h t hi s wi r e l e s s i n t e rf a c e a n d i n d i c a t e t h a t wi r e l e s s d e t e c t i o n wi l l b e t h e d e v e l o p i n g d i r e c t i o n f o r d e t e c t i n g p a r a me t e rs o f t h e c a r l i k e mo b i l e rob o t s . Ke y wo r d sEmb e d d e d s y s t e m Ca r . 1 i k e mo b i l e r o b o t Wi F i S T M3 2 EM38 0 S PI i n t e r f a c e 0 引言 在移动机器车实时运行过程中, 常常需要观测一 些重要的状态参数⋯, 如车速、 跟踪误差、 图像和舵机 转 角等 , 但是一直以来缺乏合适 的支 持工具将 这些状 态参数实时地发送到 P C中进行分 析 ; 另一方 面 , Wi F i w i r e l e s s f i d e l i t y 无线技术 近年来 得到了较快 的发展 。 相 比有线接人技 术 , Wi F i 的网络 连接具有更 大的灵活 性; 而相比其他无线技术, 如 Z i g B e e 、 蓝牙等, Wi F i 技 术具有传输数据快、 传输距离远的优势。因此 , 它为移 动机器车 的实时数据传输提供 了契机 。 本文提出了对移动机器车状态进行无 线检测 的接 口设 计 和 实 现 。该 设 计 采 用 M X C H I P公 司 推 出 的 E M 3 8 0 Wi F i 模块进行无线通信, 移动机器车上的核心 微处理器采用 s T公 司生 产的 S T M3 2 C o r t e x系列 处理 器。该系列处理器处理能力强, 可以在控制移动机器 车运动的同时完成数据的采集与传输, 而不影响数据 传输速率, 其实时性更强。 修改稿收到 日期 2 0 0 9 0 9 0 2 。 第一作者黄猛, 男, 1 9 8 7年生, 现为华东R-r - 大学信息科学与工程学 院控制科学与控制工程专业在读硕士研究生; 主要从事控制理论与应用 的研 究 。 1 移动机器车与 Wi F i 技术介绍 1 . 1 移动机器车介绍 图 1 所 示为移 动机器车 的框架图。移动机器车 的 组成主要包括电源、 摄像头、 主控芯片等。 充电电池 f 7 .2 V 2 A / h 电机驱动芯片 l I L M7 8 0 6 l l L M2 9 4 0 MO S 管桥电路 l I 输出 6 v l J输出5 V M C34 0 6 3 输出8 V 专 I l舵 机I I 单 片 机l l c c 嗨 像 头 l l 编 码 器 图 1 移动 机 器 车框 架 图 F i g . 1 F r a me w o r k o f c a r - l i k e mo b i l e r o b o t 在接 口设计 中, 采用 S P I口实现 主控制器 与 Wi F i 的数据通信 , 移动机器车主控制器芯片采用 S T M 3 2系 列微控制器 。 微控制器具有哈佛结构的C o rt e x - M 3内核, T h u m b 一 2 指令集以 1 6位的代码密度实现 3 2位的性能。S T M 3 2 具有三种低功耗模式和灵活的时钟控制机制, 用户可以 根据 自己所需的耗电/ 性能要求进行合理的优化; 另外 , 其内部高度集成电源监控器, 减少了对外部器件的需 5 0 P ROCE S S AUTOM ATI ON I NS TRUMENT AT I ON Vo 1 . 3 1 No . 3 Ma r c h 2 0 1 0 移动机器车的 Wi F i 接口设计黄猛。 等 求, 因此, 只需一个主晶振, 就可以驱动整个系统; 针对 R T C或看门狗的低频率 R C电路, L Q P F 1 0 0封装芯片的 最小系统也只需七个外部无源器件。 1 . 2 Wi F i 技术介绍 Wi F i 技 术符合 I E E E规范下 的 8 0 2 . 1 l b标准。 8 0 2 . 1 1 b 标准定义 了使用直接序列扩频 D S S S d i r e c t s e q u e n c e s p r e a d s p e c t r u m 调制技术 , 在 2 . 4 G H z 频带实 现 1 1 M b i t / s 速率的无线传输。在信号较弱或有干扰的 情况下, 带宽可调整为5 . 5 Mb i t / s 、 2 M b i t / s 和 1 M b i t / s 。 目前, 无线通信技术主要有蓝牙 B l u e t o o t h 、 Z i g . B e e 和 Wi F i 技术 这 三种 类 型。这三 种 技术 的特 点 总 结如下 。 首先 , 在传输速率上 , 尽管三者都工作在 2 . 4 G H z 的频段, 但 Wi F i 的传输速率能达到 I I M b i t / s , 而蓝牙 和 Z i g B e e 一般只能达到 1 M b i t / s 和2 5 0 k b i t / s 。 其次, 在传输距离上, Wi F i 的覆盖半径可达 1 0 0 In; 蓝牙在超过2 0 i n之后信号质量下降严重; 而 Z i g B e e的 传输通常受其发射天线影响很大, 传输距离往往较近。 另外, Wi F i 技术支持无线组 网, 只要设置一台有 效距离的无线 A P a c c e s s p o i n t , 就可允许多台 P c对 其进行访问; 蓝牙只能用于点对点连接 ; 而 Z i g B e e 在 组网复杂时, 其传输速度会受到很大限制。 1 . 3 E MB _ 3 8 0 C Wi F i 模块简介 E MB . 3 8 0 C为该接 口设计所选择 的 Wi F i 模块 。它 内部集 成了嵌 入式 T C P / I P协议栈 , 支持主流 的常用协 议 , 如 A R P 、 I C MP 、 I P 、 T C P 、 U D P 、 D H C P , 可 以向用 户提 供透明的 U A R T和 S P I 数据传输。在透明数据传输模 式下 , 当模块启动后, 用户可 以像使用传统 U A R T和 S P I 那样进行数据传输。模块会将用户数据封装成数 据帧, 并通过 WL A N传送给远程的客户端。 2 接 口设计与实现 2 . 1 无线通信 系统 图2 所示为该通信系统的示意图。系统首先由微控 制器完成数据采集, 然后将状态数据传送至 Wi F i 模块中, 模块再以无线方式将信息发送给带无线网卡的 P C机。 匡圄国一 图 2 无线通信 系统 示意图 F i g . 2 S c h e ma t i c d i a g r a m o f t h e w i r e l e s s c o mmu n i c a t i o n s y s t e m 2 . 2 接 口原 理图设计 该 接 口系 统 采用 S P I全 双 工通 信 模 式 , 在 S T M 3 2的 S P I 1以及 Wi F i 模块 上 的 S P I口之 间进 行数 自动化仪表 第 3 l卷第3期2 0 1 0年3月 据的收发。S T M 3 2微控制器是数据的发送源, 所以, 将 其配置为主设备, E M 3 8 0 模块则配置为从设备。 在 S P I 全双工通信模式下, 须将 主从设备 的 S P I 口中的 S C K、 MI S O、 M O S I 引脚互联 ; 另外 , 主设备 的 N S S 控制采用的是软件控制模式, 而 Wi F i 模块的 N S S 引脚则通过 P A 4目控制其 从模式 选择 , 实 际功 能相 当 于该模块 的片选 。图 3所 示为 该 系统 的接 口原 理 图, 其中J 。 和 J 2 为 Wi F i 模块的两排引脚。 输入输出控制 I NT - - - - - 一 r - PA0 WI F i _ J I R e s e t ● P Ax W AK E UP PAs NS S P A 4 N S S S T M3 2 S P I I M l S o ● - - - 一 PA s MI S O W i Vi _ J 2 M s O c S K I ● P A 6 M OS I P A T S CK 图 3接 口设 计 原 理 图 F i g . 3 De s i g n i n g p r i n c i p l e o f t h e i n t e r f a c e 另外, 由于在与 Wi F i 通信的过程中需不断地检测 模块状 态 Wi F i I N T信 号 , 所 以 , 我们 还需 配置一 个输 人 口P A 。 , 发送数据时先检测 Wi F i 的状态。而 P A ,口 作为输出, 用于软件控制 Wi F i 模块的复位 R E S E T , 这 样能够消除硬件无法复位的问题。 S P I 通信时序如图4所示。当 S T M3 2和 Wi F i 模 块初始化时, 可以在 S T M 3 2的 S P I口的控制寄存器中 选择时钟极性控 制位 , 以使 S C K引脚在 空 闲时保 持低 电平, 即 C P O L 0 ; 设置时钟相位, 使得在 S C K第一边 沿即进行数据位采集, 即 C P H A 0 当 C P O L 0时, 第一边沿即为上升沿 , 采集完成之后数据在 S C K第 一 个时钟边沿被锁存。在整个数据发送过程中, 主程 序还必须控制 P A 输出, 使从设备的 N S S管脚信号始 终为低电平, 从而实现 Wi F i 设备的模式选择。 CPOL--0 M【 I S o 从主设备发出 M 0SI 从从设备发出 NS S 从模式选择 捕获 选通 n r _ ]r _ 1 图4 S P I 通信时序 图 F i g . 4 T h e t i mi n g o f S P I c o mmu n i c a t i o n 2 . 3 接 口通 信程序设计 接口通信程序设计主要是根据 Wi F i 的通信协议 来设计 Wi F i 模块与 S T M 3 2之间的 S P I 通信程序的。 图5为 E M 3 8 0指令的通信时序。 51 移动机器车的 Wi F i 接口设计黄猛。 等 指 令信 号 -等待 应 答信 号 ; 等 待 l 2 3 4 图 5 E M 3 8 0通信 时序 F i g . 5 T h e t i mi n g o f EM3 8 0 c o mmu n i c a t i o n 图5中 模块 J , 的 I N T口与 S T M 3 2输人 口 P A 。 连 接, 主程序通过判断 P A寄存器的值就可 以获取当前 模块的工作状态 当 I N T为低电平时 , P A 。 输入数据为 0 , 表示 S T M 3 2可以向 E M 3 8 0发送命令或获取命令返 回信息。 E M 3 8 0的通信步骤主要如下 E M3 8 0加电后 , J 的 I N T一直保持为高电平 , 直到模块初始化完成, 才 被拉低 ; 在 E M3 8 0接收到 S T M3 2发送命令 的第一个 字节后 , 其将 I N T置高; E M 3 8 0在接收完一条 S T M 3 2 命令后 , 会对这条命令进行处理 , 这需要等待一段时 间; E M 3 8 0在发送完命令响应信息后 , 会进行一些必 要的处理 , 因此也需要等待一段时间; 当这个处理完 成后, E M3 8 0会将 I N T置低 电平。通信流程如 图 6 所示 模块初始化 下降沿到来,拉低N S S 信号 图 6通 信 流 程 图 F i g . 6 T h e fl o w c h a r t o f c o mmu n i c a t i o n 2 . 4 核心程序说明 当 S T M 3 2与 Wi F i 模 块 连接 好后 , 主 程序 调用 发 送函数 s e n d c m d进行数据发送。通信开始时, 主程序 首先检测 Wi F i 的 I N T信号, 然后 S T M 3 2将信息发送 给 Wi F i 模块。发送完成后 , 主程序再次检测 I N T信 号, 然后调用信息返回处理函数 r e c v c m d来判断返回 信息是否正确, 并根据指令作相应操作。当信息正确 时 , 将变量 r e t 返 回 给 s e n d c m d , 主程 序通 过判 断 r e t 决定程序是否继续调用发送子程序。 2 . 4 . 1 发送 函数 s e n d c m d 发送 函数 s e n d c m d根据 S T M 3 2不同的指令给 Wi F i 模块发送数据帧。通信开始时, 主程序调用一个 函数来查询 Wi F i 状 态 I N T ; 然后 S T M3 2将要发送的数 据写入数据寄存器 , 主程序再调用发送 函数 S P I s e n d b u f ; 最后调用 r e t u r n r e c v c m d 完成以下发送过程 接 收 Wi F i 返回的信息, 确认符合 Wi F i 模块定义的协议, 正确执行各种指令 。 2 . 4 . 2 返回函数 r e c v c m d 该函数嵌套在 s e n d c m d中使用, 它的作用是验证 指令并给 S T M 3 2返 回验证结果 。当校验不正确时 , 返 回 值 r e t 为 一1 。该函数首先定义返回信息, 将其存人数组 r e c v b u f 中, 并将它与头指针、 数据指针连接起来; 接下来 主程序调用 S P I _ c s 0 子函数, 以控制 P A 拉低 N S S信 号 , 实现 Wi F i 模块从模式选择 ; 然后 S T M 3 2开始接收返 回Wi F i 模块的校验信息; 信息接收完成后, 需进行校 验, 判断返回信息是否正确。信息若不正确, 直接返回 r e t 一 1 ; 反之, 则继续执行指令分析语句。 指令分析程序用于辨识相应的指令并进行处理。 因为只需简单的发送数据 , 所以省略了各种指令的处 理过程 , 这些可 由用户 自定义 。 以上步骤完成后, 主程序需调用 S P I C S 1 将 N S S 信号置高, 以配合下次通信。当返回信息都正确时, 将 r e t 0返 回给 r e c v _ c m d 。 2 . 5实验结果 为了测试从 S T M 3 2 给Wi F i 模块发送数据的有效性 以及车速等状态参数, 本文利用 V C 设计的上位机程 序接收的数据显示界面如图7所示。 图 7上 位 机 显 示 图 F i g . 7 Gr a p h i c d i s p l a y o n h o s t c o mp u t e r 图7中 当前车速为3 m / s , 电池电量剩余 8 6 %, 舵 机转角位为 2 3 。 。在接收时, 调适者需先在 I P地址中输 入 E M 3 8 0预设 的 I P地址及端 口号 , 以实现与无线模块 的连接, 然后上位机程序就可以将接收到的舵机转角、 车速及电池电量等定时信息显示出来, 并根据中心线数 下转第 5 6页 52 P ROCES S AUT OMAT I ON I NS TRUMENTATI ON V0 1 . 3 1 No . 3 Ma r c h 2 0 1 0 渊 一 刚 H H 一 言 三 S S 风光互补路灯无线监控系统的设计罗德塔。 等 各监控参数的实时/ 历史曲线 , 使用户更加方便地了解 现场数据 的变化情况 ; ⑥ 故障记录、 报警功能 出现事故、 故障时发出声光 报警信号, 显示系统报警信息, 并对采集的电流、 电压、 风 速等模拟量进行越限监视, 如发生越限, 立刻发出报警信 号, 并记录和显示越限时间和越限值, 同时以短消息的方 式给维修人员发送事故、 报警信息, 保证对路灯系统的及 时维护 , 用户还可以对未确认的报警信息进行确认 ; ⑦ 报表功能 生成远端系统各设备运行情况和报 警情况的 日报表 、 月报表 、 年报表 , 并提供打印功能 ; ⑧ 系统 自检功能 用户可通过此功能 了解 L E D路 灯系统的运行状态, 检测 L E D路灯系统是否正常运 行 , 实现系统 自检。 3 系统运行测试 根据搭建的实验系统, 使用串口通信进行模拟测 试, 并对风光互补路灯系统进行监测实验 , 能够得到良 好的监控数据和监控效果, 其实时曲线显示界面如图5 所示。实时曲线显示界面反映了一段时间内路灯系统 主要参数的变化曲线以及各参数之间的相互影响。 j 瑚i ■I - j 一 I t t■ ■■& 一 丽 一一 - . 一 ●. w 一’一 ■4 . i f一~⋯ *n一 r ~一 l t帆I ■■ i 曼鲤 篮圃r ~. 一 一 . 强_厂 ⋯ ⋯ R 悄卅 ⋯ ≥ 一一 \r 一 \/ 图5 实时曲线显示界面 F i g . 5 Di s p l a y i n g i n t e r f a c e o f r e a l t i me c u l “v e 从图5可以看出, 在当前状态下, 当地的风速和光 照强度都较低, 风机和太阳能板输出不够大, 都低于蓄 电池端电压。为了保护蓄电池, 防止蓄电池泄放 , 已将 风机和太阳能板从系统断开。从以上实验数据可以看 出, 监控系统运行可靠, 能实现对 L E D路灯系统的监 控和管理功能。 4 结束语 该监控系统充分利用现有的无线基站网络 , 使用 V B软件提供的友好人机界面、 完善的报警和数据分 析、 强大的数据库等功能模块, 对风光互补 L E D路灯 系统进行实时远程监控, 具有网络投人费用少、 运营成 本低、 维护管理方便等优点。经过实验验证, 监控系统 运行可靠、 实时监控能力强, 可以快速预测、 发现和解 决系统故障, 改善路灯系统的维护和管理, 保证了亮灯 效率, 具有很好的推广和应用价值。 参考文献 [ 1 ]黎水平, 贺建军. 基于G P R S的配电变压器在线监控系统研究[ J ] . 自动化仪表, 2 O O 8 , 2 9 9 3 3 3 5 . [ 2 ]苏奎峰. T M S 3 2 0 X 2 8 1 x D S P原理及 C程序开发[ M] . 北京 北京 航空航天大学出版社, 2 0 0 8 . [ 3 ]李立伟, 邹积岩. 蓄电池在线监测系统的设计与实现[ J ] . 电工 技术杂志 , 2 0 0 2 1 1 79 . [ 4 ]欧阳名三. 独立光伏系统中蓄电池管理的研究[ D ] . 合肥 合肥 工业大学 , 2 0 0 4 . [ 5 ]逄玉台, 王团部. 集成温度传感器 A D S 9 0 及其应用[ J ] . 国外电 子元器件 , 2 0 0 2 7 2 2 2 4 . [ 6 ]求是科技, 仵浩, 齐燕杰, 等. V i s u a l B a s i c 串口通信工程开发实 例导航[ M] . 北京 人民邮电出版社, 2 0 0 3 . [ 7 ]丁志文, 周悦, 韩中华. 基于S M S 的智能家居监控系统[ J ] . 低压 电器 , 2 0 0 8 1 o 1 41 7 . 上接第 5 2页 据画出移动机器人摄像头观察道路的中心线曲线㈧。 3 结束语 本文将移动机器车中的S T M 3 2微控制器与 E M 3 8 0 无线 Wi F i 通信模块结合起来 , 设计了一个无线通信接 口。该接口能将实时运行的移动机器车的速度、 舵机转 角等信息传送到相关的上位机软件中, 其可行性得到了 验证。此外 , 这 一设计思 路还 可以应用 在其他一 些场 合, 如温湿度等状态监测 ] 、 家庭安防监控系统等 ] 。 参考文献 [ 1 ]O l i v e r a V M, C m a s J M, S e r r a n o O S .W i F i l o c al i z a t i o n m e t h o d s f o r a u t o n o m o u s ro b o t s J 1 . R o h o t i c a , 2 0 0 6 , 2 4 4 4 5 5 4 6 1 . 动化仪表, 2 O 0 5 , 2 6 6 5 9 . [ 3 ]朱刚, 谈振辉. 蓝牙与8 0 2 . 1 i b 的干扰与共存问题[ j ] . 北方交 通大学学报 自然科学版 , 2 0 0 4, 2 8 2 1 7 . [ 4 ] 陈文周.Wi F i 技术研 究及应 用 [ J ] . 数 据通信 , 2 0 0 8 2 1 4 1 7. [ 5 ]王永虹, 徐炜, 郝立平. S T M 3 2系列 A R M C o d e x M 3 微控制器原 理与实践[ M] . 北京 北京航空航天大学出版社, 2 0 0 8 3 8 3 3 9 8. [ 6 ]D e s o u z a G N,K a k A C . V i s i o n for m o b i l e r o b o t n a v i g a t i o n a s u r - v e y [ J ] . I E E E T r a n s a c t i o n s o n P a t t e r n A n al y s i s a n d M a c h i n e I n e l l i - g e n c e , 2 0 0 2, 2 4 2 2 3 72 6 7 . [ 7 ]吴红举 , 沈建华. 嵌入式 Wi F i 技术研究与通信设计 [ J ] . 单片机 与嵌入式系统应用 , 2 0 0 5 6 5 7 . [ 8 j王建国, 郭宝亿. 基于Z i g B e e 和WiF i 相结合的楼宇监测系统[ J ] . [ 2 ]周怡颂, 凌志浩, 吴勤勤. Z ig B e e 无线通信技术及其应用探讨[ J ] . 自 西安工业大学学报 自 然科学版, 2 O 0 8 , 2 8 5 4 6 0 4 6 5 . 5 6 P RoCES S AUTOM ATI oN I NS TRUM E NTATI ON V0 1 . 3 1 No . 3 M a r c h 2 0 1 0