Advertisement
tari

Untitled

Aug 2nd, 2010
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. Marheine Expires February 3, 2011 [Page 2]
  2. Internet-Draft TI-SDIP August 2010
  3.  
  4.  
  5. 1. Introduction
  6.  
  7. While the existing link protocol for TI graphing calculators is
  8. suitable for general usage, it is needlessly complex for most
  9. purposes as well as being implemented in an incredubly arcane manner.
  10. For the sanity of developers targeting such platforms, this document
  11. specifies a data interchange protocol suitable for use on all TI
  12. calculating devices and associated peripherals.
  13.  
  14. 1.1. Requirements Language
  15.  
  16. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  17. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  18. document are to be interpreted as described in RFC 2119 [RFC2119].
  19.  
  20. 1.2. Objectives
  21.  
  22. The designer has sought to meet certain objectives in the design of
  23. the protocol, as outlined in this section.
  24.  
  25. Ease of implementation
  26. The protocol seeks to replace a proprietary and difficult-to-
  27. implement protocol, so ease of implementation is very much
  28. desirable.
  29.  
  30. Robustness
  31. Linking between devices is usually done across noisy links and
  32. in the presence of potentially careless users, so the protocol
  33. should be able to handle data errors and unexpected loss of
  34. connection.
  35.  
  36. Speed
  37. Data transfers are typically done in the presence of users and
  38. in an interactive manner, so a reasonably high effective data
  39. rate is desired in order to impose less upon the user's time.
  40. As this document makes no claims about the link layer in use,
  41. the specification should seek only to minimize protocol
  42. overhead.
  43.  
  44.  
  45. 2. Data formatting
  46.  
  47. The TI-SDIP is byte-oriented, and expects to receive data from the
  48. link layer in 8-bit bytes. This section outlines the terminology
  49. used to refer to bytes and subdivisions thereof.
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. Marheine Expires February 3, 2011 [Page 3]
  57. Internet-Draft TI-SDIP August 2010
  58.  
  59.  
  60. 2.1. Figures
  61.  
  62. In illustrations, a '+' is used to delimit individual bits of a
  63. field, while '|' delimits fields, and '++' denotes a byte boundary.
  64.  
  65. 2.2. Byte and bit ordering
  66.  
  67. Byte values are represented in this specification as groupings of 8
  68. bits, numbered right to left from 0 to 7. When bit groupings are
  69. used to represent integers, bit 0 is the least significant bit, with
  70. significance increasing in order with bit number.
  71.  
  72. Byte 1 Byte 2
  73. +-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+
  74. |7 6 5 4 3 2 1 0++7 6 5 4 3 2 1 0|
  75. ----------------++----------------
  76.  
  77. Figure 1: Bit numbering within bytes
  78.  
  79. When multi-byte integers are used, the value is transmitted LSB-
  80. first, followed by additional bytes in order of increasing
  81. significance.
  82.  
  83. Multi-byte integer transmission
  84.  
  85. Time -->
  86. +----+----+----+----+
  87. | 78 | 56 | 34 | 12 |
  88. ---------------------
  89.  
  90. Figure 2: Sending 0x12345678
  91.  
  92.  
  93. 3. Protocol description
  94.  
  95. The protocol is based on the concept of a 'conversation', with only
  96. one device transmitting at once. Each conversation consists of a
  97. packet transferred from the sender followed by a response from the
  98. receiver, repeating until an implicit end to the conversation.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement