1.1 通信测试工具
传统的单片机系统的通信测试通过示波器来监测,既不直观又容易丢失信息。将计算机加入到系统中,可以实时监测到线路中的信息,并以数字化呈现,使各个单片机间的通信得到检验,及时解决系统存在的问题。所以计算机在加速系统的开发和保证系统的运行质量的作用就不言而喻了。
1.2 系统维护
一个单片机系统往往需要对系统中各个不同功能的模块(单片机)进行参数的设置,以适应不同的运行环境,虽然可以通过各模块的控制面板来调整,但操作通常比较麻烦,非专业人员不易掌握。同时对于一些需要定义其地理位置的参数难以实现,不够直观。计算机加入到系统中,不但可以解决操作上的问题,同时还可以读取各模块的参数,以便于调整。
1.3 单片机
计算机可以作为单片机系统的一个模块,完成相应的功能。计算机应答系统的请求、处理系统中的信息,一方面将信息呈现给用户,另一方面计算机程序通过自动计算或用户的输入,将信息反馈到系统中,参与系统的控制。
1.4 主控机
在单片机系统中,往往存在一个主控机或主控模块,负责对整个系统的统筹和设置。单片机系统通常是通过各功能模块的输入和响应来实现其功能的,因此必须有一个负责收集输入任务并指定响应模块的主控模块。计算机系统中既可以是一个普通的模块,又可以是负责总体协调的主控器。
一个单片机系统是由硬件系统和软件系统构成的。硬件是实现功能的前提,而系统功能则是通过软件来实现的,为了保证各个模块通信,实现系统信息交流,必须制订系统的通信协议。
从物理上来说,系统各模块是以半双工的模式来通信的,下文提及的智能照明系统下端模块就是以半双工的RS 485总路线为通信架构的。而计算机的RS 232串口是以全双工的模式来实现通信的,因此,计算机要通过串口参与到单片机系统中必须增加一个RS 232和RS 485总线转换的模块。
从逻辑上讲,要实现各模块之间的通信,就必须在模块间约定一个共同遵守的通信协议。单片机以位(b)为基本单位,传输时以8位1字节(B)来传输,单片机以毫秒间距发送若干个字节为一个数据包,也称为一帧,帧之间又规定若干毫秒的间隙。通过计算机程序可以捕获线路中每一帧信息。
下面以智能照明系统为例,讲述单片机系统的通信协议。