티스토리 뷰

Hardware

CYPRESS FX2 소개 및 기본회로

알 수 없는 사용자 2008. 3. 17. 13:09

출처 : http://muosys.egloos.com/48695

 

자 드디어 본격적으로 강좌로 들어가 보자.
처음 우리가 강의에 사용할 칩은 CYPRESS의 EZ-USB FX2칩(CY7C68013-56PVC)이다.
FX2칩은 128핀, 100핀, 56핀 버전이 있는데, 이 강의에 사용할 칩은 56핀 버전이다.
이 버전이 다른 두 버전과 다른 점은 I/O 포트의 수에 있다.
100핀 버전은 56핀 버전에 비해 2쌍(16핀)의 I/O 포트, UART 포트와 기타 등등의 핀이 추가되어 있고,
128핀 버전은 100핀 버전에 외부메모리를 붙일 수 있는 어드레스와 데이터 핀들이 추가된 것이다.
이 세 버전의 칩들은 I/O 핀 개수만 다르고 코어는 동일하기 때문에 56핀 버전으로 작업한 펌웨어를 수정 없이 100핀이나 128핀에서 동작시킬 수 있다.
왜 FX2칩을 처음 강의 재료로 택했는가 하면,
제일 큰 이유는 이 칩을 사용해 USB 장치를 구현하기 위해 필요한 학습량이 비교적 적기 때문이다.
본좌가 앞서 강의에 분류한 첫 번째 카테고리의 칩(SIE 기능만 가진 칩)으로 USB 장치를 만들려고 하면 USB 프로토콜을 상세하게 알고 SIE를 제어해 주어야 하지만,
FX2 같은 경우에는 우리가 필요로 하는 기능 구현에만 집중할 수 있도록 많은 부분을 하드웨어적으로 자동화 하거나, 라이브러리를 지원하고 있다.
처음 부터 과도한 학습량은 의욕감퇴를 일으킨다.
따라서 이 칩이 첫발을 내딛는데는 적합하다는 생각이 든다.
그렇다고 이 칩의 기능이 다른 칩들에 비해 떨어지는 것은 절대 아니다. 이 칩으로 하드디스크 UDMA 장치를 구성할 수도 있을 만큼 강력하다.
두번째 이유는 이 칩을 많이들 쓴다는 것이다.
많이 쓰는 칩은 당연히 구하기도 쉽다.
이제 우리가 사용할 56핀 짜리 FX2 칩의 사양을 살짝 밟고 넘어가 보자.
Array(행자들은 데이터시트를 다운 받아 참고하길 바란다.)
칩의 코어는 최대 48MHz에서 구동하는 8051 코어를 사용하고, USB 2.0/1.1을 지원한다.
펌웨어는 외부 EEPROM이나 USB를 통해 다운받아 구동된다.
GPIF(General Programmable Interface) 엔진을 가지고 있다. (이 부분에 대해서는 나중 강의에서 설명한다. 지금은 그냥 이런 게 있구나 하고 알고만 넘어간다.)
코드와 데이터를 위한 8 Kbytes의 램을 가지고 있으며,
데이터만을 저장할 수 있는 512 byte의 램,
USB 데이터를 위한 버퍼로 사용하는 7.5 Kbytes의 FIFO를 가진다.
뭐 기타 등등 많은 잡다한 사항들은 행자들이 데이터시트를 펼쳐보면 알 수 있고,
여기서는 이 정도만 알면 충분하다.
본좌 USB 장치를 위한 펌웨어 강좌를 한다고 해놓고 이제까지 USB 프로토콜에 대한 이야기는 한마디도 하지 않았다.
USB모드는 Control, Interrupt, Bulk, Isochronous가 있으며 등등등
하는 내용의 자료는 인터넷에 널렸다.
이미 널린 내용을 본좌 왜 아까운 시간을 써가며 또 카피해야 하는가?
따라서 본좌의 강좌는 다짜고짜 실전으로 들어간다.
여러 행자들이 목말라 하던 것도 바로 그것이라 본좌 맘대로 상상해 본다.
여기서 잠깐 .
본좌의 강좌를 차근차근 따라오면 훌륭하게 동작하는 USB 디바이스를 몇 개 만들 수 있다.
그러나 그게 다가 아니다.
본좌의 강좌는 참고서와 같은 것이다. 교과서 없이 참고서만 공부하면 대학 수석 할 수 있나?
예로부터 대입수석들이 강조하듯이 교과서 위주로 공부해야 좋은 결과를 낼 수 있다. (뻥인가?)
여하튼. 본좌의 강좌는 참고서이므로 여러 행자는 교과서를 따로 공부해야 새로운 제품을 디자인하고, 문제를 해결하는데 어려움을 겪지 않을 것이다.
우리 공돌이들의 교과서는 바로 Specification과 Datasheet이다.
꼬부랑 글씨로 써있는데다가 페이지수도 장난이 아닌 이것들을 줄그어가며 읽을 필요까지는 없고,
문제가 생겼을 때 어디를 참고해야 하는지 알 정도로는 본좌가 앞으로 제시할 자료들을 설렁설렁 읽어보기 바란다.
물론 시간도 남고 정력도 남아도는 행자들은 꼼꼼히 다 읽어보길 권한다.
나중엔 큰 도움이 된다.
펌웨어를 공부하려면 하드웨어가 필요한 것은 당연지사.
자 이게 바로 우리가 작업할 하드웨어의 회로도이다.
(행자들의 해상도에 따라 그림이 깨져 보일 수도 있다. 그림을 클릭하여 크게 보거나, "다른 이름으로 그림 저장"을 한 후 보시라)

Array

마이컴이 뭐 별건가?
리셋회로 달아주고, 클럭과 전원 넣어주면 지가 알아 동작한다.
이제부터 여기에 필요에 따라 구성을 부가하면서 강좌를 진행할 것이다.

'Hardware' 카테고리의 다른 글

GoStream Plus DataSheet  (0) 2008.03.18
회로분석 그리고 Auto Enumeration  (0) 2008.03.17
[펌] Intel 80386 Protected Mode  (0) 2008.03.13
임베디드 시스템의 개요  (0) 2008.03.11
DisplayPort  (0) 2008.02.20