Microsoft PowerPoint - 10.CAN통신사용.ppt [호환 모드]

Similar documents
Microsoft PowerPoint - CAN통신자료.ppt [호환 모드]

DSP_MON 프로그램 메뉴얼

개요

PowerPoint Presentation

untitled

BY-FDP-4-70.hwp

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

DSP_MON 프로그램 메뉴얼

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

Microsoft PowerPoint - 6. UART통신 사용.ppt [호환 모드]

CAN 통신

Microsoft PowerPoint ppt

SRC PLUS 제어기 MANUAL

Microsoft Word - STM32 BxCAN.doc

제품소개 MODBUS Tester 는 MODBUS 프로토콜을사용하는산업장비테스트및점검하기위해 PC 를휴대및설치할필요없이쉽고빠르게장비와연결하여원하는작업을진행할수있도록휴대성을강조한 MODBUS 프로토콜테스트장치입니다. MODBUS Tester 에는 3 가지의기능이지원되며,

Microsoft PowerPoint - Chapter 8_USART Serial Communication

untitled

ADP-2480

untitled

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

2주차: 입출력 제어 복습

T100MD+

() Aloha Netowrk ether(,, )network Ehternet, DEC, ( DIX(DEC, Intel, Xerox) IEEE(, ) 5 9,, (Xerox) (Bob Metcalfe), (, ) A

슬라이드 제목 없음

슬라이드 1

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

SMB_ICMP_UDP(huichang).PDF

1217 WebTrafMon II

(MHT-SB112\273\347\276\347\274\255.hwp)

이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 지식경제부 연구사업명 IT 융합 고급인력과정 지원사업 연구과제명 스마트 자동차를 위한 AUTOSAR 기반 차량 내외부 통신 플랫폼 및 응용기술 주관기관 정보통신산업진흥원 연구기간

OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

DSP_MON 프로그램 메뉴얼

<4D F736F F D20B1E2BCFAC0DAB7E1202D20454F435220B8F0B5E5B9F6BDBA20C5EBBDC5C1A6C7B020BBE7BFEBB9FD202D F302E646F63>

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft Word doc

TCP.IP.ppt

Visual Basic 반복문

Microsoft Word - logic2005.doc

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog

Plc\PLC-p

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

<BDBAB8B6C6AEC6F95FBDC3C0E55FC8AEB4EB5FC0CCC1D6BFCF5F E687770>

디지털TV솔루션 브로셔

Install stm32cubemx and st-link utility

<3130C0E5>

(......).hwp

슬라이드 1


AnyTouch V8, V7 Plus Series 최상의연결성과편리성

DSP_MON 프로그램 메뉴얼

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Microsoft Word - PLC제어응용-2차시.doc


2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

hd1300_k_v1r2_Final_.PDF

네트워크 설정

Microsoft PowerPoint - es-arduino-lecture-03

F1-1(수정).ppt

Microsoft PowerPoint - polling.pptx

자바-11장N'1-502


ez-shv manual

RFID USN_K_100107

Microsoft Word - ASG AT90CAN128 모듈.doc


스마트주택용분전반_160331

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가


Network seminar.key

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

<4D F736F F F696E74202D20325FBEC6B5CEC0CCB3EB20B1E2C3CABDC3C7E82E BC8A3C8AF20B8F0B5E55D>

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

MR-3000A-MAN.hwp

Windows Server 2012

Microsoft Word - release note-VRRP_Korean.doc

歯이시홍).PDF

<4D F736F F F696E74202D20BBE7BABB202D DBED7BCBCBDBAC1A6BEEE2CC7C1B7CEC5E4C4DD2C4F B0E8C3FE2E707074>

<4D F736F F F696E74202D FB5A5C0CCC5CDC5EBBDC5B0FA20B3D7C6AEBFF6C5A9205BC8A3C8AF20B8F0B5E55D>

ARMBOOT 1

<3031B0ADB9CEB1B82E687770>

WS12. Security

untitled

한국의 위성발사장 건설현황( 포항공대).ppt

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

Parameterization

The Pocket Guide to TCP/IP Sockets: C Version

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

시스템, 네트워크모니터링을통한보안강화 네트워크의미래를제시하는세미나 세미나 NetFocus 2003 : IT 관리자를위한네트워크보안방법론 피지피넷 /

歯Cablexpert제안서.PDF

OCW_C언어 기초

ISP and CodeVisionAVR C Compiler.hwp

YD-3533.xls

Transcription:

강좌 <10>: CAN 통신사용목표 : 이번강좌에서는 STM32F 내부의 CAN 통신에대해서다루어봅니다작성일자 : 2010.6.2 LCD & 버튼보드사용시험 BT1 : 표준형태, 0011.. 전송 BT2 : 확장형태, 0011.. 전송 BT3 : 확장형태, 0123.. 전송 BT4 : 표준형태, 0123.. 전송 BT5 : 메시지지움 CAN 통신은자동차내부전장및산업용제어기에많이사용됩니다. 노이즈에강하고, 프레임을하드웨어적으로처리하므로소프트웨어처리가비교적단순합니다. 본강좌에서는 CAN 통신의기본적인설명과실행예제를첨부하였으므로사용자가프로그램을수정첨가하면서사용하시면됩니다. CAN 통신시험장비 : CANPro Analyzer CAN 수신데이터 LCD 표시예 CAN 통신파형관찰 ACK 신호 본자료는원본손상없이배포활용가능합니다. Tel:031-342-3000, Fax:031-343-0003 경기도안양시동안구호계동 1027 안양 IT밸리 504호 1

CAN 통신특징살펴보기 CAN 통신이력 : 1983 : Bosch 사에서자동차용네트워크프로젝트시작 1986 : Bosch사에서 CAN 통신프로토콜소개 1987 : Intel 및 Philips사에서첫번째 CAN controller 제작 1991 : Bosch에서 CAN 스펙 2.0 발표 1992 : CAN in Automation (CiA) 유저그룹결성 CiA에서 CAL(CAN Application Layer) 프로토콜발표 Benz사에서CAN 통신을사용한첫번째자동차출시 1993 : ISO 11898 표준제정 1994 : 1st international CAN Conference (icc) by CiA DeviceNet 프로토콜소개 (Allen-Bradley 사 ) 1995 : ISO 11898 확장포맷발표 CANopen 프로토콜발표 (CiA) 2000 : time-triggered communication protocol for CAN (TTCAN) 개발 응용분야 : Passenger cars Trucks and buses Off-highway and off-road vehicles Passenger and cargo trains Maritime electronics Aircraft and aerospace electronics Factory automation Machine control Lifts and escalators Building automation Medical equipment and devices Non-industrial control Non-industrial equipment CAN 통신특징 : Multi-Master 구조 : 통신신호충돌대책이있음 (CSMA/CA). 메시지 ID 간우선순위있음. 데이터송신충돌정지시, 선로가비어있을때자동재전송기능. 통신속도 : 최대 1 MBPS까지통신가능 통신데이터수 : 8바이트 ( 산업용 / 차량용제어장치에적합 ) 통신프로토콜 / 에러처리를 Hardware적으로처리. 다수의장치 (Standard: 11bit, Extended:29bit ID구분 ) 간통신가능. 노이즈환경에강함 ( 응용분야예 : 자동차내부신호간통신 ) 비용이경제적임 : 여러회사의 MCU 내에기본장착이늘고있음. 예 ) Motorola, Philips, TI, Hitachi, Dallas, Intel 등 CAN 통신을개발한회사 : 독일의 Robert Bosch 사 2

CAN 통신포맷 CAN 통신의편리한점 : 통신포매관리를프로그램에서하지않고하드웨어적으로처리 CAN 통신의최대데이터수는 8바이트임표준형태 (2.0A) 는 ID가 11비트이고, 확장형태 (2.0B) 는 ID가 29비트임통신속도는최대 1Mbps 임 데이터수는최대 8 바이트임, 더많은양의데이터를보내려면 ID 를사용하여여러프레임으로나누어전송하면됨 18 비트가추가되었음 3

CAN 통신동작방식 5V R CAN BUS line 하나의통신선로에여러장치연결가능 TX1 RX1 TX2 RX2 TX3 RX3 통신신호를오픈컬렉터형태신호로이해바람 여러장치가신호를함께보내고있는데신호상태를피드백받으면서진행, 보낸신호와동일하면다음비트진행그런데내가 High 상태를보내고있는데다른장치가 Low를보내면선로상태는 Low가됨. 그러면본인은전송을즉시중지함. 따라서 Low값을보낸장치가우선순위가높게진행. 중간에전송을중지한장치는다음에선로가비어있을때재전송시도. 전송을잘끝마친장치는송신 OK!!! 뭐 ~ 그런원리로진행합니다. 이해가안되시면왼쪽파형을잘 ~~ 살펴보세요. 이해될때까지. 4

통신의 6 계층 : CAN 통신은어떻게분류? 통신을그래도좀한다하시는분들은좀유식하게레이어를 6계층으로나누어다루는거같아요. ( 저도잘모르는데, 아는체하는거임 ~) 아래왼쪽과같은 6 계층이있는데, 가장아래층은실제통신의매체, 예를들면 RS485 방식또는 LAN 통신과같은차동또는펄스트랜스사용, 멘체스터방식, 바이폴라방식등그런뭐그런부류가있고, 제일위층에는응용계층이있는데, Ethernet에서는그래도 6계층으로어느정도나누어설명하는데, CAN 통신은비교적간단하므로 3계층으로나누어다루는거같습니다 OSI Seven Layer model Application Layer Presentation Layer Session Layer CAL(CAN Application Layer): Philips Medical System 에서개발현재는 CIA(CAN in Automation) user group에서관리 CANopen : CAL의구현, CiA DS-301에정의되어있음. PCAL (Portable CAN Application Layer): CAL 구현의또다른예 German Federal Armed Forces 대학에서개발 DeviceNet : CiA 에서공인된 Application Layer Rockwell/Allen-Bradley에서개발 SDS(Smart Distributed System): CiA에서공인된 Application Layer Honeywell에서개발 CAN Kingdom: CiA에서공인된 Application Layer, Kavaser 개발 Transport Layer Network Layer Data Logical Link Control(LLC) Media Access Control(MAC) Link Physical Layer LLC Acceptance Filtering Overload Notification Recovery Management Physical Layer Bit Encoding / Decoding Bit Timing Synchronization Driver/Receiver Characteristics MAC Data Encapsulation / Decapsulation Frame Coding(Stuffing, Destuffing) Medium Access Management Error Detection Error Signaling Acknowledgement Serialization / Deserialization 5

CAN 통신프레임 : 데이터프레임 CAN 의통신프레임에는크게 4 개의프레임이있습니다. 데이터프레임 (DATA FRAME), 리모트프레임 (REMOTE FRAME), 에러프레임 (ERROR FRAME), 오버로드프레임 (OVERLOAD FRAME) 데이터프레임 : 데이터프레임은아래와같은데이터를전송하는포맷이죠. 버전에따라 2.0A, 2.0B나나누어지고, 8바이트까지데이터를가지고있고 Standard Data Frame(2.0A) Extended Data Frame(2.0B) SOF (Start of Frame) : 프레임의시작의미 Identifier : 표준프레임 (11 비트 ), 확장프레임 (11+18 = 29 비트 ). 이 ID 로메시지우선순위결정및메시지수신여부결정. 기본항목을살펴봅시다. RTR (Remote Transmission Request) : 데이터프레임과리모트프레임구분데이터프레임은항상 0 (dominant) 상태임. SRR (Substitute Remote Request) : 표준프레임의 RTR 위치점유 IDE (Identifier Extension) : 표준프레임과확장프레임구별 r0,r1 : 예약 DLC (Data Length Code) : 데이터프레임의데이터바이트수, 범위 : 0 ~ 8 Data : 8 바이트크기, MSB(Most Significant Bit) 부터송신됨 CRC (Cyclic Redundancy Check) : 16 비트체크섬 (checksum) ACK (Acknowledgement) : 응답 EOF (End of Frame) : 프레임의끝의미 6

CAN 통신프레임 : 리모트 / 에러 / 오버로드프레임 리모트프레임 : 리모트프레임은데이터프레임에서 RTR 비트가 1 상태이고데이터영역이없는형태를취합니다. 리모트프레임은데이터를요구하는데사용되며, 리모트프레임의요구를받은장치는데이터프레임으로응답하겠죠. 리모트프레임에는데이터영역이없음 송신메일박스 리모트프레임 (RTR = 1) 데이터프레임응답 송신메일박스가자동응답기능이설정되어있고 ID 가일치해야응답함 에러프레임 데이터프레임리모트프레임 6 비트에러플래그 ( 첫번째 ) 6 비트에러플래그 ( 두번째 ) 다른로드에서 8 비트에러경계 에러프레임은프레임에프레임에에러가발견된경우, 일부러규칙을어기는 ( 스터핑에러 ) 프레임을날려, 에러있음을알립니다. 에러프레임은 0 상태의 6~12비트크기의에러플래그와 1 상태의 8비트크기에러종료상태로이루어져있으며, 현재의송신프레임은에러가있으므로다시전송하라는의미로비트 stuffing 규칙을일부러손상시키며, 따라서현재전송중인장치는에러로인해현재의프레임이실패하였음을인식하고즉시중지하여다음의재전송기회를기다리겠죠? 뭐 ~ 좀복잡한거같은데, 사용자입장에서는이프레임을신경쓰지않아도됩니다. 다 ~~ 하드웨어적으로처리되므로 오버로드프레임 오버로드프레임은 CAN 제어기가아직이전메시지의처리를마치지못한경우다음메시지의시작을지연시키기위해서사용되며, 오버로드프레임은에러카운터수에영향을미치지않아요. 프레임의끝 (EOF) 6~7 비트오버로드플래그 8 비트오버로드경계 마찬가지로사용자는몰라도됩니다. 다 ~~ 하드웨어가알아서하므로 ~~ 7

비트스터핑이무엇인가? CAN 통신에서는비동기통신에서와같이 NRZ(Non Return to Zero) 코딩방법을사용합니다. 다시말해 1비트동안은같은값을유지하죠. 따라서같은상태가계속이어질수도있고, 이경우수신측에서는비트의경계를알수없으므로오차가누적될수있겠죠. 비동기통신의경우에는바이트단위로구분 ( 시간이짧음 ) 하고, 스타트, 스톱비트등이있으므로클럭의동기를쉽게잡을수있지만, CAN의경우에는프레임이여러바이트로구성되어길이가길어지므로비트극성이바뀌는시점이길어져서에러가발생할수있으므로이에대한대책이필요합니다. 이러한대책으로 CAN에서는 5 비트동안같은상태가유지되면반대상태를 1 비트추가하여송신하고, 수신장치는이를고려하여원래대로다시복원합니다. 이것이바로비트스터핑입니다. 그러면연속하여 5비트이상동안 0 또는 1 상태가지속되지않겠죠. 그러면 ~~ 샘플링위치에러가적어질수있다는 비트스터핑이이해가안되시는분은그냥몰~~ 라도돼요. 다 ~~ 하드웨어가알아서처리하므로 보낼신호 1 2 3 4 5 6 추가비트 버스신호 1 2 3 4 5 6 받은신호 1 2 3 4 5 6 8

CAN 통신에는어떤종류의에러들이있나? CAN 통신이자동차와같이노이즈가심한환경에서도충분히잘동작하여그동안신뢰성이검증된이유중에하나가에러처리라도생각도되는데, 생명을맡기고동작시키는시스템에서통신에러가발생하여오작동을한다 끔찍하겠죠 뭐 ~ 바로퇴출이되겠죠. CAN 통신은훌륭한에러검출능력이있습니다. 아래그림에서와같이철저히에러를검출하죠. 그래서 CAN 통신은신뢰성이높고, 많은소자에서계속채택되어사랑을받고있어요 송신장치에서발생하는에러 : BIT 에러 : 보낸비트와받은비트가서로다르면비트에러발생 ACK 에러 : ACK 슬롯동안수신장치가 0 을보내주지않을때, 이에러는모든수신장치가접속되어있지않을때 ( 통신선로가끊겼을때등 ) 발생. 수신장치에서발생하는에러 : CRC 에러 : CRC 가맞지않을때에러발생 STUFF 에러 : 스터핑 (stuffing) 규칙이맞지않을때에러발생 FORMAT 에러 : CRC Del, ACK Del, EOF의영역에 0(dominant) 값이나타날때발생 CRC 에러 ACK 에러 SO OF Ide ntifi er Fi eld RT R Con ntrol Fi eld Data Field CRC Seq quenc e CRC C Del AC Sl CK ot ACK Del End of Fra ame IT TM 만일에러가발생되면즉시에러프레임이전송된다. 단 CRC 에러가발생된경우 EOF 의첫번째비트가나올때까지에러프레임을보내지않는다. STUFF 에러 FORMAT 에러 그이유는모든다른장치들이 ACK 를받을때까지기다리도록하기위함이다. BIT 에러 9

CAN 통신의에러상태이동살펴보기 한국사람들로꼼꼼 ( 좀섬세하고, 철두철미의의미, 이거 ~ 나만쓰는사투리인가?) 하지만, 독일사람들도매우꼼꼼한거같아요. CAN 통신도독일사람들이만들었어요. 좀머리가아프지만좀설명을해보죠. CAN 제어기내부에송신에러카운터 (TX_CNT) 와수신에러카운터 (RX_CNT) 가있으며, 이들카운터는에러가검출되면 1씩증가하고, 에러없이성공하면 1씩감소하며, 이들에러카운터수에따라노드의상태가달라집니다. 초기상태는에러액티브 (ERROR ACTIVE) 상태이며, 에러카운터값이 127 보다크면에러패시브 (ERROR PASSIVE) 상태가됩니다. 이때에는액티브에러프레임 (6비트 0상태 ) 을보내지못하고, 패시브에러프레임 (6비트 1상태 ) 을보낼수있어요. 즉에러프레임을발생하는권리를제한시키는데, 그이유는자꾸이상한에러를발생하여전체통신망을마비시킬수있기때문이죠. 또한두개의연속적인메시지전송을못하도록부가적인지연시간을갖도록합니다. 즉에러발생이많은노드는전송회수를제한해요. 만일송신에러카운터가 255를넘으면버스오프 (BUS OFF) 상태가되어이노드는 CAN 통신망에서접속을끊어버립니다 ( 이장치는많은에러가발생하므로뭔가문제가많다 문제아야 ~~) 이버스오프상태에서벗어나는방법은소프트웨어리세트또는하드웨어리세트를걸거나부가적인웨이트시간 (128 x 11 비트 1 (recessive) 상태 ) 을기다려야합니다. 에러상태변화도는아래그림과같습니다. H/W 리세트 송신에러카운터 > 127 또는수신에러카운터 > 127 ERROR ACTIVE 송신에러카운터 < 128 AND 수신에러카운터 < 128 S/W 리세트 128 x 11 비트의 recessive 상태를수신하면 ERROR PASSIVE 송신에러카운터 > 255 BUS OFF 10

CAN 통신을사용한몇가지응용프로토콜 11

CAN 통신을사용한몇가지응용프로토콜 12

CAN 통신을사용한몇가지응용프로토콜 13

CAN 통신을사용한몇가지응용프로토콜 14

CAN 통신을사용한몇가지응용프로토콜 15

STM32F 시리즈의 CAN 살펴보기 이제 STM32F 시리즈에있는 CAN 통신에대해서살펴봅니다. 회사마다 CAN 이름을조금씩다르게붙이는데, 기본동작은거의같고, 조금씩차이는있는거같습니다. 아무튼 STM32 에서는 bxcan 이라하네요. Basic Extended CAN(Controller Area Network) 주요특징은왼쪽과같은데, 2.0A 및 2.0B 지원 1Mbps 까지지원 3 개의송신메일박스 2 개의수신 FIFO (3 stages) 등등.. 하나의통신라인에여러장치접속가능 16

Dual CAN 구성도 (connectivity devices) 17

STM32 의 CAN 통신프레임 18

STM32 의 CAN 통신프레임 메일박스의레지스터구성 19

CAN 통신비트타이밍계산 기타상세내용은매뉴얼참조 : April 2010 Doc ID 13902 Rev 11 1/1072 RM0008 Reference manual STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced ARM-based 32-bit MCUs 에서 23. Controller Area Network(bxCAN) 장참조바랍니다. 20

CAN 예제살펴보기 : 초기화 CAN 통신초기화함수 CAN 클럭 Enable 입출력핀초기화 본예제의사용환경 : 소자 : STM32F103R8T6 사용 CAN 포트 : USB포트와공용핀사용수신핀 : PA11_CANRX_USBDM 송신핀 : PA12_CANTX_USBDP CAN Driver칩 : 82C251(5V 동작 ) RXD 신호에완충용 330옴저항연결사용 CAN 레지스터초기화 CAN 수신인터럽트 Enable CAN 통신설정 : 통신속도 : 1Mbps 인터럽트 : 수신인터럽트사용송신포맷 : 2.0A 및 2.0B 가능 21

CAN 예제살펴보기 인터럽트처리함수 메인함수에서 수신데이터를저장하고, 플래그만체크 메인루프에서플래그를체크하여 CAN 수신데이터를 LCD 에표시 CAN 수신데이터 LCD 표시예 CAN 데이터송신함수 : 표준 (2.0A) 형태 CAN 데이터송신함수 : 확장 (2.0B) 형태 22

CAN 예제살펴보기 LCD(20 x 4) & 버튼 (5 개 ) 보드로통신시험 버튼을누를때, 데이터를전송하고송수신상태를 LCD 에표시버튼을누를때송신동작 : BT1 : 표준형태, 0011.. 전송 BT2 : 확장형태, 0011.. 전송 BT3 : 확장형태, 0123.. 전송 BT4 : 표준형태, 0123.. 전송 BT1 누름 버튼동작은메인루틴에서일정간격으로처리함 BT5 : 메시지지움 BT4 누름 BT2 누름 BT3 누름 BT5 누름 23

CAN 통신데이터관찰 CAN 통신은 1 개의장치로시험이어렵고, 2 대이상접속하여시험해야하는데, 본강좌에서는리얼시스 ( www.realsys.co.kr ) 사의 CANPro Analyzer 를사용하여데이터수신및송신동작을했습니다. CANPro 실행화면 CAN Pro Analyzer 송신데이터 수신데이터 제품모양 동작상태표시 제품관련정보는 : http://www.realsys.co.kr/goods/main.asp?cate=357 24