当前位置:首页 > 单片机 > 单片机
[导读]摘要:利用AVR单片机的TWI(Two-Wire Serial Interface)总线构建了智能机器人系统的模块化构架。利用TWI总线实现了主控模块与扩展模块之间的双向多字节通信,介绍了软件编程方法,可以将机器人各传感器模块采集到的数

摘要:利用AVR单片机的TWI(Two-Wire Serial Interface)总线构建了智能机器人系统的模块化构架。利用TWI总线实现了主控模块与扩展模块之间的双向多字节通信,介绍了软件编程方法,可以将机器人各传感器模块采集到的数据实时发送至主控制器进行处理。有效提高了程序的运行效率,使得智能机器人整体架构灵活、调试方便、扩展性强。
关键词:TWI;模块化;AVR

引言
    模块化设计的机器人系统由主控制模块和扩展模块构成,主要用于检测机器人周围环境信息和机器人自身运动状态,实时获取各种传感器信息,并对机器人运动进行控制。由于要采集的数据信息很多,本系统应用了TWI总线构建模块化架构,模块均采用AVR单片机为主控芯
片:1片ATmega128(主控)、10片ATmega16、2片ATmega64和3片ATmega8。主控制器要实时地汇总并分析各单片机的信息才能对机器人下一步动作作出决策,因此,各单片机之间的通信显得尤为重要。另外,为了方便对电子罗盘进行标定,需要由主控制器向电子罗盘模块发送相应指令。也就是说,主控制模块与扩展模块之间需要实现双向多字节通信,这是一个通信难点。本系统全部模块均采用TWI通信接口,成功建立了一个主机与多个从机之间的双向多字节通信,有效提高了程序的运行效率,使得智能机器人整体架构灵活,调试方便,并且扩展性强。

1 TWI总线简介
    TWI总线是对I2C总线的继承与发展,具有I2C总线的特点,即接线简单。外部硬件只需两个上拉电阻,使用两根双向传输线(一是时钟线SCL,一是数据线SDA)就可以将128个不同的设备互连到一起。TWI对I2C总线的发展表现在:它定义了自己的功能模块和寄存器,寄存器各位功能的定义与I2C总线并不相同,且TWI总线引入了状态寄存器,从而在操作和使用上比I2C总线更灵活。两线接口TWI很适合于典型的处理器应用,以及多机间实时通信的应用。
    TWI通信接口简单,但是强大而灵活。支持主机和从机操作,器件可以工作于发送器模式或接收器模式。数据传输率高达400 kHz,且支持多主机仲裁。所有连接到总线上的设备都有自己的地址,TWI协议解决了总线仲裁的问题,7位地址信息允许有128个从机。基于以上优点,TWI通信接口非常适合应用于微控制器(俗称单片机)系统。

2 智能机器人系统的模块化结构
   
本机器人系统以ATmega128单片机为主控制模块,扩展模块包括2个红外传感器模块、6个超声波模块、2个视觉处理模块、1个温度传感器模块、2个里程计模块、1个电子罗盘模块,以及1个陀螺仪模块。扩展模块负责采集相应的数据信息,由主控制器进行处理分析。然后,
及时地对机器人下一步动作进行决策与指示。本系统的模块化结构图如图1所示。其中,超声波模块、视觉处理模块、电子罗盘模块和陀螺仪模块均采用ATmega16单片机,里程计模块采用ATmega64单片机,红外传感器模块和温度传感器模块采用ATmega8单片机。主控制模块与各扩展模块均采用TWI接口。



3 模块化智能机器人系统的TWI总线结构
    TWI可以工作于4种不同的模式:主机发送器(MT)、主机接收器(MR)、从机发送器(ST)及从机接收器(SR)。同一应用程序可以使用几种模式。本机器人系统中,ATmega128为主机,其他单片机均为从机设备。目的是实现主机与多片从机之间的双向通信,即主机可以发送多字节数据给从机设备,从机也可以发送多字节数据给主机。TWI的两根线在工作时必须有上拉电阻,既可以通过相关程序使能内部的上拉电阻,也可以在硬件设计时增加上拉电阻。实际应用中,最好软硬件的方法同时使用,双重保障。图2为TWI总线的硬件结构接线图。



4 TWI通信的软件设计
4.1 主机的软件设计
   
本系统中,主机ATmega128采用轮询TWINT位的方式。主机主程序中的系统初始化主要包括定时器初始化和TWI总线初始化。主机主程序中写函数TWI_write()的详细流程如图3所示,读函数TWI_read()的详细流程如图4所示。一次传输过程包括一个START信号、一个SLA+R/W信号、一个或多个数据包、一个STOP信号。每发送一个信号或一个数据包,均要检验状态寄存器TWSR中的状态码,如果状态码正确,才发下一个信号,若不正确则转出错处理。通过软件编程技巧,可以在一次TWI通信中,实现主机与从机之间的多字节数据传输。同时,在主机主程序流程图中可以看到,在一个循环内,可以实现主机与从机之间的双向数据传输。


4.2 从机的软件设计
   
对于所有从机,均采用中断方式。采用中断方式时,当TWINT位置位(硬件置位),则程序会自动跳到中断向量,执行中断服务程序。在等待TWINT置位期间,从机可以执行数据采集工作或执行其他程序,从而有效地提高了程序的运行效率。中断服务程序中,只需检验TWSR的状态码,读取或写入数据寄存器TWDR,这样来完成与主机的数据通信。从机TWI中断服务程序流程图如图5所示。


    对于不同的从机,硬件方面需要注意的是SCL、SDA两根线位于单片机的I/O端口不同,例如ATmega16的SCL、SDA分别位于PC0、PC1;ATmega8的SCL、SDA则分别位于PC5、PC4。软件方面,需要给不同从机的TWAR赋予各自的从机地址。
4.3 TWI总线的部分程序
   
为了增强程序的可读性,将各种模式所需的TWI总线状态进行宏定义。对于主机,省略一些数据处理和其他功能程序,最简化的主程序如下:
   
   
   

5 TWI通信的注意问题
   
由于TWI通信存在主机与从机模块,在单独对主机程序单步调试时,主机单步运行,而从机处于全速运行,主从机步调不一致,单步调试结果显示TWINT位不置位或者TWSR状态码不正确,误认为程序有问题。实际上,程序在全速运行时是可以实现通信的。
    另外,根据功能要求,在一次TWI通信中,例如要求主机给从机发送数据的字节数是1字节或2字节,此时,在从机中断接收中,需增加相应接收标志位flag1、flag2,通过各自的标志位分清接收的不同字节的数据,避免产生不必要的混淆与错误。
    编程中,要严格按照TWI说明手册中的内容,不同的TWSR状态码时,对TWDR执行相应的操作,对TWCR写入相应的数值。否则,有一点出入,都会造成TWI通信的失败。

结语
   
智能机器人系统采用TWI总线构建了模块化架构,优点是系统灵活、扩展性强。TWI通信方法是主机ATmega128器件程序采用查询方式,其他多片从机器件程序则采用中断方式。本文介绍了在一次TWI传输过程中,传送多字节数据的编程方法,并且建立了主机与多从机之间的双向多字节数据通信,可以将机器人各传感器模块采集到的数据实时发送至主控制器进行处理,有效地提高了程序的运行效率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭