페이지

글목록

2016년 1월 20일 수요일

[PSOC] PSOC5LP(CY8C5268) 에 USB UART 연결 테스트

안녕하세요, 이번에는 USB UART(VCOM) 을 다뤄 보려 합니다.
USB는 쓰기 어려울 거라 생각하고, 계속 안쓰다가 이번에 더이상 확장할 통신 포트가 없어서 에라 모르겠다하고 하드웨어를 설계해 버렸습니다.

그런데 써보니 정말 좋습니다. 오늘 하루 몇시간 만에, USB UART 와 USB Bootloader , USB Bootloaderble App 까지 테스트를 다 해봤습니다.

테스트는 간단하게 끝났지만, 여기에 글을 올리는 시간이 몇배는 더 걸리는 것 같습니다.

일단은 첫번째로 USB UART 테스트에 관한 글을 올려봅니다.

먼저 PSOC 중에서 USB가 있는 MCU를 준비합니다. 
저는 PSOC-5LP 계열의 MCU를 준비했습니다.
물론 USB 콘넥터를 제대로 연결해야 겠지요. +5V, GND, DM, DP 를 USB 케이블에 연결해 둡니다.

[USB cable 연결]



[PSOC-5LP 의 USB 연결 회로도]


이렇게 USB 케이블을 연결했으면 일단 컴퓨터의 USB 포트에 꼽아 두십시요. 꼽으면 USB 포트로부터 +5V를 받아서 PSOC이나 ㄷ다른 IC에 공급할 3.3V 전원도 LDO 레귤레이터에 의해서 공급됩니다.

그럼 다음으로 USB UART 예제 프로그램을 불러와서 프로젝트를 만들어 보겠습니다.



우선 다음 그림과 같이 File-New-Project 순으로 클릭하시면 프로젝트 만들기 메뉴가 나옵니다.


개발키트로 테스트 하는 것이 아니고 회사 프로젝트로 만든 보드로 테스트 하는 것이므로 다음 그림과 같이 Target device 를 선택합니다.


다음으로 코드 예제를 import 할 것이므로 Code Example을 선택하고 Next로 갑니다.



코드 예제가 너무 많으므로 usb 로 검색을 해보면, USB UART 예제가 있으니 선택하고 Next로 갑니다.



필요시에 폴더를 새로 만들거나 지정해서 프로젝트 만들기를 마무리 합니다.




자, 이제 프로젝트가 만들어 졌네요. ^^.


그런데, 제게는 LCD가 없네요. TopDesign.cysch 에서 LCD 삭제합니다.





그런데, PSOC-5LP로 프로젝트를 만들면 기본으로 제가 쓰는 PSOC 모델이 아닌 것이 선택되네요. 그래서 project-Device select 메뉴에서 적당한 PSOC-5LP 장치를 선택합니다.

아... 이런, 옆에 Resource Meter는 컴파일을 다 해야지만 결과가 나오는데, 먼저 붙여 버렸네요. 이 그림을 붙여 넣은 이유는 USB UART 를 사용하는데 UDB가 전혀 안들어간다는 사실을 알려 드리기 위함입니다. 그냥 아주 좋은 통신 포트를 공으로 1개 얻었다 생각하시면 됩니다. ^^


[PSOC Device Select]



다음으로는 아까 LCD 콤포넌트를 지웠기 때문에 예제 소스 코드에 남아있는 LCD 관련 코드에서 컴파일 시에 에러가 날겁니다.
예러를 없애야 하는데, 이상태로 컴파일을 해버립시다. 그러면 에러가 나죠?


다음처럼 에러가 난 부분을 // 로 주석처리해서 다 막아버리세요.


그리고 나서 다시 컴파일을 하면 에러가 싹 사라지고, 에러 없이 컴파일이 완료 됩니다.
에러가 없으므로 3번 프로그래밍 아이콘 버튼을 눌러 프로그램을 PSOC에 다운로드 합니다.
물론 JTAG를 연결한 상태로 하셔야겠죠. ^^



다운로드 되면 바로 프로그램이 실행 되는데, 띠용 소리 나면서 디바이스 드라이버를 자동으로 찾아서 가상 시리얼 포트가 잡힙니다.
Cypress USB UART(COM24) 로 잡혔군요. 프로그램 잘 동작하는 것 같습니다. ^^



어떤 때는, 드라이버가 자동으로 안잡히는 분들이 있을 겁니다. 이 때는, " C:\Program Files (x86)\Cypress " 경로로 드라이버 찾기를 지정해 주면 알아서 찾아 깔아 주고 USB UART 가 잡힐 것입니다.


이 프로그램은 Rxd 로 데이터를 받으면 Txd로 그대로 ECHO 해 주는 프로그램이라서, 터미날을 1개 열어서 해당 COM PORT에 연결한 후, 데이터를 보내보면 에코로 돌아오는 것을 볼 수 있습니다. 예... 프로그램 아주 잘 돌아가고 있네요.


또 하나, USB 니까 속도도 빠르겠죠? TERA TERM 터미날 프로그램의 최대 속도인 921.6Kbps로 설정을 바꿔봤습니다.



데이터를 키보드로 두드려서 보냈더니 echo가 제대로 오는 것을 볼 수 있네요.
^^ 당신은 거의 1Mbps 속도의 UART를 득템하셨습니다.

댓글 없음:

댓글 쓰기