:::: MENU ::::
Browsing posts in: Infomation

OS X 10.11 엘캐피탄에서 FTDI 인식 문제

엘캐피탄에서 FTDI 인식이 불안해서 루트리스(Rootless) 기능을 강제로 해체하는 것을 시도한다.
참고로 루트리스는 사용자나 응용프로그램이 시스템 파일을 삭제하거나 변조할 수 없도록 “커널 레벨”에서 파일을 잠그는 강력한 보안 기능이다.
루트리스(Rootless) 강제로 해체하기

전원을 끄고, Command + R을 누르면서 전원을 켠다.
터미널에서 csrutil disable를 입력후 reboot
csrutil status에서 disable 된 것을 확인할 수 있다.

다시 enable하려면 csrutil enable


USB 컨넥터와 핀맵

USB 1.0 ~ 3.0

  • USB 1 released in 1996 with speeds of 1.5 Mbps for Low-Bandwidth and 12 Mbps for High-Bandwidth;
  • USB 2.0 release in 2000 is the most used usb port at the moment at supports a maximum speed of 480 Mbps;
  • USB 3.0 released in 2008 in the latest standard who can support speed up to 5Gbps.

컨넥터의 종류는 7가지나 된다. 아래 그림을 통해 USB 컨넥터와 핀맵을 확인

usb_pinout

참고: http://www.usbpinout.net/



SD 메모리 SPI로 제어하기

SD 메모리 카드

SD메모리 는 SDC(Secure Digital Memory Card)를 지칭하며 MMC(Multi Media Card)와 호환된다. 이 SD메모리 카드는 SDIO 또는 SPI로 제어가 가능하다.

SD card pinout

SD 메모리 SPI로 제어하기

SPI 모드는 4가지가 있는데, SD를 제어하기 위해서는  Mode 0를 사용한다. 즉 CPHA = 0, CPOL = 0

SD_SPI_CMD

SPI로 제어시 command는 Command Index(1바이트) + Argument(4바이트) + CRC(1바이트) = 총 6바이트로 구성이되며, 항상 응답코드가 있다. CRC는 CMD0의 경우 0x95, CMD8의 경우 0x87이며, 나머지는 코드에서 0xFF로 처리한다. 아래 링크의 스펙 문서의 부록에 command list 참고

SD spec: https://www.sdcard.org/downloads/pls/simplified_specs/archive/partE1_200.pdf

SD 메모리카드의 인터페이스는 기본적으로 SD모드 이므로 SPI모드로 바꾸기 위해서는 절차가 필요하다.

SD Initialize using SPI

참고할만한 자료


MX 레코드

MX 레코드는 사용자의 메일 계정을 호스팅하는 서버로 메일을 전송하는 도메인에 연결된 DNS 설정이다. 이 설정은 도메인 호스트가 관리하며, 메일이 제대로 전송되도록 하기 위해 일반적으로 여러 개의 서버에 레코드를 만든다. 이렇게 하는 이유는 서버 하나가 다운되더라도 메일이 다른 서버로 라우팅하기 위해서인데, 10, 20, 30 등의 값을 사용하여 우선순위를 부여하며, 숫자가 작을수록 우선순위가 높다.

Google Apps MX 레코드 값

이름/호스트/별칭 TTL*(Time To Live) 레코드 유형 우선순위 값/응답/목적지
공백 또는 @ 3,600 MX 1 ASPMX.L.GOOGLE.COM
공백 또는 @ 3,600 MX 5 ALT1.ASPMX.L.GOOGLE.COM
공백 또는 @ 3,600 MX 5 ALT2.ASPMX.L.GOOGLE.COM
공백 또는 @ 3,600 MX 10 ALT3.ASPMX.L.GOOGLE.COM
공백 또는 @ 3,600 MX 10 ALT4.ASPMX.L.GOOGLE.COM

CAM350에서 Eagle CAD NC drill 데이터를 제대로 불러오기

위 그림은 CAM350에서 Eagle CAD로 만든 거버데이터를 Auto import로 불러온 것이다. drill data의 좌표가 맞지 않아서 우측 상단에 표시된 것 을 볼 수 있다. 이렇게 된 이유는 Eagle CAD에서 NC 데이터를 출력하는 포맷은 2.5인데 CAM350의 기본 설정은 2.4이다. 따라서 다음과 같이 CAM350의 Auto import 포맷에서 Digits항목을 2, 5로 수정하면 된다.

단순히 거버 데이터를 보는 수준이면 상관이 없는데 샘플 PCB가격을 아끼기 위해 2개 이상의 거버데이터를 합기기(영어로 PCB Penalization)위해서는 중요한 이슈이다.


Github – Fork한 repo를 업데이트 하기

Github에서  Fork한  repo를 원본과 싱크를 맞추어 업데이트하려면… Fork한 repo를 셋업하고 local clone을 만든다.

$ git clone https://github.com/YOUR-USERNAME/xxxx.git

그리고 이것을 original과 sync하려면 먼저 리모트 설정하고 패치를 하면 된다. local clone의 위치로 이동을 하고..

$ git remote add upstream https://github.com/xxxx/xxxx.git

확인

$ git remote -v
# origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
# upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
# upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

패치

$ git fetch upstream
# remote: Counting objects: 75, done.
# remote: Compressing objects: 100% (53/53), done.
# remote: Total 62 (delta 27), reused 44 (delta 9)
# Unpacking objects: 100% (62/62), done.
# From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
#  * [new branch]      master     -> upstream/master

체크아웃

$ git checkout -b master
# Switched to branch 'master'

참고

https://help.github.com/articles/fork-a-repo/

https://help.github.com/articles/syncing-a-fork/


USB 디바이스의 VID, PID

USB 디바이스 제품을 개발하려면 필요한 것이 USB 디바이스의 VID(Vendor ID), PID(Product ID)이다. 여기서 VID는 제조사의 ID이고, PID 제조사의 제품의 ID로 이해할 수 있는데 각각 2바이트로 VID-PID의 쌍으로 수많은 USB 디바이스와 구별이 가능하게 된다.  VID, PID는 USB Implementers Forum, Inc.(http://www.usb.org)에서 발급을 하는데 문제는 발급하는 데 드는 비용이 $5,000이다.

발급 신청서 링크 – http://www.usb.org/developers/vendor/VID_Only_Form_withCCAuth_010113.pdf

이 발급 신청서에 보면 다음과 같이 발급된 VID는 다른 사람에게 판매할 수 없다고 되어 있다. 예외 조항은  “special circumstances, and then only upon prior written approval by USB-IF”

The company set forth above hereby applies for a USB Vendor ID Number and agrees to the following: The USB Implementers Forum is the authority which assigns and maintains all USB Vendor ID Numbers. Each Vendor ID Number is assigned to one company for its sole and exclusive use, along with associated Product ID Numbers. They may not be sold, transferred, or used by others, directly or indirectly, except in special circumstances, and then only upon prior written approval by USB-IF. Unauthorized use of assigned or unassigned USB Vendor ID Numbers and associated Product ID Numbers are strictly prohibited.

하지만 MCS에서는 PID를 9.95유로에 판매(링크)를 한다. 그리고 openmoko의 경우 오픈소스하드웨어에 한하여 PID를 사용할 수 있게 하고 있다. http://wiki.openmoko.org/wiki/USB_Product_IDs  이 리스트를 보니, Marlin, Pinoccio, SparkCore, Tessel등이 openmoko로 부터 PID를 받은 것을 알 수 있다.

각 업체들이 받은 VID, PID는 http://www.linux-usb.org/usb.ids  링크를 참고. 그리고 PC에 연결된 디바이스의 VID, PID를 확인하려면 windows의 경우 장치관리자에서 확인이 가능하다.  

Mac OS에서는 “이 Mac에 관하여 > 개요> 시스템 리포트의 USB” 항목에서 확인이 가능하다.


Allegro PCB에서 DXF파일 만드는 법

Allegro PCB에서 DXF파일 만드는 법은 다음과 같다.

  1. 보드파일 brd를 연다.
  2. File > Export -> Select dxf를 선택
  3. Layer Conversion File에서 임의의 이름을 지정한다. ex) name.cnv
  4. Dxf output 파일에는 변환할 파일의 이름
  5. Layer Conversion File에서 Edit 을 클릭하고 dxf로 변환하기를 원하는 항목만 체크한다.
  6. 중요한 것은 아래 그림과 같이 새로운 DXF Layer를 만들고 DXF layer에 이것을 지정한다.


토그 단위 변환

토크는 회전력을 나타내는 물리량이며 기호는 그리스문자 (타우)로 나타낸다. 단위는 뉴턴 미터(N.m)
따라서 수식은 다음과 같다

\boldsymbol{\tau} = \mathbf{r} \times \mathbf{F}

여기서 F는 가한 힘, r은 회전축에서 힘을 가하는 위치까지의 변위

그런데 힘 또는 거리의 단위가 여러가지로 사용이 되어서 변환이 필요한데, 다음의 사이트에서 쉽게 변환이 가능하다.

http://www.numberfactory.com/nf%20torque.htm