当前位置:首页 > 单片机 > 单片机
[导读]摘要:利用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传输过程中,传送多字节数据的编程方法,并且建立了主机与多从机之间的双向多字节数据通信,可以将机器人各传感器模块采集到的数据实时发送至主控制器进行处理,有效地提高了程序的运行效率。

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

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶

推进卓越制造,扩大产能并优化布局 苏州2025年9月5日 /美通社/ -- 耐世特汽车系统与苏州工业园区管委会正式签署备忘录,以设立耐世特亚太总部苏州智能制造项目。...

关键字: 智能制造 BSP 汽车系统 线控

慕尼黑和北京2025年9月4日 /美通社/ -- 宝马集团宣布,新世代首款量产车型BMW iX3将于9月5日全球首发,9月8日震撼亮相慕尼黑车展。中国专属版车型也将在年内与大家见面,2026年在国内投产。 宝马集团董事...

关键字: 宝马 慕尼黑 BSP 数字化

芜湖2025年9月4日 /美通社/ -- 近日,工业和信息化部装备一司司长王卫明、人才交流中心主任李学林一行赴奇瑞墨甲机器人开展专题调研。调研聚焦具身智能机器人的技术发展、产业化进展与场景应用落地。奇瑞汽车副总裁、墨甲机...

关键字: 奇瑞 机器人 工信部 智能机器人

北京2025年9月4日 /美通社/ -- 在全球新一轮科技革命与产业变革的澎湃浪潮中,人工智能作为引领创新的核心驱动力,正以前所未有的深度与广度重塑各行业发展格局。体育领域深度融入科技变革浪潮,驶入数字化、智能化转型快车...

关键字: 人工智能 智能体 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企业在上海联合发起并成功举办"2025 Ethernet-APL 技术应用发展大会"。会议以"破界•融合...

关键字: ETHERNET 智能未来 BSP 工业通信

传感器模块能实现便捷无接触的后备箱或侧滑门开启,适配各种车辆架构 该24 GHz雷达传感器可集成于保险杠或底盘上,并通过特定的手势或脚部动作触发响应 已为多家欧洲主流车企启动量产交付 德国布尔2025...

关键字: 传感器 BSP 触发 保险杠

以高效节能方案绘制AI算力绿色未来 上海2025年8月29日 /美通社/ -- 8月28日,台达受邀出席"2025中国智算产业绿色科技大会",全方位分享台达在智算领域的前沿洞见与绿色解决方...

关键字: AI 可持续发展 数据中心 BSP

淄博2025年8月29日 /美通社/ -- 8月26日至27日,TÜV南德意志集团(以下简称"TÜV南德")受邀参加由淄博市...

关键字: BSP 人工智能 信息安全 新加坡

北京2025年8月28日 /美通社/ -- 近日,北京亦庄创新发布消息,北京经济技术开发区(简称北京经开区,又称北京亦庄)以"高效办成一件事"为抓手,围绕企业信用修复的全流程全环节,打造经开区特色的&...

关键字: 数字化 集成 BSP 数据共享
关闭