基本数据 功能说明 应用说明 注意事项 其它

基本数据

 

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

  1. 当电池电压低于IC的工作电压规格时,IC内部的震荡线路已无法正常工作, 此时电压的变动将造成震荡频率的大幅变动。更换电池即可解决。

  2. 推动喇叭时的大电流造成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有两个方法:

  1. 将CD放入传统的audio CD player, 播放之后经由PC SoundBlaster兼容卡录进计算机。软件可以采用 Windows内附的"录音程序", 或是其它shareware或专业的录音程序,建议档案质量为8KHz, 16-bit。

  2. 在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之前。