๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Mobility/ํ†ต์‹ 

CAN(Controller Area Network) ํ†ต์‹ 

728x90
๋ฐ˜์‘ํ˜•

CAN : Controller Area Network

- CAN ํ†ต์‹ ์€ busํ˜• topology. 

 

๋ชจ๋“  message๋Š” broadcast ๋ฐฉ์‹์œผ๋กœ ์†ก์‹  -> network์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋‘์—๊ฒŒ ์ „๋‹ฌ

- CAN์€ high, low 2๊ฐ€๋‹ฅ ์„  ์‚ฌ์šฉ : noise์— ๊ฐ•์ธํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜(noise๊ฐ€ ์ ์šฉ๋˜์–ด๋„ ๋‘ ์„ ์— ๋ชจ๋‘ ์ ์šฉ๋˜์–ด ์ „์•• ์ฐจ๋Š” ๋™์ผ)

 

 

CAN ํ†ต์‹  ์ปค๋„ฅํ„ฐ

: D-sub 9 pin connector

- CAN high๋Š” 2๋ฒˆ, low๋Š” 7๋ฒˆ pin์— ์—ฐ๊ฒฐ

 

 

์ข…๋‹จ์ €ํ•ญ

- 120์˜ด

- ๋ฐ˜์‚ฌํŒŒ์— ์˜ํ•œ ์™œ๊ณก ๋ฐฉ์ง€์œ„ํ•ด

 

 

์‹ค์ œ CAN ์‹ ํ˜ธ๋ฅผ ์–ป์œผ๋ ค๋ฉด ์ฐจ๋Ÿ‰์ด ์žˆ์–ด์•ผํ•˜๋Š”๋ฐ cost๊ฐ€ ๋งŽ์ด ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ†ตํ•ด CAN signal ์†ก์ˆ˜์‹ . 

-> ex) vector VN1640A

 

 

voltage ์ฐจ

reference voltage : 2.5v

- 0.9v ~ 5v : 0(dominant)

- -0.1v ~ 0.5v : 1(recessive)

 

* dominant๊ฐ€ recessive๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„ ๋†’์Œ

 

 

CAN transceiver & CAN controller

transceiver : transmitter + receiver

 

- peripheral : MCU ๋‚ด ๋‹ค์–‘ํ•œ hw ์žฅ์น˜๋“ค

- periphera : CAN controller

CAN controller๋Š” micro controller ๋‚ด ์กด์žฌ

 

controller ๊ธฐ์ค€

- Tx : controller -> transceiver

- Rx : transceiver -> controller

 

CAN transceiver(ex. NXP TJA1043)๋Š” state machine(sleep, normal, listen only mode)์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์žˆ์–ด์„œ normal mode๋กœ ์ „ํ™˜ํ•ด์ฃผ์–ด์•ผ message ์†ก์ˆ˜์‹  ๊ฐ€๋Šฅ

 

- controller : data link layer

- transceiver : physical layer

 

 

BaudRate(ํ†ต์‹ ์†๋„)

- ๋‹จ์œ„ : bps

bus์— ์ฐธ์—ฌํ•˜๋Š” ๋ชจ๋“  ์ œ์–ด๊ธฐ๋Š” ๋ชจ๋‘ ๊ฐ™์€ baud rate(oem์—์„œ ์ •์˜. candb์— ์žˆ์Œ)๋กœ ํ†ต์‹ ํ•ด์•ผํ•จ

 

- low-speed : ~ 125kbps(500m)

- high-speed : ~ 1Mbps(๋ณดํ†ต 500kbps)(100m)

- CAN FD : ~ 8Mbps(40m)

 

 

sampling point

: ํ•˜๋‚˜์˜ bit๊ฐ’์ด 0์ธ์ง€ 1์ธ์ง€ ํŒ๋‹จํ•˜๋Š” ์ง€์ . ๋‹จ์œ„๋Š” %

- oem์—์„œ ์ •ํ•ด์ฃผ๋Š” spec

- sampling point์— ๋”ฐ๋ผ CAN controller sw ๊ตฌํ˜„ ์‹œ setting ๊ฐ’ ๋‹ฌ๋ผ์ง

- CAN simulation ์žฅ๋น„ ์‚ฌ์šฉ ์‹œ baud rate์™€ ํ•จ๊ป˜ sampling point๋„ ์„ธํŒ… ํ•„์š”

 

CAN์—์„œ 1 bit๋Š” sync, TSEG_1(Prop,phase1), TSEG_2(phase 2)๋กœ ๋ถ„๋ฅ˜

- sync๋Š” ๊ณ ์ •๊ฐ’(1)

- prop, phase1, phase2๋Š” ์ •ํ•˜๋Š” ๊ฐ’์œผ๋กœ sampling point๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค์ •

- TSEG1, TSEG2์˜ ๊ธธ์ด ์„ธ๋Š” ๋‹จ์œ„ : time quanta

 

SJW(Synchronization Jump Width)

CAN clock์„ ๊ณต๊ธ‰ํ•˜๋Š” hw์ธ ํฌ๋ฆฌ์Šคํƒˆ์—๋Š” ์˜ค์ฐจ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— sync ๋งž์ถฐ์ฃผ์–ด์•ผ ํ•จ.

-> sync๊ฐ€ ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

- clock ์†๋„ ๋น ๋ฅธ ๊ฒฝ์šฐ, phase1์„ ์—ฐ์žฅํ•˜์—ฌ ๋งž์ถค

- clock ์†๋„ ๋А๋ฆฐ ๊ฒฝ์šฐ, phase2๋ฅผ ์ž๋ฆ„

 

 

 

message

id : arbitration field

- standard format : 11bit

- extended format : 29 bit

 

* id๊ฐ€ ์ž‘์„์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„ ๋†’์Œ

 

signal

CAN frame์—์„œ data์˜์—ญ์— ๋‹ด์Œ. ๋‹จ์œ„๋Š” byte(์ตœ๋Œ€ 8 byte)

- DLC(Data Length Code) : data byte ํฌ๊ธฐ

 

* start bit, length, unit, signal comment, factor, offset(factor, offset์€ float(4 byte ํ•„์š”) ๋ณด๋‚ผ ๋•Œ ํšจ์œจ์ ์œผ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€). factor๊ฐ€ ํฌ๋ฉด ์ •๋ฐ€๋„ ๋–จ์–ด์ง€๊ณ  ๋ฐ์ดํ„ฐ ์•„๋‚„ ์ˆ˜ ์žˆ์Œ

 

 

 

Error

- bit error : ๋ณด๋‚ธ bit์™€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ

- stuff error(bit stuffing) : 6๊ฐœ ์ด์ƒ ์—ฐ์† ๊ฐ™์€ bit(physically)

- ack error : receiver๊ฐ€ ack ๋ณด๋‚ผ ๋•Œ bit error ์ฒดํฌ

- CRC(Cyclic Redundancy Code) : CRC ๊ฐ’ ์ด์ƒํ•  ๋•Œ 1

- structure error : ๋ฐ์ดํ„ฐ ์–‘์‹ ์–ด๊ธ‹๋‚ฌ์„ ๋•Œ

 

error state

- passive(1)

- active(0)

 

์†ก์‹ ํ•˜๋Š” ์ œ์–ด๊ธฐ๊ฐ€ error ๋ฐœ๊ฒฌํ•˜๋ฉด TEC(Transmitter Error Count) ์˜ฌ๋ฆฌ๊ณ , erorr ์ˆ˜์‹ ํ•œ ์ œ์–ด๊ธฐ๋Š” REC(Receiver Error Counter) ์˜ฌ๋ฆผ

 

 

 

CAN FD(Fast Data-Rate)

: high speed CAN์˜ ๋‚ฎ์€ baud rate๊ณผ ์ž‘์€ ํฌ๊ธฐ์˜ data์˜์—ญ ๋ณด์™„

- data ์˜์—ญ ์†๋„ ์ตœ๋Œ€ 8Mbps, data์˜์—ญ ํฌ๊ธฐ ์ตœ๋Œ€ 64 byte ๊ฐ€๋Šฅ

 

728x90
๋ฐ˜์‘ํ˜•