'STM32'에 해당되는 글 4건

  1. 2018.01.12 STM32 MCU 누클레오 보드
  2. 2018.01.11 Discovery vs. Nucleo board 1
  3. 2015.12.04 AVR vs. STM32 comparison for Drone
  4. 2015.12.02 왜 STM32가 유리한가?


매우 저렴한 STM32 누클레오(Nucleo) 보드는 STM32 MCU를 사용하여 사용자의 새로운 아이디어를 시도하고 빠르게 프로토타입을 생성하게 합니다. 동일한 커넥터를 사용하여 STM32 누클레오 보드 시리즈는 다양한 특화된 애플리케이션 하드웨어 애드온(add-on)(Nucleo-64는 Arduino Uno rev3와 ST morpho 커넥터를 포함하고, Nucleo-32는 Arduino Nano 커넥터를 포함합니다) 방식으로 쉽게 확장할 수 있습니다.


Arduino UNO R3 and ST morpho connector


STM32 누클레오 보드는 ST-Link 디버거/프로그래머를 동일 보드에 구현하였기 때문에 별도이 프로브가 필요하지 않습니다.


다양한 소프트웨어 예제와 함께 이해가 쉬운 STM32 소프트웨어 HAL 라이브러리가 STM32 누클레오 보드와 함께 제공되며, IAR EWAEM, Keil MDK-ARM, mbed 그리고 GCC/LLVM-based IDE를 포함한 넓은 범위의 개발 환경에서 완벽하게 동작합니다.


모든 STM32 누클레오 사용자는 www.mbed.org에서 mbed 온라인 리소스(compiler, C/C++ SDK, and 개발자 커뮤니티)에 자유롭게 접근할 수 있으며 불과 수분 내에 완성된 애플리케이션의 제작이 가능합니다.


다음의 ST사에서 STM32 누클레오 보드의 구분입니다.



다음은 누클레오 보드의 주문 코드와 탑재된 STM32 MCU의 목록입니다.



다음은 누클레오 보드의 주문코드에 대한 의미를 나타낸 예제입니다.



'Embedded Programming > STM32 Cortex-M4' 카테고리의 다른 글

NUCLEO-F446RE 보드 스펙  (0) 2018.01.13
STM32F4 시리즈  (1) 2018.01.13
Discovery vs. Nucleo board  (1) 2018.01.11
STM32F4 시리즈의 소자 구별 방법  (0) 2018.01.03
STM32F405xx 스펙 요약  (0) 2017.11.17
Posted by Nature & Life


디스커버리 vs. 누클레오 보드


STM32F103과 같이 인기있는 MCU 문제 중의 하나는 현존해는 매우 다양한 보드가 있다는 것입니다. 어떤 것을 선택할지, 어떤 것을 고르는 것이 올바른지 선택이 쉽지 않다는 것입니다.


Discovery

다년간 STM은 자사의 여러 MCU와 함게 매우 저렴한 개발보드 시리즈를 제공하였습니다. 가장 저렴한 것은 아마도 가장 오래된 'F05'일 것입니다:


32F411EDISCOVERY


이들 보드의 장점은 USB 인터페이스와 함께 두번째 MCU가 장착(위 그림에서 맨 상단에 위치한 MCU)되어 있다는 것이고 이는 JTAG 프로그래머로써 동작한다는 것입니다. 이들 "ST-Link" 인터페이스는 STM 자사의 원도우 툴에서 사용될 수 있으며 또한 문의할 수 있는 GitHub의 texane/stlink repository이 존재한다는 것입니다.


각 ST-Link는 업로더, 씨리얼 브릿지 그리고 하드웨어 디버거, 이들 "DISCO" 그리고 "DISCOVERY" 보드를 셋업하는 방법이 될 수 있습니다. 게다가 이 ST-Link는 다른 MCU에도 사용할 수 있습니다. 일단 PCB에 연결되고 나면 디버깅이 가능하다는 것입니다.


STM에서 생산된 각 칩 패밀리에 대한 보드들이 존재합니다. 즉, L0's, F3's, F7's, 등등.


라이센스는 이들 보드를 상업적인 제품이나 이를 다시 파는 행위가 금지합니다. 하지만 개인적 취미로의 사용에 대해서는 상관이 없다는 것입니다.


Nucleo

디스커버리 보드 후에 다음 세대로서 STM은 일부의 매우 훌륭한 다음 특성을 갖춘 "Nucleo" 보드의 범주를 출시하였습니다:


    • 여전히 온보드 ST-Link가 장착되었지만 새로운 (호환되는) "V2.1"타입입니다.

    • 펌웨어는 또한 USB 스틱으로서 연결된 장치쪽으로 당겨 업로드 시킬 수 있습니다.

    • 모든 Nucleo 보드는 같은 모양, layout 그리고 dimensions을 갖습니다.

    • 모든 보드는 Arduino 쉴드 호환 헤더를 포함합니다.

    • 모든 신호은 모든 보드상에 같은 장소에 위치한 핀에서 가능합니다.

    • 많은 납땜을 위한 점퍼가 핀 특성을 조정하기 위해서 존재합니다(일부는 단선, 일부는 단락).


디스커버리 보드의 일부에서와 같이 여기에도 약간 불편함이 있습니다:


    • 모든 보드들은 크리스탈(crystal)을 실장하지 않습니다, 따라서 내부 8MHz RC 까지 동작시킬 수 있습니다.

    • 그러나 적어도 64MHz까지 끌어올리기 위해서 PLL을 사용할 수 있습니다. 그리고 크리스탈은 추가할 수 있습니다.


Nucleo 보드의 가장 인상깊은 low-level 특성은 MCU에 대해서 같은 LQFP-64 패키지를 사용한다는 것입니다 그리고 그러므로 하드웨어 칩 레벨에서 조차 이들 변화의 일부는 거의 100% 호환된다는 것입니다:


NUCLEO-F401RE


이들 Nucleo 보드는 디스커버리 보드처럼 STM에서 동일한 주의사항을 갖습니다.


하나의 훌륭한 특성은 거기에는 매우 다양한 MCU가 존재하고 모두 동일하게 동작하며 같은 물리적 layout을 갖고 그들 모두 Arduino 쉴드를 지원한다는 것입니다. 이것은 F103RB와 같은 하나의 Nucleo 보드와 함께 시작할 수 있다는 것을 의미합니다. 그리고 만약 가능하지 않거나 충분히 빠르지 않거나 혹은 올바른 특성을 갖지 않는다면 사용자는 쉽게 다른 모델로 교체할 수 있다는 것입니다.



'Embedded Programming > STM32 Cortex-M4' 카테고리의 다른 글

STM32F4 시리즈  (1) 2018.01.13
STM32 MCU 누클레오 보드  (0) 2018.01.12
STM32F4 시리즈의 소자 구별 방법  (0) 2018.01.03
STM32F405xx 스펙 요약  (0) 2017.11.17
AVR vs. STM32 comparison for Drone  (0) 2015.12.04
Posted by Nature & Life


This table is the comparison result between AVR and STM32 series in terms of only flight controllers or ESCs for Drone. Recently STM32 series of Microelectronics is mainly employed.


다음 표는 오직 드론(Drone)의 비행제어기(FC) 혹은 ESC의 설계를 위한 자주 사용되는 Atmel사와 최근 사용이 두드러지는 STMicroelectronics사의 Microcontroller의 비교자료입니다.


 Manufacturer

 Atmel (8-bit)

 STMicroelectronis (32-bit)

 Microcontroller

AVR8

AVR328P

STM32F103

STM32F205

STM32F407

STM32F446

 FPU

 

 

 

 

 

 YES

 F.max [MHz]

 16

20 

 72

120 

 168

180

 SRAM [Bytes]

 1K

2K 

 20K

?128K 

?192K (CCM 64K)

128K

 EEPROM [Bytes]

 512

1024 

 

512

 

 

 Flash [KB]

 8

32 

 64 or 128

1M

1M

512K

VCC [V] 

 4.5~5.5

1.8~5.5 

2.0~3.6

1.8~3.6

1.8~3.6 

1.7~3.6

 8bit timer(counter)

2

2

-

-

-

-

16bit timer(counter) 

1

1

3

12

12

12

32bit timer(counter)

 

 

 

2

2

2

 16bit motor control PWM timer

-

-

1

 

 

 

SysTick timer 24bit downcounter

-

-

1

 

 

1

watchdog timers

 

 

2

 

 

2

 PWM channel

3

6

?6

 

 

 

 ADC

8 (10-bit)

8 (10-bit) 

 16 (2 x 12-bit)

24 (3 x 12-bit)

24 (3 x 12-bit)

24 (3 x 12-bit)

 DAC

 

 

 

2 x 12-bit

2 x 12-bit

2 x 12-bit

 Analog Comparator

YES

YES

 

 

 

 

 TWI(I2C)

YES

YES

YES

YES

YES

YES

 USART

YES

YES

YES

YES

YES

YES

 SPI

YES

YES

YES

YES

YES

YES

 CAN

 

 

YES

YES

YES

YES

 USB 2.0

 

 

YES

YES

YES

YES

 In-System Programming

YES

YES

 

 

 

 

8- to 14-bit parallel camera interface

 

 

 

48 Mbytes/s 

54 Mbytes/s

54 Mbytes/s

Package

 TQFP 32

TQFP 32

 

 

 

 



'Embedded Programming > STM32 Cortex-M4' 카테고리의 다른 글

STM32 MCU 누클레오 보드  (0) 2018.01.12
Discovery vs. Nucleo board  (1) 2018.01.11
STM32F4 시리즈의 소자 구별 방법  (0) 2018.01.03
STM32F405xx 스펙 요약  (0) 2017.11.17
왜 STM32가 유리한가?  (0) 2015.12.02
Posted by Nature & Life


ESC(electronic speed controller)를 설계할 때 왜 STM32가 유리한가요?


  • High side와 low side에 PWM이 automatic dead-time이 추가를 허용하는 일차적인 FET 제어기로서 TIM1을 사용할 수 있고 다른 이득 등을 제공합니다.

  • 저 비용의 개발 툴

In-Circuit Debugger/Programmer

  • 컴파일러로써 ARM GCC

  • SWD 프로그래밍/디버깅

  • I2C, CAN 지원

  • PWM 제어

  • 클럭 정밀도

정밀한 클럭은 일부 외장 오실레이터(oscillator) 타입을 요구합니다. STM32 내부 오실레이터의 정밀도는 1% 이내입니다. 이는 closed loop 실제 속도, PWM 주파수 정밀도 그리고 timing에 연관된 어떤 보고된 값들에 영향을 줍니다. 또한 이는 UART 최대 통신 속도에 어떤 밀접한 관계를 갖을 것입니다.

일차적인 클럭 속도는 72MHz의 외장 부품을 사용할 수 있지만 내부 오실레이터를 사용할 때 64MHz로 제한됩니다. 이는 64MHz에서 보드상에 프로세싱 파워가 충분하기 때문에 문제가 되질 않습니다.

  • UART

오픈 소스 커뮤너티에서 요구하는 것처럼 USART에 완전한 FTDI 접근을 합니다. 이를 사용하여 CLI(시리얼 터미널과 같은 Command Line Interface)가 구현될 수 있습니다.

  • 모든 FET 상에 게이트 저항

이는 FET turn-on 특성에 정밀한 제어를 할 수 있습니다. FET를 천천히 켜는 것(높은 게이트 저항)은 FET 상에 손실을 증가시킵니다. 그러나 전압 버스에 고주파 잡음을 엄청나게 줄일 수 있습니다. FET를 빠르게 켜는 것(낮은 게이트 저항)은 FET의 손실을 감소시키지만 전압 버스 상에 엄청난 잡음을 증가시킬 것입니다. 이것은 마이크로컨트롤러의 reset, 버스 커패시터 사이즈 그리고 다른 잡음 관련된 설계 결정 이슈에 큰 영향을 줍니다. Dead-time에 관련하여 너무 짧다면, 느린 FET는 실제로 위험할 수 있습니다.

  • 최근에 AVR 시리즈와 같이 STM32 시리즈도 Arduino 환경을 지원합니다.

  • 특히 Cortex M4 경우에 100% C 언어 프로그램이 가능합니다. 고성능의 high end 급의 소형 마이크로컨트롤러로 RISC, Pipeline 등의 구성으로 사실상 assembly 코딩이 불가능하지만, 다른 마이크로컨트롤로 달리 C 언어를 완벽하게 지원하여 assembly의 이해가 필요 없다는 것입니다. 기존의 마이크로컨트롤러는 C 언어를 지원하여도 최상의 성능을 위해서는 assembly 코딩이 불가피하지만 Cortex M4는 의미가 없으며 C 언어에서 지원하지 않은 명령어에 대해서는 intrinsic 함수로 assembly 코드로 1:1 변환하며, 디버깅 시에 C 언어 소스 코드가 의도한 assembly 코드로 올바르게 컴파일 되었는지 확인할 수 있는 정도의 assembly 언어 지식이 요구됩니다.



'Embedded Programming > STM32 Cortex-M4' 카테고리의 다른 글

STM32 MCU 누클레오 보드  (0) 2018.01.12
Discovery vs. Nucleo board  (1) 2018.01.11
STM32F4 시리즈의 소자 구별 방법  (0) 2018.01.03
STM32F405xx 스펙 요약  (0) 2017.11.17
AVR vs. STM32 comparison for Drone  (0) 2015.12.04
Posted by Nature & Life