多机通信模式在通信系统中的应用

2011-03-20 03:50任瑞涛姜家宏
电子科技 2011年7期
关键词:数据位发送器流程图

任瑞涛,姜家宏

(1.海军701工厂研发部,北京100016;2.中国电子科技集团公司第45研究所研发部,河北三河065201)

在AVR系列单片机中,通过设置从机的UCSRA寄存器中标志位MPCM,可以使能USART接收器对接收的数据帧进行过滤的功能。在多处理器通信模式下,多个从处理器可以从一个主处理器接收数据。如果使能过滤功能,首先要通过解码地址帧来确定所寻址的是哪个处理器。如果寻址到某一个处理器,它将正常接收后续数据,其他的从处理器会忽略这些帧,直到接收到另一个地址帧,发送器则不受MPCM位设置的影响。这在多机通信中有效地方便了对从机MCU处理器程序的编写,缩短了MCU处理数据的时间。

1 多机通信模式的数据帧格式

在多机通信模式下,数据帧一般采用:1位起始位+9位数据位+校验位(可选)+1或2个停止位。其中第9位(RXB8)表征该帧是地址帧还是数据帧。当帧类型表征位为“1”时,表示该帧数据为一个地址帧;当帧类型表征位为“0”时,表示这个帧为一个数据帧。此外,也可以在编程时,用8位数据位+奇偶校验位的数据帧格式来代替9位数据位+无奇偶校验位的数据帧格式[1]。

2 多机通信的操作流程

对于一个作为主机的处理器,可以使用9位数据帧格式。如果传输的是一个地址帧就将第9位(TXB8)置1,如果是一个数据帧就将它清零。在这种帧格式下,从处理器必须工作于9位数据帧格式。在多处理器通信模式下进行数据交换的步骤:

(1)所有从处理器都工作在多处理器通信模式(MPCM=1)。

(2)通信开始是由主机先发送一个地址帧,所有从机都会接收并读取此帧。从处理器UCSRA寄存器的RXC正常置位,表示接收到地址帧。

(3)每一个从机都会读取UDR寄存器的内容来确定自己是否被寻址。如果被寻址,就将UCSRA的MPCM位清零,等待接收数据;否则,保持MPCM为“1”,等待下一个地址帧的接收:

1)作为1号从机的MCU处理过程为,收到地址帧后,判定读取UDR数据0X01为自己的地址,将MPCM位置“0”,接收之后所有主机下发的数据帧,直到下一个地址帧为止。

2)其他从机MCU的处理过程,收到地址帧后,判定读取UDR数据0X01不是自己的地址,将MPCM位置“1”,这样他们将忽略主机随后发送的数据帧,直到主机再次发送地址帧。

(4)当被寻址的从机MCU接收完最后一个数据帧后,将MPCM位置位,等待下一个地址帧的出现,然后从步骤(2)开始重复。

3 软件设计

以AVR系列单片机中的ATmega32为例,使用编译器ICCAVR对初始化程序、发送程序和接收程序给出了具体方案和实现方法。

当主机发送数据帧或地址帧时,将第9位复制到TXB8,然后将数据放入缓冲器,发送数据。程序流程图如图1所示[2]。

图1 主机发送流程图

4 结束语

在多机通信中,设置发送器或接收器中的第9位或发送器中的第9位来确定是数据帧还是地址帧,这给程序员的编程带来便利。同时提高了系统的速度和稳定度,避免因为区分地址和数据程序陷于死循环。

图2 从机接收流程图

[1] 周兴华.AVR单片机C语言高级程序设计[M].北京:中国电力出版社,2008.

[2] 张军.AVR系列单片机应用系统典型实例[M].北京:中国电力出版社,2005.

猜你喜欢
数据位发送器流程图
A320飞机大气数据的采集和计算在排故中的应用
移频发送器冗余切换设计研究
微弱GPS信号避开比特跳变的捕获算法
用于获取车辆中的旋转构件的旋转角度的传感器组件
一种适用于FPGA系统中的变速箱电路设计
专利申请审批流程图
专利申请审批流程图
减少调度自动化设备通讯串口丢包率的措施
从两起故障谈ZPW-2000发送盒报警检测的改进
宁海县村级权力清单36条