AN2629

Similar documents
AN2629

AN2629

API 매뉴얼

슬라이드 1

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

API 매뉴얼

Copyrights and Trademarks Autodesk SketchBook Mobile (2.0.2) 2013 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc.,

Product A4

AD K

00829A_SHR-6164-KOR.indb

T100MD+

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

BTSK

intro

PI ZH-CN

마리오와 소닉 리우 올림픽™

Chapter #01 Subject

IoT FND8 7-SEGMENT api

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

USB3-FRM13 API 매뉴얼

한아IT 브로셔-팜플렛최종

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper


2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

토익S-채용사례리플렛0404

mariokart_manual_pdf_2

KEY 디바이스 드라이버

Microsoft PowerPoint - es-arduino-lecture-03

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

PRO1_09E [읽기 전용]

vm-웨어-앞부속

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Oracle® DIVAnet - 보안 설명서

MPLAB C18 C

CAN 통신

CapTIvate™ 터치 기술과 초저전력 MSP430™ FRAM 마이크로컨트롤러로 멋진 HMI 만들기

thesis

슬라이드 1

untitled

#KM-250(PB)

화판_미용성형시술 정보집.0305

RVC Robot Vaccum Cleaner

Hardware Manual TSP100

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related

FD¾ØÅÍÇÁ¶óÀÌÁî(Àå¹Ù²Þ)-ÀÛ¾÷Áß

2009년2학기 임베디드시스템 응용

2002년 2학기 자료구조

Slide 1

커버컨텐츠

#KLZ-371(PB)

공급 에는 3권역 내에 준공된 프라임 오피스가 없었다. 4분기에는 3개동의 프라임 오피스가 신규로 준공 될 예정이다.(사옥1개동, 임대용 오피스 2개동) 수요와 공실률 2014년 10월 한국은행이 발표한 자료에 따르면 한국의 2014년 경제성장률 예측치는 3.5%로 지

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

USB3-DIO01

내용물 시작 3 구성품 4 MDA200 기본 사항 5 액세서리 6 헤드셋 연결 7 탁상 전화기: 연결 및 통화 8 탁상 전화기(표준) 8 탁상 전화기+ HL10 거치대와 전원 공급 장치(별도 구매) 10 탁상 전화기+ EHS 케이블 12 컴퓨터: 연결 및 통화 13 컴

1장. 유닉스 시스템 프로그래밍 개요

about_by5

사용시 기본적인 주의사항 경고 : 전기 기구를 사용할 때는 다음의 기본적인 주의 사항을 반드시 유의하여야 합니다..제품을 사용하기 전에 반드시 사용법을 정독하십시오. 2.물과 가까운 곳, 욕실이나 부엌 그리고 수영장 같은 곳에서 제품을 사용하지 마십시오. 3.이 제품은

ARMBOOT 1

Title

ISO17025.PDF

HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터

Index Process Specification Data Dictionary

#KM560

PowerPoint 프레젠테이션

강의지침서 작성 양식

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Microsoft PowerPoint - XP Style

Microsoft Word - PEB08_USER_GUIDE.doc

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

#KM-235(110222)

10X56_NWG_KOR.indd

AD K

1

Remote UI Guide

#KM-340BL

DW 개요.PDF

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

keyes_sik_only_christ.hwp

DVI-CL01 매뉴얼

CANTUS Evaluation Board Ap. Note

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

PRO1_16E [읽기 전용]

¿¡À̽º ÃÖÁ¾¿ø°í

: Symantec Backup Exec System Recovery 8:

歯AG-MX70P한글매뉴얼.PDF

ÀüÀÚÇö¹Ì°æ-Áß±Þ

DocsPin_Korean.pages

Ver. DS-2012.T3.DWS.STR-1.0 System Test Report for Digital Watch System Test Cases Specification Test Summary Report Project Team 이동아 Latest update on

<C1DF3320BCF6BEF7B0E8C8B9BCAD2E687770>

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 )

< FC1A4BAB8B9FDC7D D325FC3D6C1BEBABB2E687770>

°ø°³¼ÒÇÁÆ®-8È£

06_À̼º»ó_0929

step 1-1

Vol.258 C O N T E N T S M O N T H L Y P U B L I C F I N A N C E F O R U M

USB-AIO11 API

Transcription:

Tech Note STM32 ADC 펌웨어가이드 ( 타이머로 ADC 주파수설정 ) Introduction STM32 ADC 는다양하고복잡한기능을제공하기때문에사용자요구에맞는최선의방법을선택하기위해서는 ADC 의모드와특성에대한이해를필요로한다. 또한하드웨어트리거와 DMA 를함께운용하면소프트웨어로처리할때생기는복잡함과타이밍문제를간단하게해결할수있다. ADC 의특징을다음순서로설명한다. TNK0023 STM32 ADC 펌웨어가이드 ( 모드와특성 ) STM32 ADC 펌웨어가이드 ( 타이머로 ADC 주파수설정 ) Doc ID Rev 1.0 1 / 11

Contents 1 STM32 ADC 샘플링주파수... 3 1.1 타이머선택... 3 1.2 타이머 TRGO 선택... 4 1.3 타이머 Update Event 주기설정... 5 2 STM32 ADC 설정... 7 2.1 Scan conversion mode... 7 2.2 Continous conversion mode... 7 2.3 Discontinous conversion mode... 7 2.4 DMA continous requests... 7 2.5 DMA request settings : Circular or Normal... 7 2.6 Sampling time 과 conversion time... 7 2.7 External trigger conversion source and edge... 7 3 STM32 ADC 코드예시... 9 List of tables No table of figures entries found. List of figures Figure 1. Timer6 기능과 TRGO... 3 Figure 2. Timer1 기능과 TRGO (TRGO2)... 4 Figure 3. Timer6 TRGO Update Event... 4 Figure 4. Timer6 clock 도메인... 5 Figure 5. APB1 timer clock... 5 Figure 6. Timer6 세팅... 6 Figure 7. Timer 내부 clock 과 event... 6 Figure 8. ADC Setting... 8 Figure 9. ADC Trigger Setting... 8 Figure 10. ADC DMA Setting... 8 2 / 11 Doc ID Rev 1.0

1 STM32 ADC 샘플링주파수 만약어플리케이션레벨에서특정 ADC 샘플링주파수설정이필요한경우, 앞장에서설명한바와같이 APBx (PCLKx) clock 주파수를 ADC 내부의 prescaler 로나눈 ADC peripheral 주파수를가지고 ADC 채널에서설정한 sampling time 과 conversion time 으로다시거꾸로계산해서원하는 ADC 샘플링주파수를맞추기는힘들다. 이런경우, 타이머를원하는 ADC 샘플링주파수로설정하고 ADC 채널의 sampling time 과 conversion time 은해당타이머샘플링주파수보다빠르게 ( 일찍끝나게 ) 설정하면쉽게해결할수있다. 1.1 타이머선택 앞장에서설명했듯이 ADC 의하드웨어 external trigger conversion source 로타이머의 capture compare event 또는 trigger out event (TRGO) 를선택할수있다. STM32 의 basic 타이머 ( 예, 타이머 6, 타이머 7 등 ) 는 PWM, input capture, output compare 등의기능이없는단순한타이머로 TRGO 소스선택도단순하나, general purpose 또는 advance control 타이머 ( 예, 타이머 1 등 ) 의경우는기능도많고 TRGO 소스선택도여러가지로할수있다. 타이머에따라카운터크기를 16bit 또는 32bit 로다르게지원하므로이점도염두해두고단순한타이머인타이머 6 을선택한다 Figure 1. Timer6 기능과 TRGO Doc ID Rev 1.0 3 / 11

Figure 2. Timer1 기능과 TRGO (TRGO2) 1.2 타이머 TRGO 선택 예를들어 ADC 샘플링주파수를 1MHz 로해야되는경우, 타이머의 update event 를 1MHz 주기로발생하도록설정하고 TRGO 출력소스를 update event 로설정하는방법이가장간단하다. 타이머의 update event 인터럽트핸들러에서소프트웨어로 ADC 를 1 샘플씩시작하는방법은잦은인터럽트호출로인해비효율적이며타이밍문제도발생할수있으므로하드웨어 TRGO 방식을사용해야한다. 만약하나의타이머를 ADC 시작 trigger 외에다른용도로도같이사용할수밖에없다면 update event 는원하는샘플링주파수의정수배로느리게하고출력이없는 output compare 또는 PWM 모드를 1MHz 를만들어서 TRGO 로사용하는방법도고려할수있다. Figure 3. Timer6 TRGO Update Event 4 / 11 Doc ID Rev 1.0

1.3 타이머 Update Event 주기설정 타이머 6 을 1MHz 로만들기위해서타이머 6 이 APBx (APB1, APB2, ABP3) 의어느도메인타이머인지를데이터쉬트를통해서확인한다. 현재사용자가설정한 APBx timer clock 속도 (CK_PSC) 를확인하고타이머내부의 prescaler 을거쳐서분주된 clock (CK_CNT) 의주기를계산한다. 타이머카운터는 CK_CNT clock 에맞춰 1 씩맞춰증가 (up mode 의경우 ) 하다가사용자가설정한 Counter Period (AutoReload Register) 와동일해지면다음 clock 에타이머카운터는 0 으로 roll-over 되면서 update event 가발생한다. 아래의예는 TIM6 이 108MHz (CK_PSC) 로설정되어있고 prescaler 를거치면서 108MHz/(53+1) = 2MHz (CK_CNT) 로설정되고 Counter Period 가 1 로설정되었기때문에타이머카운터는 0 과 1 을반복하는나누기 2 배로느려진효과가되어서 1MHz 의 update event 신호를발생하게된다. Figure 4. Timer6 clock 도메인 Figure 5. APB1 timer clock Doc ID Rev 1.0 5 / 11

Figure 6. Timer6 세팅 Figure 7. Timer 내부 clock 과 event 6 / 11 Doc ID Rev 1.0

2 STM32 ADC 설정 앞에서타이머 6 이 TRGO 출력을 1 MHz 마다보내도록설정을하였으므로 ADC 는해당 TRGO 의 rising edge 마다 ADC 1 샘플링을시작하도록설정해야한다. ADC 1 샘플링 (Sampling time 과 conversion time) 은다음 TRGO 신호가오기전에끝내야하는점에유의한다 2.1 Scan conversion mode 여러채널을샘플링하는경우 scan 모드를 enable 하고한개채널만샘플링하는경우 disable 한다 2.2 Continous conversion mode 타이머의 TRGO 신호를받을때만샘플링시작을할예정이므로반드시 disable 한다 2.3 Discontinous conversion mode 타이머의 TRGO 신호를받을때만 1 샘플링씩할예정이므로 disable 한다 2.4 DMA continous requests DMA 를같이사용하는경우 enable 한다 2.5 DMA request settings : Circular or Normal DMA 를같이사용하는경우 circular 를선택하면 main 함수 while 루프진입전에 1 회 HAL_ADC_Start_DMA 호출후추가로 HAL_ADC_Start_DMA 을호출해줄필요가없이 DMA 가알아서다시사용자버퍼의 0 번째인덱스로돌아가서업데이트를하나 normal 을선택하면 HAL_ADC_ConvCpltCallback 을받고나서다시유저코드에서 HAL_ADC_Start_DMA 호출이필요하다 2.6 Sampling time 과 conversion time 타이머 6 의샘플링주기가 1 MHz, 즉 1us 이기때문에 sampling time 과 conversion time 을합한시간이 1us 이내에끝나도록설정해야한다. Sampling time 을 3 cycle, conversion time 을 12 bit resolution 으로하면 15 cycle 이며앞장에서예를든 ADC peripheral clock 주파수인 27MHz ( 약 37.037ns) 를곱하면약 555.555ns 가되므로 1us 이내에끝낼수있게된다. 2.7 External trigger conversion source and edge 앞에서설정한타이머 6 의 TRGO 를트리거소스로선택하고 rising edge 를선택해 준다 Doc ID Rev 1.0 7 / 11

Figure 8. ADC Setting Figure 9. ADC Trigger Setting Figure 10. ADC DMA Setting 8 / 11 Doc ID Rev 1.0

3 STM32 ADC 코드예시 /* USER CODE BEGIN PV */ #define NO_SAMPLE 1000 uint16_t adc_buff[no_sample]; uint16_t user_buff[no_sample]; /* USER CODE END PV */ /* USER CODE BEGIN 0 */ void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) { memcpy(&user_buff[0], & adc_buff[0], NO_SAMPLE/2); } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { memcpy(&user_buff[no_sample/2], & adc_buff[no_sample/2], NO_SAMPLE/2); } /* USER CODE END 0 */ int main(void) { HAL_Init(); SystemClock_Config(); } MX_GPIO_Init(); MX_DMA_Init(); MX_ADC1_Init(); MX_TIM6_Init(); /* USER CODE BEGIN 2 */ HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buff, NO_SAMPLE); HAL_TIM_Base_Start(&htim6); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ Doc ID Rev 1.0 9 / 11

참고자료 AN3116 : STM32 ADC modes and their applications /resource/en/application_note/cd00258017.pdf AN2834 : How to get the best ADC accuracy in STM32 microcontrollers /resource/en/application_note/cd00211314.pdf 10 / 11 Doc ID Rev 1.0

IMPORTANT NOTICE Please Read Carefully STMicroelectronics NV and its subsidiaries ( ST ) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST s terms and conditions of sale in place at the time of order acknowledgement. Purchasers are solely responsible for the choice, selection and use of ST products and ST assumes no liability for application assistance or the design of Purchasers products. No license, express or implied, to any intellectual property right is granted by ST herein. Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product. ST and the ST logo are trademarks of ST. All other products or service names are the property of their respective owners. Information in this document supersedes and replaces information previously supplied in any prior versions of this document. 2017 STMicroelectronics All rights reserved Doc ID Rev 1.0 11 / 11