본문 바로가기

임베디드 개발287

AD5292BRUZ-100, Digital Potentiometer 데이터시트 분석 AD5292BRUZ-100은 Analog Devices사의 디지털 포텐셔미터 IC이다. SPI 인터페이스로 제어가 가능하며 내부에 최대 20번까지 쓰기 가능한 20-TP memory가 있어서 칩의 전원이 공급되거나 리셋이 발생할 때 자동으로 설정할 저항값을 써둘 수 있다. 블락 다이어그램을 보면 결국 시리얼 인터페이스로 RADC 레지스터에 원하는 설정값을 써서 A와 B사이에 있는 전위차계의 Wiper 위치를 조정하는 원리이다.     뒤에 붙는 모델명에 따라 조절가능한 저항값과 해상도가 달라지는데 AD5292BRUZ-100 모델은 0Ω부터 최대 100 kΩ까지 조정할 수 있고, 해상도는 1024단계로 설정된다. 즉, 97.65625Ω 단계로 저항 값을 정밀하게 설정할 수 있다.       참고로 전위차계.. 2024. 5. 7.
BH2227FV, D/A Converters 데이터시트 분석 BH2227FV는 Rohm사의 DAC 칩으로 MCU의 DAC 채널이 모자른 경우 사용할 수 있다. 8bit 해상도를 가지고 R-2R-type D/A Convert를 4채널 가진다. R-2R-type DAC에 대해선 밑에서 설명하겠다.2개의 독립적인 파워소스를 사용할 수 있으며 최적화된 파워소스는 3V/5V인데 2.7V에서 5.5V까지는 허용된다.built-in 리셋 기능이 있어서 power up 동안 모든 채널이 LOW 출력하는게 보장된다.3선식 serial interface를 사용한다.           R-2R-type D/A Convert란? Binary Weighted DAC라고도 하는데 모든 디지털 비트에 대해 R과 그 2배인 2R 이렇게 두 개의 저항으로 구성되며, 비트 입력이 많을 수록 즉,.. 2024. 5. 5.
ADG201A, Analog Switch IC 데이터시트 분석 ADG201A는 Analog Devices 사에서 나온 LC2MOS Quad SPST Switches이다.칩에는 4개의 SPST(Single Pole Single Throw) 스위치가 존재하고 각각 독립적으로 제어가 가능하여 ±15V의 아날로그 신호까지 통과시킬 수 있다. Functional Block Diagram을 보면 INx핀으로 디지털 로직 컨트롤을 통해 SPST 스위치를 제어하고 Dx와 Sx간의 경로를 쇼트시켰다 오픈시켰다 한다. ADG201A시리즈의 경우 Low Active로 0이면 스위치 ON, 1이면 스위치 OFF이다. D는 Drain, S는 Source의 약자같은데 실제로 아날로그 신호를 어느쪽에서 어느쪽으로 라우팅할 지는 응용에 따라 달라질 수 있을 것 같다 신호를 통과시킨다는게 중요하.. 2024. 5. 3.
TMS320F28388D ] 다중 ADC 사용시 변환 순서와 동기 다중 ADC 사용시 변환 순서와 동기에 대해 알아보는데 의식의 흐름순으로 작성되었다.  먼저 사전 설명을 하자면 TMS320F28388D 337-Ball ZWT 패키지는 Temp Sensor를 제외하고 총 24채널의 ADC 입력을 처리할 수 있다. 근데 그중에 3개(ADCINA0, ADCINA1, ADCINB1) 채널은 DAC 용도로도 사용된다. 예를 들어 DAC 3채널을 쓰면 ADC는 21채널만 쓸 수 있는거다. DSP의 ADC 모듈은 총 4개가 있다. ADC-A, ADC-B, ADC-C, ADC-D. 그리고 Temp Sensor는 DSP에 내장되어 있고 ADC-A 모듈과 이미 연결되어 있다. TI가 제공한 예제를 사용하면 쉽게 칩의 온도를 읽을 수 있다.      아래 그림은 ADC 모듈 블럭이다. .. 2024. 5. 1.
TMS320F28388D ] Maximum Input Voltage Operating Voltage가 3.3V인 MCU 중 5V tolerant I/O인 경우도 있다는데 얘는 아니다. 일단 Input voltage의 Maximum rating이 4.6V이다.      그리고 참고로 ADC 입력의 경우 정상동작 하려면 VDDA + 0.3V 이하로 유지되어야 한다. 2024. 4. 29.
인텔 hex 포맷 이해하기 (+ Intel hex to Bin 변환) 인텔 hex 포맷 이해하기 Intel Hex 란? Intel HEX는 ASCII 텍스트 형식으로 이진 정보를 전달하는 파일 형식이다. 주로 MCU의 펌웨어 프로그래밍을 위해 흔히 사용된다. 이 파일 형식은 각 줄이 콜론(:)으로 시작해서 줄바꿈 문자(LF나 CR)로 구분되는 여러줄의 레코드로 구성되며 각 줄은 바이너리 정보를 16진수 ASCII 문자 형태로 담고 있다. 그럼 Intel Hex파일은 Binary파일과 실행파일(.elf 또는 .out)과는 어떻게 다를까? STM32CubeIDE 툴을 사용해서 빌드하면 보통 .elf파일만 생성된다. .elf파일은 Executable and Linkable Format으로 변수 및 함수 심볼 정보, 시스템의 메모리 구조 등 메타데이터를 포함하고 있어 디버거 같은.. 2024. 4. 23.
TMS320F28388D ] 부트핀 구성을 바꾸는 법 & SCI boot 모드 사용시 디폴트 TX/RX핀 말고 다른 핀을 사용하는 방법 TRM에서 부트핀 구성을 바꾸는 방법과 SCI boot 모드 사용시 디폴트 TX/RX핀 말고 다른 핀을 사용하는 방법을 확인해보자.   CPU의 Boot 프로세스 TRM의 Boot flow를 살펴보면 디버거가 연결되어 있느냐에 따라 두가지 종류의 Boot가 있다. Standalone BootEmulation Boot       Emulation Boot 프로세스 먼저 Emulation Boot 일 때는 살펴보면 EMUBOOTPINCONFIG를 읽어 정의된 행동을 하도록 되어있다.       Standalone Boot 프로세스 그리고 Standalone Boot인 경우에는 Zx-BOOTPINCONFIG, Zx-BOOTDEF를 읽도록 되어있는데 부트핀 구성 정보에는 Z2와 Z1 두 그룹이 있다.Z2가 Z1.. 2024. 4. 10.
2의 거듭제곱에 대한 나머지 연산 최적화 및 bit mask 생성 2의 거듭제곱으로 나머지 연산을 수행할 때는 % 연산자 대신 비트 연산을 사용해 연산속도를 최적화할 수 있다. 예를 들어, 어떤 수 x에 대해 x % 8 의 결과를 구하고 싶다면, x를 7과 비트 단위로 AND 연산하는 것과 결과가 같으므로 x & 7 으로 대체할 수 있다. 예시. #include #define BUFSIZE 8 int main() { int x = 10; int result = x & (BUFSIZE - 1); printf("Result: %d\n", result); return 0; } 위와 같이 알아내고자 하는 bit를 전부 1로 셋하고 & 연산으로 값을 추출하는 것은 비트 마스크기법이다. 관련글을 쓴 김에 mask를 생성하고 사용하는 방법에 대해 좀 더 글을 써보겠다. 펌웨어 프로.. 2024. 4. 8.
UTP 케이블의 종류 및 RJ-45 pinout UTP 케이블 일반적으로 우리가 부르는 랜케이블이라고 부르는 이더넷 통신에 사용되는 UTP(Unshielded Twisted Pair) 케이블은 두가닥씩 꼬여진 4쌍의 총 8가닥의 전선으로 이루어져 있고 말단에는 RJ-45 커넥터가 달려 네트워크 장비를 연결하는데 사용된다. 전선은 단색과 줄무늬색으로 구성되어있고 같은 색 쌍은 차동신호로 TX/RX 데이터 전송해 쓰인다. 10BASE-T와 100BASE-T 이더넷 표준에서 UTP 케이블의 8선 중 1, 2, 3, 6번 핀 4선만 사용해 데이터 전송을 처리했고, 1000BASE-T(Gigabit Ethernet) 또는 그 이상의 속도를 지원하는 네트워크 표준에서는 8개의 선을 모두 사용해 통신한다. RJ45 Pinout UTP 케이블을 클림핑할 때 사용되는.. 2024. 3. 28.
USB 2.0 pin out + ID핀 역할 제목은 USB 2.0 pinout으로 했지만 USB 1.0 부터 USB 2.0 표준에서의 Type-A 및 Type-B 커넥터의 핀 구성은 사실 동일하다. Type-A 커넥터는 +5V VCC, 차동신호 데이터 라인 2개(D-, D-), GND 총 4개의 핀을 사용한다. 그리고 Type-B Mini, Type-B Micro 커넥터는 ID핀이 추가되서 총 5개의 핀을 사용하는데 이 핀은 USB OTG(On-The-Go)기능을 지원하기 위해 사용된다. ✔ OTG란? USB는 USB 컨트롤러가 존재하는 호스트와 그 반대인 게스트라는 개념이 있는데 일반인들이 호스트와 게스트 개념을 몰라도 연결 방향을 실수하지 않도록 호스트(PC)에는 Type-A 단자를 달고 주변기기(프린터, 디카, 스마트폰)에는 Type-B단자를.. 2024. 3. 16.
1번 핀 찾는 법 보드와 IC, 커넥터와 케이블에서 1번 핀을 빠르게 찾는 법을 알아보자 보드 회로 기반에 실크레이어로 핀 번호가 인쇄되어 있는 경우는 가장 찾기 쉬운 케이스이다. 위의 방법으로 찾을 수 없을 땐 회로기판이나 어댑터를 뒤집어 까서 납땜 모양을 살펴보자. 일반적으로 다른 핀의 납땜 모양은 둥글지만 1번 핀의 납땜은 정사각형 모양으로 되어있다. IC 칩 IC 칩에서 컷 마크인 노치를 발견하면 노치가 왼쪽에 위치하도록 방향을 돌려주고 그 때 1번 핀은 노치 바로 아래에 있는 왼쪽 하단 핀이며, 이 핀부터 반시계방향으로 숫자가 부여된다. 보통 노치 대신 1번핀과 가장 가까운 코너에 작은 원형 모양의 도트가 있는 경우도 있는데 이때도 읽는 방법은 동일하다. 리본 케이블 보통 리본 케이블의 1번은 어두운색을 띄기 때.. 2024. 2. 24.
CCS ] Invalid project path: Missing project folder or file 해결법 .cproject 파일을 열어 해당 경로에 대한 참조를 수동으로 삭제해주면 된다. 관련 TI forum 글 : https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/529029/invalid-project-path https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/912807/ccs-msp430f5659-38-warnings-of-invalid-project-path-after-moving-code-but-compilation-works-fine 2024. 1. 20.
CAN 통신의 ISO 표준 CAN (Controller Area Network) 통신의 표준은 주로 ISO 11898 시리즈에서 파생되어 다양한 부분에서 여러 표준이 정의되어 있는데 크게 CAN 트랜시버에 적용되는 물리계층 표준과 CAN 컨트롤러에 적용되는 데이터링크 계층 표준으로 나뉠 수 있다. 물리계층 표준: ISO 11898-2: 고속 CAN(CAN High-Speed)의 물리 계층을 정의한다. 차량 내 통신에서 주로 사용되며, 데이터 전송 속도는 최대 1 Mbps이다. ISO 11898-3: 저속 CAN(CAN Low-Speed)의 물리 계층을 정의한다. 주로 차량의 간단한 네트워크 및 저속 통신에 사용되며 Fault Tolerant(내고장성, 결함 허용) 특징을 가지고 있다. 데이터 링크 계층 표준: ISO 11898-1.. 2024. 1. 9.
Ethernet 물리 계층의 표준 IEEE에서 정의하는 주요 Ethernet 물리계층의 전송속도별 구분 Ethernet (10BASE-T) : IEEE 802.3에서 정의된 최초의 Ethernet 표준으로 10 Mbps의 속도를 지원한다. 4가닥의 UTP (Unshielded Twisted Pair) 케이블을 사용하며, 최대 케이블 길이는 100 미터이다. Fast Ethernet (100BASE-T) : IEEE 802.3u에서 정의된 표준으로 100 Mbps의 속도를 지원한다. 역시 4가닥의 UTP 케이블을 사용하며, 최대 케이블 길이는 100 미터이다. Gigabit Ethernet (1000BASE-T) : IEEE 802.3ab에서 정의된 표준으로 1 Gbps의 속도를 제공한다. Cat 5e, Cat 6, 또는 Cat 6a의 8.. 2024. 1. 8.
ARINC 429 waveform ARINC 429 Tx_H, Tx_L 라인을 잡고 파형을 디코딩해보자. 위 사진은 100kbps, odd parity로 Label은 210, SDI는 00, Data 값은 0, SSM은 00인 데이터를 전송한 파형이다. 이전글에도 언급한적 있지만 Label은 MSB first로 전송되고 나머지는 LSB first로 전송된다. Label은 8진수(Octal number)인데 Label 필드가 8 bits이니 2bit, 3bit, 3bit로 끊어읽으면 된다. 즉 여기서 알 수 있는 건 Label의 최대값은 Decimal로 255, Hexa로는 0xFF, Octal로는 377이다. ARINC 429 파형은 RZ 방식이라 스파이크 부분만 보면 되니까 읽기편한 감이 있다. 아무튼 파형에서 Label 필드 부분을 .. 2024. 1. 1.
TMS320F28388D ] CCS에서 hex 파일 출력하는법 프로젝트 우클릭 - C2000 Hex Utility Enable 'C2000 Hex Utility' 체크 --memwidth, --romwidth 16으로 설정 출력 포맷은 .hex Output Format Options는 Intel hex 선택 만약 hex말고 bin파일로 출력하려면 내가 올린 다른 글을 참고하면 된다. tiobj2bin, mkhex4bin, hex2000 툴을 사용하여 out파일로부터 bin파일을 생성해내는 방법이다. 2023.04.20 - [DSP, MCU/TMS320F2838x (C28x)] - TMS320F28388D ] CSS에서 bin 파일 생성하는 법, filling a hole with 0xFF not 0x00 위 방법 말고 이미 생성된 hex파일을 bin파일로 변경하려면.. 2023. 12. 28.
RS-422, RS-485 Waveform RS-422 RS-422 은 두 개의 전압 신호 선을 사용해 데이터를 전송하는 Balanced(Differential) signaling을 사용하므로 Tx+와 Tx-를 측정한다. 일반적으로 양극성 신호라인을 A, 그 반대 극성의 신호를 B라고 하는데 아래 사진에서 노란색이 A라인(Tx+), 연두색이 B라인(Tx-)이다. RS-422 데이터 해석 A-B 전위차가 positive인 경우 그리고 수신단에서 A - B > 200mV 이면 Logic 1(= mark)로 해석한다. A-B 전위차가 negative인 경우 그리고 수신단에서 A - B < -200mV이면 Logic 0(= space)으로 해석한다. START bit가 Logic 0, STOP bit가 Logic 1이고 LSB first로 데이터가 전송.. 2023. 11. 24.
RS-232 Waveform RS-232RS-232는 비동기 직렬통신 표준중 하나로 데이터는 클락신호 없이 전송된다. 송신자와 수신자는 서로 다른 클락을 사용하지만 서로 동일한 Buad rate로 설정하고 데이터 전송의 시작과 끝을 알리는 비트를 사용해 데이터를 정확히 송수신할 수 있다.  RS-232 Waveform 분석 RS-232 통신파형을 스코프로 측정하면 다음과 같다.Single ended 신호라서 tx핀만 측정하면되고, ASCII 코드 '1'을 터미널에 입력해본다.     신호 레벨 Vmin은 -9.5V, Vmax는 +600mV 정도로 Vpp가 10.1V로 측정되었다.출력전압사양은 마이너스 전압이 -3V~-15V 플러스 전압이 +3V~+15V 사이로 보통 ±12V를 사용한다고 알고있는데 내가 갖고있는 컨버터가 산업용이 아.. 2023. 11. 23.
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.
TMS320F28388D ] SPI high-speed mode TMS320F2838x에서 지원하는 최대 SPI Clock speed는 기본적으론 12.5MHz인데 High-speed mode를 사용하면 50MHz까지 가능하다.    High-speed mode를 사용하기 위한 제약사항과 사용 방법을 알아보자.     먼저 연결 시 특정 핀 구성을 따라야만한다.     칩에 SPI 모듈이 4개있는데 각 SPI는 아래 GPIO핀 먹스 옵션을 사용해야만 High-speed SPI를 사용할 수 있다.         그리고 capacitive load 때문에 High-speed mode는 single master에 single slave 연결만 지원한다.  Reference : https://e2e.ti.com/support/microcontrollers/c2000-micr.. 2023. 11. 8.
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.
How to Set a PXI Controller to Start Automatically When Powered How can I set a PXI controller to start up automatically when power is applied? PXI 섀시에 전원 공급 시 바로 시스템 시작하게 하는법 : BIOS 셋업 들어가서 아래와 같이 설정 1. Press the Power button on the PXI chassis, then press Del on the keyboard repeatedly to enter the BIOS. 2. Switch tabs to Advance and select Power/Wake Configuration as shown below. 3. Select Restore After Power Loss and select Turn On as shown below. 4.Sele.. 2023. 10. 4.
GPIB, SCPI GPIB (General Purpose Interface Bus) GPIB는 계측장비와 컴퓨터간 통신을 위한 인터페이스 표준이다. IEEE-488를 통해 데이터 전송, 제어, 통신을 위한 버스의 기계적 전기적 인터페이스가 표준화되어있다. 한 대의 PC(컨트롤러)에 여러 개의 계측장비를 연결할 수 있으며, 각 장치는 고유한 주소를 가지고 있어서 PC에서 SCPI 명령을 통해 여러 장치를 동시에 제어하고 데이터를 수집할 수 있다. SCPI (Standard Command for Programmable Instruments) PC와 계측 장비간 통신을 위한 명령 및 프로토콜 표준으로 IEEE-488.2에 정의되어있다. 사용자는 정의된 명령어 집합과 응답 포맷에 따라 프로그래밍을 통해 장비와 통신할 수 있다. .. 2023. 9. 15.
RS-422 RS-422 Specification Attribute Specification Cabling Point-to-Point, Single-ended Multi-drop Max Driver 1 Max Receiver 10 Maximum distance 1200m at 100kbps Maximum data rate 10 Mbps at 15m Signaling Balanced Maximum Nominal Voltage ± 7V Minimum Transmitter's Driver Output Voltage ± 2V Receiver Input Sensitivity ± 200mv Mark (1) Positive difference (A - B > 200mv) Space (0) Negative difference (A.. 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.
NI-VISA example 실행해보기 https://www.ni.com/en/support/documentation/supplemental/13/national-instruments--net-support.html .NET Resources for NI Hardware and Software For .NET application development, National Instruments provides a Visual Studio add-on for test and measurement, Measurement Studio, and .NET driver APIs for use with National Instruments data acquisition, PXI instrumentation and third party instrumentati.. 2023. 9. 15.
UniFlash 사용 방법 UniFlash 설치파일 링크 : https://www.ti.com/tool/UNIFLASH UNIFLASH Software programming tool | TI.com 20 MHz MCU with 128KB Flash, 10KB SRAM, 16-bit Sigma-Delta ADC, dual DAC, DMA, 2 OpAmp, 160 seg L MSP430FR2000 — 16 MHz MCU with 0.5KB FRAM, 0.5KB SRAM, comparator, UART/SPI, timer MSP430FR2032 — 16 MHz MCU with 8KB FRAM, 1KB SRAM, 10-bit ADC, UART/SPI www.ti.com CCS에서 빌드하면 기본 출력물이 .out인데 UniFlash 툴을 .. 2023. 9. 15.
VISA (Virtual Instrument Software Architecture) What is VISA? VISA는 Virtual Instrument Software Architecture의 약자로 응용 프로그램과 계측기 간의 통신을 가능하게 하는 Test & Measurement 업계의 표준이다. 계측기는 보통 USB, LAN, GPIB, PCI/PCIe(PXI/PXIe)등 다양한 연결을 지원하고 로우레벨에서는 이러한 물리적 인터페이스에 따라 각기 다른 방식으로 데이터 통신이 이루이지는데, 이로 인한 중복 개발을 피하고 통신과정을 더욱 단순화하고 표준화하기 위해 계측기와 어플리케이션 간 Interface I/O를 관리할 중간계층으로 VISA가 등장하게 되었다. VISA를 사용하면 물리적 인터페이스가 USB든 LAN이든 PXI든 로우레벨에서 이루어지는 세부사항을 알 필요없이 계측기에.. 2023. 9. 15.