اطلاعیه

Collapse
No announcement yet.

کسی lsd4004 راه اندازی کرده؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کسی lsd4004 راه اندازی کرده؟

    سلام
    من تا حالا با این پروتکلspi کار نکردم اگر کسی از دوستان میتونه کمک کنه لطفا دریغ نکنه
    پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري

    #2
    پاسخ : کسی lsd4004 راه اندازی کرده؟

    سلام .................

    ممکنه بفرمایید با چه زبانی کار میکنید؟
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #3
      پاسخ : کسی lsd4004 راه اندازی کرده؟

      سلام دوستان

      من تمام دیتا شیت ISD4004 رو خوندم و به صورت سطحی ترجمش کردم

      با توجه به آن یک برنامه هم نوشتم که متاسفانه هیچ جوابی نگرفتم

      فکر میآ‌کنم مشکل تو قسمت هایی باشه که تو دیتاشیت به روشنی گفته نشده یا با ISD25120 تفاوت داره

      میآ‌خواستم اگه ممکنه به سوالاتم جواب بدین تا مشکلم حل بشه
      چون به این برای پروژه فاینالم که آخرین فرصتش 1 ماه دیگه هست نیاز دارم

      دمتون گرم ... :NO: :NO: :NO: (سوال ها

      دیدگاه


        #4
        پاسخ : کسی lsd4004 راه اندازی کرده؟


        1 ) اولین سوال که خیلی باهاش سرو کله زدم اینه که تو دیتا شیت ISD4004 هیچ اشاره ای به نحوه اتصال میکروفن نشده.

        من مثل مدار توی دیتاشیت ISD25120 بستم. اما مگه VCC برای 4004 3 ولت نیست. پس برای پایه ی MIC در 25120 به 5 وصل میآ‌شد

        اینجا باید چه کنم

        اگه ممکنه یه شماتیک ازش بزارین

        2 ) من AUD OUT رو به یه تقویت کننده با LM368 دادم که تغذیه آن 5 ولته و 4004 ، 3 ولته
        آیا درسته؟

        دیدگاه


          #5
          پاسخ : کسی lsd4004 راه اندازی کرده؟

          3)آیا برای ارتباط SPI با ISD4004 باید از تقسیم کننده ولتاژ (دو مقاومت) برای رسیدن به 3 ولت استفاده کرد . (مثل SPI در MMC) ؟؟؟

          حالا خلاصه برنامه ای رو که نوشتم براتون میزارم اگه ایرادی توو برنامه بود بهم بگین

          متشکرم ...

          دیدگاه


            #6
            پاسخ : کسی lsd4004 راه اندازی کرده؟

            اینم برنامه . . . :NO: :NO: :NO:

            #include <mega32.h>
            #include <delay.h>

            // SPI functions
            #include <spi.h>

            //************************************************** ************************
            void SPI_Initialization(void);
            void SPI_move(void);
            void Send_CMD(unsigned int,unsigned char);
            void POWER_UP(void);
            void RECORD(unsigned int);
            void PLAY(unsigned int);
            void STOP(void);
            //************************************************** ************************
            // Declare your global variables here
            unsigned char DataIn;
            unsigned char DataOut;

            //************************************************** ************************

            void main(void)
            {
            // Declare your local variables here

            // Input/Output Ports initialization
            PORTA=0x00;
            DDRA=0x00;

            // Port B initialization
            // Func7=Out Func6=In Func5=Out Func4=Out Func3=Out Func2=In Func1=In Func0=In
            // State7=0 State6=T State5=0 State4=0 State3=0 State2=T State1=T State0=T
            PORTB=0x00;
            DDRB=0xB8;

            PORTC=0x00;
            DDRC=0x00;

            PORTD=0x00;
            DDRD=0x00;

            // SPI initialization
            // SPI Type: Master
            // SPI Clock Rate: 250.000 kHz
            // SPI Clock Phase: Cycle Half
            // SPI Clock Polarity: Low
            // SPI Data Order: LSB First
            //
            // ||
            // ||
            // \/



            SPI_Initialization();
            delay_ms(100);
            RECORD(0x0000);
            PORTB.4=1;

            delay_ms(20000);

            STOP();

            delay_ms(50);

            delay_ms(2000);
            PLAY(0x0000);
            PORTB.4=1;

            delay_ms(20000);

            while (1);

            }

            //************************************************** ************************

            void SPI_Initialization(void)
            {
            PORTB=0x00;
            DDRB=0xB8;
            SPCR=0x71;
            SPSR=0x00;
            }

            //************************************************** ************************
            // can set DataOut as entrance of function
            void SPI_move(void)
            {
            SPDR=DataOut;
            while(!(SPSR.7));
            DataIn=SPDR;
            }
            //************************************************** ************************

            void Send_CMD(unsigned int address,unsigned char CMD)
            {
            unsigned char H,L;
            L=address;
            address>>=8;
            H=address;
            DataOut=L;
            SPI_move();
            DataOut=H;
            SPI_move();
            DataOut=CMD;
            SPI_move();
            }
            //************************************************** ************************

            void POWER_UP(void)
            {
            Send_CMD(0x0000,0x04);
            delay_ms(25);
            }

            //************************************************** ************************

            void RECORD(unsigned int address)
            {
            POWER_UP();
            POWER_UP();
            delay_ms(25);
            Send_CMD(address,0x05);
            Send_CMD(0x0000,0x0D);
            }

            //************************************************** ************************

            void PLAY(unsigned int address)
            {
            POWER_UP();
            Send_CMD(address,0x07);
            Send_CMD(0x0000,0x0F);
            }

            //************************************************** ************************

            void STOP(void)
            {
            Send_CMD(0x0000,0x0C);
            }
            //************************************************** ************************


            *** 5) آیا استفاده از delay برای مدت زمان دلخواه برای ثبت درست است؟؟؟؟

            دیدگاه


              #7
              پاسخ : کسی lsd4004 راه اندازی کرده؟

              4) آیا همانند MMC که در ارتباط با SPI پاسخ هایی را میفرستاد آیا ISD4004 نیز پیامی مبنی بر پذیرفته شده یا نشدن فرمان میدهد ؟؟؟

              5) اتصال پایه های RAC و INT در برنامه ساده ای که نوشتم لازمه؟؟؟ باید چه کار کنم؟؟؟

              احتمالا تا شب شماتیک مدارمو میزارم

              دیدگاه

              لطفا صبر کنید...
              X