home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / h / hpaper.zip / HPAPER.TXT next >
Text File  |  1993-01-03  |  12KB  |  202 lines

  1. ***Downloaded directly from the Hayes Support BBS on 01-03-93
  2.  
  3.  
  4. High Speed Serial Communications Solutions
  5.  
  6.  
  7.  
  8. HISTORY 
  9. When the IBM Personal Computer was introduced in 1981, the vast majority of 
  10. dial-up modems in use operated at 300 bits per second (bit/s) using Bell 103 
  11. modulation.  The fastest asynchronous data terminals directly connected to 
  12. computers were limited to 9600 bit/s.  At that time, it would have been nearly 
  13. impossible to predict the rapid advances in digital signal processing 
  14. techniques that would permit much higher data rates.  It is not surprising, 
  15. therefore, that the designers of the PC chose asynchronous serial port 
  16. technology (the 8250 UART) and assigned interrupt priority for serial 
  17. communications that were appropriate for 9600 bit/s and below. 
  18.  
  19. There have been astounding advances in modem technology for PCs since that 
  20. time. 
  21. %       2400 bit/s modems (CCITT Recommendation V.22 bis) in 1984
  22. %       proprietary 9600 bit/s modems around 1987
  23. %       V.32 modems in 1989 (although this standard had been adopted in 1984, 
  24. the technology became affordable for the PC market 5 years later)
  25. %       CCITT V.42 bis data compression in 1990
  26. %       14,400 bit/s full-duplex transmission with CCITT V.32 bis in 1991 
  27.  
  28. Today, the modem of choice includes both V.32 bis modulation and V.42 bis data 
  29. compression and is capable of throughput as high as 57,600 bit/s -- nearly 200 
  30. times the speed of modems known by the designers of the IBM PC.  And it doesn't 
  31. stop there: CCITT experts are pushing forward to develop the next generation of 
  32. dial-up modems.  This will likely be the "last" major modem advance before the 
  33. widespread availability of ISDN and will provide data rates up to 28,800 bit/s 
  34. or 115,200 bit/s with compression. 
  35.  
  36. THE PROBLEMS
  37. Even at these data rates, the 8250 UART can function well, if it receives 
  38. undivided attention from the PC's software.  Some programs accomplish this by 
  39. taking over the whole PC and "polling" the UART rather than using 
  40. interrupt-driven I/O.  However, few users are willing to live with such 
  41. limitations.  Most users install a variety of terminate-and-stay-resident (TSR) 
  42. software packages and device drivers to provide convenient and necessary tools. 
  43.  Some of these operate by capturing interrupts from such devices as the system 
  44. clock and the keyboard, which are of higher priority than serial 
  45. communications.  When those interrupts processing times are extended, the 
  46. results are missed serial port interrupts and lost data.  LAN card drivers and 
  47. RAM disks can cause similar problems.  Attempting to support simultaneous 
  48. communications on multiple serial ports, such as on a bulletin board system, 
  49. presents even greater challenges, particularly when combined with high LAN 
  50. activity such as on a LAN serial communications server. 
  51.  
  52. These data loss problems are further compounded by today's LAN/network 
  53. environments and the multitasking environments such as Microsoft Windows, OS/2, 
  54. and Unix. These systems provide the optimum in convenience, flexibility, and 
  55. performance, but, by design, make it almost impossible for a communicating 
  56. application to maintain the complete control over the PC central processing 
  57. unit necessary to avoid data loss at high rates. 
  58.  
  59. Another problem introduced by multitasking environments is the complex 
  60. "context switching" process necessary whenever an interrupt is processed.  In a 
  61. single-tasking system, the process of handling an interrupt is fairly simple.  
  62. In a multitasking system, it is necessary to save much more information about 
  63. the current operating process (the "context"), and to undertake the operations 
  64. necessary to activate the process to handle the new data. Typically, serial 
  65. communication generates a separate interrupt for each character received.  At 
  66. today's high data rates, this can flood the multitasking kernel, using up 
  67. virtually all of the processing time available in even the most powerful 
  68. computers. 
  69.  
  70. Some of these problems can be improved by using lower data rates, but users 
  71. simply will not be satisfied with less-than-optimal performance from their 
  72. high-powered computers and modems.  Specifically, they will not accept that 
  73. their "error-control" modems, which eliminate data corruption on the phone 
  74. line, deliver data to the PC so fast that data is lost in the UART!  Obviously, 
  75. another solution is necessary. 
  76.  
  77. SOLUTIONS? 
  78. Clearly, the IBM PC designers would have needed profound vision and wisdom to 
  79. have included in the PC the capability to handle such requirements.  
  80. Interestingly, they did -- although not directly. 
  81.  
  82. The standard 8250 UART can't adequately deal with the problems described 
  83. above.  It has only a one-byte receive data buffer.  So if processing of the 
  84. incoming characters is delayed by more than the time it takes to receive the 
  85. next character (which is only 260 microseconds [millionths of a second] at 
  86. 38,400 bit/s, and only 65 microseconds at 115,200 bit/s), the preceding 
  87. character in the UART buffer is overwritten by the new character -- data is 
  88. lost.
  89.  
  90. The 16450 UART, which is commonly used in today's PCs and compatibles, 
  91. supports faster speeds on the PC's internal bus, but still has only a one-byte 
  92. buffer and the same tight constraints on timing as the 8250. 
  93.  
  94. The 16550A UART is a step in the right direction.  It is compatible with the 
  95. 8250 and 16450, and, for applications which support it, provides a 16-byte 
  96. receive data "FIFO" (first-in first-out buffer).  This permits the 
  97. communicating application to be delayed a bit more in the processing of 
  98. incoming data without suffering data loss.  However, once the 16-byte FIFO is 
  99. filled, new data will still be lost; the 16550A cannot automatically assert 
  100. flow control to the modem to prevent new data from being delivered.  The 16550A 
  101. also helps the context-switching problem somewhat by allowing the application 
  102. to defer interrupts until some number of bytes have been received (e.g., 8 or 
  103. 14); each byte must still, however, be individually read and moved into a 
  104. memory buffer by the CPU. 
  105.  
  106. The designers of the IBM PC showed their foresight in the basic paradigm of 
  107. the PC -- a minimum of necessary components on the "motherboard" (main system 
  108. board), with most peripherals placed on add-on cards.  The PC and its progeny 
  109. are thus not locked into the limitations of the technology that existed in 
  110. 1981, or even the technology most commonly used today; it is a relatively 
  111. simple matter, should a new problem arise, to create an appropriate add-on card 
  112. to address the issues and allow users to move forward with greater efficiency 
  113. and higher performance. 
  114.  
  115. THE REAL SOLUTION 
  116. Hayes ESP Communications Accelerator is an add-on solution.  ESP 
  117. Communications Accelerator is a two-port full-size card for ISA/EISA and 
  118. Microchannel systems.  For backward compatibility with existing applications, 
  119. ESP uses 16550A UARTs, and works with all current communications software 
  120. (unlike some alternative systems which require extensive reprogramming).  Most 
  121. importantly, ESP provides a dedicated communications coprocessor which, when 
  122. operating in DMA Enhanced mode, not only eliminates the problems of data loss 
  123. due to UART FIFO overrun, but dramatically reduces the number of interrupts 
  124. which must be processed.  This considerably boosts the performance of 
  125. applications running on the main CPU. 
  126.  
  127. ESP Communications Accelerator provides three operating modes.  In 
  128. "Compatibility Mode," the 16550A UARTs are completely available to the 
  129. communications software; ESP Communications Accelerator operates like any other 
  130. "dumb" serial card. 
  131.  
  132. In "FIFO Enhanced Mode," ESP Communications Accelerator provides the 16550A 
  133. 16-byte FIFOs for all software (even older software which is not 16550A-aware 
  134. and does not know to enable the FIFOs) and hardware (RTS or DTR) flow control 
  135. of incoming data.  This hardware flow control is fully coordinated with the 
  136. flow control asserted by the communicating application, and eliminates data 
  137. loss due to UART FIFO overruns. 
  138.  
  139. In "DMA Enhanced Mode," the full power of ESP's dedicated communications 
  140. accelerator is applied.  Rather than the small 16-byte FIFOs in the 16550As, 
  141. ESP provides full 1024-byte FIFOs for both transmitted and received data.  
  142. Fully automatic bi-directional flow control is provided, which can be either 
  143. hardware (RTS/CTS or DTR/DSR) or character-based (XON/XOFF or Hayes Transparent 
  144. XON/XOFF).  And, direct-memory-access (DMA) transfers of data between ESP and 
  145. main system memory (for both transmission and reception) dramatically reduce 
  146. the amount of processing overhead required to support high-speed serial 
  147. communications -- by as much as 98% -- leaving most of the CPU resources for 
  148. doing "real work." 
  149.  
  150. Operation in DMA Enhanced Mode does require cooperation between ESP and the 
  151. communications software; it is a decidedly different method from the 
  152. traditional character-at-a-time paradigm of the original PC UART chips.  To 
  153. simplify this, Hayes has placed the Enhanced Serial Interface (ESI) into the 
  154. public domain.  ESI specifies the interface to ESP and compatible devices.  
  155. Customers can easily identify MS-DOS communications software which is 
  156. compatible with ESP by looking for the "ESI" logo on the package. 
  157.  
  158. HAYES ESP COMMUNICATIONS ACCELERATOR FOR WINDOWS
  159. Hayes provides serial communications drivers which fully support ESI and ESP's 
  160. DMA Enhanced Mode for Windows 3.0 and 3.1.  With these drivers installed, all 
  161. applications (including DOS applications running under this environment) gain 
  162. the full advantage of DMA transfers and automatic flow control with no special 
  163. programming required; the serial drivers provide the same API (application 
  164. programming interface) as the standard Microsoft and IBM serial drivers, with 
  165. the details of the ESP DMA operation hidden inside.  
  166.  
  167. Whereas the standard Windows serial driver can suffer data loss at speeds as 
  168. low as 9,600 bit/s, with Hayes ESP and the ESP driver for Windows, full-duplex 
  169. communications as fast as 57,600 bit/s can be accomplished with complete data 
  170. integrity flow and greatly increased availability of CPU processing power to 
  171. other applications.  The implementation of block mode transfers in the Windows 
  172. 3.1 kernel and the use of this mode by Hayes ESP Driver for Windows 3.1 
  173. considerably improves performance of the driver over earlier versions and over 
  174. the standard Windows serial driver.  The Hayes driver supports both ESP ports 
  175. and standard serial ports, for systems which support a combination of both.  
  176.  
  177. NETWARE SOLUTION
  178. Hayes also provides Hayes ESP Driver for Novell NetWare.  This driver allows 
  179. NetWare Loadable Modules (NLMs), such as Novell's Asynchronous Communications 
  180. Services (NACS) V3.0, to take full advantage of Hayes ESP.  The combination of 
  181. Hayes ESP, NACS V3.0 and high-speed modems, such as Hayes OPTIMA 144 or ULTRA 
  182. 144, adds low-cost, high-speed communications server capability to a NetWare 
  183. V3.11 file server. This solution allows NASI-aware communications software, 
  184. such as Hayes Smartcom Exec and Smartcom for Windows, to take advantage of 
  185. shared modems on a communications server.  ESP is also capable of delivering 
  186. this functionality in other Netware environments such as Remote Access and 
  187. Internetwork Mail.  Without ESP and Hayes ESP Driver for NetWare, data can be 
  188. lost at speeds as low as 4,800 bit/s; with ESP, full-duplex performance as high 
  189. as 57,600 bit/s is achieved. 
  190.  
  191. CONCLUSION 
  192. Today's demanding personal computer users need not be satisfied with poor 
  193. communications performance because of data loss or interrupt load.  Hayes ESP 
  194. Communications Accelerator, and the appropriate ESP driver for the operating 
  195. environment being used, can eliminate data loss and dramatically reduce the 
  196. number of interrupts to be processed. Users can thus take full advantage of the 
  197. latest advances in communications technology, and advances yet to come, to 
  198. improve their efficiency and productivity -- which goes right to the bottom 
  199. line. 
  200.  
  201.  
  202.