4895|1

367

帖子

0

TA的资源

裸片初长成(高级)

楼主
 

ARM2210的智能移动机器人人机界面设计 [复制链接]

摘要: 移动机器人人机界面为移动机器人的运动控制提供直观的路径图形、运动速度和角度、障碍物信息等。通过ARM2210的串口UART0接收中心处理器PC104的运动信息,利用东芝公司的液晶控制器T6963C驱动STN液晶屏YL240128A,以及ZLG/GUI软件包提供的基本绘图和菜单操作函数设计了基于嵌入式系统ARM2210开发板的移动机器人人机界面,并利用ARM2210的I2C器件ZLG7290提供的I2C接口功能和键盘中断信号实现菜单选择,具有很强的实用性。 引言 嵌入式系统以其高性能、低功耗、低成本的优点,已经在很大程度上改变了人们的生活。如,MP3播放器、智能手机、数码相机产品等已经渗入人们生活的各个方面。随着液晶显示技术的不断进步,以及图形用户界面GUI (Graphical User Interface)技术的广泛应用,人机界面也越来越友好。它能为移动机器人的运动控制提供直观的路径图形、数据参数等。本文介绍了一种以嵌入式微处理器LPC2210为基础,应用ZLG/GUI软件包设计移动机器人人机界面的方法。 我们设计开发的智能移动机器人是一个以PC104嵌入式微机为中心处理器, TMS320F2812为运动控制器,超声波传感器作为避障的集合环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统,主要包括运动系统、电子信息系统和传感系统。它通过CCD摄像机和图像采集卡获得视频信息,并通过超声波传感器组测得前方障碍物距离实现避障。移动机器人的人机界面主要向用户展示移动机器人的运动信息,如当前的运动速度、与前方障碍物的距离以及行驶的轨迹。 图1 ARM2210的系统框图 ARM221O的基本组成 ARM221O以PHILIPS公司ARM7TDMI-S微控制器LPC2210为核心,以支持实时仿真和嵌入式跟踪的嵌入式系统。LPC2210的CPU频率最大为60MHz,并且扩展了丰富的外围设备接口,使系统稳定性大大提高,开发也更简单。图1是ARM2210的系统框图。 由于该系统包含了RS232转换电路,可通过UART0与上位机PC104进行数据传输,同时还包括东芝公司的点阵式液晶控制器T6963C,扩展了液晶接口,同时提供了LED数码管显示和16个按键输入,因此开发人机界面非常方便。 人机界面的硬件设计 数据传输 PC104的串行口可以作为标准PC的COMl通信口或扩展为控制台串行口,用于键盘输入和显示终端输出或计算机之间的串行输入/输出口。 ARM2210的UART0具有16字节接收和发送FIFO;寄存器位置符合'550工业标准;接收器FIFO触发点可为1, 4, 8和14字节 ;内置波特率发生器 。 移动机器人的运动信息通过TI公司DSP控制器TMS320F2812以及超声波传感器等传送至嵌入式微机PC104,再经过PC104作信息融合后,通过串口传给ARM2210并由液晶屏显示。 液晶显示及菜单选择 东芝公司的液晶控制器T6963C具有独特的硬件初始化设置功能,最大驱动点阵液晶为单色640*128(单屏),支持图形和文本单独显示和混合显示,并具有字符发生器,能满足对移动机器人人机界面的显示要求。图2为内置T6963C的240*128点阵图形液晶模块原理图。 另外, ARM2210系统中配备了I2C器件ZLG7290以及16个按键。ZLG7290提供了I2C串行接口和按键中断信号,方便与处理器连接;并且能驱动8位共阴数码管或64只独立的LED和64个按键,8个功能键可检测任一键的连击次数。 本系统选用点像素为240*128点、黄绿显示的STN液晶屏YL240128A作为人机界面显示屏;用ARM2210系统16个按键中的S11、S12、S13作为输入部分,实现对人机界面的选择操作。 人机界面的软件设计 移动机器人人机界面的关键是菜单操作,以及图形和数据的实时显示。GUI是用于提高人机交互友好性、易操作性的计算机程序,它是建立在计算机图形学基础上的产物。人们不再需要死记硬背大量的命令,而是通过窗口、菜单方便地进行操作。由于嵌入式系统的资源有限,所以对GUI 的要求是可裁剪的,高速度的。ZLG/GUI 是由周立功公司开发的,占用资源小、使用方便的嵌入式系统简易的图形用户界面软件。ZLG/GUI 提供了最基本的画点、线、圆形、圆弧、椭圆形、矩形、正方形、填充等功能,较高级的接口功能有ASCII 显示、汉字显示、图标显示、窗口、菜单等,支持单色、灰度、伪彩、真彩等图形显示设备。因此,利用ZLG/GUI软件包能够满足对移动机器人人机界面的设计要求。
此帖出自ARM技术论坛
点赞 关注
 

回复
举报

367

帖子

0

TA的资源

裸片初长成(高级)

沙发
 

回复: ARM2210的智能移动机器人人机界面设计

图2 内置T6963C的240*128点阵液晶模块原理图 数据传输 接收上位机PC104发送的数据时,使能UART0的FIFO进行数据发送/接收,接收采用中断处理方式。其中,UART0的串口模式和数据结构设置为:通信波特率9600,8位数据位,1位停止位,无奇偶校验。其主要程序如下: /*定义串口模式及数据结构*/ typedef struct Uart0Mode { uint8 datb; // 字长度 uint8 stpb; // 停止位 uint8 parity; // 奇偶校验位 } UART0MODE; /*初始化串口*/ uart0_set.datb= 8; // 8位数据位 uart0_set.stpb = 1; // 1位停止位 uart0_set.parity = 0; // 无奇偶校验UART0_Ini(9600, uart0_set); // 初始化串口模式 /*串口UART0接收中断*/ void __irq IRQ_UART0(void) { uint8 i; if( 0x04==(U0IIR&0x0F) ) rcv_new = 1; // 置新数据标志 for(i=0; i<8; i++) { rcv_buf = U0RBR; // 读FIFO数据,清除中断标志} VICVectAddr = 0x00; // 中断处理结束 } 窗口显示 人机界面主要是通过图标菜单实现移动机器人运动参数的显示,以及运动轨迹的相关操作,如"打开"、"暂停"、"关闭"等。因此,首先定义一个窗口的数据结构,并设置窗口的起始坐标、大小、标题等相关参数;然后调用GUI_WindowsDraw()输出显示窗口 /* 设置主窗口并显示输出 */ mainwindows.x = 0; mainwindows.y = 0; mainwindows.with = 240; mainwindows.hight = 128; mainwindows.title = (uint8 *) "Mobile Robot Interface"; mainwindows.state = NULL; GUI_WindowsDraw(&mainwindows); // 绘制主窗口 图标菜单也需要定义相关的数据结构,其中图标数据和文字显示可以通过字模软件转化为数据。如对应"打开"图标转化为数据: uint8 const menuico1[]={ 0x00,0x70,0x00,0x1C,0x00,0x12,0x1C,0x1A, 0x17,0x0A,0x21,0xF1,0x20,0x1A,0x4F,0xFE, 0x58,0x02,0x50,0x02,0x60,0x06,0x60,0x04, 0x60,0x04,0x40,0x08,0x7F,0xF8,0x00,0x00, }; /*;图标"打开";宽×高(像素) : 16×16*/ 然后,将每一个图标菜单项的显示坐标地址、图标的数据指针、对应的服务函数等进行设置后,即可调用GUI_MenuIcoDraw()实现显示输出。 mainmenu[0].icodat = (uint8 *) menuico1; mainmenu[0].title = (uint8 *) "open"; mainmenu[0].Function = (void(*)())Runopen; 另外,主程序需要先调用GUI_SetColor(1,0)函数来设置前景色及背景色。1表示点显示,0表示点灭。
此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表