找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3128|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

LD3320語音識(shí)別模塊資料下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:717540 發(fā)表于 2020-4-2 19:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "config.h"

extern void  delay(unsigned long uldata);


extern uint8 nAsrStatus;
uint8  nLD_Mode=LD_MODE_IDLE;
uint8  ucRegVal;

void ProcessInt0(void);

void LD_Reset()
{
    RSTB=1;
    delay(5);
    RSTB=0;
    delay(5);
    RSTB=1;
   
    delay(5);
    SCS=0;
    delay(5);
    SCS=1;
    delay(5);
}


void LD_Init_Common()
{
    LD_ReadReg(0x06);  
    LD_WriteReg(0x17, 0x35);

    delay(5);
    LD_ReadReg(0x06);  

    LD_WriteReg(0x89, 0x03);
    delay(5);
    LD_WriteReg(0xCF, 0x43);
    delay(5);
    LD_WriteReg(0xCB, 0x02);
   
    /*PLL setting*/
    LD_WriteReg(0x11, LD_PLL_11);
    if (nLD_Mode == LD_MODE_MP3)
    {
        LD_WriteReg(0x1E,0x00);
        LD_WriteReg(0x19, LD_PLL_MP3_19);
        LD_WriteReg(0x1B, LD_PLL_MP3_1B);        
        LD_WriteReg(0x1D, LD_PLL_MP3_1D);
    }
    else
    {
        LD_WriteReg(0x1E,0x00);
        LD_WriteReg(0x19, LD_PLL_ASR_19);
        LD_WriteReg(0x1B, LD_PLL_ASR_1B);
      LD_WriteReg(0x1D, LD_PLL_ASR_1D);
    }   
    delay(5);
   
    LD_WriteReg(0xCD, 0x04);
    LD_WriteReg(0x17, 0x4c);
    delay(5);
    LD_WriteReg(0xB9, 0x00);
    LD_WriteReg(0xCF, 0x4F);
    LD_WriteReg(0x6F, 0xFF);
}

void LD_Init_ASR()
{
    nLD_Mode=LD_MODE_ASR_RUN;
    LD_Init_Common();

    LD_WriteReg(0xBD, 0x00);
    LD_WriteReg(0x17, 0x48);
    delay( 10 );

    LD_WriteReg(0x3C, 0x80);
    LD_WriteReg(0x3E, 0x07);
    LD_WriteReg(0x38, 0xff);
    LD_WriteReg(0x3A, 0x07);
   
    LD_WriteReg(0x40, 0);
    LD_WriteReg(0x42, 8);
    LD_WriteReg(0x44, 0);
    LD_WriteReg(0x46, 8);
    delay( 5 );
}

void ProcessInt0(void)
{
    uint8 nAsrResCount=0;

    EX0=0;
    ucRegVal = LD_ReadReg(0x2B);
    LD_WriteReg(0x29,0) ;
    LD_WriteReg(0x02,0) ;
    if((ucRegVal & 0x10)&&LD_ReadReg(0xb2)==0x21&&LD_ReadReg(0xbf)==0x35)            /*ʶ±ð³É¹¦*/
    {   
        nAsrResCount = LD_ReadReg(0xba);
        if(nAsrResCount>0 && nAsrResCount<=4)
        {
            nAsrStatus=LD_ASR_FOUNDOK;
        }
        else
      {
            nAsrStatus=LD_ASR_FOUNDZERO;
        }   
    }                                                             /*ûÓÐʶ±ð½á¹û*/
    else
    {     
        nAsrStatus=LD_ASR_FOUNDZERO;
    }
        
  LD_WriteReg(0x2b, 0);
  LD_WriteReg(0x1C,0);/*д0:ADC²»¿ÉÓÃ*/
    LD_WriteReg(0x29,0);
    LD_WriteReg(0x02,0);
    LD_WriteReg(0x2B,0);
    LD_WriteReg(0xBA,0);   
    LD_WriteReg(0xBC,0);   
    LD_WriteReg(0x08,1);     /*Çå³ýFIFO_DATA*/
    LD_WriteReg(0x08,0);    /*Çå³ýFIFO_DATAºó ÔÙ´Îд0*/

    EX0=1;
}


uint8 LD_Check_ASRBusyFlag_b2()
{
    uint8 j,i;
    uint8 flag = 0;
    for (j=0; j<5; j++)
    {
        i=LD_ReadReg(0xb2);
        if ( i== 0x21)
        {
            flag = 1;                        
            break;
        }
        delay(10);        
    }
    return flag;
}

void LD_AsrStart()
{
    LD_Init_ASR();
}

uint8 LD_AsrRun()
{
    EX0=0;
    LD_WriteReg(0x35, MIC_VOL);
    LD_WriteReg(0x1C, 0x09);
    LD_WriteReg(0xBD, 0x20);
    LD_WriteReg(0x08, 0x01);
    delay( 5 );
    LD_WriteReg(0x08, 0x00);
    delay( 5 );

    if(LD_Check_ASRBusyFlag_b2() == 0)
    {
        return 0;
    }

    LD_WriteReg(0xB2, 0xff);
    LD_WriteReg(0x37, 0x06);
    delay( 10 );
  LD_WriteReg(0x37, 0x06);
    delay( 30 );
    LD_WriteReg(0x1C, 0x0b);
    LD_WriteReg(0x29, 0x10);   
    LD_WriteReg(0xBD, 0x00);
    EX0=1;
    return 1;
}

uint8 LD_AsrAddFixed()
{
    uint8 k, flag;
    uint8 nAsrAddLength;
   
    #define DATE_A 14   //Êý×é¶þάÊýÖµ
    #define DATE_B 20        //Êý×éһάÊýÖµ
   
   
    uint8  code sRecog[DATE_A][DATE_B] = {
                                                                        "xiao jie",\
                                                                        "dai ma ce shi",\
                                                                        "ce shi wan bi",\
        
                                                                        "bei jing",\
                                                                        "shang hai",\
                                                                        "kai deng",\
                                                                        "guan deng",\
        
                                                                        "guang zhou",\
                                                                        "shen zhen",\
                                                                        "xiang zuo zhuan",\
                                                                        "xiang you zhuan",\
        
                                                                        "da kai kong tiao",\
                                                                        "guan bi kong tiao",\
                                                                        "hou tui",\
                                                                 };    /*Ìí¼Ó¹Ø¼ü´Ê£¬Óû§ÐÞ¸Ä*/
    uint8  code pCode[DATE_A] = {
                                                    CODE_CMD,\
                                                    CODE_DMCS,\
                                                    CODE_CSWB,\
                                                
                                                    CODE_1KL1,\
                              CODE_1KL2,\
                              CODE_1KL3,\
                              CODE_1KL4,\
        
                                                    CODE_2KL1,\
                              CODE_2KL2,\
                              CODE_2KL3,\
                              CODE_2KL4,\
        
                                                    CODE_3KL1,\
                              CODE_3KL2,\
                                                    CODE_5KL1,
                                                };    /*Ìí¼Óʶ±ðÂ룬Óû§ÐÞ¸Ä*/   
    flag = 1;
    for (k=0; k<DATE_A; k++)
    {
            
        if(LD_Check_ASRBusyFlag_b2() == 0)
        {
            flag = 0;
            break;
        }
        
        LD_WriteReg(0xc1, pCode[k] );
        LD_WriteReg(0xc3, 0 );
        LD_WriteReg(0x08, 0x04);
        delay(1);
        LD_WriteReg(0x08, 0x00);
        delay(1);

        for (nAsrAddLength=0; nAsrAddLength<DATE_B; nAsrAddLength++)
        {
            if (sRecog[k][nAsrAddLength] == 0)
                break;
            LD_WriteReg(0x5, sRecog[k][nAsrAddLength]);
        }
        LD_WriteReg(0xb9, nAsrAddLength);
        LD_WriteReg(0xb2, 0xff);
        LD_WriteReg(0x37, 0x04);
    }
    return flag;
}

uint8 LD_GetResult()
{   
    return LD_ReadReg(0xc5 );
}





LD3320并行串行讀寫輔助說明.pdf

349.8 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5

LD3320開發(fā)手冊(cè).pdf

771.39 KB, 下載次數(shù): 24, 下載積分: 黑幣 -5

LD3320數(shù)據(jù)手冊(cè).pdf

681.43 KB, 下載次數(shù): 20, 下載積分: 黑幣 -5

LD3320芯片簡明調(diào)試步驟.pdf

135.58 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

可編輯語音識(shí)別芯片LD3320介紹.pdf

286.85 KB, 下載次數(shù): 19, 下載積分: 黑幣 -5

語音識(shí)別芯片LD3320高階秘籍.pdf

332.02 KB, 下載次數(shù): 17, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表