본문 바로가기

2014/03

(8)
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..
LPC812 EVM - SPI 테스트 LPC812 EVM - SPI 테스트LPC812는 2개의 SPI를 내장하고 있다. 저가격 소형 칩이라도 기능은 막강하다. 특히 SWITCH MATRIX 방식으로 SPI 핀맵을 원하는 형태로 할당 할 수 있기 때문에 상상히 유연성이 좋은것 같다.SPI의 최대 클럭 속도는 메인클럭인 30Mhz까지 출력 가능하다. LPC812 SPI 블록도 LPC812 EVM 에서 SPI 핀맵할당LPC812 EVM에서 SPI핀맵은 아래와같이 할당 했고 Switch Matrix Tool을 이용하여 코드 생성을 쉽게 할 수 있다. LPC812 SPI 초기화 함수void SPI0_Init(void){ /* Enable SWM clock */ LPC_SYSCON->SYSAHBCLKCTRL |= (1PINASSIGN4 = 0xffff..
LPC812 EVM - UART 테스트 LPC812 EVM - UART 테스트 LPC812 는 3채널의 UART가 있다. 20핀 소형 페키지 임에도 불구하고 3개의 UART가 있어 유용하게 사용될곳이 많을것 같다.그리고 스위치 메트릭스라는 기능을 이용하여 UART핀을 자유롭게 맵핑할 수 있는것도 상당히 마음에 든다. 아래 그림은 LPC812의 UART 블록도 이다. LPC812 UART 핀맵핑 #if 1 /* connect the UART0 TXD abd RXD sigals to port pins(P0.4-P0.0)*/regVal = LPC_SWM->PINASSIGN0 & ~( 0xFF PINASSIGN0 = regVal | ( 4 PINASSIGN0 & ~( 0xFF PINASSIGN0 = regVal | ( 0 PINASSIGN0 & ~(..
LPC812 EVM 보드 제작 - NXP Cortex-M0+ Core LPC812 EVM 보드 제작 - NXP Cortex-M0+ Core NXP사의 Cortex-M0+ 코어의 저렴한 LPC812 테스트를 위한 보드를 S-Type EVM 보드 형태로 제작했다.LPC812는 1$ 이하의 32bit Cortex-M0+ 코어로 30Mhz로 동작하고 UART 3채널, SPI2채널 등의 화려한 페리를 자랑한다. 뿐만아니라 핀맵핑을 소프트웨어적으로 원하는 형태로 할당 가능하므로 하드웨어의 유연성이 뛰어나다. 다만 아쉬운점은 ADC가 없는것인데 가격을 생각하면 ADC없는 어플리케이션에서는 아주 매리트가 있다. LPC812 EVM 보드에는 소형의 16비트 ADC인 ADS8320을 실장 할 수 있도록 했다. LPC812 핀맵 회로도LPC812 회로도 - LED 및 스위치 LPC800 시리..
LPC812 - JTAG (ISP) 모드 주의사항 LPC812 - JTAG (ISP) 모드 주의사항 LPC1K와 LPC800시리즈의 부트모드 설정을 위한 GPIO핀이 칩 버전에 따라 변경되었다고 한다. 하드웨서 제작시 유의해야 할것 같다. LPC812 SWD 핀맵

반응형