新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AVR单片机TWI的模块化检测系统设计

基于AVR单片机TWI的模块化检测系统设计

作者:时间:2011-11-09来源:网络收藏

3.2 从机驱动程序
由于对于主机而言,等待NT置位在任何情况下都能在很短的时间内完成,所以对于MT和MR模式的程序都是通过软件查询NT位实现。但是对于从机而言,由于首先要接收主机发送的从机地址,并且主机并不是总是在访问同一个从机,所以从机在接收主机发送的地址时,如使用软件查询方法,势必要等待很长时间,这样就浪费了大量的时间。因此在从机ST和SR模式程序的设计时,需要使用中断,这样在等待TWINT置位期间可以执行其他程序,有效地提高了程序的运行效率。图5为从机ST和SR模式程序流程,具体的ST和SR处理程序可以参考相关的设计手册,这里给出的只是ST和SR切换以及程序。当TWINT置位时,进入TWI中断服务程序。

f.jpg


在从机TWI总线程序设计时,在等待TWINT置位期间TWI总线可能因为外界干扰出现一些故障,所以程序不仅在TWI中断服务程序得到调用,在等待TWINT置位期间也要调用该程序。从机的程序代码如下:
g.jpg

4 系统测试
检测系统测试时,主要使用了以下从机检测模块:3个超声波模块、电子罗盘、红外距离检测模块以及温度检测模块。在系统测试时针对TWI总线,主要测试了总线的传输速度、实时响应、出错率、抗干扰能力。测试时为便于观察各个观测量的状态,使用了LCD显示。测试过程中总线的比特率设定为100 kbps,通过观测LCD显示的变量,TWI总线实时响应速度比较快。在外加电磁干扰的条件下,总线只有在极少数开机时出现错误,主要原因是开机时出现的浪涌电流。

结语
本文设计的检测系统,利用TWI总线作为各个器件通信的媒介,并以此为基础构建总线式拓扑网络,简化了硬件和软件设计,缩短了系统的开发周期。在TWI总线驱动程序设计上,增加容错处理程序,使总线运行更加稳定和可靠,提高了系统的抗干扰能力。同时在从机TWI总线驱动程序设计时使用TWI中断,合理安排各个功能程序的执行时间,有效地提高了程序的运行效率。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭