본문 바로가기

임베디드 개발/펌웨어100

Vmax, Vmin, Vp, Vpp, Vavg, Vrms Vmax : 파형의 가장 높은 지점에서 GND까지의 전압값 Vmin : 파형의 가장 낮은 지점에서 GND까지의 전압값 Vpp (Peak to Peak) : 파형의 가장 높은 지점에서 낮은지점까지의 전압값    ❗잠깐 여기서 Vavg과 Vrms에 대해 알아보기 전에 우리나라의 가정용 전기는 220V AC이다. 그런데 교류전압은 방향도 값도 계속 변하는데 어떻게 딱 220V라고 정해서 말하는 걸까? 사실 이때의 220은 Vrms 값이며 가정용 전기는 최대 전압(Vpeak)이 311V인 60Hz 사인파다. 즉, +311V와 -311V 를 1초에 60번 오르내리는 전압이다.  Vavg : 파형의 평균 전압값사인파형의 AC 전압의 경우 한 사이클 동안(0에서 2π까지)의 평균값을 구하게 되면 0이 된다. 따라서 .. 2023. 11. 20.
Excalibur systems DAS-429UNET/RTx & Mystic ARINC-429 multi-channel adapter for USB or Ethernet equipped computers ARINC429 to USB 컨버터로 429통신장비를 테스트해볼 수 있는 제품이다.마이크로 5핀 usb 케이블이 2개 필요하다. 하나는 PWR에 연결하고, 하나는 데이터통신선인데 hub나 연장케이블을 쓰지 않고 PC에 바로 연결하도록한다.    홈페이지 회원가입 후 Software Tools(driver) 설치, 회원가입 시 비밀번호는 6자 미만으로 해야한다.  https://www.mil-1553.com/arinc-429-708-664 ARINC-429 / 708, 664p7 & Ethernet | Downloads | Support | Excalibur SystemsARINC.. 2023. 11. 11.
SPI interface ARINC 429 Transceiver IC, HI-35850 데이터시트 분석 HI-35850 datasheet 분석 TMS320F28388D DSP 사용 기준으로 작성되었다. Features ARINC specification 429 compliant3.3V or 5.0V logic supply operationDrop-in replacement for Holt’s HI-3585 with improved SPI host interface (12 MHZ)Read multiple receive FIFO messages with a single SPI Opcode (New)On-chip analog line driver and receiver connect directly to ARINC 429 busProgrammable label recognition for 256 labels32.. 2023. 11. 10.
RS-422, RS-485 통신에서 GND 연결은 필요한가? 결론: GND 연결없이도 통신이 될 순 있지만 잠재적 통신 오류나 IC 손상을 피하기 위해 GND 연결이 필요하다. https://www.sealevel.com/support/why-do-i-need-to-connect-a-ground-line-when-using-rs-422-or-rs-485-communications/ Why do I need to connect a ground line when using RS-422 or RS-485 communications? - Sealevel By connecting the ground wire, you avoid potential communication problems. Learn more. www.sealevel.com 2023. 10. 29.
RS-422 (+ RS-232/422/485 비교) RS-422 Specification AttributeSpecificationCablingPoint-to-Point, Single-ended Multi-dropMax Driver1Max Receiver10Maximum distance1200m at 100kbpsMaximum data rate10 Mbps at 15mSignalingBalancedMaximum Nominal Voltage± 7VMinimum Transmitter's Driver Output Voltage± 2VReceiver Input Sensitivity± 200mvMark (1)Positive difference (A - B > 200mv)Space (0)Negative difference (A - B SignalsTx+, Tx-, R.. 2023. 9. 15.
스위치의 접점 SPST, SPDT, DPST, DPDT 스위치 또는 릴레이 등의 소자는 내부 접점 구조에 따라 SPST, SPDT, DPST, DPDT 등으로 분류된다. 각 단어의 뜻은 다음과 같으며, 스위치의 연결 유형을 결정하는 두 가지 요소는 Pole과 Throw 이다 SPST : Single Pole Single Throw SPDT : Single Pole Double Throw DPST : Double Pole Single Throw DPDT : Double Pole Double Throw . Pole : Pole은 동일한 물리적 스위치(same lever, knob or button)으로 제어할 수 있는 회로의 수를 의미한다. Single Pole 스위치는 하나의 회로를 제어할 수 있고, Double Pole 스위치는 두개의 회로를 동시에 제어할 .. 2023. 9. 15.
Momentary switch and Latching switch Latching switches Latching switches are switched on by the user and then remain on until switched off again. They do not require continuous compression from the user. Latching switches can be found in the home and are used for things like light switches, central heating switches or on stereos. Momentary switches Momentary switches require continuous compression. They will switch on when the user.. 2023. 9. 15.
D-SUB Overview D-sub 커넥터는 D-subminiature의 약자로, D모양의 금속 쉘 내부에 2열 이상의 커넥션(핀 또는 소켓)이 있는 것이 특징이다. D-sub 도입 당시엔 컴퓨터에 사용되는 가장 작은 커넥터여서 subminiature(초소형)이라는 이름이 붙었다. Types 쉘 크기와 핀 또는 소켓 수, Male/Female 타입에 따라 여러 종류가 있다. 주로 RS-232, RS-485와 같은 직렬 통신에 DB-9 커넥터를 사용하고, 컴퓨터와 디스플레이간 연결에 DE-15 커넥터를 사용한다. Pin Numbering 2023. 9. 15.
Difference between Cold Reset and Warm Reset Cold Reset : A cold reset is a method of resetting the system by completely turning off the power and then turning it back on. It is used to bring the system back to its initial state and can be used to resolve hardware-related issues. Caution needed when performing a cold reset as it may lead to data loss or affect system stability. Warm Reset: A warm reset is a method of restarting the system .. 2023. 8. 14.
Types of IC Packages IC 패키지 종류 https://electrical-information.com/package-types/ Types of IC Packages There are way too many different types of semiconductor (IC or transistor) packages. For example, SO electrical-information.com 2023. 7. 24.
MIL, SIL, PIL and HIL Summary “M”, “S”, “P” and “H” are all referring to the Controller status. They represent how real the controller is. MIL uses the Controller Model SIL uses the C code converted from Model PIL uses the Controller Processor only (no I/O connectivity) HIL uses the full Controller Hardware, including I/O. Terms These terms are used in the context of control systems development which means that typic.. 2023. 7. 11.
CAN FD Bus Load Calculator CAN FD Bus Load Calculator Classic CAN bus load 계산기는 인터넷에 찾으면 있던데 CAN FD는 아무리 찾아도 안보여서 직접 만들었다. 공식은 아래 사이트를 참고했다. https://ieeexplore.ieee.org/document/8338047 2023. 6. 25.
readelf 명령어와 elf 파일 구조 ELF 파일 HTML 삽입 미리보기할 수 없는 소스 소스코드를 컴파일하면 목적코드로 변환되고, 목적코드와 필요한 라이브러리들을 링커커맨드파일 정보를 통해 링킹하는 과정이 끝나면 실행가능한 이진형식 파일인 Executable and Linkable Format 파일이 생성된다. ELF 파일의 구성 ELF 파일 기본 정보를 포함한 ELF Header 세그먼트의 정보를 포함한 Program Header Table 섹션에 대한 정보를 포함하는 Section Header Table Program Header Table 또는 Section Header Table의 엔트리들에 의해 참조되는 데이터 이 중섹션들이 링킹과 재배치에 필요한 중요한 정보를 포함하는 반면, 세그먼트들은 파일의 런타임 실행에 필요한 정보를 포함.. 2023. 6. 25.
JTAG, SWD JTAG (Joint Test Action Group)과 SWD (Serial Wire Debug)는 MCU와 통신을 통해 디버깅과 플래시 프로그래밍을 가능하게 해주는 인터페이스이다. JTAG와 SWD는 서로 다른 프로토콜이며, JTAG는 여러 디바이스에 널리 사용된다는 장점이 있고 SWD는 비교적 간단한 구성을 가지고 있다는 장점이 있다. VCC와 GND 제외 필수 연결 핀은 다음과 같다. HTML 삽입 미리보기할 수 없는 소스 TCK (Test Clock) : 클럭 신호 전송핀. 디버깅 장치와 타겟 장치 사이의 동기화 역할을 한다. TMS (Test Mode Select) : 타겟 장치의 상태를 테스트 모드로 선택하는 데 사용되는 핀. TDI (Test Data In) : 데이터 전송핀(디버깅 장치→.. 2023. 6. 25.
PXI PXI PCI eXtensions for Instrumentation PXI (PCI eXtensions for Instrumentation) is a proven PC-based platform for measurement and automation systems. PXI uses commercial PC-based PCI bus technology while combining rugged CompactPCI modular packaging, as well as key timing and synchronization features. PXI systems are composed of three main hardware components: chassis, controller, and peripheral.. 2023. 6. 25.
UDS (차량용 진단 통신) UDS (차량용 진단 통신) HTML 삽입 미리보기할 수 없는 소스 UDS란 Unified Diagnostic Services의 약자로 차량의 전자제어장치(ECU, Electronic Control Units)들 간에 진단, 펌웨어 업데이트, 테스트 목적의 통신에 사용되는 프로토콜이다. 주로 CAN(Controller Area Network) 버스를 통해 CAN 메시지형식으로 통신하는것이 일반적이지만 UDSonLIN, UDSonIP(UDS) 등 여러 Variation이 있다. UDS는 요청기반(Request based) 프로토콜로 클라이언트-서버 관계에서 수행되며 테스터 툴이 클라이언트가 되고, ECU가 서버가 된다. 실제로 차에 있는 OBD2 커넥터를 통해 CAN bus 인터페이스에 연결하고 UDS r.. 2023. 6. 9.
CAN ISO-TP Classic CAN 프레임의 경우 페이로드가 8바이트로 제한되고 CAN FD의 경우 페이로드가 64바이트로 제한된다. 이보다 큰 대용량 페이로드를 전송하려면 어떻게 해야할까? ISO-TP (ISO transfer protocol)는 이 문제를 해결하기 위해 ISO 15765-2 표준에 정의된 프로토콜로, 페이로드 데이터 크기를 최대 4095바이트까지 확장한다.ISO-TP의 가장 일반적인 기능은 송신측에서 패킷을 작은 조각(세그먼트)으로 분할하고 수신측에서 다시 재조립해 원래의 데이터로 복원하는 것이다.       ISO TP가 정의하는 Frame type은 다음의 4가지이다. Frame별로 1~3바이트 길이의 PCI(Protocol Control Information).. 2023. 5. 31.
ARINC-429 Word Format ARINC-429 글 : 2023.05.31 - [DSP, MCU/펌웨어공부] - ARINC-429 HTML 삽입 미리보기할 수 없는 소스 ARINC 429 의 data words 는 일반적으로 아래의 5개의 필드로 구성된 32 bit words이다. Parity - 1 bit Sign/Status Matrix (SSM) - 2 bits Data - 19 bits Source/Destination Identifier (SDI) - 2 bits Label - 8 bits 단, 이중에서 Parity bit와 Label 만 필수이고 나머지 비트들은 비표준에서 high resolution data 등을 전송하기 위해 다양한 포맷으로 사용될 수 있다. 연결된 Transmitter는 항상 data words 또는 .. 2023. 5. 31.
ARINC-429 Protocol ARINC ARINC는 미국 소유 비영리단체인 Aeronautical Radio, Inc.의 약자로 여기서 제정된 항공전자 표준이 ARINC 프로토콜이다. 항공 기술 분야에서 사용되는 매우 다양한 ARINC 표준이 있으며 ARINC 400, 500, 600, 700, 800 같은 다양한 하위 시리즈들이 있다. ARINC 429 그 중에서도 ARINC 429는 항공전자 장비간 데이터 전송을 위한 가장 널리 사용되는 표준으로 Mark 33 Digital Information Transfer System(DITS)으로 알려져 있기도 하다. Network Topology ARINC 429 네트워크는 single transmitter(source)에 receivers(sink)가 연결된 구조로 한 transmit.. 2023. 5. 31.
Vector CANdb++ editor 아래 주소에서 다운로드 https://www.vector.com/int/en/download/candb-31-sp3/ 공식 매뉴얼 중국사이트이긴 한데 자세히 나와있는 매뉴얼 https://blog.csdn.net/qfmzhu/article/details/111403266 【DBC专题】-1-如何使用CANdb++ Editor创建并制作一个DBC_【dbc专题】-11_汽车电子助手的博客-CSDN博客 目录 0关键字/术语描述 1 启动“CANdb++ Editor” 2 创建一个新的DBC(CANdb network file (Data Base for CAN)) 3 创建CAN网络当中的Network nodes网络节点 4 创建CAN网络当中的Message消息 5 创建Message消息中Signals信 blog.csdn.net 2023. 5. 14.
CRC-16-CCITT CRC-16-CCITT의 다항식(Polynomial)은 아래와 같다. XMODEM, YMODEM 등에 쓰이는 방식이다. 이 다항식의 16진수 표현 CRC-16-CCITT 함수 uint16_t UpdateCRC16(uint16_t crc_in, uint8_t byte) { uint32_t crc = crc_in; uint32_t in = byte | 0x100; do { crc 2023. 5. 7.
CRC-32 CRC (Cyclic Redundancy Check) 는 데이터 전송 과정에서 오류를 검출하거나 파일의 무결성을 검증하기 위한 방법으로, 그 과정에서 여러 종류의 다항식이 쓰일 수 있는 데 가장 널리 사용되는 CRC 다항식은 CRC-16-CCITT와 CRC-32이다. CRC 다항식 종류 : https://en.wikipedia.org/wiki/Cyclic_redundancy_check 그 중 CRC-32의 다항식(Polynomial)은 아래와 같다. 이 다항식을 16진수로 표현한게 0x04C11DB7이고, reverse한 값이 0xEDB88320이다. 다항식을 16진수로 표현하는 방법은 먼저 x의 차수에 해당하는 비트에 1을 쓴다. 나머지 비트는 0으로 한다. 그럼 바이너리로 아래처럼 되는데 이걸 31번.. 2023. 5. 7.
Online CRC 계산 사이트 CRC 계산 사이트 https://crccalc.com/?crc=01020304&method=crc32&datatype=hex http://www.sunshine2k.de/coding/javascript/crc/crc_js.html https://www.lammertbies.nl/comm/info/crc-calculation 파일 CRC 계산 사이트 https://emn178.github.io/online-tools/crc32_checksum.html https://simplycalc.com/crc32-file.php 2023. 5. 7.
TFTP 프로토콜 TFTP 프로토콜 HTML 삽입 미리보기할 수 없는 소스 Trivial File Transfer Protocol의 약자로, 인터넷 프로토콜 스위트(IP Suite)*의 일부로서 파일 전송 프로토콜이다. TFTP는 TCP/IP 프로토콜 스택을 기반으로 하며, 그 중 UDP(User Datagram Protocol)를 이용하여 작동한다. 기본적으로 UDP 포트 69번을 사용하며, 전송할 파일의 이름과 위치를 포함하는 요청 메시지를 TFTP 서버에 보낸다. 이후 TFTP 서버는 파일을 찾아서 클라이언트에게 전송하는데, 전송 과정에서는 오류 검사와 재전송을 처리하는 기능이 내장되어 있다. TFTP는 파일 전송 속도가 느리고 오류 처리 기능이 FTP와 비교해 상대적으로 취약하다는 단점이 있지만, 작은 파일을 빠르.. 2023. 4. 10.
SoC와 MCU의 차이 SoC(System-on-a-Chip)와 MCU(Microcontroller Unit)는 모두 하드웨어와 소프트웨어의 기능을 모두 포함하는 집적회로이지만 둘은 목적과 구성, 사용 분야 등에서 차이가 있다. SoC는 CPU, GPU, 메모리, 입출력(I/O) 인터페이스, 네트워크, 그래픽 처리 장치 등을 포함하고 있으며, 대규모 응용 프로그램을 수행할 수 있는 미니어처화된 컴퓨터 시스템이다. 대표적으로 모바일 기기, 스마트폰, 태블릿, IoT 디바이스, 자동차 시스템 등에서 사용된다. 반면에 MCU는 CPU, 메모리, 입출력(I/O) 인터페이스, 타이머, 카운터, ADC 등의 기능을 포함하고 있으며, 대개 저전력, 실시간 제어, 데이터 수집 및 처리와 같은 임베디드 시스템에서 사용된다. 즉, SoC는 주로.. 2023. 4. 9.
SBC(Single-Board Computer) SBC는 Single-Board Computer의 약자로, 컴퓨터의 모든 기능이 하나의 PCB(Printed Circuit Board)에 탑재된 컴퓨터를 말한다. SBC는 일반적인 데스크탑 컴퓨터와 비교하여 크기가 작고 저전력이며, 대개 리눅스나 다른 임베디드 운영체제를 사용하한다. 비교적 저렴한 가격과 다양한 입출력(I/O) 핀을 가지고 있어 다양한 외부 디바이스 및 센서와의 연결이 용이하여 개인용 컴퓨터, 교육 및 학습용, 임베디드 시스템 등 다양한 분야에서 쓰인다. 일반적으로 SBC(Single-Board Computer)에는 SoC(System-on-a-Chip)가 탑재된다. SoC는 단일 실리콘 칩에 CPU, GPU, 메모리, 입출력(I/O) 인터페이스, 네트워크, 그래픽 처리 장치 등을 포함하.. 2023. 4. 9.
Analog Multiplexer/Demultiplexer 아날로그 멀티플렉서(Multiplexer) 및 디멀티플렉서(Demultiplexer)는 다수의 아날로그 입력 신호 중에서 하나를 선택하거나 분배하기 위해 사용되는 IC칩이다. 디지털 멀티플렉서랑 똑같다, 다수의 입력 신호 중에서 하나의 출력 신호를 선택하는 역할을 한다. 다만 신호가 아날로그인 것이다. 입력 신호는 멀티플렉서의 선택 입력에 의해 선택되는데, 선택 입력(Sx Pin)은 이진 형태로 구성된다. 2의 n승 개의 입력이 있는 멀티플렉서는 n개의 선택 입력이 필요하다. 선택 입력을 이용해 하나의 입력을 선택하고 출력으로 전달하므로 멀티플렉서는 다수의 입력 신호를 단일 출력 신호로 변환하는 기능을 수행한다. 반면 디멀티플렉서는 반대로 하나의 입력 신호를 선택 입력을 통해 다수의 출력 신호 중 하나로.. 2023. 3. 31.
CAN FD, TDC (Transmitter Delay Compensation) CAN FD 사용시 Data bitrate 2Mbps까진 괜찮았지만 그 이상으로 고속 통신하려면 CAN FD 컨트롤러에 TDC 설정이 필요하다. transmitter delay compensation (TDC) At bit-rates higher than 1 Mbit/s in the data phase of CAN FD frames the transmitting node has to compensate the TD when comparing its transmitted bits to the delayed received bits. TDC mechanism defines a secondary sample point SSP. When it is used, the transmitter ignores bit e.. 2023. 3. 31.
소수점이하 값 정수형으로 얻는법 소수점 이하 값을 정수형으로 얻으려면, 원하는 소수점 자리수만큼 10의 거듭제곱을 곱하고 나머지연산을 하면된다. int main() { float pie = 3.141592; printf("%d.%d", (int)pie, (int)(pie*1000000) % 1000000); return 0; } 다른 예시 byte를 KB 또는 MB로 변환하는건데, a/b의 소수점 이하 둘째자리 까지의 값을 정수형으로 알고 싶으면 a*10^2/b 하면된다. 그 이하는 버림. #include void printSizeInKBorMB(int byte) { int size; int decimal; char unit; if (byte < 1024 * 1024) { // 1MB 미만 size = byte / 1024; decim.. 2023. 3. 31.
NTP 서버에서 시간 받아오기 UTC UTC (Coordinated Universal Time)는 지구상의 시간 표준을 정의하기 위한 국제 표준 시간으로, 국제원자시(TAI)를 기반으로 하되, 지구의 자전 속도 등에 따라 발생하는 차이를 보정하기 위해 윤초(Leap Second)를 삽입하여 보정된다. 국제 원자시란 세슘 원자의 진동 주파수를 기준으로 시간을 계산하며, 세계 각지의 원자 시계들의 평균값을 취하여 UTC가 유지된다. UTC는 24시간을 기준으로 하며, 1시간은 60분으로 구성되고, 1분은 다시 60초로 구성되어 있다. 이러한 시간 단위들은 세계 각지에서 일관되게 사용된다. 아래 Unix Time, Windows Time, NTP time 전부 UTC를 기반으로 한다. Unix Time Unix Time은 컴퓨터 시스템에서.. 2023. 3. 31.