본문 바로가기

DSPIC_STUDY

(16)
dsPIC33E - PWM 테스트 (HIGH-SPEED PWM MODULE) dsPIC33E - PWM 테스트 (HIGH-SPEED PWM MODULE) dsPIC33EPXXXMC20X/50X 시리즈는 모터제어를 위해 3채널(6 PWM)의 HIGH-SPEED PWM MODULE 이 있다.70Mhz에서 7.14 ns의 듀티폭을 제어할 수 있다. dsPIC33E PWM 핀맵26-PWM1L/T5CK/RB1525-PWM1H/T3CK/RB14 24-PWM2L/CTPLS/RB1323-PWM2H/RB12 22-PWM3L/RB1121-PWM3H/RB10 dsPIC33E PWM 블록도 dsPIC33E PWM 초기화 코드void InitMCPWM(void){ PTCON = 0x0000; PTPER = 16000; //1000 PHASE1 = 0; PDC1 = 16000; DTR1 = 0; ALTD..
dsPIC33E - ADC 테스트 dsPIC33E - ADC 테스트 dsPIC 은 10/12bit SAR ADC로 변환 속도는 최대 1.1Msps 이다. dsPIC33E에서는 약간의 변화가 있었는데 레지스터 맵이 조금 변경되어 기존코드의 수정이 필요 하다. dsPIC33E ADC블록도가장 큰 변화는 ADC1BUF가 FIFO형태로 변경된것 같다. dsPIC33E ADC초기화 코드//------------------------------------------------------------------------------// Function Routine//ADC Initializevoid AdcInit(void){//ADCON1 레지스터 설정AD1CON1bits.SAMP = 0;//ADC 샘플/홀드 홀딩AD1CON1bits.ASAM = 1..
dsPIC33E - UART 테스트 dsPIC33E - UART 테스트 dsPIC33E UART 블록도 dsPIC33E UART 초기화 코드UART도 약간의 레지스터 변화가 있어 코드수정이 필요하다. void U0_Init(unsigned char baud){U0_TXINIT();U0_RXINIT(); U0_SetBaud(baud); U1MODEbits.STSEL = 0;// 1 스톱 비트U1MODEbits.PDSEL = 0;// No 패리티, 8비트 데이터 전송U1MODEbits.ABAUD = 0;// Autobaud 중지U1MODEbits.BRGH = 1; U1STAbits.UTXISEL1 = 1;//인터럽트 사용 중지U1STAbits.UTXISEL0 = 1;//인터럽트 사용 중지U1STAbits.URXISEL = 0;//1 문자 수신..
[dsPIC33F-SM EVM] UART 테스트 - dsPIC33F128MC 사용 [dsPIC33F-SM EVM] UART 테스트 - dsPIC33F128MC 사용 dsPIC33의 QFN 타입은 포트 리맵 기능이 있어 UART 핀맵을 변경할 수 있다. dsPIC33FJ128MC804 를 사용한 보드에서 테스트 할 때 기록해 둘 필요가 있어 정리해 본다. dsPIC33-SM EVM에서 UART는 RC3/RP19(TXD), RC4/RP20(RXD)에 할당되어 있다. 실제 코드에서 PPS설정은 아래와 같이 해 주면 된다. #define PPS_CINFIG() _U1RXR = 20;\ _RP19R = 3;\
[PIC24F16KA EVM] ADC 테스트 - TSL251 Light to Voltage Converter [PIC24F16KA EVM] ADC 테스트 - TSL251 Light to Voltage Converter PIC24F16KA는 500ksps 10bit ADC를 내장하고 있다. 하드웨어적으로 약간의 차이는 있지만 코드는 dsPIC33 ADC 테스트와 거의 호환이 된다. PIC24F ADC 테스트 동영상 PIC24의 ADC는 10bit이고 광센서 TSL251 Light to Voltage Converter를 이용해서 ADC값을 출력해 보았다. LX1971 센서와 비교해서 광센서의 성능차이도 확이해 볼 수 있다. PIC24F ADC 초기화코드 void AdcInit(void) { //ADCON1 레지스터 설정 AD1CON1bits.SAMP = 0; //ADC 샘플/홀드 홀딩 AD1CON1bits.ASAM..
[PIC24F16KA EVM] 클럭설정(OSC) 및 MCU속도 측정 [PIC24F16KA EVM] 클럭설정(OSC) 및 MCU속도 측정 PIC24F16KA, PIC24F08KA는 내부 8Mhz RC Oscillator가 있고 4채배 PLL이 있어 32Mhz로 구동할 수 있다. 하나의 명령어 수행하는데 2싸이클이 필요하므로 32Mhz에서 16MIPS로 동작한다. CPU의 동작클럭은 CLKO (OSCO/CLKO/AN5/C1INA/C2INC/CN29/RA3) 핀에서 확인 가능하다. 디폴트 구동시 CPUCLK가 8Mhz이므로 CLKO는 4Mhz가 출력된다. 32Mhz로 구동하기 위해 FNOSC_FRCPLL으로 설정한다. _FOSCSEL(FNOSC_FRCPLL & IESO_OFF) _FOSC(FCKSM_CSDCMD & POSCFREQ_HS & OSCIOFNC_OFF & POSCM..
[dsPIC33] 리맵관련 자료 [dsPIC33] 리맵관련 자료 dsPIC33은 PPS기능을 제공해 Pin map을 PRx 핀에 원하는 형태로 설정(remap)할 수 있다. 입력과 출력에따라 설정 방법은 다르다. PPS제어를 위해서는 UNLOCK_PPS() 해서 설정하고, 설정후에는 LOCK_PPS() 를 해 주어야 한다. 입력핀일 경우 예를 들어 UART의 경우 RPINR18 레지스터에 입력 RP를 설정하면 된다. //U1RX를 RP20번 핀에 입력으로 연결 RPINR18bits.U1RXR = 20; or _U1RXR = 20; RPINR18은 UART레지 리맵 레지스터 이다. 출력핀일 경우 U1TX 입력은 3번이므로 3을 할당하면 된다. //RP19핀을 U1TX에 연결 _RP19R = 3;
dsPIC33 DAC 테스트 dsPIC33 DAC 테스트 dsPIC33 에는 DAC모듈이 있다. Audio DAC라는 이름으로 거의 Audio전용의 DAC모듈이라 생각하면 된다. 이 모듈 이용하면 여러가지 활용도가 많을것 같아 테스트 하면서 정리해 본다. Audio Digital-to-Analog Converter (DAC) 특징 • 16-bit resolution (14-bit accuracy) • Second-Order Digital Delta-Sigma Modulator • 256 X Over-Sampling Ratio • 128-Tap FIR Current-Steering Analog Reconstruction Filter • 100 KSPS Maximum Sampling Rate • User controllable Samp..