1. SAM
- SAM은 Smart ARM Microcontroller의 약자로 ATMEL 사에서 플래시 메모리를 포함하여 ARM 프로세서를 간단하게 사용할 수 있도록 만든 마이크로컨트롤러입니다. 특히 AT91SAM7S64(256) 은 시스템 버스가 핀으로 나와있지 않기 때문에 핀 수가 작아 작은 시스템을 구성하는데 적합하게 되어 있습니다.
AT91SAM7S64(256)은 내부에 ARM7TDMI-S 코어를 사용하고 있습니다. 내부 장치로는 플래시 메모리 64(256)Kbyte, SRAM 16(64)Kbyte 를 내장하고 있으며 8채널 ADC와 USART, USB등의 주변 장치들이 내장되어 있습니다.
2. NTC SAM7S 개발 모듈/보드 소개
- ARM7TDMI 코어 AT91SAM7S64(256) 마이크로컨트롤러 모듈과 개발보드
- 1줄짜리 2.54Header Pin이 양쪽으로 22PIN씩 배치되어 있음.
- PA0-PA7, PA8-15, PA24-31, ADC Input이 10핀 Box 커넥터로 연결되어 있음.
- RS-232 통신포트 (Debug 포트, UART0), UART포트 (UART1)
- USB 커넥터, 3.3V 레귤레이터, Reset S/W, 전원 LED내장
- 크기 : 57mm * 32mm
Model |
Flash메모리 |
SRAM |
SM-SAM7S64 |
64Kbyte |
16Kbyte |
SM-SAM7S256 |
256Kbyte |
64Kbyte |
3. SM-SAM7S 모듈 H/W
4. 하드웨어 사용시 주의사항
1) 포트사용
본 모듈은 AT91SAM7S64(256)의 32개의 모든 포트를 외부 핀으로 연결 하였습니다. SM-SAM7S 모듈의 입출력 포트는 3.3V 입니다. 일부 포트는 특수기능으로 사용되기 때문에 사용상에 주의가 필요합니다.
포 트 |
용 도 |
PA0 |
모듈상의 LED 와 연결되어 있습니다. 0일 경우 LED가 켜지도록 되어 있습니다. 다른 용도로 사용하시려면 R311(330Ohm)을 제거하고 사용하시면 됩니다. |
PA1 PA2 PA3 |
SAM-BA 부트 로더를 불러오기 위해서는 전원을 넣을 때 PA0, PA1, PA2 가 모드 High 로 설정되어 있어야 하기 때문에 SAM-BA를 쓸 경우 해당 포트를 출력으로 사용하시기 바랍니다. |
PA5 PA6 |
시리얼 통신 포트로 사용하고 있습니다. 시리얼 통신 포트로 사용하지 않고 일반 포트로 사용할 경우 R317(330Ohm)을 제거하시기 바랍니다. |
PA9 PA10 |
디버그 포트로 사용하고 있습니다. 디버그 포트로 사용하지 않고 일반 포트로 사용할 경우 R306(330Ohm)을 제거하시기 바랍니다. |
PA16 |
SAM-BA 부트 로더에서 USB 컨트롤 용도로 사용하고 있습니다. 포트로 사용할 경우 R314 (0Ohm)을 제거하고 사용하시기 바랍니다. |
2) Dip S/W 설정
SAM-BA를 사용하려면 내부 ROM에 기록되어 있는 부트 로더를 프로그램 메모리로 복사해야 합니다. PA0, PA1, PA2 포트 입력이 High이고 TST 스위치가 ON 상태로 되어 있는 상태에서 전원을 인가해야 하며 이 상태로 10초동안 기다리면 부트 로더가 자동으로 프로그램 메모리로 복사 됩니다. 그 후 에 Reset 을 누르거나 전원을 껐다가 다시 인가하면 SAM-BA를 사용할 수 있는 모드로 들어가게 됩니다.Erase 스위치는 내부 프로그램 메모리를 지울 때 사용합니다. Erase 스위치를 ON 상태로 하면 내부 프로그램 메모리가 지워지게 됩니다. 일반적인 동작의 경우 모든 DIP 스위치는 OFF 쪽으로 향하고 있어야 합니다.
3) 전원 공급
본 모듈은 USB 전원을 이용할 수 있도록 설계되었습니다. USB 전원을 사용할 경우 과전류가 흐르면 PC가 다운되거나 고장 나기 때문에 사용시에 주의해야 합니다. USB를 통해 들어오는 전원에는 역전류를 방지하기 위한 다이오드가 연결되어 있습니다. USB 전원을 사용하지 않으실 경우 보드 뒷면에 장착되어 있는 D303 다이오드를 제거하시기 바랍니다. 보드에서 전원을 공급받을 경우 핀헤더 커넥터 중 5V 입력과 GND 입력에 전원을 인가하시면 됩니다. 3.3V 전원을 공급 받을 경우 필히 D303 다이오드를 제거해야 하며, 이 경우 5V 입력에는 전원을 공급하면 안됩니다.
5. SM-SAM7S 모듈 사용하기 (S/W 관련)
SM-SAM7S 모듈을 사용하기 위해서는 C언어 또는 어셈블리어로 프로그램을 작성하고 컴파일 한 후 보드에 다운로드 하여 동작을 테스트 해야 합니다. 따라서 소프트웨어 개발환경을 갖추는 것이 필요합니다. N.T.C에서 ADS 와 IAR 컴파일러를 이용한 강좌를 제공합니다. (추후 다른 컴파일러도 지원할 예정입니다.) 컴파일러를 이용하여 프로그램을 작성한 후 시리얼 케이블 또는 USB 케이블을 이용하여 다운로드 하거나 JTAG 장비를 이용하여 다운로드 후 디버깅을 할 수 있습니다.
1) 프로그램 작성 & 컴파일 하기
IAR 컴파일러
2) SAM-BA 를 이용하여 다운로드하기
SAM-BA 는 ATMEL 에서 제공되는 프로그램으로 SAM7 마이크로컨트롤러에 HEX파일이나 BIN 파일을 다운로드 할 수 있습니다. PC 와 USB 케이블 또는 시리얼 케이블로 다운로드 하기 때문에 별도의 장비 없이 칩에 프로그램을 할 수 있습니다. SAM-BA를 사용하려면 SAM7 마이크로컨트롤러에 SAM-BA 를 사용할 수 있는 부트 로더를 복사해야 합니다. SAM-BA 를 사용할 경우 디버깅 기능이 제공되지 않기 때문에 시리얼 통신을 이용하거나 다른 방법을 이용하여 디버깅을 해야 합니다.
3) JTAG 를 이용하여 다운로드 및 디버깅하기
IAR 컴파일러, ADS 컴파일러에서는 디버그 환경을 제공합니다. SM-WJTAG 또는 SAM-ICE JTAG 장비를 사용하면 디버그 환경을 사용할 수 있습니다. SM-WJTAG를 사용할 경우 H-JTAG을 설치해야 하며 SAM-ICE 장비를 사용할 경우 J-Link 프로그램을 설치해야 합니다. JTAG 사용 방법은 컴파일러마다 사용 방법이 다릅니다.
SM-SAM7S Module 핀 번호 (Top view)
'디지털회로 > AT91SAM7S256' 카테고리의 다른 글
한글입력하기 (0) | 2011.09.06 |
---|---|
AT91SAM7S256을 이용한 UART 통신설정 (0) | 2011.09.06 |
1~8번까지 순차적으로 LED 깜빡거리기 (0) | 2011.06.21 |
AT91SAM7S256 실행순서 (0) | 2011.06.21 |
Eflag 레지스터 구조 (0) | 2011.06.20 |