ISD-DMK_2360, ISD-VPE2360, ISD2360_Example_Project_3 분석
추가 분석 및 동작 영상에 대해서는 추후 정리합니다.
C:\Program Files (x86)\ISD-VPE2360\ISD2360_Example_Projects\ISD2360_Example_Project_3
example 소스 분석입니다.
- SW1 버튼은 Channel 1을 통해 소리 출력하고 SW2 버튼은 Channel 2를 통해 소리 출력하므로 SW1 버튼을 누르고 SW2 버튼을 누르면 2개의 Macro가 동시에 동작하는 것으로 확인됨
SW1 = GPIO_0 = R0
=> 동작할 것 같음 ( Volume Up??? )
=> volume 단위는???
SW2 = GPIO_1 = R1
=> 동작 확인 ( GPIO_4~5 LED Blink Fast, 204ms cycle )
=> 재생 중에 다시 누르면 멈춤
SW3 = GPIO_2 = R2
=> 동작 확인 ( GPIO_4~5 LED Blink Slow, 408ms cycle )
=> 재생 중에 다시 누르면 멈춤
SW4 = GPIO_3 = R3
=> 동작 확인 ( Volume down )
=> volume 단위는???
SW5 ( None )
SW6 ( None )
POI
CFG(REG2, 0x44)
=> Audio Path
CFG(GPIO_TRIG_CH_SEL_L, 0x24)
=> GPIO Trigger Channel Select 1
=> 0010 0100
=> GPIO3, Channel 0
=> GPIO2, Channel 2
=> GPIO1, Channel 1
=> Others, Channel 0
CFG(GPIO_VOL_UD_SEL, 0xb8)
=> Trigger Volume Control Register
=> 1011 1000
=> enable GPIO trigger to volume down feature
=> GPIO3 trigger to volume down
=> enable GPIO trigger to volume up feature
=> GPIO0 trigger to up down
CFG(REG_GPIO_OE, 0x30)
=> GPIO_4~5, Output Enable
CFG(REG_GPIO_DO, 0x30)
=> GPIO_4~5, Output High
CFG(REG_GPIO_PE, 0x3f)
=> GPIO_0~5, Pull Enable
CFG(REG_GPIO_PS, 0x3f)
=> GPIO_0~5, Pull High Enable
CFG(REG_GPIO_AF1, 0x0f)
CFG(REG_GPIO_AF0, 0x00)
=> GPIO_0~3, Falling Edge Trigger
CFG(R0, 0x08)
=> GPIO_0 intr, VM_5 execute (empty)
CFG(R1, 0x04)
=> GPIO_1 intr, VM_1 execute
CFG(R2, 0x05)
=> GPIO_2 intr, VM_2 execute
CFG(R3, 0x08)
=> GPIO_3 intr, VM_5 execute (empty)
CFG(R4, 0x08)
=> GPIO_4 intr, VM_5 execute (empty)
CFG(R5, 0x08)
=> GPIO_5 intr, VM_5 execute (empty)
PLAY_VP(FastBeep)
=>
PD
PU (empty)
WAKEUP
CFG(REG2, 0x44)
=> Audio Path
CFG(REG1, 0x20)
=> SampleRate Overwrite Register
=> 5.33kHz
=> ???
Finish
VM (empty)
VM_1
CFG(R1, 0x06)
=> GPIO_1 intr, VM_3 execute (-> PD )
LOOP_VP(Sine_0dot5dB_5_Sec_440Hz,0)
=> ???
Label_1: CFG(CH1_CNTR, 0x10)
=> Channel 1 Counter Control Register
=> Sets Channel 1 counter reload value.
VM execution in Channel 1 will be blocked until Channel 1 counter counts down to 0.
Total delay time = (CH1_CNT+1)*12ms.
CFG(REG_GPIO_DO, 0x00)
=> GPIO_0~5, Output Low
WAIT_CNT
=>
CFG(CH1_CNTR, 0x10)
=> Channel 1 Counter Control Register
CFG(REG_GPIO_DO, 0x38)
=> GPIO_3~5, Output High
WAIT_CNT
=>
CFG(MASK, 0x40)
=> Mack Jump Control Register
=> JBUSY
=> VM execution branches if there is an active VP playback operation.
Mask_Goto Label_1
=>
PD
VM_2
CFG(R2, 0x07)
=> GPIO_2 intr, VM_4 execute (-> PD )
LOOP_VP(Sine_0dot5dB_5_sec_554Hz,0)
=> ???
CFG(CH2_CNTR, 0x20)
=> Channel 2 Counter Control Register
=> Sets Channel 2 counter reload value.
VM execution in Channel 2 will be blocked until Channel 2 counter counts down to 0.
Total delay time = (CH2_CNT+1)*12ms.
CFG(REG_GPIO_DO, 0x00)
=> GPIO_0~5, Output Low
WAIT_CNT
=>
Label_2: CFG(CH2_CNTR, 0x20)
=> Channel 2 Counter Control Register
CFG(REG_GPIO_DO, 0x38)
=> GPIO_3~5, Output High
WAIT_CNT
=>
CFG(MASK, 0x40)
=> Mack Jump Control Register
=> JBUSY
=> VM execution branches if there is an active VP playback operation.
Mask_Goto Label_2
=>
PD
VM_3
CFG(R1, 0x04)
=> GPIO_1 intr, VM_1 execute
PD
VM_4
CFG(R2, 0x05)
=> GPIO_2 intr, VM_2 execute
PD
VM_5 (empty)
'ISD-DMK_2360' 카테고리의 다른 글
ISD-DMK_2360, ISD-VPE2360, Gpio Trigger (0) | 2018.08.14 |
---|---|
ISD-DMK_2360, ISD-VPE2360, Simple Project (1) | 2018.08.14 |
ISD-DMK_2360, 초기 보드 동작 (0) | 2018.08.02 |
ISD-DMK_2360, ISD-VPE2360 SW 사용법 (0) | 2018.08.02 |
ISD-DMK_2360, ISD-VPE2360 드라이버 설치 (0) | 2018.08.02 |