OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [doc/] [README_Rlink_V4.txt] - Diff between revs 27 and 38

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 27 Rev 38
$Id: README_Rlink_V4.txt 614 2014-12-20 15:00:45Z mueller $
$Id: README_Rlink_V4.txt 614 2014-12-20 15:00:45Z mueller $
Summary of changes for rlink v3 to v4
Summary of changes for rlink v3 to v4
Background
Background
  The protocol was initially designed as debug interface used over serial
  The protocol was initially designed as debug interface used over serial
  port connections. From the beginning the protocol had crc error checking
  port connections. From the beginning the protocol had crc error checking
  and a simple error recovery mechanism.
  and a simple error recovery mechanism.
  When the protocol was used in the IO emulation of the w11, features like
  When the protocol was used in the IO emulation of the w11, features like
  block transfers, attentions, and command groups were added. Over time the
  block transfers, attentions, and command groups were added. Over time the
  original simple concept for error recovery became practically unusable.
  original simple concept for error recovery became practically unusable.
  When the protocol was used on boards with a Cypress FX2 USB interface
  When the protocol was used on boards with a Cypress FX2 USB interface
  the number of round trips became the sole performance limiting factor.
  the number of round trips became the sole performance limiting factor.
Goals for rlink v4
Goals for rlink v4
  - 16 bit addresses (instead of 8 bit)
  - 16 bit addresses (instead of 8 bit)
  - more robust encoding, support for error recovery at transport level
  - more robust encoding, support for error recovery at transport level
  - add features to reduce round trips
  - add features to reduce round trips
    - improved attention handling
    - improved attention handling
    - new 'list abort' command
    - new 'list abort' command
Changes in detail
Changes in detail
  - encoding
  - encoding
    - framing (comma) char representation changed
    - framing (comma) char representation changed
      - now 2 byte sequence for comma char, with internal redundancy
      - now 2 byte sequence for comma char, with internal redundancy
      - optimized for robustness. Also more compact for larger rblk/wblk.
      - optimized for robustness. Also more compact for larger rblk/wblk.
  - framing
  - framing
    - unexpected EOP in sl_idle now silently ignored
    - unexpected EOP in sl_idle now silently ignored
      --> before: send NAK+EOP
      --> before: send NAK+EOP
      --> now allows to send EOP+NAK to start a retransmit
      --> now allows to send EOP+NAK to start a retransmit
    - command aborts send now an error code, the abort sequence
    - command aborts send now an error code, the abort sequence
        NAK  EOP
        NAK  EOP
    - the nakbyte has the redundant format
    - the nakbyte has the redundant format
        10
        10
    - the abort sequence sequence is not protected by a crc, but has enough
    - the abort sequence sequence is not protected by a crc, but has enough
      redundancy that transmission errors can be detected.
      redundancy that transmission errors can be detected.
    - all unexpected commas after SOP will cause an abort. This adds robustness
    - all unexpected commas after SOP will cause an abort. This adds robustness
      in case transmission error converts a data byte into a comma.
      in case transmission error converts a data byte into a comma.
  - commands
  - commands
    - 16 bit addresses
    - 16 bit addresses
    - 16 bit rblk/wblk transfer size counts. Now cnt rather cnt-1 used.
    - 16 bit rblk/wblk transfer size counts. Now cnt rather cnt-1 used.
    - rblk/wblk now return 'done count', number of successfully transfered words
    - rblk/wblk now return 'done count', number of successfully transfered words
      Note: rblk always transfers cnt words, rest is padded.
      Note: rblk always transfers cnt words, rest is padded.
    - babo state flag added
    - babo state flag added
      - babo is cleared when rblk/wblk is started, and set when they are aborted
      - babo is cleared when rblk/wblk is started, and set when they are aborted
      - babo is not changed by commands other then rblk and wblk
      - babo is not changed by commands other then rblk and wblk
    - stat command removed (functionality not needed anymore)
    - stat command removed (functionality not needed anymore)
    - labo command added
    - labo command added
      - returns the babo flag
      - returns the babo flag
      - if babo set, all remaining commands in the list will be ignored
      - if babo set, all remaining commands in the list will be ignored
    - stat byte layout changed
    - stat byte layout changed
      - cerr and derr flags removed (not needed anymore)
      - cerr and derr flags removed (not needed anymore)
      - now 4 (instead of 3) external RB_STAT bit
      - now 4 (instead of 3) external RB_STAT bit
    - 16 bit crc used (instead of 8 bit)
    - 16 bit crc used (instead of 8 bit)
  - attn handling
  - attn handling
    - a message with the current attn pattern is send, not only an attn comma.
    - a message with the current attn pattern is send, not only an attn comma.
      This give the attn handler a priori knowledge of LAM sources.
      This give the attn handler a priori knowledge of LAM sources.
      An attn command must still be used to harvest the attn pattern.
      An attn command must still be used to harvest the attn pattern.
    - attn poll always returns attn notify, usage of idle comma removed
    - attn poll always returns attn notify, usage of idle comma removed
  - general
  - general
    - reserve 0xff00-0xffff range for rlink system usage
    - reserve 0xff00-0xffff range for rlink system usage
    - implement 4 default registers (in rlink_core)
    - implement 4 default registers (in rlink_core)
          ffff    cntl
          ffff    cntl
          fffe    stat   (holds rtbuf size)
          fffe    stat   (holds rtbuf size)
          fffc/d  sysid  (32 bit system identifier)
          fffc/d  sysid  (32 bit system identifier)
    - rlink initialization now via wreg, not with init anymore
    - rlink initialization now via wreg, not with init anymore
    - has now retransmit buffer, size configurable (2,4,8,.. kB)
    - has now retransmit buffer, size configurable (2,4,8,.. kB)
    - used for wblk dcrc validation in addition
    - used for wblk dcrc validation in addition
    - a NAK outside a SOP/EOP frame will trigger a retransmit of last response
    - a NAK outside a SOP/EOP frame will trigger a retransmit of last response
    - retransmit buffer cleared when first cmd processed
    - retransmit buffer cleared when first cmd processed
      -> an empty SOP-EOP does not reset the retransmit buffer
      -> an empty SOP-EOP does not reset the retransmit buffer
    - no internal/external init distinction, 'we' always 0 when init=1
    - no internal/external init distinction, 'we' always 0 when init=1
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.