上位机模块(即图6-1中的GSM模块1,下同)和下位机模块(即图6-1中的GSM模块2,下同)的通信双方遵照半双工通信方式,即数据传送是双向的。但是,任何时刻只能由其中的一方发送数据,另一方接收数据,因为EEPROM的读出和写入不能同时进行。为了避免一方在发送信息帧时(这里的信息帧指的是下位机模块发送的数据帧和上位机模块发送的命令帧,下同),另一方也发送数据,必须把信道变成半双工方式。尽管这样效率可能不如全双工方式高,但通过牺牲效率可以换取模块工作性能的稳定。双方采取的顺序是:发→收到应答后→再发。
按照整个系统的设计思路,上位机模块发送的帧包括命令帧、确认帧和非确认帧;下位机模块发送的帧包括数据帧、确认帧和非确认帧。其中确认帧和非确认帧是发送数据后等待对方发送的应答帧,以此作为继续发送下一帧和重新发送上一帧的依据。命令帧和数据帧是信息帧,当一方先发送完信息帧,如果收方接收到对方的信息帧,而又没有信息帧需要发送,那么情况就比较简单,收方将根据信息帧的正确与否决定发送确认帧还是非确认帧,以使对方决定是继续发送还是重新发送;如果此刻收方也有信息帧需要发送,那么收方将不立即发送应答帧,而是立即发送本方的信息帧给对方,并等待对方对此帧的应答帧,在收到对方的应答帧后,收方将依据应答帧的内容(即确认帧或者是非确认帧,下同)决定是继续发送下一信息帧,还是重新发送原来的信息帧。如果由于链路本身不可靠等因素造成应答帧的丢失,收方将在一定时间内因为没有收到应答帧而延时重发原来的信息帧。在收到对方的应答帧后,收方将继续发送下一信息帧,并等待对方的应答帧,如此反复,直到收方全部发送完信息帧。在收方收到对方最后一个应答帧后,表明收方全部的信息帧发送完毕。然后收方将发送对方仍然等待的应答帧,通知对方收到的信息帧正确与否。(www.xing528.com)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。