Example: tourism industry

제5장. 예제 실습 리얼시스(www.realsys.co.kr) 5-7. …

5 . ( ) 5-7. : EV(Event Manager) QEP( ) .. DC LCD . 10msec RPM(rotate per minute) LCD . : 5VR71K B-A+QEP1B+A-QEP2JP_BJP2132R81K1-2: DIFF U4B751756754R61KR12120123-2: JP_BR131KU7enc-f ilt13 IOU8enc-f U4A751752134R9120125V5VR111KU3enc-f ilt13IO5V5VU5enc-f ilt13IO DSP QEP1, QEP2 EDU2812 , DC 1000 / . DSP2812 QEP1 QEP2 . EV (Event Manager) QEP DSP2812 90 A,B 4 QEP(Quadrature Encoder Pulse) 2.

제5장. 예제 실습 리얼시스(www.realsys.co.kr) 본 EDU281 KIT에서는 EVA의 QEP를 사용하는데, 위의 그림에서와 같이 GP 타이머2를

Tags:

  Realsys

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of 제5장. 예제 실습 리얼시스(www.realsys.co.kr) 5-7. …

1 5 . ( ) 5-7. : EV(Event Manager) QEP( ) .. DC LCD . 10msec RPM(rotate per minute) LCD . : 5VR71K B-A+QEP1B+A-QEP2JP_BJP2132R81K1-2: DIFF U4B751756754R61KR12120123-2: JP_BR131KU7enc-f ilt13 IOU8enc-f U4A751752134R9120125V5VR111KU3enc-f ilt13IO5V5VU5enc-f ilt13IO DSP QEP1, QEP2 EDU2812 , DC 1000 / . DSP2812 QEP1 QEP2 . EV (Event Manager) QEP DSP2812 90 A,B 4 QEP(Quadrature Encoder Pulse) 2.

2 QEP Capture , . realsys ( ) Tel: 031-420-4326 - 145 - 5 . ( ) . QEP QEP 90 QEP1(A ), QEP2(B ) 4 (Quadrature CLK) (DIR) . EVA QEP EVA QEP QEP1, QEP2 , 2 . EVB QEP EVB QEP QEP3, QEP4 , 4 . realsys ( ) Tel: 031-420-4326 - 146 - 5 . ( ) EDU281 KIT EVA QEP , GP 2 QEP DIR QEP 4 . QEP (Capture).

3 : 0xFFFF 0x0000 ( 2 4) 16 0x0000 ~ 0xFFFF . 1 0xFFFF 0x0000 . 1 0x0000 0xFFFF . Overflow . : ZY X . = Y X or Z - Y . Z Y 0xFFFF . RPM(Rotate Per Minute) , . realsys ( ) Tel: 031-420-4326 - 147 - 5.

4 ( ) 1 >> QEP void init_gpio(void){ EALLOW; ; /* GPAMUX: GPIO_A function 0=IOP,1=FUN I(0)/O(1) bit15 0: C3 TRIP,PA15 ;IOP 1 bit14 0: C2 TRIP,PA14 ;IOP 1 bit13 0: C1 TRIP,PA13 ;IOP 1 bit12 0: TCLKINA,PA12 ;IOP 1 bit11 0: TDIRA,PA11 ;IOP 1 bit10 0: CAP3_QEPI1,PA10 ;IOP 1 bit9 0: CAP2_QEP2,PA9 ;FUN 0 bit8 0: CAP1_QEP1,PA8 ;FUN 0 bit7 1: T2 PWM_T2 CMP,PA7 ;FUN 1 bit6 1: T1 PWM_T1 CMP,PA6 ;FUN 1 bit5 1: PWM6,PA5 ;FUN 1 bit4 1: PWM5,PA4 ;FUN 1 bit3 1: PWM4,PA3 ;FUN 1 bit2 1: PWM3,PA2 ;FUN 1 bit1 1: PWM2,PA1 ;FUN 1 bit0 1: PWM1,PA0 ;FUN 1 */ ; // PA DIR: 1=output,0=input ; // PA Input Qualification: /* 0x00=No, 0x01=SYSCLK/2, 0x02=SYSCLK/4, 0xff=SYSCLK/510 */.}

5 } 2 : // Initalize EVA Timer2 for Encoder = 0xffff; // Timer2 period = 0x0000; // Timer2 counter = 0xd870; // FREE=SOFT=1, Dir_UP_DN,x/1,QEP - . realsys ( ) Tel: 031-420-4326 - 148 - 5 . ( ) 2>> interrupt void cpu_timer0_isr(void){ ++; T_LED; t0_cnt++; if(++idx >= ARRAY_LEN) idx = 0; sv[idx] = sin(2*PI*idx/(ARRAY_LEN-1)) * 2047 + 2048; cv[idx] = cos(2*PI*idx/(ARRAY_LEN-1)) * 2047 + 2048; dac_out(0,ad0); // DAC0: VR data out dac_out(1,sv[idx]); // DAC1: sin if((t0_cnt % 10) == 0){ key_check(); // 10 msec interval key check m_new = ; enc_10ms = m_new - m_old; m_old = m_new; rpm = (int)(enc_10ms * ( )); // 1000 pulse * 4 = 4000, 1 min= 60000 msec rpm = ABS(rpm).}

6 } // Acknowledge this interrupt to recieve more interrupts from group 1 = PIEACK_GROUP1; } 10msec 3>> main void main(void){ .. lcd_gotoxy(0,0); lcd_puts("mcnt T2 CNT rpm"); AD_START; while(1){ mcnt++; ad0 = >>4; key = IN_KEY; OUT_LED(key); if(key_code & KEY_PRESSED) key_process(); realsys ( ) Tel: 031-420-4326 - 149 - 5 . ( ) if(key_code & KEY_CONT) cont_key_process(); = ad0; lcd_gotoxy(0,1); lcd_hex4(mcnt); lcd_gotoxy(5,1); lcd_hex4( ); lcd_gotoxy(10,1); dir = ; // get T2 STAT(0=down,1=up) if(dir==1) lcd_putc('R'); // Right direction else lcd_putc('L'); // Left direction lcd_gotoxy(11,1); lcd_decimal_int(rpm); // display rpm delay_ms(100); } } LCD rpm DC : realsys ( ) Tel: 031-420-4326 - 150 - 5.

7 ( ) RealDSP U4(SN75175)-3 U4(SN75175)-5 realsys ( ) Tel: 031-420-4326 - 151.