본문 바로가기

반응형

규칙으로

(11)
11. MCU 보드 제작기 - 나머지 핀들 연결(확장 IO) + 제작 완료 보드를 설계하면서 MCU에 아직 연결하지 않은 핀들이 남아있다. 범용 보드를 설계하는 만큼 나중에 해당 핀들을 사용할 수 있도록 헤더핀과 연결해줄 계획이다. 외부 전원선, 그라운드 선, IO 핀 등을 연결해줄 것이다. 말 그대로 연결만 해주면 되기 때문에 쉽다. 다만 주의할 점은 실제 소자의 핀들과 연결되는 헤더핀의 위치를 반드시 고려해야 한다는 것이다. 그렇지 않게되면 나중에 PCB artwork에서 쓸데없이 복잡해지는 것을 볼 수 있다. 위치를 고려하여 다음과 같이 설계하였다. 헤더 핀은 01x25 헤더핀인 X6511WV-25H-C60D30(C725957)를 사용하였다. 최종적으로 구성된 회로는 다음과 같다. 이 것으로 회로 설계의 주요부분을 다루었다. PCB 아트워크가 남았는데 해당 부분은 원작자의..
10. MCU 보드 제작기 - USB 인터페이스 STM32F103RB는 USB(Universal Serial Bus) 통신 프로토콜을 지원한다. USB는 직렬 포트, 병렬 포트 등 다양한 인터페이스를 대체하여 주변기기와 컴퓨터의 연결을 표준화하기 위한 용도로 설계 되었다. USB는 패킷 단위로 데이터를 전송하며 패킷의 종류에는 토큰 패킷, 데이터 패킷, 상태 패킷이 있다. 각각의 패킷은 데이터에 대한 메타정보(헤더), 실제 데이터, 데이터 송수신 성공여부에 대한 정보를 담고 있다.  USB에 대한 자세한 내용은 다음의 블로그글을 참고하기를 바란다. 우리가 알아야할 점은 USB 통신이 고속으로 이루어진다는 점, 핀의 종류로 VBUS, GND, SHEILD, D+, D-가 있다는 점 정도만 알면 된다. 대략적으로 다음과 같이 회로를 구성할 것이다.http..
9. MCU 보드 제작기 - UART 인터페이스 UART(Universal Asynchronous Receiver/Transmitter)는 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 송수신하는 컴퓨터 하드웨어의 일종이다. 대표적인 통신 프로토콜에는 RS-232 방식이 있다. 해당 통신 방식은 비동기 통신 방식으므로 사전에 송수신측은 클럭수를 동일하게 해주어야 한다. 송신측은 시작 비트-데이터 비트-패리티 비트-종료 비트로 구성된 데이터를 송신한다. 그러면 수신 측은 시작 비트를 감지한 후 그 뒤에 따라오는 데이터들을 종료 비트를 수신하기 전까지 받아 들인다.  UART 통신 인터페이스가 있다면 기기 간 통신, 디버깅, 유사시에는 펌웨어를 업로드하는 용도로 사용할 수 있다. 이번 글에서는 UART 인터페이스를 구성해보기로 한다. 헤더 핀UAR..
8. MCU 보드 제작기 - LED, 스위치 MCU 보드가 제대로 동작하는지 확인하기 위해서 LED와 스위치를 연결해주기로 한다. LED 파트는 보드가 켜졌는지를 판단하는 State LED, 사용자가 조작할 수 있는 User LED로 구성된다. 스위치 파트는 사용자가 조작할 수 있는 User 스위치로 구성된다. LED 선정LED를 선정하는 기준은  순방향 전류, 순방향 전압 강하, 역방향 전압, 역방향 누설 전류이다. 내가 선정한 소자는 NCD0805R1( C84256), NCD0805C1(C84257)로 각각 State LED, User LED이다. 각각의 LED는 빨간색, 초록색 빛을 내며, 순방향 전압 강하는 1.6V ~ 2.6V, 순방향 전류는 25mA이다. 과전류를 방지하기 위해서는 (3.3V-1.6V)/R 180Ω 저항을 직렬로 연결해 ..
7. MCU 보드 제작기 - JTAG/SWD 인터페이스 펌웨어를 디버깅하는 방법은 여러가지가 있을 수 있지만, STLINK와 같은 in-circuit debugger를 사용하면 보다 간편하게 디버깅을 할 수 있다. STLINK/V2는 in-circuit debugger로 SWIM 방식의 인터페이스와 JTAG/Serial wire debugging(SWD) 인터페이스를 갖추고 있으며 각각 STM8과 STM32 디버깅을 지원한다.    기기를 사용하기 위하여 SWD 인터페이스를 설계해보기로 하자. SWD 인터페이스는 3 개의 입력(SWCLK, SWDIO, NRST)과 1 개의 전원선, 1 개의 그라운드 선이 필요하다. SWCLK 신호선은 최대 60MHz의 클럭 신호를 출력하고, SWDIO 선에서는 클럭신호에 맞추어 보드와 디버깅 장치 사이의 데이터 교환이 이루어..
6. MCU 보드 제작기 - 외부 발진 회로 마이크로컨트롤러(MCU)는 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 저어해진 기능을 수행하는 컴퓨터를 말한다. MCU가 제대로 동작하기 위해서는 MCU를 구성하는 소자들이 조화롭게 동작할 필요가 있다. 일정 주기로 진동하는 발진회로는 MCU 내의 소자들이 타이밍에 맞추어 동작할 수 있도록 기준 신호를 제공한다. 프로젝트에서 사용하는 STM32F103RBT6 소자는 내부적으로 40kHz의 RC 발진회로를 제공하고 있다. 그러나 RC 발진회로의 경우 주파수가 낮고, 높은 주파수에서 정확도가 떨어진다는 단점이 있다. 고속 동작이 필요없고, 정밀한 타이머가 필요 없다면 내부 발진회로를 사용하는 것이 경제적이나, 이번 프로젝트에서는 외부 발진 회로를 추가해 줄 것이다.  STM32F103RBT6 소자..
5. MCU 보드 제작기 - 마이크로 컨트롤러 주변 회로 구성 마이크로컨트롤러 주변회로를 구성해야 한다. 해야하는 일은 첫 번째, 전원부에 디커플링 커패시터를 달아주는 것, 두 번째 부트모드 스위치와 리셋 스위치 회로를 구성해주는 것이다. 외부 발진회로를 구성하는 것과 로딩 및 디버깅을 위한 회로도 구성해주어야 하지만 나누어서 다루어 보겠다.  디커플링 커패시터 전원부에 디커플링 커패시터를 달아주는 것은 간단한 일이다. STM32F103RB 소자의 데이터 시트를 보면 권장되는 전원회로 구성 예시가 나오는 데, 이를 따라서 구성해 줄 것이다. 물론 사용자의 요구에 따라서 커패시터의 용량을 조절하는 등 변경을 가할 수 있지만, 일반적인 경우라면 구성예를 따라하는 것이 좋다.(석학들이 미리 실험하고 나온 결과다!)  커패시터는 MLCC 커패시터를 사용하겠다. 저항과 커패..
4. MCU 보드 제작기 - 저항과 커패시터 MCU 보드를 설계하면서 다양한 저항과 커패시터를 사용한다. 저항은 과전류를 보호하여 마이크로컨트롤러 같은 소자들이 오동작하거나 망가지는 것을 방지한다.  커패시터의 경우 전원으로부터의 고주파 잡음을 제거하는 디커플링(Decoupling), 노이즈를 제거하는 바이패스 등 다양한 역할을 수행한다.   회로이론에서 단순하게 저항의 크기나 커패시터의 크기만을 생각했던 것과 다르게 실제 설계에 있어서는 생각해야 할 부분이 많다. 저항 소자도 여러가지 종류가 있고, 커패시터 소자도 여러 종류가 있으며 회로의 목적에 따라서 적절한 종류의 소자를 사용할 수 있어야 한다. 다음은 저항 소자의 종류와 커패시터 소자의 종류를 나열한 것이다. 저항의 종류탄소피막 저항기 : 세라믹 로드에 탄소 분말을 피막 형태로 입힌 후 나..

반응형