Searching \ for 'MM5837 Digtal Noise Source' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=mm5837+digtal+noise
Search entire site for: 'MM5837 Digtal Noise Source'.

Truncated match.
PICList Thread
'MM5837 Digtal Noise Source'
1997\02\26@213840 by Marv

flavicon
face
On Mon, 24 Feb 1997, D. R. Chicotel wrote:

> I want to use a PIC to duplicate what a MM5437 Digital Noise Source does.
> The MM5437 is no longer available.  I suspect that I can just create random
> numbers on PORT B and amplify one of the PORT B pins using a LM386 connected
> to a speaker.  This should give the white noise I am looking for ...

 Point of information: the National Part number was MM5837.

 National generated the noise with a 17 bit psuedo-random shift register
clocked from an internally generated non-precison source at around 100 Kc
(old parts still use kilocycles!)

                               #############

On Mon, 25 Feb 1997, Martin J. Maney commented:

Heck, you can probbaly do better if you work at it.  Unless I'm mixing the
5437 up with another similar part - and I don't recall there was anything
else quite like it in general use - it had a fairly good spectrum for
measurement applications, but a rather noticeable cyclic element to the
sound...

 The "tick" was an artifact of the relatively short psuedo-random sequence.

                               #############

 Back to the original problem.  You should be able to emulate the MM5487 on
an 8 pin PIC, like the 12C508 and even fit it in the same physical space!
You could also improve the function by increasing the pseudo-random clock
rate(using one of the faster PIC's) & shift register length.

Here is a routine for a 31 bit psuedo-random number generator written for a
PIC 16C5X:

       RANDOM          RLF     RAND3,W         ; bit 31 to W7
                       MOVWF   TEMP            ; park bit 7
                       SWAPF   RAND3,W         ; bit 28 to W7
                       XORWF   TEMP            ; create the input bit
                       RLF     TEMP            ; and put it into the carry

                       RLF     RAND0           ; do the 4 byte shift
                       RLF     RAND1           ;
                       RLF     RAND2           ;
                       RLF     RAND3           ;

 If you used an 8 bit output register for one of the RAND's you could just
loop this and have it run in 11 cycles.

 An implementation on the 12C508 would need an extra instruction to drive
the output.

010100001010100010100001011100101010...,
Marv

More... (looser matching)
- Last day of these posts
- In 1997 , 1998 only
- Today
- New search...