[Microchip]/dsPIC (19) 썸네일형 리스트형 dsPic33 내부 클럭 사용시 설정하기 dsPic33 내부 클럭 사용시 설정하기 외부 8Mhz 클럭 사용시 설정_FOSCSEL(FNOSC_PRIPLL);// 제1 오실레이터(XT, HS, EC)와 PLL 사용_FOSC(FCKSM_CSECME & OSCIOFNC_OFF & POSCMD_XT);// OSC2 핀 클럭 출력, 제1 오실레이터 XT 크리스탈 모드//클럭 스위칭(Clock Switching)과 Fail Safe Clock Monitor 사용 설정_FWDT(FWDTEN_OFF); // 왓치독 타이머 사용 중지 void SystemInit(void){//Fcy(인스트럭션 클럭) 클럭 계산 : 4.3.4절 동작 주파수 계산 참조//Fcy = Fosc / 2 = [ Fxtal X M / (N1 x N2 ) ] / 2//Fcy = [ 8MHz .. dsPIC33 EVM - I2C 테스트 dsPIC33 EVM - I2C 테스트 dsPIC33 EVM 보드의 I2C는 RG2(SCL), RG3(SDA)에 연결되어 있다. dsPIC33 I2C 초기화 코드void i2c_init(unsigned int Speed){OpenI2C1( I2C_ON, I2C_BRG );} dsPIC33 I2C Read/Write 소스 코드unsigned char i2c_read_byte(unsigned char Addr, unsigned char reg){unsigned char data = 0;unsigned char SlaveAddress = Addr;char i2cData[10];int DataSz;int Index = 0;i2cData[0] = (SlaveAddress DSPIC33EP64MC504 70 MIPS Motor Control and General Purpose Family DSPIC33EP64MC504 70 MIPS Motor Control and General Purpose Family 70MIPS DSPIC (DSPIC33E)이 출시되었다. CORTEX-M3와 dspic 중 어떤것이 매리트 있을까? 데이터 버스 너비 : 16bit 프로그램 메모리 크기 : 64KB 데이터 RAM 크기 : 8KB 최대 클록 주파수 : 32KHz 프로그래밍 가능한 I/O의 수 : 35 타이머 수 : 7 장치 MIPS : 70 MIPs CAN (#, type) 1 ECAN PWM Resolution bits 6 Motor Control PWM Channels 6 Quadrature Encoder Interface (QEI) 1 2-UART 2-SPI 2-I2C [dsPIC EVM] MP3 Module (VS1033) 테스트 [dsPIC EVM] MP3 Module (VS1033) 테스트 [NET EVM] 보드를 이용하면 W5100과 같은 이더넷 모듈이나 TFT LCD 모듈을 연결하여 테스트 할수 있고 VS1033과 같은 MP3 모듈을 연결하여 네트웍 라디오를 테스트 해 볼 수 있다. ADC0 -> RB0 dsPIC33 MP3모듈 HAL Driver 코드 //----------------------------------------------------------------------------- // VS1033 모듈 HAL #define VS_DREQ_BIT BIT6 #define VS_DREQ_PORT PORTB #define VS_CS_BIT BIT4 #define VS_CS_PORT PORTB #define VS_XD.. [dsPIC33 EVM] W5200 TCP/IP Loopback 전송 속도 테스트 [dsPIC33 EVM] W5200 TCP/IP Loopback 전송 속도 테스트 dsPIC33을 이용하여 SPI방식의 하드웨어 TCP/IP W5200 (W5100)의 전송 속도를 테스트 했다. SPI클럭 13Mhz 에서 최대로 나오며 2.5Mbps 정도 출력 된다. [3] iInChip Send: 2.3772 Mbps(6596649 bytes, 21.1710 sec) iInChip Recv: 2.4131 Mbps(6596649 bytes, 20.8568 sec) ------------------------------------------------------------ [4] iInChip Send: 2.3933 Mbps(6596649 bytes, 21.0288 sec) iInChip Recv: 2.4.. [dsPIC33 EVM] TFT LCD 출력 속도 테스트 [dsPIC33 EVM] TFT LCD 출력 속도 테스트 dsPIC33 은 최대 40Mhz로 동작하고 SPI속도 또한 빠르므로 TFT LCD 테스트 해 두면 좋을것 같다. 8비트 방식으로 TFT LCD연결 가능한 확장 테스트 보드 중에서 [EXP_DSP] 보드가 적당할것 같다. 8비트 제어모드에서 1프레임 출력시 60ms 정도 걸린다. (옵티마이즈 한후) [dsPIC33 EVM] TFT LCD테스트 동영상 SPI 최대 클럭 속도는 13Mhz로 SD Card를 이용하여 BMP파일을 출력 해 보았다. [dsPIC33 EVM] TFT LCD관련 회로도 dsPIC33 large const 메모리 할당 - PSV 사용하기 dsPIC33 large const 메모리 할당 - PSV 사용하기 dsPIC33보드를 이용하여 EXP-ARM TFT LCD에 이미지를 출력하려고 const 데이터를 할당받았는데 에러가 발생한다. 하드웨어 구조상 32k 이상 할당이 안된다고 한다. 해결책이 없을까? dsPIC에서 const 데이터는 코어 구조상 32byte까지 할당 가능하다. 대용량의 코드 데이터(constant)를 할당 받으려면 PSV를 이용하면 된다고 한다. 물론 psv를 할당해도 32kbye단위로 설정 가능하다.(그냥 const로 설정하면 32k 이상 할당 할 수가 없다.) 32KB 영역(0x8000 ~ 0xFFFF)을 페이지 별로 할당하여 사용할 수 있다고 한다. C30컴파일러 에서는 __attribute__((space(psv).. [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; 이전 1 2 3 다음