기본 콘텐츠로 건너뛰기

추천 가젯

[프로그래밍 이야기 6] 포터블 라이터기의 재발견: 웹소켓과 스크립트가 만든 현장 대응 파이프라인

 임베디드 장비나 FPGA 칩이 탑재된 하드웨어를 현장에서 다룰 때, 가장 고민스러운 부분은 펌웨어 라이팅 환경을 구축하는 일입니다. 공장 PC나 현장 컴퓨터에 무겁고 거대한 벤더 전용 프로그램(IDE)을 일일이 설치하고 환경을 설정하는 것은 지극히 비효율적입니다. 이때 가장 똑똑하고 유연한 접근법은 공장 PC에 무언가를 설치하려 애쓰는 대신, 엔지니어의 노트북 한 대를 즉시 '포터블(Portable) 라이터기'로 탈바꿈시켜 현장에 투입하는 것입니다. 노트북을 포터블 라이터기로 만드는 전략과 웹소켓 노트북을 이동식 포터블 라이터기로 활용하기 위해 거창한 프로그램을 깔 필요는 전혀 없습니다. 핵심은 펌웨어를 입히는 CLI(명령줄 인터페이스) 툴과, 이를 원격에서 실행해 줄 지극히 단순하고 가벼운 웹소켓(WebSocket) 서버 하나만 준비하는 것입니다. 중요한 점은 여기서 사용하는 웹소켓 프로그램이라는 것이 결코 복잡하거나 무거운 시스템이 아니라는 사실입니다. 단 몇 킬로바이트 수준의 경량 훅(Hook) 역할만 수행하는 웹소켓 서버를 노트북에 띄워두면, 공장 PC 환경을 오염시키지 않고도 노트북 한 대가 완벽한 이동식 라이팅 단말기로 변신합니다. 가장 가벼운 웹소켓 훅과 Shell 스크립트의 결합 이 시스템의 실체는 놀라울 정도로 가볍고 명확합니다. 노트북 내부에서는 하드웨어(.sof)를 구운 뒤 MCU 펌웨어(.elf)를 연달아 다운로드하는 아래의 Shell 스크립트가 실행의 중심을 잡습니다. // flasher.sh - FPGA 및 Nios II 펌웨어 연속 라이팅 스크립트 #!/bin/bash 1. FPGA Hardware (.sof) 구우기 #!/bin/bash echo "Hello World" echo "=== Programming FPGA Hardware ===" quartus_pgm -c "USB-Blaster [1-4]" -m JTAG -o "p;mcu.sof...

[Memo] Magnetic quadrupole moment

 

Q_{ij}= \sum_{\text{ptls}}( s_i  r_j)   이 quadruple moment를 구하는 식. (dipole 방향, 입자의 위치 )


Tensor의 형태로 쓰이며, 세 가지의 오더파라미터로 구분. 다이폴 모먼트는 0이지만 완전히 다른 현상이 세분류라는 것으로 받아드려도 OK.


첫번째 

A = Trace [ Q_{ij} ]  굳이 해석하자면,   이므로 어떤 중심으로 부터 바깥으로 퍼져나가는 형태를 말함.   $ \sum_i \bm{S}_i \dot \bm{r}_i$

Dipole Moment는 0.  이산화 탄소의 각각 산소가 안쪽 방향 바깥 방향으로 편극이 있다면, 이 값은 나타날 것.


두번째, Traceless Symmetric part. 트레이스 없는 대칭 행렬 형태.

1/2[ Q +  Q^T -1/3 A ]     트레이스 없음. 


세번째, Traceless Anti-Symmetric part. 트레이스 없는 안티시메트리 파트(원래 없음..)

1/2[ Q_{ij} - Q_{ij}^T ]   

어디서 많이 본 부분이겠지만, Navier-Stokes에서도 비슷한 형태의 텐서를 보게되는데, 2차원 텐서가 나오면 일반적으로 하는 행동들.  

물리에서 주구장창 한다.

Time Reversal, space Inversion 이나, 각 파트별 분리...


단어가 생각 안나는데, 우주에 특별한 방향이 있을리 없고, 대칭 아니면 반대칭일 거고 해서, 

9개나 되어보이던 정보가 3개로 수렴...해서 그 크기가 중요.

$Q = 1/3 Tr(Q) \hat I + 1/2 [ Q + Q^T - 1/3 (TrQ) \hat I ] + 1/2 [ Q-Q^T ]

                  monopole             Quadropole                               Toroidal

댓글