본문 바로가기

[NXP]/LPC1k

(26)
LPC1113 / LPC1114 UART 인터럽트 테스트 LPC1113 / LPC1114 UART 인터럽트 테스트 LPC1114 UART 인터럽트 초기화 함수void U0_SetInt(void){ NVIC_EnableIRQ(UART_IRQn); LPC_UART->IER = IER_RBR | IER_RLS;/* Enable UART interrupt */} LPC1114 인터럽트 핸들러 함수 1234567891011121314151617181920212223242526272829303132//-----------------------------------------------------------------------------#pragma diag_suppress=Pa082void UART_IRQHandler(void){ uint8_t IIRValue, LSR..
LPC1313 성능 테스트 LPC1313 성능 테스트 LPC1313은 Cortex-M3코어에 72Mhz로 동작한다. 가격은 1$ 정도로 저렴해서 가격이 민감한 어플리케이션에 좋을것 같다. LPC1114 의 GPIO 제어 속도와 비교해교 해면 좋을것 같다.결론적으로는 3Mhz -> 4.5Mhz 로 좋아진것 같다. GPIO On/Off만 했을때 16Mhz로 측정된다. 디폴트로 외부 12Mhz 클럭으로 설정되어 있기 때문에 PLL을 이용하여 72Mhz로 설정해 주었다.#define CLOCK_SETUP 1#define SYSCLK_SETUP 1#define SYSOSC_SETUP 1#define SYSOSCCTRL_Val 0x00000000#define WDTOSC_SETUP 0#define WDTOSCCTRL_Val 0x000000A..
LPC13xx IAR 개발 환경 설정 LPC13xx IAR 개발 환경 설정 기존 LPC1K EVM에서는 IAR5.4 버전을 이용하고 있었는데 LPC1313 IAR 6.x 버전을 이용해야 한다. 무엇보다 기존 IAR 5.4 버전 예제는 IAR 6.x대에서컴파일이 되지 않는 문제를 해결해기 위해 새롭게 테스트 해보았다. IAR 6.x 버전에서는 LPC1313 을 지원한다. 개발환경 설정은 상당히 간단하다. NXP사에서 제공하는 startup_LPC13xx.s, system_LPC13xx.c 파일을 추가 하고 필요에 따라 Drivers 폴더에 있는 파일을 Lib 파일을 추가 해 주면 된다. 헤더파일 패스 설정 IAR 6.x 버전을 사용하면 무엇보다 JTAG를 이용하여 디버깅 가능하다. LPC1313 을 IAR개발 환경으로 셋업 완료후 기존 LPC..
[LPC1313 EVM] 테스트 보드 제작 [LPC1313 EVM] 테스트 보드 제작 Cortex--m3 코어 72mhz로 구동되는 NXP사의 LPC13xx 시리즈를 테스트 해 보았다Cortex-m0 코어의 LPC1K 와 핀맵핑이 동일 하기 때문에 기존 PCB에서 테스트 가능하다.가격도 저렴하다. 테스트시에는 고성능의 LPC13XX 로 개발하고 양산시에 LPC11XX로 변경해도 좋을것 같다 Cortex-M3코어지만 페리스펙은 상당히 빈약하다. 저렴한 가격에 72Mhz 속도에 만족 해야 할것 같다. SM-Type EVM 형태의 표준 핀맵으로 제작해서 기존 확장보드에 연결하여 쉽게 테스트 가능하다. LPC1313 EVM 회로도기존 LPC1K 회로와 동일하며 JTAG(SDW) 커넥터가 추가되어 디버깅 쉽게 가능하도록 했다.
LPC1112LVFHN24 - 24핀 소형 Cortex-M0 LPC1112LVFHN24 - 24핀 소형 Cortex-M0 LCP1K 시리즈로 소형 패키지들이 많이 출시되고 있다.가격도 저렴하고 소형이라 여러 용도로 사용하기 편리할것 같다. 기존 LCP1K 동일한 스펙이고 패키지가 작아진것 같다.
LPC1113 내부클럭 사용하기 LPC1113 내부클럭 사용하기LPC1K의 클럭은 외부 X-TAL 및 내부 RC OSC로 구동 가능하다. 정밀 클럭이 필요없는 시스템에서 저렴하게 보드 구성할때 사용하면 좋을것 같다. 내부 클럭으로 설정하고 UART통신 잘되는것을 확인했다. LPC1K 클럭 시스템 블록도SYSPLLCLKSEL 레지스터를 이용하여 내부클럭 외부 클럭을 설정할 수 있다. MAINCLKSEL 레지스터에서 PLL 설정 여부를 선택할수 있다. config.h 파일에서 클럭을 설정할수 있도록 수정했다.#define SEL_IRC 0 #define SEL_XTAL 1 #define SYSPLLCLKSEL_Val SEL_IRC system.c 파일도 수정이 좀 필요하다.void SystemInit(void){_SystemInit(); ..
LPC1114 외부 인터럽트 테스트 예제 LPC1114 외부 인터럽트 테스트 예제외부 인터럽트 소스 테스트 하려는데 잘 동작을 안한다.다른 인터럽트는 다 잘 동작하는데... 외부 인터럽트만 이상하다. 확인결과 IAR에서 제공하는 startup code가 두가지인데 코드가 약간 다르다. 이부분에서 문제가 있었던것 같다. 제공 예제에 설정되어 있는 startup code는 안되고 CMSIS 폴더의 startup code를 적용하니 잘 동작한다...IAR Systems\Embedded Workbench 6.4 Kickstart\arm\examples\NXP\LPC11xx\CMSIS\Device\NXP\LPC11xx\Source\IAR LPC1113 GPIO관련 레지스터 레벨, 에지 인터럽트 유형 설정 폴링 라이징 에지 유형 설정 레지스터 단일 에지,..
LCP1311 - 1$ 대 Cortex-M3 구매 LCP1311 - 1$ 대 Cortex-M3 구매 엘레파츠에서 개당 1120원에 LPC1311을 구매 했다. 가끔 찾아 보면 저렴하게 판매하는 MCU들이 있다. 72Mhz로 동작하는 Cortex-M3 LPC1311은 아주 저렴하면서도 성능이 좋다. 기존 LCP1113 EVM PCB에 핀맵 호환되므로 수정없이 바로 테스트 가능하기 때문에 10개 구매 했다. LPC1311 특징 - ARM Cortex-M3 processor, running at frequencies of up to 72 MHz - 8 kB on-chip flash programming memory - 4 kB SRAM - Integrated oscillator with an operating range of 1 MHz to 25 MHz