using ISD2560 on PIC18F4620


Closed Thread
Results 1 to 13 of 13
  1. #1
    Join Date
    Mar 2007
    Posts
    4

    Default using ISD2560 on PIC18F4620

    HI , did anyone know how to record sound using ISD2560 in PIC18F4620 ?

  2. #2


    Did you find this post helpful? Yes | No

    Default

    Hi Rookie. You really don't need a PIC to run that chip. You can use a diode matrix for addressing purposes. Also, DON"T become attached to it. Winbond released an End Of Life to that series and is discontinuing it. We are using the ISD2575 (same thing with 75 seconds) and I'm in the process of redesigning our boards to use (probably) the newer ISD1750. It offers the ability to operate stand-alone or SPI with a microcontroller.

  3. #3
    Join Date
    Nov 2007
    Location
    Old Lyme, Connecticut
    Posts
    6


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by peterdeco1 View Post
    We are using the ISD2575 (same thing with 75 seconds) and I'm in the process of redesigning our boards to use (probably) the newer ISD1750. It offers the ability to operate stand-alone or SPI with a microcontroller.
    I realize that this is an old thread, but I'm curious if you did go with the ISD1750? If so, I'd be interested in hearing how it went.

    I'm also updating an old project that used a now obsolete Winbond chip. I thought I could simply pulse the FWD input to get to the desired recording, but the ISD chip responds too slowly that way. I'm going to pursue the SPI interface, next. If there's any interest, I'll post my results.

    I'm new to this forum, so I'm not sure if I should post here or start a new thread dedicated to interfacing with the ISD chips. Anyone have a suggestion?

    - Don

  4. #4


    Did you find this post helpful? Yes | No

    Default

    Hi Don. Never persued the ISD1750. Requires a whole new protocol from what I'm used to. I've been using the ISD5008 for a while now and with the quantities we order, the price is almost equal to what we were paying for the 2575. So this is the chip we will use to replace it.

  5. #5
    Join Date
    Nov 2007
    Location
    Old Lyme, Connecticut
    Posts
    6


    Did you find this post helpful? Yes | No

    Default

    Hi Peter,

    Thanks for the quick reply. It appears no one is "upgrading" to the ISD1700 series for their PIC projects. My concern was with the SPI code, but since it looks like SPI is soon going to be the only way to talk to these things, I'm going to give the ISD17120 a shot.

    - Don

  6. #6


    Did you find this post helpful? Yes | No

    Default

    Let me know Don. Perhaps we can share some code.

  7. #7
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default

    peterdeco1, Here is a subroutine I wrote quite a few years back for a repeater. The plyrec flag is for playback/record. It uses the chip select, interrupt, eom, mosi and clock. It was for recording and playing back 6, 20 second messages from a 120 second part. I hope it helps....

    Dave Purola,
    N8NTA



    '************************************************* ********************
    ISDDVR1:' SPI DRIVER FOR ISD-33120 DVR
    '************************************************* ********************
    ISDSEL = 0 'SET <>CE LOW
    SHIFTOUT MOSI,SCLK,0,[%00100\5] 'SEND POWER-UP COMMAND
    ISDSEL = 1 'SET <>CE HIGH
    PAUSTIME = 30 'WAIT FOR POWER-UP SEQUENCE TO COMPLETE
    GOSUB WAITIME
    IF PLYREC=0 THEN REC 'CHECK FOR RECORD MODE

    PLY:
    ISDSEL = 0 'SET <>CE LOW
    SHIFTOUT MOSI,SCLK,0,[((DRCHANL MIN 5)*133)\11,%11100\5] 'START PLAYBACK @ ADDRESS
    ISDSEL = 1 'SET <>CE HIGH
    PAUSE 1
    ISDSEL = 0 'SET <>CE LOW
    SHIFTOUT MOSI,SCLK,0,[%11110\5] 'CONTINUE PLAYBACK @ ADDRESS
    ISDSEL = 1 'SET <>CE HIGH
    TIMSTAMP = 0
    WHILE TIMSTAMP<20000 'WAIT FOR 20 SEC or UNTIL EOM
    IF EOM_OVF=0 THEN CLRDR 'CHECK FOR EOM, IF NOT BUSY THEN FINISHED
    WEND
    GOTO CLRDR 'NO EOM BIT TO BE FOUND IN TIME

    REC:
    TIMSTAMP = 0
    WHILE TIMSTAMP<3000 'START TIMING LOOP FOR UNKEY (~3 SEC)
    IF COR=1 THEN CONTREC 'WAIT FOR COR/COS TO DROP
    WEND
    GOTO CLRDR 'NO UNKEY TO BE FOUND IN TIME

    CONTREC:
    TIMSTAMP = 0
    WHILE TIMSTAMP<3000 'START TIMING LOOP FOR UNKEY (~3 SEC)
    IF COR=0 THEN SREC 'CHECK FOR COR/COS PRESENT
    WEND
    GOTO CLRDR 'TIME IS UP SO, FINISH OPERATION

    SREC:
    ISDSEL = 0 'SET <>CE LOW
    SHIFTOUT MOSI,SCLK,0,[((DRCHANL MIN 5)*133)\11,%10100\5] 'START RECORD @ ADDRESS
    ISDSEL = 1 'SET <>CE HIGH
    PAUSE 1
    ISDSEL = 0 'SET <>CE LOW
    SHIFTOUT MOSI,SCLK,0,[%10110\5] 'CONTINUE RECORD @ ADDRESS
    ISDSEL = 1 'SET <>CE HIGH
    TIMSTAMP = 0
    WHILE TIMSTAMP<19900 'WAIT FOR 19.9 SEC or UNTIL EOM
    IF EOM_OVF=0 OR COR=1 THEN CLRDR 'IF COR/COS DROPPED OR EOM THEN STOP RECORD
    WEND

    CLRDR:
    ISDSEL = 0 'SET <>CE LOW
    SHIFTOUT MOSI,SCLK,0,[%00000\5] 'STOP REC/PLY @ POWER DOWN
    ISDSEL = 1 'SET <>CE HIGH
    RETURN

  8. #8
    Join Date
    Nov 2007
    Location
    Old Lyme, Connecticut
    Posts
    6


    Did you find this post helpful? Yes | No

    Default

    Well Dave,

    I think you've saved me a ton of trial and error! Thanks!

    - Don

  9. #9
    Join Date
    Nov 2007
    Location
    Old Lyme, Connecticut
    Posts
    6


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by peterdeco1 View Post
    Let me know Don. Perhaps we can share some code.

    Peter,

    Definitely!

    - Don

  10. #10


    Did you find this post helpful? Yes | No

    Default

    Thanks Dave. Your code is almost identical to the 5008 code except there are 3 SHIFTOUTs to get the 5008 to go from record to play. Once in play, the first 2 config bits are stored in a temporary register so you can just repeat the 3rd to do things like message cueing.

  11. #11
    Join Date
    Nov 2006
    Location
    São Paulo // Brazil
    Posts
    2


    Did you find this post helpful? Yes | No

    Lightbulb

    /*Hello everyone, health and harmony from Brazil. For the subrotina, just put it in my code or have to declare it before?
    It can be used with the PIC16F877 and ISD2590? I have one and I thought he would never use it ...
    I am building a small robot and would like to respond to the same external events through sounds or phrases.
    Thanks to all.*/

  12. #12
    Join Date
    Nov 2007
    Location
    Old Lyme, Connecticut
    Posts
    6


    Did you find this post helpful? Yes | No

    Default Isd17120

    Well, I have an ISD17120 working under SPI control. I still have some things to figure out for the recording operation, but I'm pretty pleased, so far.

    I decided to use a Basic Atom for the prototype to make it a little easier on me. The code is almost the same - if not identical.

    Dave, your post was a big help to get the SPI sorted out, but otherwise, the ISD17120 is a whole different animal than those other ISD devices.

    One big, dumb mistake that I couldn't figure out until I got out the oscilliscope - I had used back slashes instead of forward slashes in the SHIFTOUT syntax! So, it was always shifting out 16 bits and the command codes were divided by the number of bits I had intended to send!

    I'll post some code when I get the recording down. Meanwhile, if anyone else is having problems with an ISD1700 device, I may be able to help.

    - Don

  13. #13
    Join Date
    Jun 2007
    Posts
    10


    Did you find this post helpful? Yes | No

    Default

    Hey Don...


    I am working with the ISD1740 under SPI control- any example code for operating with the set_play command would be greatly appreciated! All I want to do in my application is set the play pointer to the beginning of a given message address and play the message. I need to be able to set the address beginning and end to play pre-recorded "sound effects" from the chip.

Similar Threads

  1. PIC18F4620 Programming problem
    By JavPar in forum mel PIC BASIC Pro
    Replies: 15
    Last Post: - 6th December 2008, 04:21
  2. ADCIN with PIC18F4620
    By Brian J Walsh in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 4th July 2008, 01:25
  3. PIC18F4620 Using the Internal Oscillator
    By kiwipiper in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 23rd October 2007, 08:07
  4. PIC18F4620 not Target Device
    By kiwipiper in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 17th October 2007, 19:42
  5. PIC18F4620 Troubles
    By CluckShot in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 16th May 2007, 03:02

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts