2013-1-12 17:39:07 [显示全部楼层]
8277浏览
查看: 8277|回复: 3

看完《ld3320 开发手册》后疑问之二

[复制链接]
20  FIFO_DATA上限低8位(UpperBoundary L)
21  FIFO_DATA上限高8位(UpperBoundary H)
22  FIFO_DATA下限低8位(LowerBoundary L)
23  FIFO_DATA下限高8位(LowerBoundary H)
“上限低8位”什么意思?

FIFO_EXT MCU水线低8位(MCU water mark L)
FIFO_EXT MCU水线高8位(MCU water mark H)
FIFO_EXT DSP水线低8位(DSP water mark L)
FIFO_EXT DSP水线高8位(DSP water mark H)
“水线高8位”什么意思?


void LD_Init_Common() 函数定义中
LD_ReadReg(0x06);
上面的语句读什么呢
也没有读的东西赋给任何值啊
0x06里面的位怎么表示?

LD_WriteReg(0xCB, 0x02)
寄存器的OXCB为0x02时是什么意思?
BC 寄存器使用
ASR:识别过程强制结束,在ASR进行过程中,可以设置本
存器提前结束本次ASR过程;
写07H,停止录音,但对已有声音进行识别运算,可能会
最优识别候选,返回BA=0 - 4
  写08H,强制停止ASR运算,返回BA=51H。
  这两种设置都会使DSP送出中断,如同正常的识别结束

MP3: 写01H,主控MCU通知语音芯片MP3数据结束

LD_PLL_11
#define LD_PLL_11   (uint8)((CLK_IN/2.0)-1)
“(uint8)((CLK_IN/2.0)-1)”不知道里面的含义?

#define LD_PLL_MP3_1D    (uint8)(((90.0*((LD_PLL_11)+1))/(CLK_IN))-1)
“(uint8)(((90.0*((LD_PLL_11)+1))/(CLK_IN))-1)”什么意思,为什么要这样定义?
#define LD_PLL_ASR_19   (uint8)(CLK_IN*32.0/(LD_PLL_11+1) - 0.51)
“(uint8)(CLK_IN*32.0/(LD_PLL_11+1) - 0.51)”什么意思,为什么要这样定义


在void LD_Init_ASR()函数中
nLD_Mode=LD_MODE_ASR_RUN
上句中在宏定义中只有
extern uint8 idata  nLD_Mode;
#define LD_MODE_ASR_RUN  0x08
在接下来的程序中没有再提nLD_Mode,对此不解?
在寄存器中的B2是ff时代表什么意思?手册中没有给出


在uint8 LD_Check_ASRBusyFlag_b2() 中
for (j=0; j<10; j++)
为什么是10呢


在uint8 LD_AsrAddFixed()中

LD_WriteReg(0x08, 0x04); 要操什么,手册中无说明
for (nAsrAddLength=0; nAsrAddLength<20; 为什么是20次
LD_WriteReg(0xb2, 0xff); 要操什么,手册中无说明


在uint8 LD_AsrRun() 中
在0x1C中写0x9H为Reserver 保留命令字
这句话怎么理解啊

LD_WriteReg(0x08,0x01);
LD_WriteReg(0x08,0x00);
08 手册寄存器介绍
清除FIFO内容(清除指定FIFO后再写入一次00H)
第0位:写入1→清除FIFO_DATA
第2位:写入1→清除FIFO_EXT
看完介绍我还是不知道要操作什么?

LD_WriteReg(0x1C,0x0b);
要操什么,手册中无说明


在uint8 RunASR()中

void ExtInt0Handler(void) interrupt 0
"interrupt 0 "什么意思?和51c中的定义的6个中断相同吗?

ucHighInt=LD_ReadReg(0x29);  
  LD_WriteReg(0x29,0) ;
1.怎么读了有写
2.0x29写0表示什么,手册中无具体解释?

if( (ucRegVal & 0x10) &&
   LD_ReadReg(0xbf)==0x35 &&  
LD_ReadReg(0xb2)==0x21)
“ucRegVal”没有定义,还有上面的句子为什么要这样写,有什么含义?



lxlsin  学徒
 楼主|

发表于 2013-1-20 15:36:33

什么时候回复啊,不是说好了24小时没回复吗,怎么还没有回复,dfrobot的工程师们,快快快回复吧
回复

使用道具 举报

mickey  NPC

发表于 2013-1-23 13:57:46

如果您是购买的我们的语音识别模块,我们只能告诉您我们语音识别模块怎么使用,您的问题已经涉及到开发上了,我们很难回答清楚您的问题。
回复

使用道具 举报

晨微亮  学徒

发表于 2013-5-20 10:29:51

我也是在看开发手册和参考程序,

倒数第一个问题:  ucRegVal = LD_ReadReg(0x2B);
ucRegVal 值为地址为2B寄存器的值
而if( (ucRegVal & 0x10) &&
   LD_ReadReg(0xbf)==0x35 &&  
LD_ReadReg(0xb2)==0x21)
这句是用来判断识别是否成功的

0x29写0是因为SPI总线通信时,必须写入一个值才能读另一个值,写0是为了读

interrupt 0 是关闭总中断

LD_WriteReg(0x1C,0x0b);就是向地址1c写0b啊,查寄存器表。

在uint8 LD_Check_ASRBusyFlag_b2() 中
for (j=0; j<10; j++)
为什么是10呢。。。。尝试十次读取Flag,不能只尝试一次啊

我也在弄LD3320,不知道你弄好了没,其他几个问题我也不是太会。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail