|
基本数据
Question
1
我知道HT86192可以放入长度192秒的语音,但是最大的语音数量限制是多少?
Answer
若是以EasyFormat编辑,基于index变量的限制,最大只能放入256段语音。
Question
2
HT86支持哪些压缩格式?
Answer
HT86支持的压缩格式有 8-bit PCM, 6-bit ulaw PCM, 4-bit ADPCM,
另外HT86亦提供12-bit PCM。
Question
3
HT86可以播放MIDI与WAV档吗?
Answer
可以的。但是MIDI档经由工具转换,只能播放出 2 channel的电子音。
功能说明
Question
1
HT86的DAC与一般的Voice IC好像不一样?
Answer
HT86是电压输出型DAC, 它的音质要比一般电流输出型为佳,
AUD1可以直接接到HT82V733推喇叭。 如果要用单晶体管推动喇叭时需接AUD0并加上分压电阻。
Question
2
HT86 的EasyFormat工具,是否具有语音播放中,可插入另一段语音的fill-in 功能?
Answer
HT86具有fill-in的功能。
Question
3
请问WDT之功能为何?
Answer
Watchdog Timer(WDT)主要用于监视MCU内部功能(software及hardware)之执行是否正常,
使用者必须适当设计software及运用clear WDT(CLR WDT, CLR WDT1, CLR WDT2)之指令,
使程序正常执行时, WDT不会overflow, 并且在当系统不正常执行时, WDT可以overflow造成WDT
reset, WDT reset之效能, 主要由software设计所决定。
Question
4
开发HT86072时,为何不管在那页执行"TABRDC"指令,结果永远只会读取第一页的内容?完全无法实现读取当前页的效果?
Answer
HT86系列的TABRDC查表是16BIT的查表,必需同时将TBLP及TBHP配合使用,可以作整个ROM全范围的查表。
如TBHP一直保持上电初始化的00H,那TABRDC每次查表都是读取第一页的数值。
Question 5
使用(SPEECH) MARCO 播放Voice时,为何Voice的起始及终结时总会有爆裂音?
Answer
只要运用(SPEECH) MARCO时将(fVoiceUp)及(fVoiceDown)标志位置为1便可。
Question
6
新推出的HT86030、HT86070与HT86xx其它芯片功能有何不同?
Answer
HT86030、HT86070功能特性均与原HT86XXX系列母体相同,但是I/O减少至16个,并省去一组16-bit
timer与Real Time Clock, 价钱更具竞争力
Question
7
WDT
Clock Source选择WDT OSC和选择T1有何差别?
Answer
WDT Clock Source选择WDT OSC则在系统进入HALT时WDT Timer仍然继续工作,当WDT
Time-out可以再启动系统。若选择 T1则在进入HALT后,
则一直沉睡下去无法Wake-up,但选择WDT OSC则需花一些代价
(消耗电流)。在另外一种情形,如果系统正常就有HALT功能,
且在HALT时不希望被WDT叫醒,则此时WDT Source可选T1。
Question
8
HT86R384 有三个 16-bit 可编程定时/计数器,它们之间有什么不同?
Answer
定时/计数器TMR0/TMR1有三种工作模式:事件计数模式(外部时钟),定时模式(内部时钟),脉冲宽度测量模式,其溢出中断服务地址分别为0008H,
000CH,而TMR2的时钟源只能来自内部T1,所以TMR2只有一种工作模式:定时模式,其溢出中断服务地址分别为0010H。
Question
9
16-Bit Timer/Counter的设定和读取顺序?
Answer
对于HT86R384只有TMR3为8-Bit可编程定时/计数器,其它都为16-Bit定时/计数器,16-Bit的数据必需两次才能完成,
对16-Bit Timer/Counter的写必需先写Low Byte然后High Byte,而读的顺序必需先读High
Byte然后Low Byte。
Question 10
16-Bit TMR值如何设定?
Answer
16-Bit Timer/Counter为一向上数之计数器 (Counter),每当Counter数到65535
(0FFFFH)溢位0H时产生中断 (Interrupt),所以若要计数为N (N < 65536);则TMR值要设定成
65536-N,
设定好后启动TMR;TMR即从设定值往上数到65535溢出到0
(即65536),故所得值即65536-(65536-N)=N。
应用说明
Question
1
为何在声音播放时,随者音量大小变化,会有频率快慢的飘移?
Answer
-
当电池电压低于IC的工作电压规格时,IC内部的震荡线路已无法正常工作,
此时电压的变动将造成震荡频率的大幅变动。更换电池即可解决。
-
推动喇叭时的大电流造成IC的电源不稳定。在IC的Vdd与Vss端接上47uA的电容即可改善。
Question
2
我在wav编辑软件中已经将音量放至最大,为何在IC上听到的声音还是太小?
Answer
由于在PC多媒体环境之下,各种频率的声音均可由较好的喇叭播放听到。但在玩具成品上, 接在Voice
IC上的喇叭多半廉价导致高低音响应不良,无法完全还原在PC多媒体喇叭上可以听到的声音,
导致音量太小。建议于录音时,经由Equalizer将频率做适当调整,以符合廉价喇叭的频率响应。
Question
3
推动喇叭的晶体管温度很高,正常吗?
Answer
由于单晶体管推动喇叭属于A类放大器线路,晶体管温度高属于正常。 改用HT82V733推动喇叭即可要避免这种情形。
Question
4
我的线路电源环境不是很好,IC音质会不会因此受到影响?
Answer
若是电源存在噪声,很容易将噪声经由IC 电源传至声音输出端而影响音质。 建议在IC
Vdd之前串入47ohm电阻,并且于IC Vdd与Vss间接上10uF电容,用以修整电源噪声。
Question
5
我想把CD片上的一段音乐录进IC里,我需要准备哪些工具?
Answer
要把CD音源录进IC有两个方法:
-
将CD放入传统的audio CD player, 播放之后经由PC
SoundBlaster兼容卡录进计算机。软件可以采用 Windows内附的"录音程序",
或是其它shareware或专业的录音程序,建议档案质量为8KHz, 16-bit。
-
在PC上用可以直接将audio CD转换成44.KHz, 16-bit
Wav格式的程序,再用该程序将此档案转换成 适合此project的较低sampling rate。
Question
6
当系统时钟选择RC振荡器时,应用电路上OSC1外接的电阻与电容有何功能?电容可以不加吗?
Answer
OSC1外加电阻是为了产生一bias以控制内部的RC充放电,电阻值决定RC震荡频率。外加电容建议为470pF,OSC1外加电容是为了避免和OSC2产生交越干扰,以便让OSC2输出一稳定1/4系统频率的频率。假如你不需要使用到OSC2输出的1/4系统频率的频率,那么电容器是可以省略的。
Question
7
ICE上播放出的语音频率和原音频率不同。
Answer
这是因为VROM_Manager中的System
Clock的选择和Mask Option里SysFreq不一致,将其改成一致即可。
Question
8
HT86播放语音的数目是否可以超过255?
Answer
可以。只要修改相应的语音库和播放子程序即可。
Question
9
HT86的VOICE ROM是否有其它用途?
Answer
VOICE
ROM还可以用于其它数据的存放,通过相应的地址和数据寄存器来读取数据。
Question
10
为什么语音播放完后,工作电流还是几百mA啊?
Answer
在语音播放完后,要将DAC电路关闭(clear
bit0 of voicec
Register),才不会耗电太大。如果是调用库函数SPEECH,要将标志位fVoiceDown设置为1。
Question
11
HOLTEK HT-86P00 Piggy
Back上预留了74HC139的IC插座,请问什么情况下才需要插上74HC139 ?
Answer
当Piggy Back需要用到超过一颗EPROM或Flash Rom时便需插上74HC139.
如于只用一颗Rom的情况下,74HC139可以省略.
Question
12
中断处理中可否允许相同的中断再进入 ?
Answer
理论上在进入中断时MCU会自动清除EMI旗标 (EMI=0),并禁止所有中断的再进入,若中断处理中用软件设定EMI旗标
(EMI=1),则在Stack有空之下,所有中断(含相同中断)皆可再进入。
要允许相同的中断再进入,需特别注意备份数据的处理,应避免已备份之数据被再进入的中断所破坏。若不是非常紧急中断,一般不建议中断再中断.
Question 13
HT86XXX系列,AUD的输出电压和DAH,DAL,VOL有什么关系?
Answer
VOL决定了AUD的输出电压偏离(1/2)VDDA的最大幅度,DAH,DAL决定偏离(1/2)VDDA的幅度。当VOL不为00H,DAH,DAL>80H,00H时,输出电压大于(1/2)VDDA,
当DAH,DAL<80H,00H时,输出电压小于(1/2)VDDA。
例如:为当VOL高3Bit为111时,当DAH=0FFH,DAL=0F0H时,AUD输出电压为VDDA,当DAH=00H,DAL=00H时,AUD输出电压为VSSA。
当VOL高3Bit为000时,DAH,DAL为任意值,AUD输出电压为(1/2)VDDA。
Question 14
HT86XX系列的读表指令需要注意什么?
Answer
首先说明一下ROM空间的划分,每个Page为256个地址,即00~0FFH。
HT86XX系列的MCU当使用TABRDL进行读表时,始终读取的是最后一个Page的256个地址,使用前只需要给TBLP赋值即可。而当使用TABRDC进行读表时,需要先将所要读取的Page值赋给有TBHP,将该Page所要读取的地址值给TBLP这个缓存器,才能够正确地读取任意一个Page的表格值。
注意事项
Question
1
请问MCU的Reset 与Oscillator线路设计有无需注意事项?
Answer
请参阅 "应用范例" 网页,其中的 "HA0075S" 供使用者参考。
其它
Question
1
Holtek MCU 之Stack 除了做CHIP reset之外, 有无其它方法可以重设 stack
pointer?
Answer
堆栈指针会受到中断与呼叫附程序与返回指令影响,除此之外,除了透过CHIP reset,
并无其它方法可以重设(reset) Holtek MCU 的堆栈指针。
Question
2
当系统时钟选择RC振荡器时,频率误差为何?
Answer
当系统时钟选择RC振荡器时,由于制程的因素造成的每个批号频率误差为±20%。假如外加电阻之误差为±5%,那么总频率误差就是±25%。
Question
3
当播放需要的那段语音时,出来的却是其它语音。
Answer
这是播放语音前送入Tracknumber/Tracknumber2缓存器的值不是那段语音对应的NO.值,将其改为一样即可。
Question
4
在voice ROM里,存放midi和voice有什么不同?
Answer
播放midi时,只能读取前64Kbit
data进行播放,所以存放midi时,要放在voice file之前。
|