Gateway Routing(1) - Direct Routing

์ตœ๊ณ ์šดยท2025๋…„ 2์›” 3์ผ

autosar

๋ชฉ๋ก ๋ณด๊ธฐ
1/1

๐Ÿ’ป AUTOSAR ํ†ต์‹ : Application Direct Routing ์ดํ•ด


๐Ÿ’ก ๊ธฐ๋ณธ ์šฉ์–ด ์ •๋ฆฌ

  • I-PDU (Interaction Layer PDU): ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋‹จ์œ„
  • N-PDU (Network Layer PDU): ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋‹จ์œ„
  • L-PDU (Data Link Layer PDU): ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋‹จ์œ„

โœ… ์ˆ˜์‹ (Receive) ๊ณผ์ •

์ˆ˜์‹  ๊ณผ์ •์€ CAN ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ํ›„, ๋ฐ์ดํ„ฐ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊นŒ์ง€ ์ „๋‹ฌ๋˜๋Š” ํ๋ฆ„์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  1. CAN ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ

    • MCan_LLD_Isr_process_interrupt ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. (ISR: Interrupt Service Routine)
    • RX FULL CAN์ธ ๊ฒฝ์šฐ, MCan_LLD_Process_Rx_Buffers ํ•จ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋กœ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  2. CanIf_RxIndication ํ˜ธ์ถœ

    • CAN ์ธํ„ฐ๋ŸฝํŠธ๋กœ ์ธํ•ด CanIf_RxIndication ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  3. PduR_CanIfRxIndication ํ˜ธ์ถœ

    • PduR_CanIfRxIndication ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
    • ์ฃผ์˜ : ์Šคํ”Œ๋ฆฟ ๋ผ์šฐํŒ…์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ๋กœ์ธ ๊ฒฝ์šฐ, ์ด ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  4. PduR_LoRxIndication ํ˜ธ์ถœ

    • PduR_LoRxIndication ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  5. Com_RxIndication ํ˜ธ์ถœ

    • ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ์œผ๋กœ Com_RxIndication ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
    • ์ฃผ์˜ : ์Šคํ”Œ๋ฆฟ ๋ผ์šฐํŒ…์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ๋กœ์ธ ๊ฒฝ์šฐ, ์ด ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • memcpy(dest, src, length)๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
      • dest : COM์˜ ์ฃผ์†Œ
      • src : PduR_CanIfRxIndication์—์„œ ์ˆ˜์‹ ๋œ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ

โœ… ์†ก์‹ (Transmit) ๊ณผ์ •

์†ก์‹  ๊ณผ์ •์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด CAN ๋ฒ„์Šค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ํ๋ฆ„์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  1. PduR_ComTransmit ํ˜ธ์ถœ

    • ์ „์†ก ์š”์ฒญ์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
    • ? ์ฃผ์˜: ๋ผ์šฐํŒ… ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ์‹œ ์ด ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (Com Sender๋งŒ ํ˜ธ์ถœ)
  2. CanIf_Transmit ํ˜ธ์ถœ

    • ๋ผ์šฐํŒ… ์‹œ ์ด ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. (์Šคํ”Œ๋ฆฟ/์ง„๋‹จ ํฌํ•จ)
  3. CanIf_TxConfirmation ํ˜ธ์ถœ

    • ์ „์†ก์ด ์™„๋ฃŒ๋œ ํ›„ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  4. MCan_LLD_Process_Tx ํ˜ธ์ถœ

    • CAN ๋“œ๋ผ์ด๋ฒ„ ๋ ˆ๋ฒจ์—์„œ ์ „์†ก์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  5. MCan_LLD_Isr_process_interrupt ํ˜ธ์ถœ

    • CAN ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์ „์†ก ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์ฃผ์˜์‚ฌํ•ญ: ๋Œ€์šฉ๋Ÿ‰ I-PDU ์ „์†ก

  • PDuR_ComTransmit์„ ํ†ตํ•ด ๋Œ€์šฉ๋Ÿ‰ I-PDU ์ „์†ก์ด ์‹œ์ž‘๋œ ํ›„, AUTOSAR COM ๋ชจ๋“ˆ์€ ์ „์†ก์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊นŒ์ง€ ๋‚ด๋ถ€ ์ „์†ก ๋ฒ„ํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋™์  ๊ธธ์ด ์‹ ํ˜ธ๊ฐ€ ํฌํ•จ๋œ I-PDU์˜ ๊ฒฝ์šฐ, PduInfoType์˜ SduLength๋Š” ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ๋œ ๊ฐ’(๋˜๋Š” ์ดˆ๊ธฐ๊ฐ’)์— ๋”ฐ๋ผ ์„ค์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€