본문으로 바로가기

ARM7 테스트보드를 위한 회로구성

category Hardware/MCU 2009. 4. 15. 07:53

(이번에는 간단히 ARM7-보드를 만들기 위해 꼭 필요한 주변회로들을 보도록 하겠습니다. 윤덕용 교수님의 OK7S256 ver1.0 KIT에서 필요부분을 가져와서 만들도록 하죠. 어차피 본 메뉴의 교재가 윤덕용님의 책이니까요^^. 아래 글의 모든 회로는 윤덕용 교수님의 ARM7TDMI AT91SAM7S256에 수록된 회로이며, 설명또한 직접발췌를 제외하고서도 모두 책의 내용을 편집한 것입니다.)


제가 뭐 만든다는 건 아니고, 그래도 CPU를 하나 테스트하고 향후 사용하겠다는건데 자기가 만든 보드가 하나는 있어야하지 않겠습니까...^^ 그러나 지금 제가 가지고 있는 것은 트레이닝키트고 해서 윤덕용님의 OK보드에서 필요부분을 발췌하도록하겠습니다. 먼저 메인모듈은 (설마 AT91SAM7S256 자체를 일일이 납땜하겠다는 사람은 없을테니)  OK-7S256 보드를 사용하도록하죠.


(그림1)
그림1은 ohm사에서 판매하는 OK-7S256입니다.


(그림2)
그림2는 그림1의 회로도입니다.
특이할만한 사항은 없으며 몇몇 경우만 본다면

X1이 있는 수정발진회로부분을 보죠
18.432MHz를 사용하고있는게 보입니다.
이에 대해서, 윤덕용 님은 책에서

AT91SAM7S256에서는 XIN 및 XOUT 단자에 접속하는 수정발진자로 3-20MHz를 사용할 수 있으며, 마스터 클록으로는 55MHz 이하가 사용되어야 하고 USB 클록으로는 반드시 48MHz를 공급하여야 한다. 이와 같은 사양을 모두 만족시키려면 외부에 접속하는 수정발진자는 16MHz를 사용하는 것이 바람직하다. 그러나, CPU에 내장된 SAMBA 프로그램은 Atmel사의 평가용 보드에서처럼 18.432MHz를 사용하는 경우에만 동작하도록 되어 있으므로 만약 16MHz의 수정발진자를 사용하면 퍼스널컴퓨터가 USB포트로 AT91SAM7S256을 인식하지 못하며 따라서 USB 케이블을 통하여 사용자 프로그램 다운로드를 하는 것이 불가능하다. 하지만, DBGU를 사용하여 다운로드를 수행하는 경우에는 어떤 클록을 사용하더라도 이것이 RS-232C 통신을 수행하도록 되어 있으므로 16MHz의 수정발진자를 사용하더라도 아무 문제가 없다. 이러한 이유로 OK-7S256 키트에서는 USB 케이블과 DBGU를 통한 RS-232C 케이블을 모두 사용할 수 있도록 XIN 및 XOUT 단자에 18.432MHz의 수정발진자를 접속하여 사용하고 있다.
- 윤덕용님의 ARM7TDMI AT91SAM7S256으로 시작하기 p313 에서 발췌 -


(그림3)
위 그림3이 USB 통신부의 회로도입니다.
DDP는 1.5k저항으로 풀업하는 것이 일반적이나 USB를 이용한 통신을 사용하기 위해 PA16 출력과 트랜지스터로 스위칭할 수 있도록 합니다.
이는 SAMBA Boot 프로그램이 다운로드될때 PA16핀이 Low상태로 되었다가
다운로드가 완료되면 PA16이 High상태로 바뀌기 때문인데요.
USB를 이용한 프로그램 다운로드를 사용할 것이 아니라면, 그냥 1.5k저항으로 풀업만 시켜놔도 됩니다.


(그림4)
위 그림은 SAMBA 선택 스위치 부분인데요
SAMBA Boot 프로그램을 메모리에 로드할려면 수 초동안 TST=1을 유지해야한다고 하네요.
이를 위해 SW2를 이용해서 TST에 High를 인가할 수 있도록 하고 있습니다.
그러나, OK 보드에서는 그 수초를 사용자가 확인할 수 있도록
OP-AMP를 이용해서 LED3가 10초간 켜졌다가 꺼지도록 되어있습니다.


(그림5)
그림5는 RESET 스위치인데요. 좀 황당하죠?^^
AT91SAM7S256은 리셋입력단자인 NRST 내부에 10k저항이 풀업으로 연결되어있어서
그냥 그림5처럼 스위치만 달아주면 된다는 군요^^


(첨부1) 위 CN4에 연결되는 USB(B) 커넥터(DS1099-W USB B형)의 핀배치도입니다. (출처 디바이스마트)


그러나 뒷 면의 핀배치도는 없어요... 뭐 삽입구도 넓으니까 다 찍어봐도 되겠지만,

뒷 면을 봤을때, 커넥터 입구가 윗 방향이라면

                                                                 커넥터 입구방향
                                                                             |
                                                                 ------------------------
                                                                 |    3번         4번    |
                                                                 |    2번         1번    |
                                                                 ------------------------



(첨부2) 위 트랜지스터 BC560의 핀배치도입니다.




(첨부3) 위 LM358 (혹은 LM2904) 의 핀 배치도입니다.


'Hardware > MCU' 카테고리의 다른 글

Cortex M3 LM8962 왕초보 설치기.... 헉헉  (10) 2009.05.29
WinARM에서 작업폴더 바꾸기  (0) 2009.05.01
ARM7과 텍스트형 LCD  (0) 2009.04.15
외부 IO 핀 입출력 테스트  (2) 2009.04.15
ARM7 테스트보드를 위한 회로구성  (0) 2009.04.15
WinARM 시작하기 - 프로젝트 생성하기  (2) 2009.04.15
WinARM 설치하기  (2) 2009.04.15
SAM-BA 설치하기  (8) 2009.04.15

댓글을 달아 주세요