你的位置:首页 > 产品中心 > 语音IC

YV8002 8位单片机语音 IC 替代昱坤,杰里AD100 硕呈等OTP语音芯片

更新:2020-5-23 20:32:54      点击:
  • 品牌:   芯域
  • 型号:   YV8002
  • 在线订购
产品介绍

YV8002  V0.1

1. 概述

YV8002 8位单片机语音 IC,只须外卦一个 I2C / SPI Flash.

SPI Flash 可以为 NOR-SPI-Flash(4Mbit-128Mbit) NAND-SPI-FLASH(512Mbit 以上)

   

2. 功能

a. VDD : 2.4V - 6.0V

b. Main Clock : 12288MHz(+-1.5%); 指令周期 : 3.072M

c. Current :Normal: ~600uA(no loading); Sleep : <1.0uA

d. Play Speed : 4KHz - 12KHz

e. 3PORT(PA,PB,PC) 24 IO. 另加6IO 作为接 SPI 跳点.

   1. 24IO 都一样, 可定义为 输入/输出, 上拉(20Kohm)/下拉(20Kohm)

   2. 每个PORT 都可定义为碳膜输入(最少300Kohm)

   3. 每个IO 都能做 wakeup 和产生中断

   4. 输出/输入电流(15mA), 有限流电阻, 可直接推动LED, 不须外接电阻.

   5. 另加6IO为接SPI和跳点之用, 请看应用图.

f. 1个类比输入为录音输入

g. 416位可程序定时器, 每个都能产生中断

h. 可程序化 12PWM. 直接 SPP/SPN 输出. 可推功0.5W喇叭.

i. 可输出MIDI.

j. 程序RROM+ROM : 3K*15可写入RROM + 1K*15 bootROM.

k. 资料RAM : 220*8

l. 内置 上电复位, 底电压复位(~1.8V)电路

m. 上电延迟 : 30ms

n. MCU 共有52个指令, 每个指令用1~2个指令周期

3. 指令表 指令码

3. MEMORY MAP

01. FS00 FS04 (READ / WRITE) : 直接地址, 切定值FS04, 读写FS00的地址为FS04的值.

02. FS01 (READ) : PC高位地址 只读

 

03. FS02 (READ / WRITE) : PC底位地址 可读写

 

04. FS03 (READ / WRITE) : STATUS REGISTOR 可读写

* C : CARRY FLAG. 上电后 切定为 “0”

* Z : ZERO FLAG. 上电后 切定为 “0”

  * P : 上电后 WAKEUP, 切定为 “1”

  * T : 上电后 切定为 “1”

  * IOPAEN / IOPBEN / IOPCEN : PA / PB / PC为碳膜(最少500Kohm)输入. 上电后 切定为 “0”

 

05. FS05 (READ / WRITE) : PWM CTRL 可读写

 

*上电后: 都切定为 “0”

*上电后: SPP & SPN, 如同为0. 进入烧录MODE. 如同为1, 正常开始

*PWMEN : ENABLE PWM

*PWMUP : “0” : 上拉(20Kohm) SPP & SPN

*SPEN : “0” : SPP & SPN 为输入. “1” : SPP & SPN 为输出

*OSCOUT : “1” : SPP = MAIN CLOCK

06. FS06 (WRITE) : PWM DATA  只可写

 

*PWM中断为每4DATA1次中断。每次写4DATA, 每个DATA 12bit

07. FS07 (WRITE) : PWM WIDHT  只可写

 

*切定 PLAY SPEED

08. FS08 (WRITE) : COUNTERA DATA(16BIT)  只可写

 

09. FS09 (WRITE) : COUNTERA DATA(16BIT)  只可写

 

10. FS0A (WRITE) : COUNTERA DATA(16BIT)  只可写

 

11. FS0B (WRITE) : COUNTERA DATA(16BIT)  只可写

 

12. FS0C (READ / WRITE) (PROGRAM=0) : INT VECTOR FLAG & INT VECTOR ENABLE  可读写

 

*上电后: 都切定为 “0”

*INTAB : COUNTERA INT FLAG, “0” : INT.

*INTBB : COUNTERB INT FLAG, “0” : INT.

*INTCB : COUNTERC INT FLAG, “0” : INT.

*INTDB : COUNTERD INT FLAG, “0” : INT.

*PINTOA : PORTA INT FLAG, “0” : INT.

*PINTOB : PORTB INT FLAG, “0” : INT.

*PINTOC : PORTC INT FLAG, “0” : INT.

*PWMINTB : PWM INT FLAG, “0” : INT.

*CNTENA : Enable COUNTERA

*CNTENB : Enable COUNTERB

*CNTENC : Enable COUNTERC

*CNTEND : Enable COUNTERD

13. FS0D (READ/WRITE) : INT VECTOR FLAG CLEAR  可读写

 

*上电后: 都切定为 “0”

*清除中断旗标, 只须写”1”.

e.g. 清除 COUNTERA 中断旗标: BS 0,@0x0D  <-清除 COUNTERA 中断旗标

14. FS0E (READ/WRITE) : TABLE HIGH BYTE  可读写

 

*TBRD 0x00(or 0x01) 指令后 : LOW-BYTE(or HIGH-BYTE){ROM[0x0E,0x0F]} -> W

15. FS0F (READ/WRITE) : TABLE LOW BYTE  可读写

 

*TBRD 0x00(or 0x01) 指令后 : LOW-BYTE(or HIGH-BYTE){ROM[0x0E,0x0F]} -> W

16. FS10 (READ/WRITE) (PROGRAM=0) : PORT A  可读写

 

(PROGRAM=1) : PORTA SINK(OD) (WRITE)  只可写

 

*上电后: 都切定为 “0”.  “1”: SINK(OD) ONLY

17. FS11 (WRITE) : PORTA CTRL IO  只可写

 

*上电后: 都切定为 “0”: 输入. “1”: 输出

(PROGRAM=1) : PORTA PULL-HIGH (WRITE)  只可写

*上电后: 都切定为 “0”.  “1”: PULL HIGH (20Kohm)

18. FS12 (PROGRAM=0): PORTA PIN INT FLAG(READ) ; PORTA PIN INT ENABLE(WRITE)  可读写

 

*上电后: 都切定为 “0”: INT DISABLE. “1”: INT ENABLE

(PROGRAM=1) : PORTA PULL-LOW(WRITE)  只可写

*上电后: 都切定为 “0”.  “1”: PULL LOW(20Kohm)

19. FS13 (PROGRAM=0): PORTA WAKEUP ENABLE  只可写

 

*上电后: 都切定为 “0”: DISABLE WAKEUP.

(PROGRAM=1) : PORTA RES(50Kohm) SW  只可写

*上电后: 都切定为 “0”.  “1”: 接两个PIN50Kohm 电阻. 用於触键.

20. FS14 (READ/WRITE) : PORT B  可读写

 

(PROGRAM=1) : PORTB SINK(OD) (WRITE)  只可写

 

*上电后: 都切定为 “0”.  “1”: SINK(OD) ONLY

21. FS15 (WRITE) : PORTB CTRL IO  只可写

 

*上电后: 都切定为 “0”: 输入. “1”: 输出

(PROGRAM=1) : PORTB PULL-HIGH (WRITE)  只可写

*上电后: 都切定为 “0”.  “1”: PULL HIGH (20Kohm)

22. FS16 (PROGRAM=0): PORTB PIN INT FLAG(READ) ; PORTB PIN INT ENABLE(WRITE)  可读写

 

*上电后: 都切定为 “0”: INT DISABLE. “1”: INT ENABLE

(PROGRAM=1) : PORTB PULL-LOW(WRITE)  只可写

*上电后: 都切定为 “0”: DISABLE PULL LOW(20Kohm). ”1”, ENABLE PULL LOW.

23. FS17 (PROGRAM=0): PORTB WAKEUP ENABLE  只可写

 

*上电后: 都切定为 “0”: DISABLE WAKEUP.

(PROGRAM=1) : PORTB RES(50Kohm) SW  只可写

*上电后: 都切定为 “0” .  “1”: 接两个PIN50Kohm 电阻. 用於触键.

24. FS18 (READ/WRITE) : PORT C  可读写

 

(PROGRAM=1) : PORTC SINK(OD) (WRITE)  只可写

 

*上电后: 都切定为 “0”.  “1”: SINK(OD) ONLY

25. FS19 (WRITE) : PORTC CTRL IO  只可写

 

*上电后: 都切定为 “0”: 输入. “1”: 输出

(PROGRAM=1) : PORTC PULL-HIGH (WRITE)  只可写

*上电后: 都切定为 “0”.  “1”: PULL HIGH (20Kohm)

26. FS1A (PROGRAM=0): PORTC PIN INT FLAG(READ) ; PORTC PIN INT ENABLE(WRITE)  可读写

 

*上电后: 都切定为 “0”: INT DISABLE. “1”: INT ENABLE

(PROGRAM=1) : PORTC PULL-LOW(WRITE)  只可写

*上电后: 都切定为 “0”: DISABLE PULL LOW(20Kohm). ”1”, ENABLE PULL LOW.

27. FS1B (PROGRAM=0): PORTC WAKEUP ENABLE  只可写

 

*上电后: 都切定为 “0”: DISABLE WAKEUP.

(PROGRAM=1) : PORTC RES(50Kohm) SW  只可写

*上电后: 都切定为 “0” .  “1”: 接两个PIN50Kohm 电阻. 用於触键.

28. FS1C (READ/WRITE) : PORT D  可读写

 

(PROGRAM=1) : PORTD SINK(OD) (WRITE)  只可写

 

*上电后: 都切定为 “0”.  “1”: SINK(OD) ONLY

29. FS1D (WRITE) : PORTD CTRL IO  只可写

 

*上电后: 都切定为 “0”: 输入. “1”: 输出

(PROGRAM=1) : PORTC PULL-HIGH (WRITE)  只可写

*上电后: 都切定为 “0”.  “1”: PULL HIGH (20Kohm)

30. FS1E (READ/WRITE) : ENABLE LDO & PROGRAM MODE  可读写

 

*上电后: 都切定为 “0”.

*PAGE=”0” : FILE SYSTEM = PAGE0. PAGE=”1” : FILE SYSTEM = PAGE1.

*LDOEN2/1/0=”000-111” : ENABLE LDO(1.2V-3.3V).

*PROGRAM=”1” : 可写入RROM.

*LOCKEN=0 : DISABLE WRITE : PAGE, LDOEN0, LDOEN1, LVRBEN.

*LVRBEN=”0” : ENABLE 底电压复位(VCC底议1.8V, IC复位).

31. FS1F : (READ/WRITE)  RECORDER  只可写

 

*上电后: RECD7-DECD0 “00”, DISABLE RECODER

 

31. FS20 (WRITE) : RROMD7 – RROMD0 for PROGRAM WRITING  只可写

 

32. FS21 (WRITE) : RROMD14 – RROMD8 for PROGRAM WRITING  只可写

 

33. FS22 (READ/WRITE) : CTRL + RROMA11 – RROMA8 for PROGRAM WRITING 可读写

 

*上电后: RROMCEB,RROMWEB,RROMOEB,RROMRB=”1111”, RROMA11-RROMA0=0.

*RROMRB : RESET RROMA7-RROMA0

*写入RROM的例子: BS 4,0x1E               <- 切定为写入RROM mode (PROGRAM=1)

MOV A,@0x60        <- 清除RROMA[7:0]=0x00 & 切定RROMA[11:8]=0x0

                  MOV 0x22,A              <- & RROMCEB+RROMWEB+RROMOEB=011

TBRD 0                    <- A <- LOW-BYTE DATAROM[0x0E]

                    MOV 0x20,A              <- 写入 RROMD[7:0]

                    TBRD 1               <- A <- HIGH-BYTE DATAROM[0x0F]

                    MOV 0X21,A             <- 写入 RROMD[14:8]

                    BC 6,0x22                  <- WRITE RROM[0x0000]=0x1234 & RROMA[7:0]++

4. IC脚位图 一般应用图


更多产品