no image
AUTOSAR MCAL 참고 사이트 TI
AUTOSAR(AUTomotive Open System ARchitecture)에서는 자동차 ECU 개방형 소프트웨 구조를 개발합니다. 그 중에서도 AUTOSAR 구조 중에서 MCAL(Microcontroller Abstraction Layer)이라는 영역이 있는데, 영어 풀네임에서 유추할 수 있듯이, MCU(Micro Controller Unit)를 추상화한 구조입니다. 사내에 참고할만 한 AUTOSAR 구조가 있으면 좋지만, 그렇지 못한 경우에는 MCAL에 대해 구경하기가 어렵습니다. 또한, 자료도 아직 부족한 상태입니다. 개인적으로 각종 전자부품을 개발하는 TI(Texas Instruments)에서 MCAL에 대해 설명한 사이트를 추천드립니다. 둘러보시면 아시겠지만, Can/Eth/Gpt/Spi 등..
2022.03.10
no image
TRACE32(T32) 디버깅 Watch 배열 Format 변경
T32에서 배열 및 일반 변수를 Watch창에서 디버깅할 때, Format을 변경할 수 있습니다. 예를 들어, Decimal, Hex, Binary 등 입니다. 아래는 가장 기본값에 따른 모습입니다. 변수 위에 마우스를 가져다 놓고, 우클릭을 하여 Format을 클릭합니다. 원하는 Format을 체크해준 후, OK 합니다. Decimal에서 Hex로 변경된 모습을 볼 수 있습니다.
2022.03.07
no image
Wireshark FCS/CRC 4Byte 안보이는 이유
환경마다 다르겠지만, 특정 환경에서는 Wireshark에서 송신하는 패킷의 길이보다 4Byte 더 받는 것처럼 나타날 수도 있습니다. 이 차이는 FCS(Frame Check Sequence) 또는 CRC(Cyclic Redundancy Check) 때문입니다. 아래 그림에서 보이는 것처럼 프레임의 가장 끝 부분에 위치해 있습니다. 이 현상은, 지난 번 IP Checksum 구간이 0으로 보이는 것과 유사한 이유입니다. PHY 즉, 물리계층에서 수행하기 때문에 Wireshark에서는 보이지 않습니다. 따라서, PHY에서 계산하여 추가적으로 송신했다고 볼 수 있겠네요. 아마, 설정에서 이런 것을 변경할 수 있지 않을까 싶지만 당장 저에게 필요한 부분은 아니기 때문에 기회가 되면 알아보도록 하겠습니다. 잘 이..
2022.03.07
스위치(Switch) 데이터 전달 모드 종류
스위치에는 데이터를 전달하는 모드에 여러 방식이 존재합니다. Store-and-Forward, Cut-thorugh, Frgament Free 방식 등입니다. 가장 큰 차이점은 어디까지 저장하냐가 큰 관건입니다. 그리고 저장하는 범위에 따라, 에러 검출 여부가 정해집니다. 아래에 스위치 데이터 전달에 있어, 각 모드를 정리해 두었으니, 비교하시면 좋을 것 같네요. Store-and-Forward 프레임 전체를 수신 및 저장하여 출력 포트 결정 CRC 검사를 통해, 오류 프레임은 버린다. Latency가 큼 Cut-through 프레임의 목적지 주소를 저장하고 검사하여 출력포트 결정 에러 프레임 판단 불가 Latency가 작은 편 Fragment Free(Modified Cut-through) 일정 부분까..
2022.03.07
no image
Wireshark, 송신 IP Checksum이 0으로 보이는 이유
수신하는 쪽에서는 Checksum 값이 있는데 송신하는 쪽에서 Wireshark로 분석할 때, IP Checksum이 0으로 보일 수 있습니다. 송신하는 쪽의 운영체제는 Window고 Window에 내장된 IP 프로토콜이니 송신의 문제는 없을 겁니다. 이런 현상은 Cehcksum Offload라는 개념 때문인데, 먼저, 송신하는 쪽에서 Wireshark로 확인해보겠습니다. 현상 확인 신기하게도 수신측에서는 IP Header Checksum이 잘 나타납니다. Window 네트워크 설정 중, Checksum Offload 때문인데, 아래 화면들처럼 모두 설정을 Disable하겠습니다. 송신하는 쪽에서, 다시 확인해보겠습니다. 이제는 IP Cheksum이 잘 나오네요. 수신 쪽에서의 IP Checksum과도 ..
2022.03.07
no image
Ethernet PHY Extended Register 개념과 Pseudo-code
IEEE802.1 Clause 22에 따르면, Ethernet PHY는 32개의 레지스터를 제어할 수 있습니다. 하지만, 가끔 32개 이상의 레지스터를 제어할 수 있다고, Datasheet에 적혀있는 PHY들이 있습니다. 자료조사한 바에 따르면, 이 개념은 Extended Register 라고 많이 표현합니다. 혹은 Page 라고 표현하기도 하는데, Page라는 용어는 이미 쓰이고 있는 부분들이 많아서 이 글에서는 Extended Register라고 표현하겠습니다. Extended Register 개념 https://ww1.microchip.com/downloads/en/DeviceDoc/VMDS-10494.pdf 위 링크의 Datasheet를 보면 아래와 같은 설명이 있습니다. 확장 페이지 1 레지스터..
2022.03.07
no image
계층별 PDU 명칭과 프레임/패킷/세그먼트 차이
일반적으로 통신 및 네트워크 분야에서 데이터의 시작과 끝이 존재합니다. 지속적으로 데이터를 송신할 이유도 없지만, 송/수신에 실패했을 때 재전송을 하거나 트래픽 제어를 위해서라도 중간중간 약간의 여유시간이 필요하기 때문입니다. (이론적으로, 지속적인 데이터를 송신하는 기술도 있겠으나 저의 경우 경험해본 적은 없습니다.) 그리고 디지털 신호 기준으로 '0' 또는 '1' 으로 송신하기 때문에 데이터의 시작과 끝이 있는 것이 관리하기 훨씬 용이합니다. (간혹, '0'과 '1' 외에도 '-1'과 같은 신호를 보내는 기술도 있지만 전체적인 맥락은 큰 차이가 없습니다.) 컴퓨터 네트워크 분야에서는 데이터의 시작과 끝 즉, 하나의 데이터를 부르는 명칭도 계층(Layer)마다 조금씩 다릅니다. 통신 기술, 기업, 분야..
2022.03.07
NLP(Normal Link Pulse), FLP(Fast Link Pulse) 개념
NLP(Normal Link Pulse) 10Base-T에서 16ms의 주기를 가지고, 100ns 시간 동안의 링크펄스(Linkpulse)를 송신합니다. Linkpulse가 도착한 이후로, 150ms 동안 또 다른 Linkpulse나 프레임이 수신되지 않으면 링크 에러로 판단합니다. 150ms 내에, 4번의 연속적인 링크펄스를 수신하거나, 프레임을 수신하면 에러를 회복합니다. ※ 에러의 경우 수신자 기준으로 판단하므로, 참고하시기 바랍니다. FLP(Fast Link Pulse) 100Base-Tx/100Base-T에서 NLP를 확장하여 사용하는 개념입니다. 자신의 Spec.을 송신할 수 있고 Auto-negotiation과 연관된 기능입니다. FLP는 33개의 NLP로 구성되어 있고 16±8ms 주기를 ..
2022.03.04
no image
MDC, MDIO (Management Data Clock, Management Data Input/Ouput) clause 22 정리
MDC(Management Data Clock)/MDIO(Managment Data Input/Ouput)는 MAC에서 PHY를 제어 및 관리하기 위해 사용되는 2-Wire 직렬 버스입니다. 이번에는 IEEE 802.3의 Clause 22에 정의된 방식을 정리해보겠습니다. MDC/MDIO Clause 22는 32개의 PHY와 각 PHY 내 32개의 레지스터에 접근할 수 있습니다. MDC/M,DIO 핀에 대한 내용은 다음과 같습니다. 분류 MDC MDIO 인터페이스 클럭 MDIO MDIO 인터페이스 데이터 MDC/MDIO를 이용하여 PHY의 속도, Duplex mode, Auto-negotiation 등에 대해 설정할 수 있습니다. 이 외에도, 해당 PHY의 특수한 기능 설정도 가능합니다. PHY 내부 레..
2022.03.04