본문 바로가기

[Microchip]/dsPIC33E

(7)
dsPIC33E - 내부플래시를 EEPROM 처럼 사용하기 dsPIC33E - 내부플래시를 EEPROM 처럼 사용하기dsPIC은 내부 EEPROM이 없지만 내부 플래시 메모리를 EEPROM처럼 사용할 수 있다. dsPIC33 시리즈는 "Flash Operations.s" 를 링크하면되고, dsPIC33E 시리즈는 "Flash Operations 33E_24E.s" 파일이 필요하다. dsPIC33E EEPROM 테스트 예제코드 #include "system.h"#include "serial.h"#include int main(void){//Init SystemSystemInit();//Init LEDLed1Init();Led1On();DebugInit(BAUD_115200);DebugPrint("dsPIC33E EEPROM TEST\r\n"); //내부 플래시 초..
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 문자 수신..
dsPIC33E 개발환경 설정 dsPIC33E 개발환경 설정 dsPIC33E 시리즈는 70MIP의 High Performance DSCs로 업그레이드 되면서 개발환경도 업데이트가 필요하다 우선 IDE는 최소 MPLAB IDE v8.92이상되어야 하고컴파일러도 MPLAB C Compiler for PIC24 and dsPIC DSCs v3.31 이상 되어야 한다. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2115 하드위어 적인 핀맵은 거의 (사실 약간의 주의가 필요하다.) 동일하기 때문에 소프트웨어도 약간 수정 하면 될것으로 예상 했는데...아쉽게도 수정할 부분이 꽤 있는것 같다.그래도 성능이 향상 되었다고 하니 테스트 해봐야 할것 같다.
dsPIC33E - MCU속도 측정 dsPIC33E - MCU속도 측정 dsPIC33E 시리즈는 최대 70Mhz로 동작 가능하다. 기존 dsPIC33 시리즈가 40Mhz로 동작한것에 비해 거의 2배 정도의 성능이 향상되었다.기존 dsPIC33시리즈의 MCU속도 측정과 비교해 보면 약 두배 정도 속도가 향상된것 같다. 이정도면 72Mhz STM32(12Mhz)와 비교해 봐도 좋을것 같다. MCU별 속도 측정 참고 단순히 GPIO On/Off 했을때 속도를 측정해 보면..-> 7Mhz 34: while(1)35: {36: LATA = 0xFF; 0374 200FF1 mov.w #0xff,0x0002 0376 20E040 mov.w #0xe04,0x0000 0378 780801 mov.w 0x0002,[0x0000]37: LATA = 0; 03..
dsPIC33E - 보드 제작(dsPIC33EP32MC202) dsPIC33E - 보드 제작(dsPIC33EP32MC202) Microchip사의 dsPIC33EP32MC202를 위한 테스트 보드를 s-Type EVM 형태로 제작했다. dsPIC33E 시리즈는 70Mhz로 동작하는 DSC로 소형이면서 DSP연산을 할 수 있어 퍼포먼스가 필요할 때 간단히 적용하면 좋을것 같다.기존 dsPIC33과 호환도 되므로 기능 검증이 되면 저렴한 모델로 전환도 쉽다. (가격적인 면은 그렇게 좋지 않은것 같다. 아무래도 소량 구매이고 아직 국내에 많이 사용되지 않아 그런지 모르지만 Cortex-M3와 비교하면 비싸보인다.) dsPIC33E EVM 회로도 dsPIC33E 확장 테스트 보드