[MCU]/adStar2012. 12. 22. 16:00

[adStar EVM] SPI 테스트

[adStar EVM] SPI 테스트

adStar는 2채널의 SPI가 있다. CANTUS에서는 HDSC와 핀이 겹쳐서 아쉬울 때가 있었는데... 2채널이 되어 상당히 편해 졌다.

핀맵은 아래와 같다.

 

P0.0/SPWM2L_P/SPI0_nCS/TWI_SCL
P0.1/SPWM2L_N/SPI0_MISO/TWI_SDA
P0.2/SPWM2R_P/SPI0_MOSI/nCS1
P0.3/SPWM2R_N/SPI0_SCK/nCS2

 

P5.1/IIS_LRCLK0/SPI_MOSI1/A1

P5.0/IIS_SCLK0/SPI_MISO1/A0

P4.7/IIS_SDI0/SPI_CS1/TMO3

P4.6/IIS_MCLK/SPI_SCK1/CAP3

 

 

CANTUS와 코어는 동일하지만 2개의 SPI가 존재 하므로 기존 코드어세 약간의 수정이 필요하다.

 

adStar SPI초기화 함수

void SPI1_Init(void) // SPI 통신 초기화 함수
{
  Cbi(*R_PAF5, 0x0F); // SPI_SCK, SPI_MISO, SPI_MOSI
 Cbi(*R_PAF4, 0xF000);

 Sbi(*R_PAF5, F_PAF5_0_SPI_MISO1 | F_PAF5_1_SPI_MOSI1); // SPI_SCK, SPI_MISO, SPI_MOSI
 Sbi(*R_PAF4, F_PAF4_7_SPI_CS1 | F_PAF4_6_SPI_SCK1);

 

 *R_SPI0CON(1) = SPICON_MSTR | SPICON_MSBF | SPICON_EN; 
 
    int baud = spi_set_freq(1, SPI_MASTER, W25Xxx_SPI_FREQ);
}

 

 

adStar SPI송수신 함수

unsigned char SPI1_WriteReadByte(unsigned char Data)
{
 //SPI포트로 데이터 출력 
 *R_SPI0DATA(1) = Data;
 
 // 전송대기
 while (!(*R_SPI0STAT(1) & SPISTAT_SPIF));
 
 //데이터 수신
 return *R_SPI0DATA(1);
}

 

 

기존 CANTUS로 작성된  3축 가속도 센서 구동시 잘 동작하는것을 확인할 수 있다.

 

Posted by nexp
TAG adstar, SPI

댓글을 달아 주세요

[MCU]/adStar2012. 12. 22. 03:00

[adStar EVM] UART 테스트

[adStar EVM] UART 테스트

 

 

adStar 는 5개의 UART(16Byte FIFO)가 있다. CANTUS에서는 8채널이 있었는데 약간 아쉬운 부분이다.


기존 CANTUS 보드와 핀맵이 조금 변경되어 코드 수정이 필요하다. adStar EVM에는 P1.0(TX0), P1.1(RX0)에 연결되어 있다.







adStar UART 초기화 함수




void U0_Init(unsigned char baud)

{

// *R_PAF4 = ((*R_PAF4)&0xfff0)|PAF4_URX0|PAF4_UTX0;   //CANTUS


 Cbi(*R_PAF1, GP_CFG(0) | GP_CFG(1));
 Sbi(*R_PAF1, F_PAF1_0_UART_TX0 | F_PAF1_1_UART_RX0);


U0_SetBaud(baud);

}





adStar UART 송수신 함수

#define ULSR_DRDY F_ULS_DRDY

#define ULSR_TEMP F_ULS_TEMP


unsigned char U0_GetByte(void)

{

while(!(UART0_LSR & ULSR_DRDY));

return UART0_URDR;

}


void U0_PutByte(unsigned char Data)

{

while(!(UART0_LSR & ULSR_TEMP));

UART0_UTDR = Data;

}





adStar UART 테스트 예제 코드

#include "system.h"

#include "serial.h"


int main()

{

SystemInit();


Led1Init();

Led2Init();

Led1On();

Led2Off();

U0_Init(BAUD_115200);

DebugPrint("ADstar EVM1\r\n");


while(1)

{

if(U0_IsGetByte())

{

switch(U0_GetByte())

{

case '0':

DebugPrint("Led1 Off\r\n");

Led1Off();

break;


case '1':

DebugPrint("Led1 On\r\n");

Led1On();

break;

default:

break;

}

}

     }

}


Posted by nexp
TAG adstar, UART

댓글을 달아 주세요

[MCU]/adStar2012. 12. 22. 02:30

[adStar EVM] JTAG 및 부트모드 설정

[adStar EVM] JTAG 및 부트모드 설정

 

 

 

adStar의 JTAG는 E-CON을 이용하면 되고 P7.3을 이용하여 JTAG모드와 실행 모드를 전환할 수 있다.

(JTAG핀을 GPIO로 사용하지 않으면 JTAG모드 전환 필요없다. 회로 설계시 참고)

 

[주의사항]

P7.5(CFG2), P7.6(CFG3) 핀을 풀다운 해주어야  FLASH초기화가 정상적으로 이루어진다.(원인 파악 필요)

 

 

 

adStar 부트모드

 

 

Posted by nexp
TAG adstar

댓글을 달아 주세요

[MCU]/adStar2012. 12. 22. 02:00

[adStar EVM] 보드 제작 - DM16MF512

[adStar EVM] 보드 제작 - DM16MF512

 

 

저렴하고 고성능의 32bit MCU인 adStar (DM16MF512) EVM을 M-Type 형태로 제작 했다. adStar의 가장 큰 특징은 16Mbyte의 SDRAM와 TFT-LCD 컨트롤러를  내장하고 있어 저렴한 형태의 LCD제어에 아주 적합하다. 특히 메모리는 사용할 곳이 많을것 같다. adStar 특징 참고.

 

 

 

 

표준화된 핀맵으로 여러 확장보드에 사용 가능할 뿐 아니라 7" TFT LCD전용 확장보드에서 LCD관련 테스트를 해 볼 수 있다.

 

 

뒷면에는 SD Sard소켓을 장착하여 고용량 데이터를 제어할 수 있다.

 

 

표준 핀맵으로 TFT-LCD EVM보드에서 테스트 가능하다.

 

 

 

adStar EVM 핀맵

 

 

 

 

 

 

Posted by nexp

댓글을 달아 주세요

[MCU]/adStar2012. 4. 1. 21:12

[ADSTAR] LCD Controller 와 16Mbyte SDRAM을 내장한 저렴한 MCU

[ADSTAR] LCD Controller 와 16MByte SDRAM을 내장한 저렴한 MCU

ADSTAR는 SDRAM, Flash, LCD Controller가 내장되어 정보를 LCD에 Display하고자 하는 Application에 최적화된 General MCU제품이다.

가장 큰 장점으로 저렴한 가격에 16Mbyte SDRAM을 내장 했다는 것인데... 원칩으로 RAM이 많이 필요한 어플리케이션에 아주 좋을것 같다.

최대동작속도는 108Mhz 이며 JTAG방식으로 Core 및 Bus Debugger를 제공한다. 또한 내부에는 User가 사용할 수 있는 32KB의 SRAM도 포함 되어있다.

 

adStar의 특징은 아래와 같다.

High Performance Processor Core
- 32bit EISC Core MCU
- Up to 108MIPS throughput with 108MHz Clock Additional

Embedded Memory
- 32KBytes SRAM (30KBytes Data/2KBytes Instruction)
- 8/16MBytes SDRAM, 512KBytes FLASH

External Memory Interface
- 8 or 16-bit data, up to 18-bit addressing SRAM Controller

NAND Flash Interface
- Supports SLC and MLC (24-bit ECC) type

LCD Controller
- RGB 888 or 565 output
- Supports up to 800x600 resolution display mode

Copy Protection
- 24-bit key-protected only-one programmable bits

Sound Mixer
- 2ch. I2S
- 2ch. Digital Modulator
10-bit ADC
- 4-ch. ADC for Analog Input

Posted by nexp
TAG adstar

댓글을 달아 주세요