|
|
Technical Reports 2008/06/18 06:19
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/66
Technical Reports 2008/06/18 06:10
Controller Area Network(CAN) 통신에 관하여 TI사가 2002년에 공개한 자료입니다. 처음 CAN 학습을 시작하시는 분이라면 이 자료에서부터 시작하시는 것도 좋은 출발점이 될 것입니다. 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 The CAN Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Standard CAN or Extended CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1 The Bit Fields of Standard CAN and Extended CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.1 Standard CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.2 Extended CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4 A CAN Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1 Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 Message Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2.1 The Data Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2.2 The Remote Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2.3 The Error Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2.4 The Overload Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3 Error Checking and Fault Confinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5 The CAN Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.1 CAN Transceiver Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.1 Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.2 High Short-Circuit Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.3 High ESD Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.4 Wide Common-Mode Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1.5 Common-Mode Rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1.6 High Input Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.7 Controlled Driver Output Transition Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.8 Low Current Standby and Sleep Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.9 Thermal Shutdown Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1.10 Glitch Free Power Up and Power Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/65
Technical Reports 2008/04/29 14:37
ComPortMaster의 사용자 설명서입니다. 프로그램은 http://www.withrobot.com/entry/ComPortMaster 에서 내려받을 수 있습니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/56
Technical Reports 2008/03/19 11:27
임베디드 보드의 UART 를 바로 USB 에 연결하도록 신호를 변경하는 초소형 USB2UART 입니다. 가로 15mm x 세로 17mm 의 크기로 USB 커넥터보다 조금 더 큰 크기라 사용에 편리합니다. 각종 임베디드 보드의 UART 포트를 USB 를 통해 PC 와 연결할 때 매우 유용합니다. 또한 USB 의 버스 파워를 공급하는 기능도 가지고 있어 별도의 전원 없이 바로 임베디드 보드를 동작시킬 수 있습니다.
자세한 내용은 사용자 설명서를 참고하시기 바랍니다.
관련 자료 이동
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/47
Technical Reports 2008/01/28 06:25
하나의 센서로 3축 방향의 가속도를 측정할 수 있습니다. 측정값은 아날로그로 출력되며 A/D 변환기에 연결하면 각 축의 가속도를 측정할 수 있습니다. 선형 가속도가 없는 경우에는 물체의 기울기를 측정하는 용도로도 사용할 수 있습니다. 점퍼 설정에 따라 측정 범위를 설정할 수 있어 적용 범위가 매우 넓습니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/35
Technical Reports 2008/01/24 20:14
USB2Serial 기능을 두 포트 가지고 있어 마이크로프로세서 보드를 손쉽게 USB 포트에 연결할 수 있는 FT2232EB 보드의 사용자 설명서입니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/30
Technical Reports 2008/01/24 14:29
본 문서는 myAVRICE User's Guide의 일부로 JTAG 이해를 돕기위해 발췌하여 개시합니다.
Joint Test Access Group (JTAG)
1980년대 중반에 Joint European Test Access Group 이라는 이름으로 시작하였으며 이후 미국이 1988년에 합류하게 되어 European을 빼고 Joint Test Access Group, 머리글자로 JTAG이라는 명칭이 결정되었습니다. IEEE1149.1로 표준이 정해져 있으며, http://standards.ieee.org/catalog/olis/arch_testtech.html 에 접속하면 표준 사양을 내려 받을 수 있습니다. 이후 1993년에 IEEE 1149.1a가 발의되었고, 1995년에 1149.1b가 제안되었습니다.
그림 10. 1988년 9월 17일 JTAG 미팅 참석자
JTAG이 등장한 이유와 활용
그림 11. 다양한 디바이스 패키지
칩의 고성능화, 고기능화로 인해 외부와의 인터페이스용 핀이 점점 많아지고 이로 인해 칩의 크기는 커질 수밖에 없습니다. 경박단소화 추세에 발맞추기 위해 칩 패키지 업체들은 끊임없는 기술 개발을 통해 다양한 외형을 가진 패키지를 선보이고 있습니다. 그 결과 핀과 핀 사이 피치(pitch)의 고밀도화로 연결되었고 더 나아가서는 핀이 외부로 노출되지 않고 디바이스 바닥에 위치하는 BGA(Ball Grid Array) 패키지가 등장하기에 이르렀습니다. 또한 PCB 기술도 소형화 흐름에 발맞추기 위해 다층 PCB가 일반화되고, 층과 층 사이에만 존재하는 이너 비아(inner via) 기술이 채택되기 시작했습니다. 이러한 기술들은 PCB를 소형화하는데 많은 도움이 되지만 시스템을 디버깅하는 데에는 많은 문제점이 만들어 냅니다. 우선 오실로스코프의 프루브를 디바이스 핀에 접촉하기가 어렵고, 칩 내부의 상태를 확인할 방법이 없다는 것입니다.
JTAG은 디바이스의 핀 상태를 읽어 내고, 내부 신호의 상태를 읽어내기 위해 제안된 기술로 보드 테스트, 디버깅에 매우 유용합니다. 뿐만 아니라 CPLD/FPGA와 같은 논리 회로와 플래시 메모리의 퓨징(fusing)에도 널리 사용되고 있습니다. 또한 마이크로프로세서의 코어에 직접 접근할 수 있는 방법을 제시하여 소스 레벨 디버깅을 지원합니다.
JTAG과 비교되는 기술로 ISP(In-System Programming)이라는 것이 있습니다. AVR과 같은 소형 마이크로 컨트롤러에서 많이 사용하는데, 이는 디바이스가 PCB상에 장착되어 있어도 외부의 신호로 마이크로 컨트롤러 내부의 플래시 메모리에 코드를 기록할 수 있는 기술을 뜻합니다. 일반적으로 ISP라고 하면 플래시 프로그래밍을 뜻하며, JTAG과 같은 소스 레벨의 디버깅은 포함되지 않습니다. JTAG은 ISP가 지원하는 플래시 메모리에 쓰기 기능뿐만 아니라 내부 코어에 접근하여 소스 레벨 디버깅 기술까지 지원합니다.
바운더리 스캔(Boundary-Scan)
JTAG을 이해하기 위해서 복잡한 이론 설명보다는 어떤 시스템을 디버깅 할 때 어떤 기능이 필요한지부터 먼저 생각해 보겠습니다. 우선 특정 신호의 상태를 봐야 할 것입니다. 신호 선이 H(하이)인지 L(로우)인지를 확인하는 기능이 있어야 할 것입니다. 그 다음 추가로 있으면 하는 기능이 특정 신호를 사용자가 원하는 신호 레벨로 강제로 할당하는 기능이 있으면 좋을 것입니다. 디버깅을 할 때 점퍼를 날려 신호 선을 GND와 연결하거나 VCC와 연결하는 것이 바로 이런 과정이 될 것입니다. JTAG에서 사용하는 바운더리 스캔 기술은 바로 이런 과정을 전기적인 블록으로 구현해 놓은 것입니다. 이를 이용하면 디바이스의 특정 핀을 원하는 상태로 임의로 설정할 수도 있고, 핀의 상태를 읽어 낼 수도 있습니다. 물론 이러한 기능을 구현하기 위해서는 디바이스 내부의 코어 용량을 일부 낭비하게 되겠지만 하드웨어 디버깅 기능이 생긴다는 장점이 더 크기 때문에 많은 디바이스 제조업체에서 JTAG 채택이 늘어나고 있습니다.
그림 12. 바운더리 스캔 셀의 개념
바운더리 스캔 셀의 개념
이러한 기능을 하나의 셀로 구현한 것이 바운더리 스캔 셀(BSC, Boundary scan cell)입니다. 위 그림을 살펴봅시다. #1번 장치와 #3번 장치가 서로 잘 연결되어 원하는 대로 동작하는 가를 확인하기 위해서는 #1번 장치가 출력하는 신호 레벨을 확인하고, #3번 장치에 특정 신호를 넣어서 원하는 결과가 나오는지를 확인해야 할 것입니다(왼쪽 그림). 이 때 이 신호 선을 끊고 BSC를 넣으면 원하는 기능, 다시 말하면 입력의 상태를 파악하고, 출력의 상태를 원하는 값으로 인가할 수 있게 됩니다(오른쪽 그림).
그림 13. 우: 코어 옆에 연결되는 BSC, 좌: BSC의 내부 구성
BSC는 코어의 입출력 핀에 연결되게 되며, 내부 구성은 MUX와 시프트 레지스터의 조합으로 구성됩니다. BSC를 제어하기 위한 핀이 BSC마다 외부와 인터페이스를 해야 한다면, 디바이스의 핀은 두 배로 늘어나게 될 것입니다. JTAG 그룹에서는 이러한 상황을 피하기 위해 BSC끼리 시리얼 방식으로 연결하여 단지 4개의 핀으로만 외부에서 각 BSC를 제어할 수 있는 방식을 제안했습니다. 우선 기존의 신호 선은 끊고 각각 입력과 출력이 NI와 NO에 연결됩니다. 그리고 우리가 BSC에 어떤 값 1비트 신호를 주고 싶을 때는 SI 신호 선에 값을 인가합니다. BSC의 값을 읽어내야 할 때 신호를 출력하는 곳은 SO 신호 선입니다. 위 그림에서 나머지 굵은 글씨로 되어 있는 신호 선들은 BSC을 제어하기 위한 신호 선들입니다. 정리하면 BSC는 NI, NO, SI, SO의 신호 선으로 데이터 입출력이 이루어집니다. 이를 다시 아래 그림처럼 각각의 BSC와 연결한 후 최종적으로 디바이스 외부 핀으로 데이터 북에서 자주 볼 수 있는 TDI, TCK, TMS, TDO의 신호 선이 완성됩니다.
그림 14. 바운더리 스캔 셀과 JTAG 인터페이스
어떤 핀의 상태 값을 설정하고 싶다면, TDI 신호 선에 그 값을 기록하고, 해당 BSC 위치까지 TDI 신호가 이동하도록 TCK 신호 선에 클록을 인가합니다. 같은 방법으로 특정 BSC 값을 읽어내고 싶으면, TCK 신호 선에 클록을 인가하면 TDO에 BSC 값들이 출력됩니다. BSC값을 NI에 입력된 값을 NO로 그대로 출력할 것인지(bypass), 아니면 SI에 인가된 값으로 NO값을 설정할 것인지, 아니면 SO에 현재 NI 입력 값을 출력할 것인지의 모드 설정은 TMS 신호가 담당하게 됩니다. 따라서 위 네 개의 신호만으로 우리는 디바이스 핀의 상태를 완벽하게 제어할 수 있게 됩니다.
이 방식은 산업계 표준으로 ARM 프로세서뿐만 아니라 대부분의 마이크로프로세서, 마이크로 컨트롤러에서 공통적으로 채택하고 있습니다. 따라서 이론상으로는 JTAG 장비로 모든 JTAG을 채택한 장비를 제어할 수 있어야 하지만, 현실적으로는 그렇지 못합니다. 업체의 사정에 따라 이러한 JTAG 장비가 자사의 매출에 크게 도움이 되는 경우에는 내부 BSC에 대한 정보를 공개하지 않으면, 서드 파티(third party) 업체에서 호환 JTAG 장비를 제조할 수 없습니다. TI사의 TMS320F24x 시리즈, F28x 시리즈가 대표적인 예로 이들 장비는 TI사와 라이센스 계약을 맺은 업체만 호환 JTAG 생산이 가능합니다. 반대로 내부 정보를 모두 공개해서 자유롭게 다양한 JTAG 장비가 제작되도록 장려하는 업체들도 있습니다. ARM 프로세서가 대표적인 예로, 모든 부분이 공개되어 있기 때문에 JTAG 기술을 충분히 습득한다면, 고가의 JTAG 장비를 자체적으로도 제작할 수 있습니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/27
Technical Reports 2008/01/24 14:13
Atmel사의 AVR 프로세서를 개발할 때 플래시 메모리를 굽고, 소스 레벨로 디버깅을 할 수 있는 장비인 myAVRICE 사용자 설명서입니다. 기존 병렬 포트에 연결하는 ISP 장비와는 달리 USB로 연결되어 노트북과 같이 병렬 포트가 없는 개발 PC에서 사용하기가 편리합니다. 또한 JTAG 기능으로 AVR Studio에서 소스 레벨 디버깅이 가능합니다. 듀얼 USB-to-Serial 기능을 채택한 myAVRICE-DX 버전은 JTAG 이외에 추가 시리얼 포트가 제공되어 UART 실험에 유용하게 사용됩니다. 가격 대비 성능을 고려한 myAVRICE-EX는 JTAG/ISP 기능에 충실한 제품으로 저렴하고 휴대하기 편리합니다. 구매처는 여기를 클릭하시면 됩니다.  myAVRICE-DX  myAVRICE-EX
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/26
Technical Reports 2008/01/22 14:41
저자: Shyam Sadasivan 출처: Luminary Micro ARM 사에서는 ARM7,9,11 코어의 뒤를 잇는 새로운 코어를 선보였습니다. 코어 이름은 멋지게도 Cortex라고 붙였는데 cortex의 사전적 의미는 대뇌의 신피질부분을 뜻합니다. 인간의 지능이 구현되는 부분으로 ARM의 새로운 프로세서도 이러한 시스템에서 지능적인 역할을 도맡겠다는 뜻으로 보입니다. Cortex 패밀리를 소개하는 여러 자료가 있지만 여기에 소개하는 자료가 가장 요약적으로 잘 정리되어 있습니다. Cortex-M3 시리즈로 학습을 새로 시작하시는 분이라면 꼭 읽어야 할 자료 중에 하나입니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/23
Technical Reports 2008/01/22 13:43
Withrobot에서 제안하여 사용하고 있는 2D 바코드 심볼 MRcode의 스펙입니다. V0.5, V0.6 및 V1.1의 사양을 파악할 수 있습니다.  MRcode V0.5(위)와 V0.6(아래) 모습
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/22
Technical Reports 2008/01/20 17:31
저자: Withrobot Lab. 출처: http://withrobot.comUSB용 이미지 그래버 myVision USB의 사용자 설명서입니다. myVision USB 설치법부터 예제 프로그램 사용법을 파악할 수 있습니다.  myVision USB 포장 (크기 비교를 위해 키보드 위에서 촬영)
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/15
Technical Reports 2008/01/20 17:20
저자: Withrobot Lab. 출처: http://withrobot.com USB용 이미지 그래버 myVision USB의 함수 레퍼런스 가이드 입니다. myVision USB가 지원하는 MVU 라이브러리 함수 사용법을 파악할 수 있습니다.  myVision USB 입력 포트  myVision USB 인터페이스 포트
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/14
Technical Reports 2008/01/20 12:18
저자: SD Association 출처: SD card 홈페이지 SD카드를 임베디드 시스템에서 다루기 위해서는 SD 카드 내부 프로토콜을 먼저 이해해야 합니다. 일반적으로 SPI 버스에 SD 카드를 연결하고 SPI 모드로 동작시키므로 스펙에서 SPI 통신 프로토콜을 파악하면 됩니다. Withrobot Lab에서는 SD 카드의 로 레벨 억세스 뿐만 아니라 FAT12/16/32 모드로 파일을 읽고 쓸 수 있는 기술을 가지고 있습니다. AVR과 같은 8비트 uP뿐만 아니라 ARM7/9/Cortex로도 포팅되어 있어 프로젝트 성격에 따라 유연하게 하드웨어를 선택할 수 있습니다.  SD card의 SPI 모드 동작 flowchart
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/12
Technical Reports 2008/01/20 08:18
저자: 임베디드 월드 기사 출처: 임베디드 월드 ARM사에서는 ARM11 이후의 새로운 아키텍처로 새로운 ARMv7을 선보였다. ARMv7을 이용한 ARM 코어는 Cortex라는 이름을 가지고 출시되는데 Cortex에는 다시 세 개의 프로파일이 존재한다. 본 문서는 이 중 가장 성능이 우수한 A9 프로파일에 대한 설명이다. ARM Cortex 개요을 파악하는데 도움이 되는 문서이다.  Cortex 제품군 소개
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/11
Technical Reports 2008/01/20 07:57
저자: Kedar Godbole (TI) 출처: 전자 엔지니어 전자 엔지니어에 실린 기사로서 제어기의 산술 연산 부분에서 16비트 정수형 연산, 32비트 정수형 연산, 32비트 부동 소수점 연산간의 차이점을 실험을 통해 보여주는 문서입니다.  16비트 정수형 연산과 32비트 정수형 연산 비교
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/10
Technical Reports 2008/01/20 07:43
Withrobot Technical Report(WTR)
Withrobot Lab.이 작성한 기술 문서, 수집한 기술 문서를 분야별로 정리하여 제공합니다.
좌측의 Technical Reports 폴더에서 직접 찾으셔도 되고 다음 분야별로 정리하여 살펴볼 수도 있습니다.
위드로봇에서 발표한 논문
- 김도윤, 성상학, 박종호, "Seamless service를 위한 UVS 단말기 개발," pp.1-2, 통신공학회, 2009
- 김도윤, 성상학, 박종호, 이재훈, 박주영, "Seamless u-Transportation 서비스를 위한 UVS 개발," pp.1-2,대한전기학회하계학술대회, 2009
- 박주영, 강대성, 이재훈, 남동균, 김도윤, 성상학, "칼만 필터 기반 GPS/INS 결합을 위한 KRLS의 적용," pp.1-4, 지능시스템학회, 2009
- 이재훈, 김도윤, 성상학, 남동균, 박주영, "임베디드 시스템을 위한 GPS/INS 결합 알고리즘의 실시간 동작 구현," pp.1-5, 지능시스템학회, 2009
- 이재훈, 남동균, 박주영, 김도윤, 성상학, "차량주행을 위한 GPS/INS 결합에 대한 고찰," pp.1-6, 지능시스템학회, 2009
- 김도윤, 이재훈, 유동현, 박현우, 남동균, 박주영, "차량 위치 추정을 위한 다중 센서 융합 시스템 개발," pp.1-2, 정보및제어심포지엄, 2010
- 이재훈, 남동균, 박주영, 박현우, 유동현, 김도윤, "저가형 센서 시스템을 활용한 차량의 주행 모드 판별에 관한 고찰," pp.160-163, 지능시스템학회2010
- 남동균, 박주영, 박현우, 김도윤, "저가형 자이로 센서의 드리프트 감소 방안에 대한 고찰," pp.1-4, 지능시스템학회, 2010
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/9
|