[NXP]/LPC1k2011. 1. 1. 17:00

[LPC1K-SM EVM] 시리얼 포트 테스트

[LPC1K-SM EVM] 시리얼 포트 테스트




LPC1K UART의 특징으로 저렴한 MCU임에도 불구하고 16byte의 FIFO가 있어 UART통신에 있어 편리하고 고속으로 처리할 수 있다. 그리고 RS-485/EIA-485 9-bit모드를 지원하고 하드웨어 흐름제어도 지원한다고 한다.



LPC1113 UART초기화 함수
//------------------------------------------------------------------------------
// Serial Prot0 Utility Fuction Routine
void U0_Init(unsigned long baud)
{
    NVIC_DisableIRQ(UART_IRQn);
    
    //UART 클럭 초기화
    LPC_SYSCON->SYSAHBCLKCTRL |= (1<<12);   // UART=1

    // Enable UART peripheral clock
    LPC_SYSCON->UARTCLKDIV = 0x01;      // DIV=1
    
    LPC_IOCON->PIO1_6 &= ~0x07;    /*  UART I/O config */
    LPC_IOCON->PIO1_6 |= 0x01;     /* UART RXD */
    LPC_IOCON->PIO1_7 &= ~0x07; 
    LPC_IOCON->PIO1_7 |= 0x01;     /* UART TXD */
 
 U0_SetBaud(baud);
}


1Byte 전송함수
void U0_PutByte(unsigned char Data)
{
    while ( !(LPC_UART->LSR & LSR_THRE) );
    LPC_UART->THR = Data;   
}

1Byte 수신함수
unsigned char U0_GetByte(void)
{
    while (!(LPC_UART->LSR & LSR_RDR));
    return LPC_UART->RBR;
}


LPC1K UART테스트 예제 코드
int main()
{
    SystemInit();

    U0_Init(BAUD_115200);
    DebugPrint("LPC1K UART Test\r\n");
   
    Led1Init();
    Led1On();
   
   
    Led2Init();
    Led2Off();
   
    while(1)
    {
        switch(U0_GetByte())
        {
        case '0':
            Led1Off();
            DebugPrint("LED OFF\r\n");
            break;
           
        case '1':
            Led1On();
            DebugPrint("LED ON\r\n");
            break;           
        }
    }
    return 0;
}
Posted by nexp

댓글을 달아 주세요

[NXP]/LPC1k2011. 1. 1. 16:00

[LPC1K-SM EVM] LPC1113 실행속도 측정 테스트

[LPC1K-SM EVM] LPC1113 실행속도 측정 테스트

LPC1113은 저렴한 가격에 50Mhz로 동작가능 하다. 
12Mhz 클럭을 PLL을 이용해 48Mhz로 설정하고 속도 측정을 해 보았다.

LPC1111/12/13/14의 GPIO특징으로 AHB클럭을 페리 클럭으로 사용하기 때문에 GPIO속도가 빠르다고 한다.




간단히 GPIO 토글을 했을때 3Mhz가 출력되는것을 확인할 수 있다.
#define Led1Toggle()                             (LED1_PORT ^= LED1_BIT)

     15              while(1)
     16              {
     17                  Led1Toggle();
   \                     ??main_1:
   \   00000030   2168               LDR      R1,[R4, #+0]
   \   00000032   4140               EORS     R1,R1,R0
   \   00000034   2160               STR      R1,[R4, #+0]
   \   00000036   FBE7               B        ??main_1
   \                     ??main_0:
   \   00000038   FC3F0350           DC32     0x50033ffc
     18              }
     19              return 0;


[다른 MCU속도 측정 결과]와 비교 하면 AVR보다 저렴하면서 속도도 더 빠르게 동작하는것을 확인할 수 있다.



참고로 오버클럭으로 72Mhz로 설정해본 결과 4.5Mhz출력된다.
void SystemInit(void)
{
   _SystemInit();

    //Main Clock Frequenz einstellen - wird aus XTAL generiert*/
    SetMainClockFreq(72);
    
    //Enable AHB clock to the GPIO domain.
    //LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
}



Posted by nexp

댓글을 달아 주세요

[NXP]/LPC1k2011. 1. 1. 03:30

[LPC1K-SM EVM] 보드 제작 - 1$대 ARM Cortex-M0 LPC1113

[LPC1K-SM EVM] 보드 제작 - 1$대 ARM Cortex-M0 LPC1113



1$대 저렴한 ARM Cortex-M0코어 NXP사의 LPC1K (LPC1111, LPC1112, LPC1113) 호환 테스트 보드를 제작했다.
아무래도 소형에 저렴함을 자랑으로 하는 LCP1000시리즈는 간단한 프로젝트에는 적용하기 좋을것 같다.



SM-Type으로 USB2UART, Bluetooth, Zigbee 모듈을 연결가능하다. LCP1K의 경우 시리얼 포트를 이용하여 플래시 라이트가 가능하기 때문에 특별한 개발장비 없이 프로그램을 다운로드 할 수 있다.



확장 테스트 보드







LCP1K 보드 회로도






Posted by nexp

댓글을 달아 주세요

[NXP]/LPC1k2010. 11. 17. 10:25

LCP1100 ISP프로그램

LCP1100  ISP프로그램
LCP11xx 는  부트플래시가 내장되어 있어 시리얼 포트로 프로그램을 다운로드 할수 있다. JTAG없이 간단히 프로그램 다운로드 해서 테스트 하기에 좋다.

NXP에서 제공하는 FlashMagic(http://www.flashmagictool.com/)을 이용하면 쉽게 다운로드 가능하다.



리셋시 P0_1 포트가 0이면 ISP모드 진입한다고 한다.(A LOW level on this pin during reset starts the ISP command handler.)




[LPC1K EVM] 보드에서는 SW3을 누른체 리셋 하거나 J4(2-3)으로 부트모드로 설정할 수 있다.






Posted by nexp

댓글을 달아 주세요

  1. crecento

    관리자의 승인을 기다리고 있는 댓글입니다

    2011.06.01 10:18 [ ADDR : EDIT/ DEL : REPLY ]

[NXP]/LPC1k2010. 11. 17. 07:27

[LPC1000] 1$ 이하 32bit Cortex-M0 코어

[LPC1000] 1$ 대 32bit Cortex-M0 코어
저렴하고, 소형에 성능 좋은 MCU를 찾다 NXP의 LPC1000시리즈를 찾아 보았는데.. 정말 작고 저렴하다. 32bit라 성능도 좋고 앞으로 소형프로젝트에 적용하기 좋을것 같다.

IC Bank에서 판매하는 가격이 100개만 넘어가도 1300원대고 250개 이상이면 1100원다. 1$이하로 저렴하다


http://www.coocox.org/ColinkforLPC1100.htm

50Mhz로 동작하고 8k Flash, 8k RAM, 10bit ADC까지... 멋지다
요즘 AVR가격이 많이 올라가고 있는데, 가격도 더 저렴하고 성능도 좋으므로 이쪽으로 적극 추진해야 겠다.

Manufacturer: NXP   
Product Category:  Microcontrollers (MCU)  
RoHS:   Details  
Data Bus Width:  32 bit   
Family:  ARM Cortex-M0  
Program Memory Type:  Flash  
Program Memory Size:  8 KB  
Data RAM Size:  8 KB  
Interface Type:  I2C, SPI, UART  
Number of Programmable I/Os:  28  
Operating Supply Voltage:  1.8 V to 3.6 V   
On-Chip ADC:  10 bit, 8 Channel 


LPC1111, LPC1112, LPC1113,  LPC1114 옵션


Posted by nexp
TAG LPC1000

댓글을 달아 주세요