Serial Data Generator

도구/기타 2024. 4. 21. 23:00

보드를 처음 제작하게 되면, HW가 정상적으로 동작하는지 검증하기 위해서, MCU나 FPGA 같은 제어 디바이스의 레지스터에 값을 쓰거나 읽는 것으로 평가 작업을 진행한다. 이런 검증 작업은 주로 디버깅용 시리얼 포트를 통해 진행하게 되고, 개발 초기에는 주로 시리얼 통신용 터미널 프로그램을 사용해 진행한다. 아직 전용 제어 UI 프로그램이 없기 때문이다.

범용 시리얼 통신 프로그램은 평가 작업을 자동화하기 어려워, 데이터 값 스윕이나 반복 작업 등을 할 때 많은 시간이 소요된다. 따라서 시리얼 통신을 통해 제어 디바이스와 주고 받을 데이터를 스크립트로 작성하여 자동실행을 시키면 검증 시간을 대폭 단축할 수 있다.

SDG(Serial Data Generator)는 시리얼 포트를 통해 제어 장치로 보낼 데이터를 자동으로 생성해 전송해주는 기능을 수행한다.

주요 기능:

  • 일반적인 시러얼 통신 기능. Hexademial 또는 ASCII로 데이터 송신 또는 수신
  • Delimiter 자동 추가
  • CRC 자동 생성
  • 전용 스크립트(텍스트 파일) 실행

스크립트 기능:

  • Case-insensitive
  • 주석 처리 및 모니터 창에 출력
  • 변수 정의, 변수에 값 할당, 변수 연산(사칙연산, 비트연산)
  • wait, pause
  • repeat
  • 수신된 데이터를 예상 값과 비교
  • 수신된 데이터를 변수에 할당
  • 변수를 포함한 수식 계산

SDG.zip
9.94MB
sample_script.sdg
0.00MB
sample_script2.sdg
0.00MB

sdg 파일은 일반 텍스트 파일이다.

명령어등 사용방법은 스크립트 파일 2개를 참조한다. sample_sciprt2를 먼저 전송하고 sample_script를 이어서 수행한 화면이 위 두 그림이다.

 

'도구 > 기타' 카테고리의 다른 글

Harness Wizard  (0) 2023.12.27
Harness Wizard  (2) 2021.02.03
사양 BOM 생성기 (매트릭스 버전)  (0) 2020.04.05
사양 BOM 생성기  (0) 2020.03.25
Eye Diagram Viewer - 파이썬 소스  (0) 2018.09.16
:

Harness Wizard

도구/기타 2023. 12. 27. 21:41

'도구 > 기타' 카테고리의 다른 글

Serial Data Generator  (0) 2024.04.21
Harness Wizard  (2) 2021.02.03
사양 BOM 생성기 (매트릭스 버전)  (0) 2020.04.05
사양 BOM 생성기  (0) 2020.03.25
Eye Diagram Viewer - 파이썬 소스  (0) 2018.09.16
:

Harness Wizard

도구/기타 2021. 2. 3. 22:00

1.     목적

Harness 도면의 경우, 접속도 또는 회로도와 달리, drawing 규칙이 정형화되어 있어 자동화가 비교적 용이하다. 따라서, Harness 도면 드로잉을 자동화하면, 도면 작성과 검도 시간을 절약할 수 있다. 이를 위해 Harness Wizard를 만들게 되었다.

 

2.     Harness Wizard 화면 구성

Harness Wizard 입력 시트 구성은 표제란(A), 자재란(B), Harness 구성(C), 그리고 기타(D) 네 부분으로 되어 있다.

 

3.     자재란

자재란은 도면에서 사용되는 자재인 케이블이나 커넥터 등을 정의한다. 여기서 정의된 자재는 각각 고유의 지정자(Material Designator)를 갖게 되며, 도면에서 이것으로 자재를 식별하게 된다.

자재란의 각 열에 대한 설명은 아래와 같다.

Mat. Des. 자재를 고유하게 식별하기 위한 지정자(반드시 숫자이어야 함)
Type Harness 구성 요소로 Cable, Connector는 필수 요소이고,
Connector 아래에 옵션(예들 들어 Terminal)을 추가할 수 있다.
Model(Or Specification) 모델 번호나 규격 등에 해당 자재에 대한 정보
Maker 해당 자재 제조사
Start Pin Type Cable인 경우, 와이어 번호이고,
Type Connector인 경우 핀 번
End Pin  "
추가 정보 Type Cable인 경우, 수축튜브 직경 값
Type Connector인 경우, 핀 번호 prefix(옵션). Prefix는 콤마로 구분하여 다중 사용

자재란의 정의는 위 규칙을 준수하는 범위 내에서 얼마든지 길게 작성 가능하다. 자재란 영역은 색으로 구분되므로 바탕색을 준수해야 한다.

아래는 3개의 자재를 정의한 예들 보여준다.

1개의 케이블과 2개의 커넥터가 정의되어 있다. 케이블은 8가닥의 선으로 되어 있으며 지정자(Mat. Des.)1 이다. 지정자 2로 정의된 커넥터는 별도의 터미널을 안에 가지고 있으며 A1~A4, B1~B4 8개의 핀을 갖고 있다. 지정자 3으로 정의된 커넥터는 내부 핀이 통합되어 있는 커넥터로 8개의 핀(1~8)을 갖고 있다. 아마도 Harness를 구성하려면 최소한 1개 이상의 Cable1개 이상의 Connector가 정의되어야 할 것이다.

 

4.     Harness 구성

Harness 구성은 자재란에 기술된 자재를 이용해서 Harness가 어떻게 구성되는지 정의한다. 기본적으로 Cable, Connector A, Connector B 3개 부분이 하나의 구성 세트를 이룬다. 하나의 케이블은 최소한 하나 이상의 Connector AConnector B가 필요하다. 하나의 도면에 여러 개 Cable을 드로잉하기 원할 경우 여러 개의 세트를 순서대로 기술하면 된다.

먼저 하나의 구성 세트 예를 살펴보자.

Harness는 하나의 Cable이 있으며 케이블 왼쪽(A) 1개의 커넥터가 있고, 오른쪽(B) 1개의 커넥터가 있다. Harness에서 사용되는 자제는 3장 자재란에서 정의된 자재이다. 이 구성 정의는 다음과 같다.

먼저 케이블을 정의하고 그 다음 Connector A 그리고 Connector B 순서로 한다. 하나의 케이블에 연결된 커넥터 수 많을 경우, A 또는 B 쪽에 원하는 만큼 계속 정의해주면 된다. 단 입력되는 순서는 Connector A(s)를 다 입력한 후에 Connector B(s)를 입력해야 한다. 입력된 자재들의 종류는 Materials 열에서 Cable, Connector A, Connector B 중 하나의 키워드를 사용해야 한다.

Cable 자재는 반드시 아래와 같은 속성(Properties)을 가져야 하며, 순서대로 입력되어야 한다.

Material Designator 자재란에 정의된 자재 Mat. Des. 중 하나
Length Cable 길이 (mm)
Shield 실드 케이블 사용 유무.
A, B 
또는 빈칸
Label A A쪽 라벨명
Tag A A쪽 태그명(옵션)
Heat Shrink Tube Color A A쪽 수축튜브 색상
Label B B쪽 라벨명
Tag B B쪽 태그명(옵션)
Heat Shrink Tube Color B B쪽 수축튜브 색상

Connector A 또는 Connector B 자재는 아래와 같은 속성을 반드시 가져야 하며, 순서대로 입력되어야 한다.

Material Designator 자재란에 정의된 자재 Mat. Des. 중 하나
Length Cable 탈피 길이 (mm)
Pin Assignment 케이블 와이어 번호.
커넥터 핀 수만큼 정의하며, 할당은 핀 번호 순서대로 콤마로 구분하여 기술한다.
Tag Cable 자재에서 태그를 사용하지 않을 경우, 커넥터 쪽에서 태그를 정의할 수 있다.
태그는 하나만 정의해서 커넥터 전체를 대표하거나, 콤마로 구분해서 핀 수만큼 정의한다.

ConnectorPin Assignment 속성은 커넥터 핀과 케이블 와이어 간의 연결 관계를 정의한다. 앞예에서, A쪽 커넥터는 Mat. Des. 2 이다. 자재란에서 2번 자재를 보면 시작 핀이 A1이고 마지막 핀이 B4이다. 8개의 핀을 갖고 있다. 따라서, Pin Assignment에서 8개의 와이어에 연결을 해야 하고, 여기서는 핀번호 순서대로 각각 1, 2, 3, 4, 5, 6, 7, 8번 와이어를 연결했다. 커넥터의 핀에 와이어 할당을 하지 않으려면, 해당 위치는 빈칸으로 둔다. 만약 A2번 핀에 와이어를 할당하지 않으려면, “1, ,3,4,5,6,7,8”처럼 하면 된다.

 

5.     도면 시트 크기

도면 크기는 A4, A3, AUTO 중 하나를 고를 수 있다.

6.     Shield 처리

Shield된 케이블을 사용하는 경우, Cable 자재의 Shield Property 값으로 A 또는(그리고) B를 사용하면 된다. 이 부분이 비이 있으면 Unshielded(Normal) 케이블을 의미한다.

Shield는 커넥터 하우징과 Bonding 되거나 커넥터의 한 핀에 Drain Wire가 연결되는 형태를 취한다. 커넥터 하우징에 Bonding하기 원할 경우, Connector A(B) 자재 정의 부분에서 따로 정의할 것은 없다. 그러나, Drain Wire를 커넥터 핀에 할당하고자 할 경우, 해당 핀 번호 자리에 “shield”를 입력한다.

다음은 이전 예에서 Connector A의 하우징이 아닌 A4번 핀에 shield를 연결한 경우이다.

Connector A 커넥터에서 A4번 핀에 wire 4번이 생략되며 shied가 연결된다. Connector B 커넥터에서도 6번째 핀 자리가 빈칸이므로 wire 연결을 하지 않는다.

 

7.     점퍼 처리

케이블에서 나온 하나의 wire를 커넥터 2개 이상의 핀에 연결하기 원할 경우, Pin Assignment 속성에서 해당 핀위치에 wire 번호를 동일하게 입력하면 된다.

다음 구성 예는 AB쪽 모두에서 5번과 7번 와이어를 2개의 핀에 할당한 경우를 보여준다.

아래는 구현된 도면이다.

 

8.     커넥터 공유

위 도면처럼 하나의 커넥터가 2개의 케이블에서 공유되는 경우, 아래처럼 Share Des. 열에서 공유되는 커넥터에 동일한 지정자를 임의로 지정해 주면 된다.

 

9.     다중 라벨

동일 Harness에 라벨(또는 길이)만 다르게 적용하고 싶은 경우, 도면에 라벨 테이블을 추가할 수 있다. 이 기능은 테이블 시트 이름항목에 테이블 정보가 있는 엑셀 시트 이름을 입력해주고, 해당 엑셀 시트에서 테이블을 만들어 주면 된다.

테이블 엑셀 시트의 A1 셀부터 도면에 표시될 표를 작성한다. 이때 헤더 부분의 각 항목은 도면 생성시트의 Label A(B), Tag (A/B), 또는 길이와 이름을 같게 해주는 것이 바람직하다.

구성은 예는 아래와 같다.

생성된 도면은 다음과 같다.

 

10.  핀과 태그 할당 편의 기능

커넥터에 핀 수가 많은 경우 와이어 할당에 어려움이 있을 수 있다. 와이어 번호와 핀 번호가 제대로 맵핑 되었는지 확인이 어렵기 때문이다(태그도 마찬가지). 이를 쉽게 하기 위해서 핀 할당 적용기능과 핀 할당 펼치기기능이 있다.

핀 할당 펼치기는 현재 커넥터에 할당된 핀과 태그가 4개 이상일 경우 오른쪽에 그것을 펼친다. 아래는 핀 할당을 펼치기 전이다.

아래는 핀 할당을 펼친 후이다.

핀 할당 펼치기의 반대가 핀 할당 적용이다. 커넥터 핀에 대한 와이어 번호 할당을 쉽게 할 수 있게 해준다. 아래는 핀 할당 적용 전이다.

아래는 핀 할당 적용 후이다.

 

별표(*) 부분은 단순히 식별을 용이하게 하기 위한 목적이다.

 

11.  Harness 도면 만들기

a.     Harness Wizard 엑셀 파일에서 Harness 관련 정보 입력 후 생성 버튼을 클릭한다.

b.     파일 메뉴에서 내보내기를 선태하고 PDF파일을 생성한다.

c.     AutoCAD에서 삽입 메뉴 아래 PDF 가져오기를 실행한다.

d.     Import된 도면을 DWG 파일로 저장한다.

  

12.  문의

버그 보고, 기능 수정 및 추가, 기타 문의는 specctra@gmail.com으로 해주세요.

 

Harness Wizard 1.14R.xlsm
0.22MB

'도구 > 기타' 카테고리의 다른 글

Serial Data Generator  (0) 2024.04.21
Harness Wizard  (0) 2023.12.27
사양 BOM 생성기 (매트릭스 버전)  (0) 2020.04.05
사양 BOM 생성기  (0) 2020.03.25
Eye Diagram Viewer - 파이썬 소스  (0) 2018.09.16
: