이론 관련/전기 전자2026. 9. 16. 14:20

솔찍히 봐도 먼소리인지 모르겠다 -ㅁ-

 

요약만 하자면 i2c 같은 경우 버스를 공유 하기 때문에 다른 애들이 버스의 전압레벨을 흔들수 있어야 하는데 그렇기에

모든 장치가 open drain 으로 하고 버스 라인을 pull up 해두면 장치들이 알아서 내릴수 있으니 해결~ 이라는 의미

[링크 : https://gdnn.tistory.com/281]

 

결국에 open drain 은 끌어 내리는것만 담당하고, pull up을 외부에 맡기는 구조라고 한다.

push - pull open drain

[링크 : https://chatgpt.com/share/6aaa2675-ad58-83e8-ae1f-70acf9d324ee]

'이론 관련 > 전기 전자' 카테고리의 다른 글

analog discovery - scope 와 logic / protocol  (0) 2026.08.19
ocs (Optical Circuit Switching)  (0) 2026.07.21
최적 PID 튜닝 Ziegler–Nichols method  (0) 2026.07.02
xgboost, CALCE  (0) 2026.04.27
CPO - Co Packaged Optics  (0) 2026.04.22
Posted by 구차니

usb 패킷 길이 확인이라고 해야하나?

 

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0080  1x 128 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0b00  2x 768 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0c00  2x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       6
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1380  3x 896 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       7
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1

[링크 : https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/]

[링크 : https://community.infineon.com/t5/Knowledge-Base-Articles/Throughput-for-Isochronous-Transfers-for-FX2LP/ta-p/250158#.]

[링크 : https://ndb796.tistory.com/392]

 

 


USB 아이소크로노스 고대역폭(High-Bandwidth Isochronous) 전송
은 오디오, 비디오, 웹캠처럼 데이터가 끊기지 않고 실시간성(Time-critical)이 보장되어야 하는 장치를 위해, 하나의 서비스 주기(Microframe) 내에서 여러 개의 데이터 패킷을 연속으로 전송하여 대역폭을 극대화하는 기술입니다. [1, 2]
USB 엔드포인트(Endpoint) 설명자와 하드웨어 수준에서 설계된 이 방식의 핵심 원리와 동작 방식은 다음과 같습니다.
 
1. 고대역폭 아이소크로노스의 핵심 원리
일반적인 USB 2.0 High-Speed 모드에서 아이소크로노스 엔드포인트는 1 마이크로프레임(Microframe = 125µs)마다 최대 1개의 데이터 패킷(최대 1024 바이트)만 전송할 수 있습니다. [1, 2]
하지만 고화질 비디오 스트리밍처럼 1024바이트를 초과하는 대역폭이 필요할 때 고대역폭 엔드포인트를 활성화합니다. [1]
 
  • 추가 트랜잭션 요청: 단일 마이크로프레임 내에서 최대 2개의 패킷을 추가로 더 요청할 수 있습니다. [1]
  • 대역폭 확장 수치 (USB 2.0 High-Speed 기준):
    • 00 (기본): 마이크로프레임당 1개 패킷 (최대 1,024 바이트)
    • 01 (1개 추가): 마이크로프레임당 2개 패킷 (최대 2,048 바이트)
    • 10 (2개 추가): 마이크로프레임당 3개 패킷 (최대 3,072 바이트)
2. 엔드포인트 기술 사양 (Descriptor 사양)
펌웨어나 USB 컨트롤러 드라이버 레벨에서 고대역폭을 활성화하려면 엔드포인트 디스크립터(Endpoint Descriptor)의 wMaxPacketSize 필드의 상위 비트를 수정해야 합니다: [1]
  • Bit 10 ~ 0: 기본 패킷 크기를 지정합니다 (예: 1024 크기면 0x400). [1, 2]
  • Bit 12 ~ 11: 마이크로프레임당 추가 전송 기회를 설정합니다.
    • 01 : 마이크로프레임당 2번 전송 (비트 추가)
    • 10 : 마이크로프레임당 3번 전송 (비트 추가)
3. USB 3.0(SuperSpeed) 이상에서의 확장
USB 3.0 SuperSpeed 이후부터는 구조가 더욱 확장되어 고대역폭 아이소크로노스를 버스트(Burst) 전송 Mult(Multiplier) 개념으로 처리합니다. [1, 2, 3]
 
  • 이론상 최대 전송량: SuperSpeed에서는 단일 주기 내에서 최대 16개의 버스트 크기와 3개의 Mult를 조합하여 1024 바이트 × 16 × 3 = 49,152 바이트를 한 주기에 쏟아부을 수 있습니다. [1]
  • 이를 통해 UHD(4K/8K) 카메라나 비압축 고화질 영상 캡처 장비도 지연 없이 안정적으로 데이터를 밀어줄 수 있습니다
4. 주요 특징 및 주의사항
  • 에러 재전송 없음 (No Retries): 벌크(Bulk) 전송과 달리 데이터에 CRC 에러가 발생해도 다시 보내지 않고 다음 패킷으로 넘어갑니다. 데이터의 무결성보다 정해진 시간에 데이터가 도착하는 시간적 연속성이 훨씬 중요하기 때문입니다. [1, 2, 3, 4, 5]
  • 대역폭 예약제: 호스트 컨트롤러는 아이소크로노스 전송을 위해 전체 USB 대역폭의 일정 비율(최대 80~90%)을 미리 고정으로 묶어둡니다. [1]
  • 대역폭 부족 오류 (Bandwidth Error): 여러 대의 고대역폭 웹캠을 하나의 USB 허브에 물리거나, 하나의 호스트 컨트롤러에 고대역폭 아이소크로노스 장치를 동시에 여러 개 연결하면 "USB 대역폭 초과" 에러가 발생하며 장치 인식이 되지 않을 수 있습니다. 이 경우 기기 드라이버에서 대체 설정(Alternative Setting)을 통해 요구 대역폭을 낮추거나 별도의 USB 컨트롤러에 분산 연결해야 합니다. [1]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

NCHW, NHWC  (0) 2026.05.06
품질 관리 체크리스트 - p0 p1 p2 p3?  (0) 2026.04.23
asus 메인보드 에러코드(q code)와 부팅절차  (0) 2026.04.20
intel hex 포맷  (0) 2026.03.24
sd 카드 spi 모드 관련 조사  (0) 2026.03.17
Posted by 구차니
이론 관련/전기 전자2026. 8. 19. 10:51

scope는 아날로그를 보고

logic은 디지털을 보고

protocol은 디지털을 문자열로 변환해준다.

 

트리거를 위해

DIO와 CH1을 같이 엮어주고

scope 에서 CH1 에서 Add channel로 Digital - UART

 

DIO 0 으로 받고

8Bit / Parity None으로, Baud는 Auto Standrad로 해준다.

(만약에 신호가 0에서 올라가면 Polarity를 Invert로 설정하면 정상적으로 해석됨)

 

그럼 아래과 같이 설정되고

 

input을 Analog / Digital / Analog and Digital로 설정이 가능한데

지금은 아날로그라 Sc C1이라고 뜨지만 Digital을 하면 DIO0이 뜬다.

 

minicom 에서 19200bps로 설정하고

Welcome to minicom을 복사해서 붙여 넣고 전송!

 

그럼 파형과, 그걸 기반으로(?) UART 통신을 분석해준다.

 다만, 너무 파형을 축소하면  샘플링레이트 문제로 정상적으로 파싱할 수 없는 문제가 있으니

적당히(!) 세밀하게 보이도록 확대하는게 포인트

 

parity는 0.5 bit width인가? 왜 반 갈라 두지?

 

Even Parity 하니 X + P가 되어서 1.5bit width가 되었군.

 

19200bps 라서 대충 52usec. 1bit 길이 만큼 쉬었다가 전송되는건가..?

 

[링크 : https://www.youtube.com/watch?v=9uWaTHdVyxE]

'이론 관련 > 전기 전자' 카테고리의 다른 글

open drain  (0) 2026.09.16
ocs (Optical Circuit Switching)  (0) 2026.07.21
최적 PID 튜닝 Ziegler–Nichols method  (0) 2026.07.02
xgboost, CALCE  (0) 2026.04.27
CPO - Co Packaged Optics  (0) 2026.04.22
Posted by 구차니
이론 관련/전기 전자2026. 7. 21. 11:17

mems

[링크 : https://www.lumentum.com/en/products/300x300-optical-circuit-switch-ocs]

 

liquid crystal switching

 

piezo ...

[링크 : https://www.hubersuhner.com/en/optical-circuit-switching]

 

lumotive / metalenz

tunable metasurface 

'이론 관련 > 전기 전자' 카테고리의 다른 글

open drain  (0) 2026.09.16
analog discovery - scope 와 logic / protocol  (0) 2026.08.19
최적 PID 튜닝 Ziegler–Nichols method  (0) 2026.07.02
xgboost, CALCE  (0) 2026.04.27
CPO - Co Packaged Optics  (0) 2026.04.22
Posted by 구차니

STP - Spanning Tree Protocol

[링크 : https://aws-hyoh.tistory.com/136]

 

Rapid STP

RSTP alternative / backup 포트

STP에 비해 빠르게 (기존 30~50, rstp 1초이내) loop 감지하기 위해 block 에서 forward로 전환

[링크 : https://going-to-end.tistory.com/entry/RSTP-Rapid-Spanning-Tree-Protocol]

[링크 : https://aws-hyoh.tistory.com/174]

'이론 관련 > 네트워크 관련' 카테고리의 다른 글

uart 9bit multidrop  (0) 2026.03.17
DHCP option  (0) 2026.03.13
DHCP option 82 relay  (0) 2025.01.23
multicast  (0) 2023.08.26
cobs  (0) 2023.05.25
Posted by 구차니
이론 관련/IoT2026. 7. 9. 14:46

구독, 발행이 있는데 mqtt랑은 또 다른건가?

[링크 : https://github.com/eProsima/Micro-XRCE-DDS]

[링크 : https://www.omg.org/spec/DDS-XRCE/About-DDS-XRCE/]

 

갑자기 pixhawk에 telemetry로 보이냐?

[링크 : https://roytravel.tistory.com/389]

 

DDS Data Distribution Service

어..? ros2 mqtt가 아냐?

[링크 : https://huroint.tistory.com/entry/DDS-DDS-RTPS]

'이론 관련 > IoT' 카테고리의 다른 글

OneM2M / mobius  (0) 2018.12.13
node-red  (0) 2018.12.13
WIPS 스터디  (0) 2018.12.12
CoAP 관련 스터디  (0) 2018.12.12
MQTT 사례 / 구현  (0) 2018.12.12
Posted by 구차니

PID수동튜닝 방법으로 ziegler-nicholas 방법이 있다고 하는데

[링크 : https://codeparadise.tistory.com/549]

 

계단응답곡선

임계이득 -> 임계주기

[링크 : https://m.blog.naver.com/dkwltmdgus/220939484841]

 

I 값과 D 값을 0 으로 두고

P값을 0부터 최대값 까지 증가 시키면서

잘 찾아 보란건가..?!?

[링크 : https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method]

[링크 : https://blog.naver.com/serimo/221415461726]

[링크 : https://www.ni.com/docs/ko-KR/bundle/labview-pid-and-fuzzy-logic-toolkit-api-ref/page/lvpidmain/ziegnichforms.html]

'이론 관련 > 전기 전자' 카테고리의 다른 글

analog discovery - scope 와 logic / protocol  (0) 2026.08.19
ocs (Optical Circuit Switching)  (0) 2026.07.21
xgboost, CALCE  (0) 2026.04.27
CPO - Co Packaged Optics  (0) 2026.04.22
엔코더 파형  (0) 2026.01.12
Posted by 구차니

N - Number of image size in batch size

H - Height of image

W - Width of image

C- number of Channel of the image

 

NCHW는 Channel First (red channel image + blue ...)

NHWC는 Channel Last (rgb pixel image)

 

[링크 : https://intel.github.io/intel-extension-for-pytorch/cpu/latest/tutorials/features/nhwc.html]

 

어떻게 보면 레이어 별로 처리하게 하는게 유리할수도 있을 것 같기도 한데 서로 tradeoff가 존재할 것 같다.

 

NCHW - (64,3,512,512)

NHWC - (64,512,512,3)

[링크 : https://medium.com/@gonchogo/nhwc-vs-nchw-1504d2621b5e]

 

GPU - NCHW

CPU - NHWC

tensorRT는 NHWC에서 최고의 효율

[링크 : https://seungwoo-dev.tistory.com/6]

Posted by 구차니
이론 관련/전기 전자2026. 4. 27. 12:35

 

 

XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting (also known as GBDT, GBM) that solve many data science problems in a fast and accurate way. The same code runs on major distributed environment (Kubernetes, Hadoop, SGE, Dask, Spark, PySpark) and can solve problems beyond billions of examples.

[링크 : https://github.com/dmlc/xgboost]

 

[링크 : https://monawa.tistory.com/28]

[링크 : https://xgboost.readthedocs.io/en/stable/tutorials/param_tuning.html]

[링크 : https://www.kaggle.com/code/lifesailor/xgboost]

 

 

+

[링크 : https://calce.umd.edu/battery-data]

 

+

grid search cv

[링크 : https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html]

[링크 : https://day-to-day.tistory.com/33]

[링크 : https://velog.io/@hyunicecream/GridSearchCV란-어떻게-사용할까]

[링크 : https://wikidocs.net/87220]

'이론 관련 > 전기 전자' 카테고리의 다른 글

ocs (Optical Circuit Switching)  (0) 2026.07.21
최적 PID 튜닝 Ziegler–Nichols method  (0) 2026.07.02
CPO - Co Packaged Optics  (0) 2026.04.22
엔코더 파형  (0) 2026.01.12
엔코더 채터링?  (0) 2026.01.11
Posted by 구차니

정적분석에서 먼가 이상한(?) 단어가 나와서 찾아보는데

정석분석은 아니고

품질관리 관련 체크리스트 레벨인듯.

 

[링크 : https://wikidocs.net/322755]

[링크 : https://clickup.com/ko/blog/192214/p1-p2-p3-p4-priority]

[링크 : https://rupijun.tistory.com/entry/테스트-종료-기준-Test-Exit-Criteria-객관적-완료-판단-체계]

[링크 : https://brunch.co.kr/@jamescompany/213]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

usb high bandwidth isochronous  (0) 2026.09.03
NCHW, NHWC  (0) 2026.05.06
asus 메인보드 에러코드(q code)와 부팅절차  (0) 2026.04.20
intel hex 포맷  (0) 2026.03.24
sd 카드 spi 모드 관련 조사  (0) 2026.03.17
Posted by 구차니