Я пытаюсь написать протокол HDLC, работающий только в ABM (точка-точка) для проекта микроконтроллера.Я в основном полагаюсь на документ ISO 13239 click .
Связь должна работать в двухстороннем одновременном режиме.На данный момент я хочу подключить два USART к микро, работающие в двух контекстах HDLC на одном микро.У меня проблема с пониманием назначения битов P / F в ABM.
В полудуплексных каналах с режимом нормального ответа (NRM) принцип прост - первичная станция отправляет командный кадр (и) с P битами, установленными в последнем кадре, предоставляя разрешение вторичному устройству для ответа с кадром (ами) сF бит также установлен на последнем кадре.
В полнодуплексном канале первичной станции NRM отправляется команда с битом P, установленным в первом кадре, и может отправляться больше кадров.Когда вторичный сервер получает этот первый командный кадр с установленным битом P, он может отправлять ответные кадры с битом F, установленным в первом кадре.Целью установки бита P / F в первом кадре команды / ответа является скорость - первичный предоставляет разрешение на передачу команд на вторичный как можно быстрее, чтобы вторичный сервер мог отправлять ответ (ы), в то время как первичный все еще отправляет команды (двухстороннее одновременное).
В полнодуплексной ПРО ситуация для меня осложняется.Первичных вторичных отношений не существует, но обе станции являются комбинированными станциями, и обе могут отправлять команды и ответы в любое время (асинхронно).Вот пример обмена информацией в ПРО из документа ISO, о котором я упоминал ранее обмен информацией .Почему обе станции используют кадры с битом P / F.Разве обмен не выглядел бы так же без бита P / F? Когда и ПОЧЕМУ станция отправляет кадры с битом P / F в ABM ?