본문 바로가기

MISC.28

별걸 다 쓴다 : bit-field structure 통신 패킷을 다이어트 해야한다. 1. packed structure의 사용 padding으로 낭비되는 공간을 줄일수 있다. 네트워킹에서는 기본/필수 2. bit-packing 예를들어 24비트로 표현되는 데이터를 4바이트 변수에 담아 전송하고 있었다면 이를 3바이트로 다이어트. 이 과정을 bit 연산을 통해 "수동"으로 해 줘도 되지만, structure의 bit-field를 쓰면 편하다. 이렇게... typedef struct __attribute__((packed)) { unsigned long timestamp:24; unsigned short acc_x; unsigned short acc_y; unsigned short acc_z; unsigned char checksum; } MyStruct; .. 2009. 3. 18.
전원 노이즈 분석 실험실에 있는지도 몰랐었던 16bit DAQ를 발견한 기념. 실험에 사용하는 전원의 노이즈 분석 특집. 실험에 사용된 장비들 Agilent 33220A Function GeneratorAgilent U2352A USB DAQ deviceAgilent 34401A DMMREF5030A voltage reference 실험 개요 33220A의 DC output에서 나오는 DC 전원과 REF5030A로 만든 전원의 노이즈 정도를 비교해본다. 두 전원 모두 오실로스코프의 해상도 범위를 넘어서는 깨끗한 전원을 보여주고 있기 때문에 이 실험의 목적은 "전원의 노이즈를 본다" 보다는 "전원의 노이즈를 볼 정도로 정밀한 ADC를 수행한다"에 가깝겠다. U2352A는 250kSa/s의 16bit ADC를 가지고 있지만 .. 2009. 2. 15.
MAC address 당당히 쓰기 이더넷 하드웨어를 만들때 항상 목에 걸린 가시마냥 느껴지는 것이 MAC address이다. 정식으로 밴드 구입해서 쓰자니 이걸 대량생산할것도 아닌데 너무 큰 지출이고, 그냥 아무 값이나 넣어서 쓸려니 이렇게 만든건 돈받고 팔수도 없다. 이처럼 소량의 MAC 디바이스를 만드는 사람들을 위해 나온 물건이 있으니 MAC address pre-programmed EPROM. ROM은 ROM인데, 각 디바이스마다 고유의, 그리고 정식(!)의 MAC address가 하나씩 기록되어 있다. 이 디바이스를 쓰는 사람은 어쨌든 고유의 MAC address를 할당받아 쓰게 되는 샘. 그런데 MAC address하나때문에 ROM을 붙일 I/O를 할당해야한다는건 또다른 문제. 이런 문제들을 비교적 깔끔하게 해결하는 디바이스를.. 2008. 9. 3.
마이크로프로세서 개발과 JTAG 장비 요 며칠간 접한 몇건의 이야기들 중 JTAG관련된 이야기들을 들으며 느낀 것이다. 결론부터 이야기하자면 JTAG 한번 써보세요. 정말 좋아요. 임... JTAG이란 무엇인가? 기술적인 설명은 다른곳에 많이 있으니 찾아보시고...한마디로 요약하면 하드웨어 디버깅 장비다. PC에서 Visual Studio를 이용해서 디버깅해 본적 있다면 step-by-step으로 소스코드를 따라가며 실행시키고, 변수나 레지스터, 메모리 값등을 살펴볼 수 있고, 소스코드의 원하는 장소에 break point를 설정하는 등의 작업을 해 봤을 것이다. JTAG은 이런 디버깅 작업을 PC가 아닌 마이크로프로세서에서도 할 수 있도록 해 주는 하드웨어 장치인 것이다. 물론 마이크로프로세서에 키보드와 모니터가 달려 있을리 만무하니, 마.. 2008. 7. 23.