虽然ISO 15765—2没有对程序API作详细的说明和对这种API定义最小可执行功能块(图4-1-4),但是对在应用层和传输层之间,有关发送端和接收端的缓冲器数据的搬运操作功能方面,还缺少精确的说明,现补充如下:
图4-1-4 层与层之间的接口
●Service Data.request:要求向给定的地址发送4095B的数据块。如果数据块被完整地发送,应用层就获得确认或错误通知Data.confirm,发送端缓存器能被用于下一个数据报文或自由释放。但在标准中对应用层和传输层之间的整体工作情况,没有定义。尽管如此,在发送端通过适当的增量法,也可以进行调整与发送报文。
●Service Data.indication:应用层得到通知,完整地接收了4095B的数据块。应用还获得附加的信息,即多帧报文的第一个数据块是在什么时候被接收的(Data_First-Frame.indication)。通过首帧,已经知道了被等待的数据报文的长度,所以应用层或传输层可以准备足够大小的接收缓存器。如果对于数据块,在KB区中,没有足够的接收缓存空间,那么接收端就通过流量控制报文FC通知发送端,接收端缓存器空间的实际尺寸和必须处理的数据,一直到缓存器的空间满为止。因此,为了使传输层能通知应用层,在它们之间需要必要的服务,但这在标准中没有说明。在接收端采用自然增量处理方法时,会出问题,即在确定的时间点,数据报文还不完整,结果在随后的传输中出现了错误。如发送端的一个错误,一个数据还没有被完整处理却已经转到下一步了。对应这个问题的例子是,在Flash程序中,用于编程的数据被中断,尽管Flash-ROM的一部分能用于重新编程,但在应用层,还必须采用适当的方法来解决。(www.zuozong.com)
●Service Change Parameter.request:应用层可以在1~255的区域内,改变BS和ST的参数,获得来自于传输层的确认和错误通知Change Parameter.confirm。另一方面,由这个变化,知道下一个流量控制报文。
根据ISO 15765—2,超时值是恒定的1s。最大可接收的、相互连续流量控制等待报文的数目,对于发送端和接收端来说是一个常数。它在发送端和接收端之间是无法自动地商定的。
决定控制器能同时接收和发送(全双工)或不能(半双工),由执行情况而定。在每一种情况下,控制器应该处于能与具有不同地址的设备进行通信的状态。但接收端有时能通过流量控制等待报文阻止发送端。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。