본문 바로가기

SAMD21

(16)
[SAMD21E-S EVM] ATSAMD21 미니보드 제작 [SAMD21E-S EVM] ATSAMD21 미니보드 제작 간단한 프로젝트 진행을 위해 소형 이면서 저렴하고 어느정도 성능도 보장하는 MCU를 찾게 되는데 ATSAMD21E는 QFN32의 소형 저가격(1$대)을 만족하는 칩 인것 같다. 핀맵도 간단하고 쉽게 제작 할 수 있어서 S-Type 형태의 소형으로 제작 해 보았다. SM-Type 핀맵 회로도 간단히 테스트 해 볼수 있는 LED가 PA27에 할당 되어 있다. QNF32의 작은 칩 이지만 DA출력도 있어 오디오 출력도 가능해 보드 내부에 Serial Flash 메모리도 실장 할수 있도록 했다. S-Type 형태의표준 핀맵으로 제작해 다양한 확장 테스트 보드에서 테스트 가능하도록 했다
Arduino Zero - Serial 어디에 정의 되어 있을까? Arduino Zero - Serial 어디에 정의 되어 있을까? Arduino Zero는 SAMD21 MCU이므로 6채널의 SERCOM 있다. UART 채널을 추가 하거나 변경하려고 보니 어디에 Serial 설정이 되어 있는지 정리할 필요가 있을것 같다. Uart.h 에 Serial 관련 클래스가 할당되어 있다.extern Uart Serial;extern Uart Serial5; 기본은 PA10, PA11에 설정되어 있다.typedef enum{UART_TX_PAD_0 = 0x0ul, // Only for UARTUART_TX_PAD_2 = 0x1ul, // Only for UARTUART_TX_RTS_CTS_PAD_0_2_3 = 0x2ul, // Only for UART with TX on PAD0..
[SAMD21 EVM] 아두이노 제로(Arduino Zero) 보드 만들기 [SAMD21 EVM] 아두이노 제로(Arduino Zero) 보드 만들기 Arduino Zero 보드는 ATSAMD21G18을 이용한 보드 이다. [SAMD21 EVM] 보드에 부트로더만 다운로드 하면 쉽게 Arduino Zero 보드를 제작 할 수 있다. 테스트는 [SAMD21 EVM] 보드와 모든 포트가 출려되는 STM32-48 EXP 확장 테스트 보드를 이용 하여 진행 하였다. 먼저 ARDUINO 최신 프로그램부터 다운로드 한다. Arduino Zero 부트로더 설치부트로더는 아래 폴더에 있고 JTAG를 이용하여 다운로드 하면 된다.arduino-1.7.8\hardware\arduino\samd\bootloaders\zeroBootloader_D21_M0_150515.hexBootloader_D2..
[SAMD21 EVM] - UART 테스트 [SAMD21 EVM] - UART 테스트 SAM D 시리즈의 특징으로 멀티 SERCOM모듈을 들수 있다. SERCOM 은 I2C, SPI or USART를 쉽게 할당해서 유연하게 사용 할 수 있는 장점이 있다. 특히 IO핀을 다양한 형태로 할당 할 수 있으므로 PCB설계에 있어 자유롭게 제작 가능하다. SAMD21 UART 초기화 설정 코드SAMD21 EVM의 UART는 SERCOM2의 PA13(PAD1)->RXD, PA14(PAD2)->TXD 에 할당이 되어 있으므로 아래와 같이 핀맵 설정할 수 있다.struct usart_config usart_conf; usart_get_config_defaults(&usart_conf);usart_conf.mux_setting = USART_RX_1_TX_2_X..
[SAMD21 EVM] - 타이머 인터럽트 테스트 [SAMD21 EVM] - 타이머 인터럽트 테스트 Cortex-M0 코어를 사용하는 CPU와 거의 유사하게 사용할 수 있는것 같다. SAMD21 타이머 인터럽트 핸들러void SysTick_Handler(void){ Led2Toggle();} ATSAMD21 타이머 인터럽트 테스트 예제코드int main(void){system_init(); //1ms setting SysTick_Config(48000); Led1Init();Led2Init(); while (true) { }}
[SAMD21 EVM] CPU 클럭 설정 및 성능 측정 실험 [SAMD21 EVM] CPU 클럭 설정 및 성능 측정 실험 SAMD 시리즈는 Cortex-M0 코어의 48Mhz 로 동작하고 여러 다양한 기술로 페리의 병목현상을 줄여 성능 향상을 했다고 한다. 일단 GPIO 제어로 간단히 속도 테스트를 해보도록 하자. 우선 아래 코드와 같이 ATMEL에서 제공하는 코드를 이용하여 GPIO 토글 속도 테스를 해 보았다. int main(void){system_init(); Led1Init(); Led2Init(); while (true) { port_pin_toggle_output_level(PIN_PB30);}} GPIO토글 속도600khz로 출력된다.느리다. 아무래도 클럭 설정에 문제가 있는것 같다. conf_clocks.h 파일에 클럭 설정하는 부분이 있다.디폴트..
[SAMD21 EVM] 개발환경 설정 - IAR 을 이용한 환견 설정 [SAMD21 EVM] 개발환경 설정 - IAR 을 이용한 환견 설정 SAMD21 시리즈를 위한 개발환경은 여러가지가 있지만 익숙하고 간단히 사용할 수 있는 IAR 컴파일러를 이용하면 편리하다. 무엇보다 JLINK를 지원하기 때문에 좋은것 같다.IAR 7.2 이상 필요하다. ATMEL에서 제공하는 소프트웨어로 AVRSOFTWAREFRAMEWORK를 이용하면 쉽게 개발 환경을 구축 할 수 있다. http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx 다만 ATMEL에서 제공하는 다양한 MCU를 지원하다보니 복잡하고 불필요 한 것들이 너무 많은것 같다. IAR 7.2버전을 이용하여 프로젝트를 생성하고 칩셋을 선택 한다. ATSAMD21J18A 를 잉용하여 보드를 제작했..
[SAMD21 EVM] - ATSAMD21J18 테스트 보드 제작 [SAMD21 EVM] - ATSAMD21J18 테스트 보드 제작 SMART SAM D 시리즈는 Cortex®-M0+ 코어의 ATMEL사의 MCU로 저전력, 저가격의 목적으로 출시되 었다. 특히 아두이노 (Arduino ZERO) 보드에 적용되면서 핫 이슈가 되고 있어 테스트용 보드로 제작해 보았다. 최대 48Mhz로 동작하고 Mhz당 70μA전력이하 전력 소모로 저전력 이다.AVR Studio를 이용하면 개발 환경이 무료 이다. 또는 Arduino Software (IDE)를 이용할 수도 있다.그리고 Real Time Clock (RTC) 와 Calendar (leap year correction and 1ppm calibration)가 있어 편리한것 같다. SM-Type EVM 형태로 핀맵을 통일화 ..

반응형