Microsoft PowerPoint - 6. UART통신 사용.ppt [호환 모드]

Similar documents
2주차: 입출력 제어 복습

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

BY-FDP-4-70.hwp

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

Microsoft PowerPoint - Chapter 8_USART Serial Communication

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

Install stm32cubemx and st-link utility

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog

Microsoft Word - Armjtag_문서1.doc

SIGIL 완벽입문

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ADP-2480

목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기

개요

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Microsoft PowerPoint - STM32_LCD보드.ppt [호환 모드]

<4D F736F F F696E74202D20342EBACEC6AEB8F0B5E520B9D720C7C3B7A1BDC3B7D220C7C1B7CEB1D7B7A52E BC8A3C8AF20B8F0B5E55D>

(8)

PowerPoint 프레젠테이션

Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드]

Microsoft PowerPoint - ccs33_bios_PRD.ppt [호환 모드]

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드]


ISP and CodeVisionAVR C Compiler.hwp

Microsoft Word - STM32 BxCAN.doc

1

슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx


Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint - MonthlyInsighT-2018_9월%20v1[1]

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Mango-E-Toi Board Developer Manual

고급 프로그래밍 설계

Microsoft Word - AM-SLCD_시리얼 LCD_ 메뉴얼.doc

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

Index 1. Intro Install Connect Scratch 1.4 (Offline Editor) Scratch 2.0 (Online Editor) Connect f

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

JDK이클립스

Product Brief Manual

Microsoft Word - IRM9600x Spec.doc

(MHT-SB112\273\347\276\347\274\255.hwp)

카택스 비즈 관리자용 사용설명서 목차 사용 전에 시작하기 사용하기 설정하기 알아두기 훑어보기 차량 관리 운행내역 조회 부관리자 설정 자주묻는 질문 회원가입 사용자 관리 운행구간 조회 앱 권한 설정 GPS 오류 요인 부서 관리 운행일지 다운로드

!

AVR Atmega128

Microsoft Word - WGM-447Xx9 Spec_Transceiver_.doc

버퍼오버플로우-왕기초편 3.c언어에서버퍼사용하기 버퍼는 임시기억공간 이라는포괄적인개념이기때문에여러곳에존재할수있습니다. 즉, CPU 에도버퍼가존재할수있으며, 하드디스크에도존재할수있고, CD- ROM 이나프린터에도존재할수있습니다. 그리고앞의예제에서보신바와같이일반프로그램에도

Microsoft Word - EastSocket매뉴얼_ _.doc

OCW_C언어 기초

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

PowerPoint 프레젠테이션

<4D F736F F D20B0B3B9DFC8AFB0E65FB4D9BFEEB7CEB5E55FB5F0B9F6B1EBBCB3C1A42E646F63>

XGK Series CPU Direct

TITLE: Education LK Development Team Status S/N Revision V0.1 Date 2011 /08/09 Doc LK임베디드 LK-STM32-M Manual ST-STM32F 모듈매뉴얼 (Model: LK-STM32-M V01) WW

뉴티씨 (NEWTC) ATmega8 교육용모듈 (Model : AM-8PL ) 메뉴얼 ( 주 ) 뉴티씨 ( NEWTC ) 1. ATmega8 모듈 (AM-8PL) 소개 ATmega8 칩을

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Web Scraper in 30 Minutes 강철

Microsoft PowerPoint - 10.CAN통신사용.ppt [호환 모드]


임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

DSP_MON 프로그램 메뉴얼

AnyTouch V8, V7 Plus Series 최상의연결성과편리성

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

<4D F736F F D20B1E2BCFAC0DAB7E1202D20454F435220B8F0B5E5B9F6BDBA20C5EBBDC5C1A6C7B020BBE7BFEBB9FD202D F302E646F63>

PowerPoint 프레젠테이션

STM32F2xx 시리즈의특성 Core: ARM 32-bit Cortex -M3 CPU with Adaptive real-time accelerator (ARTAccelerator ) allowing 0-wait state execution performance fro

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Nordic Chipset BLE Test Application Note

Microsoft PowerPoint - avr_bootloader.ppt

Microsoft PowerPoint - avr_lecture1.ppt

© Rohde & Schwarz; R&S®CDS Campus Dashboard Software

MAX232 MAXIM사에서생산되는 RS-232통신을가능토록해주는송수신 IC이다. 송수신드라이브를각각 2개씩가지고있다. AVR과컴퓨터가인식하는 0과 1의값이다르기때문에.. 마이컴컴퓨터 이차이를해결해주는것이다. 0 0V -10V 1 5V 10V TTL IC 의전원단자와다

AVSHH100B10 IM.~20.

Microsoft Word - PEB08_USER_GUIDE.doc

<4A4B49542D D312DBBE7BFEBC0DABCB3B8EDBCAD2E646F63>

Microsoft PowerPoint - chap04-연산자.pptx

SBR-100S User Manual

CANTUS Evaluation Board Ap. Note

<4D F736F F F696E74202D20325FBEC6B5CEC0CCB3EB20B1E2C3CABDC3C7E82E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - SY-A3PSK-V1.pptx

CAN-fly Quick Manual

IAR_IDE_LM3S8962_Config_v3.doc

Microsoft Word - WAM-4xxXSS Spec_Transceiver_.doc

미술(지)15(266~292)_1ee

<BDC7C7E83720BFB9BAF1BAB8B0EDBCAD2E687770>



마이크로시스템제작 lecture1. 강의소개및 MultiSIM 선덕한 마이크로시스템 1

Chapter #01 Subject

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

PowerPoint 프레젠테이션

Microsoft Word - 컨버터_2.3.doc

Microsoft Word - codevision사용법_pdf버전.docx

hd1300_k_v1r2_Final_.PDF

Transcription:

강좌 <6a>: UART 통신사용 본강좌에서는좀더원칙적인방식으로예제실습에접근해봅니다. ST사의최신자료를다운로드하여수정사용작성일자 : 2010.5.26 목표 : 이번강좌에서는비동기 (UART) 통신에대해서다루어봅시다.UART 통신동작의이해는여러응용장치를만드는데, 매우필요한기술로각종설정, 표 시, 저장장치의응용, 각종센서류와의인터페이스, GPS, RF 장치등여러곳에서비동기통신기술을필요로합니다. 비동기통신처리방법이플래그체크에의한 Polling 방식, 인터럽트사용방식, DMA 사용방식등다양하고, 프로그램작성하는사람마다스타일이달라서기술동냥하여한수배우려해도이해하는데시간도많이걸리고, 이프로그램이좋은프로그램인지좀의심이가기도하고, 아무튼초보입장에서는기술을좀습득하는데배고프고, 머리아프고그렇죠? 그러면 MCU 학습의정통코스는무엇일까? 생각해봅니다. 처음시작할때, 간단한보드와컴파일러를입수하고, 떠다니는예제를여기저기서가져다가사용하려하니, 버전도다르고이해도좀안되고 그래서이번강좌에서는나름대로정통학습코스라생각하는방식으로접근해보겠습니다. 가장최신의자료는소자를만드는회사에서찾아야할것같습니다. 소자데이터시트를비롯하여, 각종응용기술자료, 에러리스트, 최신의라이브러리등을웹상에올려놓을것같습니다. 그뒤에컴파일러회사에서예제자료로사용되고 물론자료에버그는있을수있는데, 각종동호회나포럼에서무언가잘동작안하는게있다라는정보가다시나타나겠죠? 본강좌에서는 ST 사의 STM32 를중심으로진행하므로먼저 ST 사의홈페이지를방문하여최신자료를가져와작업해보도록하겠습니다. 먼저 http://www.st.com/mcu/familiesdocs-110.html 에방문하여자료를대충살펴보고, 필요한자료 ( 데이터시트, 관심있는응용자료, Tool 자료, 라이브러리자료를가져다본인의컴퓨터에저장합니다. 특히이번강좌에서진행할통신강좌는아래의 STM32F10x 의표준주변장치자료를사용하여진행해보독하겠습니다. 자료가 2010 년 4 월에나온버전 3.3 으로비교적최신자료네요. 자료를받는방법은잘아시죠? 압축파일을마우스로누르면, 별다른등록없이아래와같이바로다운받을수있네요. ~ 야 ~~ 호 ~~ 1

STM32F10x 표준주변장치라이브러리및예제살펴보기 다운로드된자료의압축을풀어보니최신의라이브러리와각종장치의예제가보이시죠? 앞으로할일이많이생겼다는 즐거움? 고통? 다운로드된자료의압축을풀어보니최신의라이브러리와각종장치의예제가보이시죠? 개발환경도여러업체를고려하여 5가지나제공해주는군요. 본강좌에서는 IAR를사용하므로 EWARMv5를참조하시고 이번강좌에서살펴볼 UART 예제도아래와같이여러예제가있네요. 2

개발환경및기타검토내용 제공된예제에서는 ST 사의 4 가지평가보드를사용하여진행하고있는데, 이러한평가보드를가지고계신분은그보드를사용하여예제를진행하면훨씬편하게예제를진행할수있겠지요. 하지만저가의 ARM 모듈하나가지고있는현시점에서, 언제기다려서평가보드를사기도번거롭고하여, 프로그램을조금수정하여사용하기로마음먹고, 진행합니다. 열악한환경에서짜깁기하면서공부하는것이실력이더늘수도있겠지요? 하지만시간도돈이므로, 급히제품개발을해야하는분은그냥평가보드사달라고하여사용하세요. 별로비싼거같지는않아요. 참조 : 개발자의상식 ST 사의 4 종류의평가보드 평가보드관련회로도등자료도 ST 사의웹에서다운가능합니다. 참고자료내용중에아래와같은문구도있는데, 업체에서제공한프로그램을난그대로사용했는데, 장비가오작동하여손실이발생했다. 해당업체가배상하라!!! 하지마라는거죠. 제공된자료들은응용업체의시간을절약해주기위해참고로제공하는것이므로사용자가충분히수정보완사용하시라는 IAR 개발환경의설정및사용방법에대해서는이전강좌를참조하시거나관련매뉴얼을가지고별도공부가필요합니다. 프로젝트관리파일들 링크커맨드파일 기존파일내용 : 사용하시는 ARM 의종류에따라플래시롬및 SRAM 크기가다르므로조금조정하여사용바람, 수정을위해서데이터시트의메모리맵도살펴보면서연구해보세요 3

통신예제수정사용 본예제의 4 가지방식을잘이해하여사용하면통신제품개발에많은도움이될수있습니다. 프로세서시간활용면에서폴링방식보다인터럽트방식 ( 송신까지 ) 사용을권장합니다. 제공된각예제중에먼저 4가지예제에대해서수정사용해보겠습니다. Ex06a: 플래그체크에의한폴링방식, UART1 에서데이터를송신하고, UART2 에서데이터수신, 시험을위해 1 개의통신선연결필요 Ex06b: UART1 및 UART2에서인터럽트방식으로각각송출, 2개의신호선교차연결필요. Ex06c: DMA와 Polling 방식으로데이터전송 Ex06d: DMA와인터럽트방식으로데이터전송예제디렉터리 : ST사의 USART 관련제공예제들 통신설정 : Bps: 115200 Data: 8 Stop: 1 Parity: No 오실로스코프로파형관찰및톹신터미널프로그램을접속하여데이터관찰가능 개발환경은 : 통신시험이므로 JTAG 를사용하는것이더좋겠죠. 통신포트를사용하므로 수정된 4가지방식통신예제 본예제시험에 STM32F103R8 소자를사용했음. 4

통신예제실행관찰 시험에사용된보드 : UART1, UART2 단자있음 통신포트는 UART1 ( 프로그램에서 USARTy 표시 ) 과 UART2 ( 프로그램에서 USARTz 표시 ) 를사용하여실험하였는데, 가지고계신보드에맟추어포트및레벨을수정사용하시면됩니다. ST사에서제공된통신예제를잘이해하여, 사용자가필요한몇가지함수를더추가하여사용하시면응용제품에충분히만족스럽게사용가능합니다. 폴링방식보다는인터럽트방식 (DMA는사용은호환성면에서불리 : 타사소자에기능이없는경우 ) 사용을권장합니다. 폴링처리방식 : 터미널로데이터관찰폴링처리방식 : 통신파형관찰 (RS232 레벨 ) 인터럽트방식 : TX, RX 신호통신파형관찰 (RS232 레벨 ) 인터럽트방식 : 터미널로데이터관찰 5

STM32 USART 살짝살펴보기 USART 구성도 STM32 의 USART 는많은채널수제공 (3 ~ 5 채널 ), 높은 bps(4.5mbps), DMA 지원등장점이많은데, 특히마음에드는것은다른 USART 에비해 BPS 에러율이비교적적다 (8MHz 클럭으로 ) 는점이지요. RS485 통신의 TXENABLE 핀을잘제어하려면 TC 인터럽트도잘활용하시면됩니다. 다른 MCU에비해서 bps 에러율을획기적으로줄이는비법이여기에있네요 4비트를소수점이하로다룬다는 ( 나만이제야아는건가???) 6

STM32 USART 통신 bps 검토 Bps 계산공식 USART 통신 bps 테이블 : Fck bps USARTDIV Mantissa Fraction Fra*16 Fra_adj USARTDIV_set bps_real % err 72000000 1200 3750 3750 0 0 0 3750 1200 0 72000000 2400 1875 1875 0 0 0 1875 2400 0 72000000 4800 937.5 937 0.5 8 8 937.5 4800 0 72000000 9600 468.75 468 0.75 12 12 468.75 9600 0 72000000 19200 234.375 234 0.375 6 6 234.375 19200 0 72000000 38400 117.1875 117 0.1875 3 3 117.1875 38400 0 72000000 57600 78.125 78 0.125 2 2 78.125 57600 0 72000000 115200 39.0625 39 0.06250625 1 1 39.0625 115200 0 72000000 230400 19.53125 19 0.53125 8.5 8 19.5 230769.2308 0.16025641 72000000 460800 9.765625 9 0.765625 12.25 12 9.75 461538.4615 0.16025641 72000000 921600 4.8828125 4 0.8828125 14.125 14 4.875 923076.9231 0.16025641 72000000 1000000 4.5 4 0.5 8 8 4.5 1000000 0 Bps 계산공식을사용하여엑셀로아래와같이표를작성해보았습니다. 8MHz 클럭을 9배로증분하여 72MHz로동작하여통신에러율을걱정하였는데, 놀랍게도거의에러가없다는사실. 그비법은 BRR 레지스터 STM32F103 구성도를잘살펴보면 72MHz 까지동작하는 APB2에 USART1이배치되어있고, 36MHz까지동작하는 APB1에 USART2, USART3이배치되어있으므로이점을고려하여사용. 따라서 UART1이더고속까지가능하겠네요. Fck bps USARTDIV Mantissa Fraction Fra*16 Fra_adj USARTDIV_set bps_real % err 36000000 1200 1875 1875 0 0 0 1875 1200 0 36000000 2400 937.5 937 0.5 8 8 937.5 2400 0 36000000 4800 468.75 468 0.75 12 12 468.75 4800 0 36000000 9600 234.375 234 0.375 6 6 234.375 9600 0 36000000 19200 117.18751875 117 0.1875 3 3 117.18751875 19200 0 36000000 38400 58.59375 58 0.59375 9.5 9 58.5625 38420.49093 0.053361793 36000000 57600 39.0625 39 0.0625 1 1 39.0625 57600 0 36000000 115200 19.53125 19 0.53125 8.5 8 19.5 115384.6154 0.16025641 36000000 230400 9.765625 9 0.765625 12.25 12 9.75 230769.2308 0.16025641 36000000 460800 4.8828125 4 0.8828125 14.125125 14 4.875 461538.4615 0.16025641 36000000 921600 2.4414063 2 0.44140625 7.0625 7 2.4375 923076.9231 0.16025641 36000000 1000000 2.25 2 0.25 4 4 2.25 1000000 0 USART_BRR 레지스터 : 일반적으로많이사용하는 1200 ~ 115200에서에러율이거의 0% 이고, 921600bps 및 1Mbps 에서도에러율이적어요. 만족. 4 비트소수점이하처리가능에러율저감비법 7

통신처리방법검토 송수신처리방식은응용제품기능이나, 프로그래머의취향에따라여러가지통신처리방식이있을수있겠지요. RS438 의 TXENABLE 처리문제송신및수신처리방식등. 각자좋아하는방식으로충분히검토하시어처리하시면되겠지요. 통신방법은가급적 MCU 의처리효율및프로그램자유도를높이기위해서인터럽트처리방식을사용하는것이좋겠지요. 송신동작검토 : 보내려는문자열버퍼에저장 RS485 통신소자 : 75176 구성도 송신인터럽트에서마지막문자까지전송 RS485 통신의송신 Enable 제어처리문제 : RS485/422 방식으로통신을할때, 아래그림과같이 TXEN 신호를제어해주어야하는데, 제어를잘못하는경우에마지막문자가전송되지않을수있습니다. 오실로스코프로잘관찰하여마지막문자까지잘전송되도록 TXENABLE 신호를제어해주어야함 송신링버퍼검토 TXD 신호 송신데이터문자열 수신동작검토 : TXEN 신호 송신 Enable 송신 Disable TXD 신호 TXEN 신호 송신데이터문자열 송신 Enable 송출되지못한데이터 송신 Disable 상태를이동하면서처리 8