안녕하세요.
오늘은 잠시, 개발을 이어나가는 것을 멈추고
윈도우 기반 시리얼 통신 터미널 프로그램 사용법에 대해서 알아 보는 시간을 가지도록 하겠습니다.
여기서 '윈도우 기반 시리얼 통신 터미널 프로그램'에 말하는 시리얼 통신이라는 것은
직렬 통신을 의미합니다.
현재, 우리는 UART(Universal asynchronous receiver/transmitter)를 이용하여
노트북과 MCU(Micro Control Unit)과의 통신을 수행하려고 합니다.
참고로 이 글은 개발의 전체적인 내용을 연재하고 있는 글이 중에 하나입니다.
그래서, 앞에쓴 글을 보시면 더욱 도움이 되실것 같습니다.
아래 글을 링크 걸어둘께요. 필요하신 분은 한번 읽어 보세요.
(물론 이 글만 보셔도 크게 문제는 없습니다.)
1) 임베디드 SW, MCU에 대한 정리 (feat. 임베디드 SW 비전)
https://embeddedchallenge.tistory.com/210
2) MCU 개발 장비 구매 방법 정리 (인피니언 MCU TC275 Lite)
https://embeddedchallenge.tistory.com/211
3) 임베디드 SW 개발 환경 세팅 방법 정리 (소스코드 편집기, 컴파일러, 디버거 환경 설정 방법)
https://embeddedchallenge.tistory.com/212
4) 인피니언 IDE Tool 사용방법 정리 (프로젝트 생성 및 다운로드 수행)
https://embeddedchallenge.tistory.com/219
5) 인피니언 MCU LED Blinking (TC275 GPIO 설정)
https://embeddedchallenge.tistory.com/225
6) 인피니언 MCU Clock, 오실레이터 에 대한 이해 (TC275 보드에서 확인)
https://embeddedchallenge.tistory.com/226
7) 인피니언 MCU PLL 설정 및 주변기기 Clock 설정 (TC275)
https://embeddedchallenge.tistory.com/227
8) 인피니언 MCU 인터럽트/Interrupt 설정 (TC275 동작 확인)
https://embeddedchallenge.tistory.com/228
9) 스케줄링(scheduling)에 대한 정리, 인피니언 MCU Scheduler 설계 정리
https://embeddedchallenge.tistory.com/229
10) PWM이란 무엇인가? 인피니언 MCU를 이용한 PWM 설계 수행
https://embeddedchallenge.tistory.com/232
11) Motor Driver L298N 사용법 정리 (인피니언 MCU 개발)
https://embeddedchallenge.tistory.com/235
12) DC모터 드라이버 설계, RC카 전진,후진,회전 설계 (인피니언 MCU PWM, GPIO 설정)
https://embeddedchallenge.tistory.com/236
13) UART 통신 정리, UART 통신 MCU 설계 (인피니언 MCU)
https://embeddedchallenge.tistory.com/237
그러면, 계속 내용을 이어나가 보도록 하겠습니다.
1. '시리얼 통신 터미널 프로그램'은 왜 필요한 것일까?
저는 아래와 같이 MCU(인피니언 TC275)를 이용하여 자동차를 만들었습니다.
이제 자동차에 탑재된 MCU에게 다양한 명령을 주고 싶고,
자동차의 상태를 알리는 값들을 받아서 컴퓨터로 띄우고 싶습니다.
결국 통신을 수행하려고 하는 것입니다.
이때 지난 'UART 통신 정리, UART 통신 MCU 설계 (인피니언 MCU)' 글에서
MCU에 있어서의 통신에 대한 정의를 하였고,
다양한 통신기법중 UART를 설계하는 일을 수행하였습니다.
이제 노트북을 통하여 UART 통신 프레임을 맞추어 MCU에게 보내주면
MCU는 그 뜻을 알아 차릴것입니다.
그렇다면 노트북에서 어떻게 해야 UART 통신에 맞추어 전압형태로 MCU에게 전달할수 있을까요?
이때 필요한것이 바로 '윈도우 기반 시리얼 통신 터미널 프로그램' 입니다.
2. '시리얼 통신 터미널 프로그램' 종류 및 다운로드 방법
대표적으로 2가지 프로그램이 있습니다.
1) 테라 텀(Tera Term)
테라텀은 시리얼 통신 터미널 프로그램 중 가장 많이 사용하는 오픈소스 프로그램입니다.
일본의 테라니시 타카시에 의해서 개발된 프로그램입니다
아래와 같이 생겼습니다.
무료 프로그램이기 때문에 무료로 다운로드 가능합니다.
아래 사이트에 접속해 주시기 바랍니다.
https://tera-term.softonic.kr/
그리고 아래와 같이 다운로드를 눌르셔서 다운받고 설치하시면 됩니다.
Teraterm은 바로바로 직접적으로 입력을 줄수 있는장점이 있습니다.
하지만 미리 약속된 연속된 신호를 주기가 좀 어렵습니다.
그래서 허큘리스 프로그램을 이용하시면 조금도 연속된 신호를 전달하기 편합니다.
이 내용은 제가 아래에서 사용하는 과정에서 다시 이야기 드리도록 하겠습니다.
2) 허큘리스
허큘리스 역시 윈도우 기반 시리얼 통신 터미널 프로그램입니다.
당연히 무료이고요.
또한 시리얼 뿐만 아니라 tcp, udp 서버 클라이언트 기능도 제공해 주고 있습니다.
그리고 가장큰 장점은 아래 빨강색으로 친 입력값에 미리 연속된 입력값을 넣어 줄수 있다는 점입니다.
그래서 다양한 연속된 명령어를 미리 아래에 써놓고 발사를 시키면 쭉나가게 됩니다.
아주 큰 장점이라고 할 수 있습니다.
다운로드 방법은 아래와 같습니다.
아래 사이트로 들어가시기 바랍니다.
https://www.hw-group.com/software/hercules-setup-utility
그리고, 아래 빨강박스를 눌러스 다운받으시기 바랍니다.
3. Teraterm 사용방법 정리 (시리얼 통신)
우선 다시한번 전체 구성도를 올립니다.
먼저 USB TTL을 하나 구매하시면 편합니다.
1) MCU와 연결을 시켜줍니다.
물론 USB TTL Driver도 다운받아서 설치를 해야겠지요?
설치를 완료하고 Teraterm 프로그램을 실행하면
아래와 같이 시리얼 포트에 USB TTL이 들어가 있는것을 확인 할 수 있습니다.
2) 설정 -> 시리얼포트로 들어가셔서
UART 시리얼포트 설정을 수행합니다.
저는 9600bps (초당 9600개의 비트를 발사)의 통신속도에
데이터는 8비트, 패리티비트는 사용하지 않을겁니다.
스탑비티는 1개만 사용할 것입니다.
3) MCU와 라인을 연결시켜줍니다.
4) 이제 Teraterm에 a를 입력해 주세요.
이제 USB to TTL로 전압레벨을 UART가 인식할수 있는 3.3V로 변경이 되어
MCU로 타고 올것입니다.
이부분을 제가 Logic Analzer로 캡쳐해 보도록 하겠습니다.
1/9600 = 104us 입니다.
위의 시간을 살펴보면 동일하게 104us가 나오고 있는것을 알수 있습니다.
즉 하나의 비트를 표현하는데 필요한 시간은 104us임을 알수 있습니다.
먼저, Teraterm을 통하여 노트북 키보으의 'a'를 눌렀고
Rx 라인을 타고 MCU로 도착하였습니다.
그리고 MCU에서 코드를 받게 되면 바로, UART Tx라인으로 'a'를 전송하도록 코딩을 하였습니다.
그래서 아래와 같이 'a'가 나오는 것을 확인 할 수 있습니다.
이제 Teraterm을 이용하여 다양한 정보를 MCU로 전달 할 수 있게 되었습니다.
4. 허큘리스 사용법 정리
1) 우선 MCU는 위와 같이 동일하게 연결시켜 주고
허큘리스 프로그램을 실행합니다.
Serial을 누르시고,
설정을 하시고
Open을 눌러서 연결을 합니다.
2) 이제 아래와 같이 포트가 연결됨을 확인하고
연속된 값을 써주세요.
abc라는 아스키코드 3개를 연속으로 써주세요.
그리고 Send를 누르면 연속된 abc라는 값이 발사하여 나가게 됩니다.
3) 아래 캡처한것을 보면 abc가 나가는 것을 확인 할 수 있습니다.
위와 같이, Teraterm에 비해서 연속된 값들을 보낼수 있는 장점이 있기 때문에
저는 허큘리스와 테라텀 2개를 이용하여 UART 동작을 수행할 것입니다.
이상으로 Teraterm, 허귤리스 시리얼 통신 터미널 프로그램 사용법, 다운로드 방법을 마치도록 하겠습니다.
다음장에서는 조금더 다양한 UART설정을 통해서, UART 기능을 분석해 보도록 하겠습니다.
감사합니다.
'Embedded SW > [Infineon] TC275 Lite Project' 카테고리의 다른 글
UART 통신 MCU Driver 초기화 설계 및 동작 확인 (Tx, Rx Interrupt) (1) | 2021.12.02 |
---|---|
Logic analyzer 사용법 (saleae 로직 분석기 사용법 정리) (0) | 2021.11.30 |
UART 통신 정리, UART 통신 MCU 설계 (인피니언 MCU) (0) | 2021.11.27 |
DC모터 드라이버 설계, RC카 전진,후진,회전 설계 (인피니언 MCU PWM, GPIO 설정) (1) | 2021.11.26 |
Motor Driver L298N 사용법 정리 (인피니언 MCU 개발) (2) | 2021.11.26 |
댓글