1 / 16

DSP 를 이용한 디지털 신호 발생기 - 유비쿼터스 응용설계 -

- 유비쿼터스 9 조 -. DSP 를 이용한 디지털 신호 발생기 - 유비쿼터스 응용설계 -. 김도윤 (2003731105) 박종국 (2003731084) 이현승 (2003731088) 김숙희 (2005730134). Contents. 설계 목표 달성. 구 현 방 법. Hardware 구 성. 출력파형사진. Trouble Shooting. 조원 및 역할 분담. 설계목표 달성. 1) 3 가지 이상의 파형을 발생시킨다 . 정현파 , 삼각파 , 톱니파

leanne
Download Presentation

DSP 를 이용한 디지털 신호 발생기 - 유비쿼터스 응용설계 -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. -유비쿼터스9조- DSP를 이용한 디지털 신호 발생기 - 유비쿼터스 응용설계 - 김도윤(2003731105) 박종국(2003731084) 이현승(2003731088) 김숙희(2005730134)

  2. Contents 설계 목표 달성 구 현 방 법 Hardware 구 성 출력파형사진 Trouble Shooting 조원 및 역할 분담

  3. 설계목표 달성 1) 3가지 이상의 파형을 발생시킨다. 정현파, 삼각파, 톱니파 2)출력 전압과 주파수 범위를 디지털로 가변 가능 키보드로 일정치 가변 3)원격에서 조정 가능 RS232 통신을 사용한 원격 조정

  4. 구현 방법 ◎정현파 파형 interrupt void cpu_timer0_isr(void) if(wave==1) {if(++idx >= ARRAY_LEN) idx = 0; sv[idx] =sin(freq*PI*idx/(ARRAY_LEN-1)) * amp + offset; out_dac(0,sv[idx]);}

  5. 구현 방법 ◎정현파 파형 void main(void) if(rd=='1') {freq = freq + 2;wave=1; if(freq>=100) {freq = 100;} if(rd=='2') {freq = freq - 2;wave=1;} if(freq>=100) {freq = 100;} if(rd=='3') {amp = amp +100;wave=1;} if(amp>=2047) {amp = 2047;} if(amp<=1000) {amp = 1000;} if(rd=='4') {amp = amp -100;wave=1;} if(amp>=2047) {amp = 2047;} if(amp<=1000) {amp = 1000;} if(rd=='5') {offset=offset+100;wave=1;} if(offset>=2048) {offset = 2048;} if(offset<=1000) {offset = 1000;} if(rd=='6') {offset = offset 100;wave=1;} if(offset>=2048) {offset = 2048;} if(offset<=1000) {offset = 1000;} if(wave==1){time0=1000;}

  6. 구현 방법 ◎삼각파 interrupt void cpu_timer0_isr(void) else if(wave==3) {if(up_down==0) {tcnt0++; if(tcnt0==4096){up_down=1;}} if(up_down==1) {tcnt0--; if(tcnt0==0){up_down=0;}} out_dac(0,tcnt0); void main(void) time0=time + duty; if(time0==0){time0=1500;} ConfigCpuTimer(&CpuTimer0, 150,time0); if(rd=='a'){wave=3;time=1000;duty=0;} if(rd=='s'){duty = duty + 50; wave=3; } if(rd=='d'){duty = duty - 50; wave=3; }

  7. 구현 방법 • 톱니파 출력 • mcnt를 이용하여 구현. • interrupt void cpu_timer0_isr(void) • st = mcnt * i • else if(wave==2) • {out_dac(0,st);} • void main(void) • {if(rd=='q'){wave=2;time=1000;duty=0;} • if(rd=='w'){wave=2;i = i + 1;} • if(rd=='e'){wave=2;i = i - 1;}}

  8. 구현 방법 • LCD 출력 • void main(void) • while(1) • { mcnt++; • if(wave==1){ • lcd_gotoxy(0,0); • lcd_putc('s'); • lcd_putc('i'); • lcd_putc('n'); • lcd_putc('e'); • lcd_putc('w'); • lcd_putc('a'); • lcd_putc('v'); • lcd_putc('e');} if(wave==2) {lcd_gotoxy(0,0); lcd_putc('s'); lcd_putc('t'); lcd_putc('w'); lcd_putc('a'); lcd_putc('v'); lcd_putc('e'); lcd_putc('.'); lcd_putc('.');} if(wave==3) {lcd_gotoxy(0,0); lcd_putc('t'); lcd_putc('r'); lcd_putc('i'); lcd_putc('a'); lcd_putc('n'); lcd_putc('g'); lcd_putc('l'); lcd_putc('e');}

  9. 구현 방법 • 정현파 출력 변경 범위

  10. 구현 방법 • 삼각파 톱니파 주파수 변경 범위

  11. 출력 파형

  12. Hardware 구성 ◎ 컴퓨터 키보드로 원격 제어(RS-232)

  13. Trouble Shooting ◎ 변수 값의 지정 §rd 값으로 파형의 종류와 값들을 바꿔주려고 했음 값들을 바꿔 줄 때 파형의 종류도 바뀌는 문제점 발생 wave 값을 따로 지정해 주어 rd 값을바꾸어 주어도 파형이 유지 {else if(wave==2} if(rd=='w'){wave=2;i = i + 10;} {out_dac(0,st);} if(rd=='e'){wave=2;i = i - 10;}

  14. Trouble Shooting ◎ 변수 변경값 변수 변경 값을 정할 때 적당한 값을 구하기가 어려움 아날로그 값의 출력 한계 4.095V 를 염두 하여 계산 오실로 스코프로 측정을 해보면서 적당한 값을 산출해냄

  15. 조원 및 역할분담

  16. 설계추진일정

More Related