본문 바로가기

분류 전체보기

(1955)
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 확장 테스트 보드
LPC812 EVM - 16bit ADC ADS8320 테스트 LPC812 EVM - 16bit ADC ADS8320 테스트 LPC800 시리즈에는 ADC가 없기 때문에 아쉬운 점이 있어 별도의 소형 16bit ADC (ADS8320) 칩을 실장 할 수 있도록 설계 했다. LPC812 ADS8320 드리아버 코드//-----------------------------------------------------------------------------//ADS8320 Driver#define AD8320_CS_INIT()GPIOSetDir( 0, 7, 1 );\AD8320_CS0_DEASSERT(); #define AD8320_CS0_ASSERT()cbi(PORT0, BIT7)#define AD8320_CS0_DEASSERT()sbi(PORT0, BIT7)#defi..
LPC812 EVM - SPI 테스트 (6축 자이로 가속도 센서 SD746) LPC812 EVM - SPI 테스트 (6축 자이로 가속도 센서 SD746) LPC812 확장보드에서 SPI타입의 자이로, 가속도 센서는 CS핀이 P0.3에 연결되어 있다. CS가 JTAG핀에 할당되어 있기 때문에 GPIO로 설정해 줘야 하는데 설정이후 JTAG으로 접근 불가능해서 불편한데, SW3을 누른 상태에서 리셋을 하면 시리얼 부트 모드로 진입하고 이 부트모드에서는 P0.3이 다시 JTAG모드로 되기 때문에 JTAG로 접근할 수 있다. LPC812 EVM 보드의 자이로 가속도 센서 드라이버 코드#define MY_SD746_SPI_MODE1 #define ACCEL_CS_BITBIT3#define ACCEL_CS_PORTPORT0 #define ACCEL_CS_INIT() GPIOSetDir( 0..