home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / os / vxworks / 993 < prev    next >
Encoding:
Internet Message Format  |  1992-11-06  |  3.7 KB

  1. Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!elroy.jpl.nasa.gov!sdd.hp.com!spool.mu.edu!agate!overload.lbl.gov!dog.ee.lbl.gov!lbl.gov!vxwexplo
  2. From: Roeber <fjr@ssd.ray.com>
  3. Newsgroups: comp.os.vxworks
  4. Subject: MVME167 timing
  5. Date: Thu, 5 Nov 1992 10:37:00 -0500
  6. Organization: Lawrence Berkeley Laboratory, Berkeley CA
  7. Lines: 70
  8. Sender: vxwexplo@lbl.gov
  9. Message-ID: <199211051537.AA00683@pike.ssd.ray.com>
  10. NNTP-Posting-Host: 128.3.112.16
  11. Originator: daemon@vxw.ee.lbl.gov
  12.  
  13. Hello,  Back in august, there was some discussion on initializing the timer
  14. control registers correctly on a MVME167 card.  Well, now I have to use a
  15. 167 card so I was going through the information that was discussed.  One thing
  16. came up that seems very important but never seemed to get resolved.  Phil
  17. Perillat of Arecibo Observatory wrote:
  18.  
  19. > The mv167 board has another set of timers in the vmechip2:
  20. >
  21. > /*
  22. >  *              VMEbus Arbiter Timeout Control Register         0x4c    31-24
  23. >  *              DMAC Ton/Toff Timers and VMEbus Global Timeout  0x4c    23-16
  24. >  *              VME Access, Local Bus and Watchdog Timeout      0x4c    15-08
  25. >  *              Prescaler Control Register                      0x4c    07-00
  26. >  */
  27. > #define VMECHIP2_TIMEOUTCR      VMECHIP2_ADRS(0x4c)
  28. >  
  29. > I looked in sysLib.c to see if they had made the same mistake setting the
  30. > prescaler control register (~BCLK vs - BCLK) for the vmechip2. What i found
  31. > was:
  32. > /* set VMEbus global timeout to 64us
  33. >      * set VMEbus access timeout to 1ms
  34. >      * set local bus timeout to 64us
  35. >      * set watchdog timeout to 16ms
  36. >      */
  37. >     *VMECHIP2_TIMEOUTCR         = (TIMEOUTCR_VGTO_64US  |
  38. >                                    TIMEOUTCR_VATO_1MS   |
  39. >                                    TIMEOUTCR_LBTO_64US  |
  40. >                                    TIMEOUTCR_WDTO_16MS);
  41. > But no setting of the prescaler adjust??? Looking at 0xfff4004c also shows
  42. > the prescaler adjust set to zero??? paraphrasing the mv167 Programmers Ref
  43. > guide pg. 2-62...
  44. > If the prescaler is not correctly programmed, the bus timers do not generate
  45. > their specified values and the VMEbus reset time may be violated...
  46. >  
  47. > Have i missed something here ?????
  48.  
  49. I think Phil is completely correct.  The way the VME chip is set up, the
  50. prescaler is not being set so all of the timing values should be coming
  51. out wrong.  This means that people could get timeouts when they might not
  52. expect them or other such problems (just like people have been mentioning).
  53. Also, the Motorola manual recommends a set of timeout settings that are
  54. different from what is used (see pg 1-45 of the 167 HW manual).  I feel that
  55. the initialization line above should be:
  56.  
  57.      *VMECHIP2_TIMEOUTCR         = (TIMEOUTCR_ARBTO       |
  58.                                     TIMEOUTCR_VGTO_256US  |
  59.                                     TIMEOUTCR_VATO_1MS    |
  60.                                     TIMEOUTCR_LBTO_8US    |
  61.                                     TIMEOUTCR_WDTO_512MS  |
  62.                                     (256 - BCLK));
  63. This should make bus activity much more reliable (and also let people use
  64. the two timers in the VME chip for additional timing capabilities).  Note
  65. that I also am enabling arbitration timeout so that a card glitch can't hang
  66. the whole backplane. What do other people think?  Is this a fix that has
  67. already been tried out by anyone?    Fred
  68.  
  69.     _______________________________________________________
  70.    |  Fred J Roeber,  Raytheon Submarine Signal Division   |
  71.    |  1847 West Main Road,  Mail Stop 188                  |
  72.    |  Portsmouth, RI  02871-1087  (401) 847-8000 (X4205)   |
  73.    |                                                       |
  74.    |                   fjr@ssd.ray.com                     |
  75.    |_______________________________________________________|
  76.  
  77.  
  78.  
  79.  
  80.