home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128BBS / DTJ911128.ARC / BAUDTUNING.INFO < prev    next >
Encoding:
Text File  |  2019-04-13  |  7.9 KB  |  133 lines

  1. ╝┬AUD RATE TUNING INFORMATION
  2. ╝---- ---- ------ -----------
  3.  
  4.  
  5. ╘HE ─╘╩-┬┬╙ ALLOWS YOU TO FINE-TUNE THE ╥╙232 TIMING TO OBTAIN THE LEAST AMOUNT OF GARBLED CHARACTERS AT EACH OF THE THREE BAUD RATES.
  6.  
  7. ┼ACH BAUD RATE (300, 1200, AND 2400) HAS THREE DIFFERENT TUNING VALUES; RECEIVER HALF-BIT, RECEIVER FULL-BIT, AND TRANSMITTER FULL-BIT.
  8.  
  9. ╘O UNDERSTAND WHAT EACH TUNING VALUE DOES, YOU MUST UNDERSTAND HOW SERIAL COMMUNICATIONS WORK.  ╘HERE ARE BOOKS AND MAGAZINE ARTICLES THAT EXPLAIN HOW SERIAL COMMUNICATION TAKES PLACE, SO ╔ WON'T GO INTO IT IN TOO MUCH DETAIL HERE.
  10.  
  11.  
  12. ╝╙ERIAL ├OMMUNICATIONS
  13. ╝------ --------------
  14.  
  15. ╫HEN YOU SEND DATA THOUGH YOUR MODEM TO ANOTHER COMPUTER, THE ╥╙232 TRANSMITS EACH BIT OF EACH DATA BYTE ONE AT A TIME.  ┼ACH OF THESE BITS CAN BE EITHER ON OR OFF, AND THE MODEM TRANSLATES THE ON AND OFF BITS INTO DIFFERENT TONES THAT GOES OUT OVER THE PHONE LINE.  (┴CTUALLY, THE MODEM DOESN'T USE TONES AT 1200 BPS AND HIGHER, BUT FOR THE PURPOSE OF THIS DISCUSSION, WE'LL ASSUME IT DOES.)
  16.  
  17. ╬ORMALLY, WHEN NO DATA IS BEING TRANSMITTED, A CONTINUAL "ON" BIT IS TRANSMITTED.  ╘HEN WHEN A DATA BYTE IS TO BE TRANSMITTED, THE ╥╙232 FIRST SENDS OUT AN "OFF" BIT (CALLED A START BIT) WHICH TELLS THE ╥╙232 ON THE OTHER COMPUTER THAT A BYTE IS GOING TO BE SENT.
  18.  
  19. ╘HEN EACH BIT OF THE 8-BIT DATA BYTE IS SENT, ONE AT A TIME.
  20.  
  21. ┴FTER THE LAST BIT IS SENT, THE DATA GOES BACK TO THE CONTINUAL "ON" BIT.  ╘HIS CONTINUAL "ON" BIT IS CALLED THE STOP BIT.  ╫HEN YOU SET YOUR COMMUNICATIONS PARAMETERS TO 1 STOP BIT, THAT MEANS THE ╥╙232 WILL MAKE THE CONTINUE STOP BIT AT LEAST AS LONG AS ONE NORMAL BIT.
  22.  
  23. ╙O, EACH CHARACTER SENT OVER THE MODEM TAKES 10 BITS:  THE START BIT, 8 DATA BITS, AND THE STOP BIT.
  24.  
  25. ╬OW, AT 300 BITS PER SECOND, WITH EACH CHARACTER TAKING 10 BITS, THAT COMES OUT TO 30 CHARACTERS PER SECOND.  1200 BPS IS 120 CHARACTERS PER SECOND, AND 2400 IS 240 CHARACTERS PER SECOND.  ╘HIS IS THE MAXIMUM SPEED.  ╘HE STOP BIT MAY BE LONGER THAN A NORMAL WHICH WOULD SLOW DOWN THE DATA TRANSFER.
  26.  
  27.  
  28. ╝╘HE ╘RANSMITTER ┬AUD ╘UNING ╓ALUE
  29. ╝--- ----------- ---- ------ -----
  30.  
  31. ╚ERE'S AN EXPLANATION OF HOW THE TRANSMITTER TUNING VALUES WORK:
  32.  
  33. ═OST COMPUTER USE A HARDWARE DEVICE CALLED A ╒┴╥╘ TO DO SERIAL COMMUNICATIONS.  ╔T TAKES EACH 8-BIT BYTE AND SENDS IT ONE BIT AT A TIME, AND IT RECEIVES BITS AND ASSEMBLES THEM INTO 8-BIT BYTES.
  34.  
  35. ╘HE ├OMMODORE 64 DOES NOT HAVE THE ╒┴╥╘ HARDWARE DEVICE AND MUST DO ALL THIS IN SOFTWARE.
  36.  
  37. ╘O KEEP PROPER TIMING, THE ├OMMODORE 64 USES SOME TIMERS TO HAVE IT INTERRUPT WHATEVER IT IS DOING SO IT CAN SEND OR RECEIVE A BIT AT THE PROPER TIME.
  38.  
  39. ╫ITH 2400 BPS, FOR EXAMPLE, WHENEVER THE COMPUTER IS SENDING DATA, IT MUST STOP WHAT IT IS DOING EVERY 1/2400TH OF A SECOND TO SEND THE NEXT BIT OF DATA BEFORE CONTINUING WHAT IT WAS DOING.
  40.  
  41. ╫HAT CAUSES THIS INTERRUPT IS A VALUE THAT IS LOADED INTO A HARDWARE TIMER.  ╘HIS IS THE TRANSMITTER FULL-BIT TIMER.  ┴S THE COMPUTER DOES IT'S THING, THE TIMER COUNTS DOWN.  ╫HEN IT REACHES ZERO, THE COMPUTER STOPS WHAT IT IS DOING TO SEND THE NEXT BIT AND RESET THE TIMER TO IT'S ORIGINAL VALUE SO THE NEXT BIT CAN BE SENT AT THE RIGHT TIME.  ╘HEN THE COMPUTER CONTINUES WHATEVER IT WAS DOING BEFORE IT INTERRUPTED ITSELF.
  42.  
  43. ╘HIS TIMER COUNTS AT A RATE EQUAL TO THE CLOCK FREQUENCY OF THE COMPUTER.  ╔N THE ╒.╙., THE CLOCK FREQUENCY IS 1022730.  (╔N SOME OTHER COUNTRIES, IT IS 985250.)  ╘HIS MEANS THE TIMER "TICKS" 1022730 TIMES EVERY SECOND.
  44.  
  45. ╘HE FULL-BIT TIMING IS THE NUMBER OF "TICKS" THAT OCCUR IN EACH BIT.
  46.  
  47. ┘OU CAN USE THE FORMULA:
  48.  
  49.    TIMING = 1022730 / BAUD
  50.  
  51. TO FIND THIS NUMBER.
  52.  
  53. ╬OW, WHEN THE COMPUTER INTERRUPTS ITSELF TO SEND THE NEXT BIT, THERE IS A SLIGHT DELAY BEFORE IT RESETS THE TIMER TO START OVER.  ╘HE FULL-BIT TIMING VALUE MUST BE DECREASED SLIGHTLY TO COMPENSATE FOR THIS SLIGHT DELAY.  ╘HE DELAY IS NOT ALWAYS THE SAME, BUT IT TAKES AN AVERAGE OF ABOUT 14 "TICKS".  ╘HIS CHANGES THE FORMULA TO:
  54.  
  55.    TIMING = 1022730 / BAUD - 14
  56.  
  57. ╔N ACTUAL PRACTICE, YOU MAY GET BETTER RESULTS VARYING THE 14 A LITTLE BIT EITHER WAY.
  58.  
  59.  
  60. ╝╘HE ╥ECEIVER ┬AUD ╘UNING ╓ALUES
  61. ╝--- -------- ---- ------ ------
  62.  
  63.  
  64. ╘HE RECEIVER FULL-BIT TIMING WORKS IN MUCH THE SAME WAY.  ╘HE COMPUTER INTERRUPTS ITSELF (USING A DIFFERENT HARDWARE TIMER) FOR EVERY BIT TO SAMPLE WHAT THE VALUE OF THE INCOMING BIT IS (EITHER "ON" OR "OFF").
  65.  
  66. ╘HE RECEIVER TIMING ALSO USES A HALF-BIT TIMING VALUE TO MAKE SURE THE FULL-BIT SAMPLE OCCURS IN THE MIDDLE OF EACH BIT.
  67.  
  68. ╚OW THIS WORKS IS THAT WHEN THE START BIT OF A NEW BYTE IS DETECTED, THE RECEIVER TIMER IS LOADED WITH THE HALF-BIT TIMING VALUE SO THAT THE NEXT TIME THE COMPUTER IS INTERRUPTED IS IN THE MIDDLE OF THE START BIT.
  69.  
  70. ╘HE HALF BIT TIMING IS COMPUTED BY TAKING THE FULL-BIT TIMING (WITHOUT THE DELAY FACTOR), AND DEVIDING IT BY TWO:
  71.  
  72.    TIMING = 1022730 / BAUD / 2
  73.  
  74. ╘HERE IS A DELAY OF ABOUT 100 TICKS ONCE THE INTERRUPT HAS OCCURRED BEFORE THE TIMER IS RESET.  ╘HIS CHANGES THE FORMULA TO:
  75.  
  76.    TIMING = 1022730 / BAUD / 2 - 100
  77.  
  78. ┴GAIN, THIS DELAY IS APPROXIMATE.
  79.  
  80. ─URING THIS NEXT INTERRUPT, THE COMPUTER LOADS THE RECEIVER TIMER WITH THE FULL-BIT VALUE, SO THAT THE INTERRUPTS WILL CONTINUE TO OCCUR IN THE MIDDLE OF EACH SUCCESSIVE BIT.  ┴FTER THE LAST BIT IS RECEIVED, THE TIMING VALUE REVERTS BACK TO THE HALF-BIT TIMING.
  81.  
  82. ╘HE REASON EACH BIT MUST BE SAMPLED IN THE MIDDLE OF THE BIT IS THAT IF YOU SAMPLE AT THE BEGINNING OF THE BIT, AND THE TIMING IS TOO FAST, THEN THE NEXT SAMPLE WILL OCCUR BEFORE THE CURRENT BIT IS FINISHED.  ╔F THE SAMPLE IS AT THE END OF THE BIT, AND THE TIMING IS A LITTLE BIT TOO SLOW, THEN THE NEXT SAMPLE WILL SKIP THE NEXT BIT.  ╘HIS IS THE PRIMARY CAUSE OF GARBLED CHARACTERS WHEN PHONE LINE CONDITIONS ARE GOOD.
  83.  
  84. ╘HE HALF-BIT TIMING AND THE FULL-BIT TIMING INTERACT WITH EACH OTHER.  ╔F YOU SET THE HALF-BIT TIMING SO THE SAMPLE OCCURS ONE THIRD OF THE WAY INTO THE START BIT, THEN THE FULL-BIT TIMING CAN BE A LITTLE SLOWER.  ╔F YOU SET THE HALF-BIT TIMING TO OCCUR TWO THIRDS INTO THE START BIT, THEN THE FULL-BIT TIMING CAN BE A LITTLE FASTER.
  85.  
  86.  
  87. ╝╚INTS ╞OR 2400 BPS
  88. ╝----- --- ---- ---
  89.  
  90. ┴T 2400 BPS, THE COMPUTER IS INTERRUPTING ITSELF 2400 TIMES A SECOND WHEN SENDING ╨╠╒╙ 2400 TIMES A SECOND WHEN RECEIVING.  ╘HE ├OMMODORE 64 HAS A HARD TIME KEEPING UP AT THAT SPEED.  ╔F THE COMPUTER INTERRUPTS ITSELF TO SEND A BIT, WHILE IT HAS ALREADY INTERRUPTED ITSELF TO RECEIVE A BIT, THAT THROWS THE TIMING FOR RECEIVING THE BIT OFF.  ╘HAT IS WHY YOU MAY HAVE PROBLEMS IN THE TERMINAL MODE WITH ┴╘ COMMANDS GETTING GARBLED.  ╫ITH THE ┴╘┼1 ACTIVE, THE MODEM SENDS EACH CHARACTER YOU TYPE BACK TO THE TERMINAL AND SO YOU END UP SENDING AND RECEIVING AT THE SAME TIME.
  91.  
  92. ╘O OBTAIN BETTER RESULTS, TRY REMOVING THE ┼1 FROM THE TERMINAL MODE INITIALIZATION COMMAND.  ┘OU WON'T BE ABLE TO SEE WHAT YOU TYPE, BUT YOU WON'T GET THE GARBAGE EITHER.
  93.  
  94. ═OST ╚AYES MODEMS ALLOW YOU TO TURN ECHO OFF PERMANENTLY.  ╘HIS IS DONE USING THE COMMAND SEQUENCES:
  95.  
  96.    ┴╘┌
  97.    ┴╘┼0&╫
  98.  
  99. ╧THER ╚AYES-COMPATABLE MODEMS USE A ─╔╨ SWITCH TO TURN ECHO OFF.  ╙ET IT TO TURN ECHO OFF FOR BEST RESULTS.
  100.  
  101. ╚ERE ARE SOME SUGGESTED VALUES FOR 2400 BPS FINE TUNING:
  102.  
  103.      ╥ECEIVER HALF-BIT:  103
  104.      ╥ECEIVER FULL-BIT:  396
  105.   ╘RANSMITTER FULL-BIT:  426
  106.  
  107.  
  108. ┘OU MAY WANT TO TRY EXPERIMENTING WITH DIFFERENT VALUES.  ┴ GOOD WAY IS TO ATTEMPT TO RECEIVE FILES VIA XMODEM FROM A NON-├OMMODORE COMPUTER.
  109.  
  110. ╔F THE TRANSFER HAS SOME PAUSES OF ABOUT 3 SECONDS BETWEEN BLOCKS, THEN THE RECEIVER FULL-BIT TIMING IS TOO SLOW.  ─ECREASING THE VALUE SLIGHTLY WILL SPEED IT UP.
  111.  
  112. ╔F THE TRANSFER HAS SOME 10 SECOND PAUSES, THE RECEIVER FULL-BIT TIMING IS TOO FAST.  ╔NCREASE THE TIMING VALUE SLIGHTLY TO SLOW IT DOWN.
  113.  
  114. ╔F YOU GET THE OCCASIONAL 3 AND 10 SECOND PAUSES, YOU ARE CLOSE.  ╘RY ADJUSTING BOTH THE RECEIVER FULL AND HALF BIT TIMING VALUES SLIGHTLY IN OPPOSITE DIRECTIONS.
  115.  
  116. ╫ORKABLE VALUES FOR 300 AND 1200:
  117.  
  118.  
  119.   300 BPS:
  120.  
  121.      ╥ECEIVER HALF-BIT: 1605
  122.      ╥ECEIVER FULL-BIT: 3409
  123.   ╘RANSMITTER FULL-BIT: 3409
  124.  
  125.  
  126.   1200 BPS:
  127.  
  128.      ╥ECEIVER HALF-BIT:  319
  129.      ╥ECEIVER FULL-BIT:  838
  130.   ╘RANSMITTER FULL-BIT:  838
  131.  
  132. ┴GAIN, YOU MAY WANT TO TRY FINE TUNING THE 1200 BPS TIMING TO GET BETTER RESULTS.
  133.