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

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