Контроль передачи
Version 1 (Dmitry Smekhov, 02/27/2012 12:19 am)
1 | 1 | h1. Контроль передачи |
|
---|---|---|---|
2 | 1 | ||
3 | 1 | Надёжность передачи данных обеспечивают компоненты *prq_link_out* и *prq_link_in* |
|
4 | 1 | ||
5 | 1 | Компонент *prq_link_out* содержит память для четырёх пакетов по 256 слов. Сигнал *tx_ready* разрешает запись пакета в память. Для записи пакета надо выставить *tx_data_title* - заголовок пакета. *tx_data* и *tx_data_we* - данные пакета - от 1 до 256 слов, *tx_data_eof* - конец пакета. После получения *tx_data_eof* блок памяти помечается как занятый. Блок будет помечен как свободный, только |
|
6 | 1 | после прихода подтверждения о доставке пакета. Может быть записан пакет меньшей длины чем 256 слов, но передаются всегда пакеты длиной 256 слов. |
|
7 | 1 | ||
8 | 1 | Процесс *pr_stp* проверяет блоки данных на занятость. Если блок содержит пакет для передачи, то он передаётся. Если нет, то проверяется следующий блок. Возможна ситуация, когда будет заполнен только один блок данных. В этом случае он будет передан несколько раз до момента прихода подтверждения. Если заполнено два или больше блоков, то подтверждение должно успеть прийти в процессе передачи следующих блоков и повторной отправки пакета не произойдёт. |