USB2CAN USB2CAN-UART USB2CAN-FIFO API Reference Manual Copyright NTREXLAB

Similar documents
1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op

untitled

API 매뉴얼

DSP_MON 프로그램 메뉴얼

untitled

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

일반적인 네트워크의 구성은 다음과 같다

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

API 매뉴얼

게시판 스팸 실시간 차단 시스템

금오공대 컴퓨터공학전공 강의자료

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

Microsoft Word - LKP-RTD 사용자 설명서

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

untitled

Microsoft PowerPoint - 04-UDP Programming.ppt

The Pocket Guide to TCP/IP Sockets: C Version

(72) 발명자 서진교 경기 용인시 수지구 풍덕천2동 1167 진산마을 삼성5차아파트526동 1004호 조필제 경기 용인시 풍덕천동 유스빌 401호 - 2 -

!K_InDesginCS_NFH


PowerPoint 프레젠테이션

The Pocket Guide to TCP/IP Sockets: C Version

SRC PLUS 제어기 MANUAL

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

chap 5: Trees

강의 개요

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

Mango-E-Toi Board Developer Manual

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

2주차: 입출력 제어 복습

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

vm-웨어-앞부속

ISP and CodeVisionAVR C Compiler.hwp

DSP_MON 프로그램 메뉴얼

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

PowerPoint Presentation

adfasdfasfdasfasfadf

DSP_MON 프로그램 메뉴얼

PowerPoint 프레젠테이션

ActFax 4.31 Local Privilege Escalation Exploit

SMB_ICMP_UDP(huichang).PDF

K&R2 Reference Manual 번역본

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - polling.pptx

(SW3704) Gingerbread Source Build & Working Guide

USB-AIO11 API

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

[Blank Page] i

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - ch07 - 포인터 pm0415

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

CANTUS Evaluation Board Ap. Note

설계란 무엇인가?

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

슬라이드 1

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

1217 WebTrafMon II

Install stm32cubemx and st-link utility

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예


ComPortMaster 프로그램소개 특징 기능상특징 PC 의 COM 포트를이용한통신프로그램 ASCII/Hex 선택적으로데이터송수신가능 SLIP 및위드로봇에서제안하는확장 SLIP 인코딩, 디코딩기능선택적사용가능 명령어 2 바이트데이터길이 1 바이트로구성된 WRPu 패킷

어댑터뷰

ComPortMaster 프로그램소개 특징 기능상특징 PC 의 COM 포트를이용한통신프로그램 ASCII/HEX 선택적으로데이터송수신가능 SLIP 및위드로봇에서제안하는확장 SLIP 인코딩, 디코딩기능선택적사용가능 명령어 2 바이트데이터길이 1 바이트로구성된 WRPu 패킷

쉽게 풀어쓴 C 프로그래밍

USB3-DIO01

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

3ÆÄÆ®-11

vRealize Automation용 VMware Remote Console - VMware

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

USB3-FRM01 API 매뉴얼

PowerPoint 프레젠테이션

Microsoft PowerPoint 웹 연동 기술.pptx

FreeBSD Handbook

1아이패드(13~54)

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

슬라이드 1

KDTÁ¾ÇÕ-2-07/03

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

디지털TV솔루션 브로셔

Microsoft Word - How to make a ZigBee Network_kr

<4D F736F F D E20B4DCB8BB20C1A1B0CB20B9D720C1B6C4A120B8C5B4BABEF35F76312E335F2E646F63>

PowerPoint 프레젠테이션

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제1장 Unix란 무엇인가?

중간고사

10.

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Transcription:

USB2CAN USB2CAN-UART USB2CAN-FIFO API Reference Manual Copyright NTREXLAB

http://ntrexgo.com 설명서에포함된정보는정확하고신뢰성이있는내용입니다. 그러나출판당시발견되지않은 오류가있을수있으니사용자는자신의제품검증을수행하시기바라며, 전적으로설명서에포 함된정보에의존하지마시기바랍니다.

1 소개 1 2 다운로드 1 2.1 Windows Desktop & Server 1 2.2 Max OS X, Linux, Windows CE 1 3 API REFERENCE 2 3.1 CAN_OpenVcp 2 3.2 CAN_OpenUsb 3 3.3 CAN_Close 4 3.4 CAN_IsOpened 4 3.5 CAN_ SetTimeout 5 3.6 CAN_CountRxQueue 6 3.7 CAN_ Purge 6 3.8 CAN_ Recv 7 3.9 CAN_Send 8 3.10 CAN_ GetConfig 9 3.11 CAN_ SetConfig 10 3.12 CAN_ SetTransferMode 11 i

1 소개 LinKerS USB2CAN 은 Host PC 에서 USB 포트를이용하여 CAN bus 에쉽게접근할수있게해주는 USB to CAN BUS 어댑터모듈입니다. 이문서는 USB2CAN 컨버터를엑세스하기위한 CAN Access DLL 에서사용가능한기능들에대하 여설명합니다. 그림 1-1 USB2CAN 2 다운로드 2.1 Windows Desktop & Server 엔티렉스의공식홈페이지 (ntrexgo.com) 에서 LinKerS USB2CAN Library.zip 파일을다운로드받은후압축을해제하면 CAN_Access.dll, CAN_Access.lib, CAN_Access.h, CAN_Test.exe 총 4개의파일이있는것을확인할수있습니다. 사용자는별도의개발모듈을사용하거나또는, CAN_Test.exe 를통해서 USB2CAN을테스트할수있습니다. 2.2 Max OS X, Linux, Windows CE Mac OS X, Linux, Windows CE 에서는사용할수없습니다. 1

3 API Reference 3.1 CAN_OpenVcp USB2CAN(UART) 컨버터를엑세스하기위해핸들을얻어옵니다. CAN_HANDLE CAN_OpenVcp(const char *comportname, long combaudrate) comportname combaudrate : COM port 이름을나타내는문자열포인터 : Baudrate 값을나타내는숫자 : 921600bps 로고정 성공한경우 USB2CAN 컨버터의핸들을리턴하고실패한경우 -1 을리턴합니다. Remarks 이함수는 FTDI FT232 칩을기반으로만들어진 USB2CAN 컨버터를오픈하는데사용합니다. FT232 칩의 Windows 용드라이버는가상시리얼포트 (VCP; Virtual COM Port) 드라이버를제공하는데, 가상시리얼포트를통해 COM 포트를엑세스하는것과동일하게 USB2CAN 컨버터를엑세스하 게됩니다. Examples CAN_HANDLE hbus = CAN_OpenVcp ("\\\\.\\COM3", 921600); if (0 <= hbus) { CAN_SetTransferMode (hbus, 1); // Open 성공 else { // Open 실패, Error 처리 2

3.2 CAN_OpenUsb USB2CAN(FIFO) 컨버터를엑세스하기위해핸들을얻어옵니다. CAN_HANDLE CAN_OpenUsb(const char *serialnumber) serialnumber : USB2CAN 의 Serial Number 문자열포인터 성공한경우핸들을리턴하고실패한경우 -1 을리턴합니다. Remarks 이함수는 FTDI FT245 칩을기반으로만들어진 USB2CAN 컨버터를오픈하는데사용합니다. FT245 칩이 USB 로 PC 에연결되었을때칩을구분하는 Serial Number 가제공되는데, 이 Serial Number 를통해 FIFO 포트를오픈하여 USB2CAN 컨버터를엑세스하게됩니다. Serial Number 는 USB2CAN UI 를실행하면다음과같이검색됩니다. Examples CAN_HANDLE hbus = CAN_OpenUsb ("NTWXHPOP"); if (0 <= hbus) { CAN_SetTransferMode (hbus, 1); // Open 성공 else { // Open 실패, Error 처리 3

3.3 CAN_Close USB2CAN 컨버터의열린핸들을닫아사용을종료합니다. int CAN_Close(CAN_HANDLE handle) handle : USB2CAN 컨버터의핸들 성공한경우 1 을리턴하고실패한경우 0 을리턴합니다. 여기서실패한경우란, 열려있지않은핸 들을닫으려고하는경우입니다. 3.4 CAN_IsOpened USB2CAN 핸들이열려있는지확인합니다. int CAN_IsOpened (CAN_HANDLE handle) handle : USB2CAN 컨버터의핸들 USB2CAN 컨버터의핸들이열려있는경우 1 을리턴하고열려있지않은경우 0 을리턴합니다. 4

3.5 CAN_ SetTimeout 읽기와쓰기요청에대한타임아웃값을밀리초단위로설정합니다. int CAN_SetTimeout (CAN_HANDLE handle, unsigned long readtimeout, unsigned long writetimeout, unsigned long latencytimer) handle readtimeout writetimeout latencytimer : USB2CAN 컨버터의핸들 : 읽기요청에대한타임아웃값 ( 범위 : 1 ~ 1000 ms) : 쓰기요청에대한타임아웃값 ( 범위 : 1 ~ 1000 ms) : USB2CAN(UART) 인경우, Inter character timeout 값 ( 범위 : 1~1000 ms); USB2CAN(FIFO) 인경우, Latency timer 값 ( 범위 : 0 ~ 32 ms) 성공한경우 1 을리턴하고실패한경우 0 을리턴합니다. Remarks Inter character timeout 은문자를받은후다음문자를받기까지얼마나기다릴것인지를밀리초 단위로설정합니다. Latency timer 는수신버퍼에문자가들어왔는지를체크하는타이머주기를설정합니다. 이값을 줄이면수신버퍼를체크하는주기가짧아져 CPU 의부하를증가시키고읽기요청에대한응답속 도가빨라집니다. 반대로이값을늘이면 CPU 의부하를줄이는대신읽기요청에대한응답속도 가느려집니다. Examples CAN_HANDLE hbus = CAN_OpenUsb ("NTWXHPOP"); if (0 <= hbus) { CAN_SetTransferMode (hbus, 1); CAN_SetTimeout (hbus, 33, 100, 0); // Open 성공 else { // Open 실패, Error 처리 5

3.6 CAN_CountRxQueue 수신버퍼에들어온문자수를셉니다. int CAN_CountRxQueue (CAN_HANDLE handle) handle : USB2CAN 컨버터의핸들 성공한경우수신버퍼의문자수를리턴하고실패한경우 0을리턴합니다. 즉, 0이리턴된경우는함수호출이실패하였거나수신버퍼에들어온문자가없다는의미입니다. Examples while (1) { if (0 < CAN_CountRxQueue (hbus)) { long ID; int length; char data[8]; int ext, rtr; if (CAN_Recv (hbus, &ID, &length, data, &ext, &rtr)) { // CAN message 읽기성공 else { Sleep (10); 3.7 CAN_ Purge 송신과수신버퍼의문자들을비웁니다. void CAN_Purge (CAN_HANDLE handle) handle : USB2CAN 컨버터의핸들 6

3.8 CAN_ Recv 수신버퍼의문자열로부터하나의 CAN 메시지를읽습니다. int CAN_Recv (CAN_HANDLE handle, long *ID, int *length, char data[8], int *Ext, int *RTR) handle : USB2CAN 컨버터의핸들 ID : CAN 메시지를송신한장치의 ID 를담는변수의포인터 ( 범위 : Standard message 인경우 0x000 ~ 0x7FF, Extended message 인경우 0x00000000 ~ 0x1FFFFFFF) length data : CAN 메시지에서 data 의길이를담는변수의포인터 ( 범위 : 0 ~ 8 byte) : CAN 메시지의데이터를저장하는배열의포인터 ( 크기 : 최대 8 byte) Ext : 수신된 CAN ID 가 Standard 혹은 Extended 인지를구분하는변수의포인터 : 변수의값이 0 인경우 Standard CAN message, 변수의값이 1 인경우 Extended CAN message RTR : 수신된 CAN 메시지의종류가 RTR 인지를구분하는변수의포인터 : 변수의값이 0인경우데이터전송, 변수의값이 1인경우 RTR로데이터전송요청 * RTR(Remote Transmission Request) - 일반적으로데이터전송은센서와같은데이터를발생시키는노드에의해자동으로 Data Frame을전송되게됩니다. 어쨌거나, 데이터를수집하는노드가 Remote Frame을보냄으로데이터전송을요청하는것도가능합니다. CAN 메시지를읽기성공한경우 1을리턴하고실패한경우 0을리턴합니다. Remarks CAN_Recv() 함수는수신버퍼에수신된문자열이존재하고, 이문자열로부터하나의 CAN 메시지를조립할수있다면즉각적으로리턴합니다. 하지만수신버퍼에문자가수신되지않았거나수신된문자열이하나의 CAN 메시지를조립하기에부족하다면 CAN_SetTimeout() 함수로설정된 readtimeout 시간동안완전한문자열이수신되기를기다립니다. 7

Examples while (1) { long ID; int length; char data[8]; int ext, rtr; if (CAN_Recv (hbus, &ID, &length, data, &ext, &rtr)) { // CAN message 읽기성공 else { Sleep (10); 3.9 CAN_Send CAN 메시지를전송합니다. int CAN_Send (CAN_HANDLE handle, long ID, int length, char data[8], int Ext, int RTR) Handle ID : USB2CAN 컨버터의핸들 : CAN 메시지를수신할장치의 ID ( 범위 : Standard message 인경우 0x000 ~ 0x7FF, Extended message 인경우 0x00000000 ~ 0x1FFFFFFF) length data : CAN 메시지에서 data 의길이를저장 ( 범위 : 0 ~ 8 byte) : CAN 메시지의데이터를저장하는배열의포인터 ( 크기 : 최대 8 byte) Ext : 전송할 CAN ID 가 Standard 혹은 Extended 인지를구분하는변수 : 변수의값이 0 인경우 Standard CAN message, 변수의값이 1 인경우 Extended CAN message RTR : 전송할 CAN 메시지의종류가 RTR 인지를구분하는변수 : 변수의값이 0인경우데이터전송, 변수의값이 1인경우 RTR로데이터전송요청 8

CAN 메시지의전송을성공한경우 1 을리턴하고실패한경우 0 을리턴합니다. Examples char data[8] = {0x83, 0x11, 0x00, 0x03, ; if (CAN_Send (hbus, 0x11, 4, data, 0, 0)) { // 최대 8 byte // 전송성공 3.10 CAN_ GetConfig CAN 포트의설정을읽어옵니다. int CAN_GetConfig (CAN_HANDLE handle, long *bitrate, unsigned long *filterid, unsigned long *filtermask) handle bitrate filterid filtermask : USB2CAN 컨버터의핸들 : CAN 통신속도를저장하는변수의포인터 ( 단위 : kbps) : CAN Filter Identifier를담는변수의포인터 ( 범위 : 0x0 ~ 0x1FFFFFFF) : CAN Filter Mask를담는변수의포인터 ( 범위 : 0x0 ~ 0x1FFFFFFF) 성공한경우 1 을리턴하고실패한경우 0 을리턴합니다. Examples long bitrate; unsigned long filterid; unsigned long filtermask; if (CAN_GetConfig (hbus, &bitrate, &filterid, &filtermask)) { // 설정값읽기성공 9

3.11 CAN_ SetConfig CAN 포트의설정을 USB2CAN 컨버터로내려보냅니다. int CAN_SetConfig (CAN_HANDLE handle, long bitrate, unsigned long filter_id, unsigned long filter_mask) handle bitrate : USB2CAN 컨버터의핸들 : CAN 통신속도 ( 단위 : kbps). 설정가능한 CAN 통신속도는다음과같습니다 : 1000-1M Bps 800-800K Bps 500-500K Bps 250-250K Bps 125-125K Bps 50-50K Bps 25-25K Bps 10-10K Bps filterid filtermask : CAN Filter Identifier ( 범위 : 0x0 ~ 0x1FFFFFFF) : CAN Filter Mask ( 범위 : 0x0 ~ 0x1FFFFFFF) 성공한경우 1 을리턴하고실패한경우 0 을리턴합니다. Remarks CAN_SetConfig() 함수가호출되면 USB2CAN 컨버터에서는다음과같은과정을거치게됩니다 : 1 bitrate, filterid, filtermask 값으로 CAN port 를설정합니다. 2 bitrate, filterid, filtermask 값을 Flash memory 에저장합니다. 이함수에의해설정된값은 USB2CAN 컨버터가재시작되어도 Flash memory 에저장된설정값 에의해 CAN port 의설정이유지됩니다. 10

Examples if (CAN_GetConfig (hbus, 1000, 0x0000, 0x0000)) { // 설정값읽기성공 3.12 CAN_ SetTransferMode 컨버터의 CAN port와 PC간패킷전송을활성화 / 비활성화하거나전송방식을결정합니다. 선택가능한전송방식은다음과같습니다. 0 CAN port와 PC간 CAN 메시지패킷만의송수신을금지합니다. 하지만설정이나명령과관련된패킷의송수신은가능합니다. 1 USB2CAN 컨버터와 PC간바이너리형식의패킷을송수신합니다. 이때, CAN 메시지및설정, 명령과관련된패킷의송수신형태는바이너리형식으로인코딩됩니다. 2 - USB2CAN 컨버터와 PC간텍스트형식의패킷을송수신합니다. 이때, CAN 메시지및설정, 명령과관련된패킷의송수신형태는텍스트형식으로인코딩됩니다. int CAN_SetTransferMode (CAN_HANDLE handle, int mode) handle : USB2CAN 컨버터의핸들 mode : 패킷전송모드설정 : 0 Disable transmit 1 패킷을 Binary 형식으로인코딩하여송수신 2 - 패킷을 Text 형식으로인코딩하여송수신 성공한경우 1 을리턴하고실패한경우 0 을리턴합니다. Remarks CAN_Access.DLL 파일에서는 Text/Binary 형식의인코딩이내부적으로처리되기때문에사용자에게 Text와 Binary 형식의전송방식을구분하는것은중요하지않습니다. 그이유는사용자는 CAN_Recv(), CAN_Send() 함수에의해항상디코딩된 CAN message 형식으로읽고쓰기때문입니다. 11

또한, 전송모드의설정과상관없이, PC 에서 USB2CAN 컨버터로 CAN 메시지를전송할때는항상 바이너리형식으로인코딩된패킷을전송하게됩니다. 그렇기때문에, 사용자가텍스트모드로 변경하더라도패킷을주고받는과정에서바이너리형식으로변경하게됩니다. 12

관련자료 아래홈페이지에서 LinKerS 관련문서와자료를확인하실수있습니다. 엔티렉스 : http://www.ntrexgo.com/ 디바이스마트 : http://www.devicemart.co.kr/ MoonWalker USB2CAN (FIFO) 판매페이지 : http://www.devicemart.co.kr/goods/view.php?seq=1111719 MoonWalker USB2CAN (VCP) 판매페이지 : http://www.devicemart.co.kr/goods/view.php?seq=1111711 MoonWalker 소개 : http://www.ntrexgo.com/moonwalker-%ec%86%8c%ea%b0%9c MoonWalker 판매페이지 : http://devicemart.co.kr/goods/brand.php?seq=1475 MoonWalekr UI Utility: http://www.ntrexgo.com/archives/19482 MoonWalker 자료 : http://www.ntrexgo.com/archives/category/ntrex-lab/moonwalker MoonWalker 예제 : http://www.ntrexgo.com/archives/category/ntrex-lab/moonwalker_applications MoonWalker 액세서리 : http://www.ntrexgo.com/archives/category/moonwalker_accessory 13

문서변경이력 Data Version Charges 2014.03.25 1.00 - 첫출시 14