ํšŒ๋กœ์—์„œ์˜ Port๋ž€?

ํšŒ๋กœ ์„ค๊ณ„์—์„œ์˜ โ€œPortโ€๋Š” ์‹ ํ˜ธ๊ฐ€ ๋“ค์–ด๊ฐ€๊ณ  ๋‚˜์˜ค๋Š” ๊ณณ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋„์ฒด, HW ๋ถ„์•ผ์—์„œ ์žˆ์–ด์„œ ํฌํŠธ(Port)๋ž€, ์ „๊ธฐ์  ์‹ ํ˜ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๊ฐ€๋Š” ํ†ต๋กœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, MCU๋กœ๋ถ€ํ„ฐ ์™ธ๋ถ€๋กœ ๋…ธ์ถœ ๋œ ํ•€(Pin)๋“ค์ด ๋ฐ”๋กœ ํฌํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

โ€‹

์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅด๋Š” ๋งˆ์šฐ์Šค ํด๋ฆญ, ๋ชจ๋‹ˆํ„ฐ๋กœ ๋ฐ›๋Š” ํ™”๋ฉด๋„ ๋‹ค ์ž…์ถœ๋ ฅ์— ๊ด€๋ จ๋œ ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‚ฌ์‹ค ์ปดํ“จํ„ฐ๋ฅผ ์“ฐ๋Š” ์ด์œ ๊ฐ€.. I/O๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค ํ•˜๋ฉด์„œ, ํŠน์ • ์ž‘์—…์„ ๋” ํŽธ๋ฆฌํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํ•˜๊ณ ์ž ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์ฃ .

๊ฐ Port๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ผ์ธ, ์ œ์–ด ์‹ ํ˜ธ, ํด๋Ÿญ ์‹ ํ˜ธ ๋“ฑ๊ณผ ๊ด€๋ จ๋˜๋ฉฐ, ํšŒ๋กœ์˜ ๋™์ž‘์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

โ€‹

โ€‹

ํšŒ๋กœ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ์ปดํ“จํ„ฐ ์–ธ์–ด ์ˆ˜์ค€์—์„œ ๋ณธ๋‹ค๋ฉด,

์•„๋ž˜์ฒ˜๋Ÿผ ๊ธฐ์ˆ ์„ ํ•  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋””์ž์ธ์€ DFF๋ผ๋Š” module์ด๊ณ , ํ•ด๋‹น input port๋Š” D, CLK๊ฐ€ ์žˆ๊ณ , Output์œผ๋กœ๋Š” Q๊ฐ€ ์žˆ๋„ค์š”.

Verilog HDL๋Š” ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ ์„ ๊ธฐ์ˆ ์ ์œผ๋กœ ์„ค๋ช…(Hardwared Description Language)ํ•˜๊ณ  ๋””์ง€ํ„ธ ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ  ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

Verilog๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””์ง€ํ„ธ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ๋•Œ, โ€œmoduleโ€์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋…ผ๋ฆฌ ๋ธ”๋ก์„ ์ •์˜ํ•˜๊ณ , ์ด๋Ÿฌํ•œ ๋ธ”๋ก๋“ค ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด Port๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ชจ๋“ˆ์€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ Port๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋“ˆ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์ •์˜ํ•˜๊ณ  ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€‹

โ€‹

์œ„ DFF๋ฅผ ์ด์šฉํ•ด์„œ, ์•„๋ž˜์™€ ๊ฐ™์€ synchronizer๋ฅผ ์„ค๊ณ„ํ–ˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

ํ˜„์žฌ design์„ ๋ฐ”๋ผ๋ณด๋Š” ๋ ˆ๋ฒจ์ด DFF1๋ผ๋Š” module์ด๋ผ๋ฉด

port๋Š” d, clk, q๊ฐ€ ๋˜๊ณ ,

input port : d, clk

output port : q๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

โ€‹

ํ˜„์žฌ design์„ ๋ฐ”๋ผ๋ณด๋Š” ๋ ˆ๋ฒจ์ด SYNCRO์ด๋ผ๋Š” module์ด๋ผ๋ฉด,

port๋Š” ASYNC, CLOCK, SYNCH๊ฐ€ ๋˜๊ณ ,

input port : ASYNC, CLOCK

output port : SYNC๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

โ€‹

SYNCHRO๋ผ๋Š” ๋ชจ๋“ˆ์—์„œ ๋‚ด๋ถ€ ๊ณ„์ธต์— ์žˆ๋Š” i/o๋ฅผ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด, ์ด๊ฒƒ์„ โ€œPinโ€œ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

โ€‹

port : Current design์˜ I/O

pin : Sub-hierarchical design์˜ I/O

๊ทผ๋ฐ.. ๋‹ค์‹œ Verilog code๋ฅผ ๋ณด๋ฉด,

Module SYNCHRO ์˜†์— ASYNC, SYNC, CLOCK์ด๋ผ๊ณ  ๋˜์–ด์žˆ๊ณ , ์•„๋ž˜์— input, output์œผ๋กœ ์ž‘์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

port๋ผ๋Š” ์†์„ฑ ์•ˆ์— input, output์ด๋ผ๋Š” ์†์„ฑ์ด ์žˆ๋Š”๊ฑฐ์ฃ .

๊ทผ๋ฐ input, output ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์†์„ฑ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด Attribute name์€ Standard๋Š” ์—†์–ด์„œ, EDA Tool ํšŒ์‚ฌ๋งˆ๋‹ค ์ƒ์ดํ•ฉ๋‹ˆ๋‹ค.

FPGA๋‚˜ ASIC ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ EDA Tool์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ์•„๋ž˜ ๊ฐ™์€ attribute๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

get_ports *

get_ports data

get_ports -filter {DIRECTION == OUT}

all_inputs

get_ports -filter {DIRECTION == IN} data

get_ports -filter {BUS_NAME != โ€œโ€}

โ€‹

์ด๋Ÿฐ ์†์„ฑ์€ port ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, pin์ด๋‚˜ ๋‹ค๋ฅธ๊ฒƒ๋„ ๋‹ค ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ ์šฉ๋˜๋Š” ์˜ต์…˜์€ ์•ฝ๊ฐ„ ์ƒ์ดํ•˜๊ตฌ์š”.

โ€‹

โ€‹

โ€‹

๋ณดํ†ต ํ•˜๋“œ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ผ๊ณ  ํ•˜๋ฉด, ์„ค๊ณ„๋œ ์นฉ์„ ๊ฐ–๊ณ  ๋ณด๋“œ์œ„์—์„œ ์ž‘์—…์„ ํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด๋“ค์„ ๋งํ•˜๋Š”๋ฐ์š”. ์ €๋„ ํ•œ ๋•Œ๋Š” ์ด๋Ÿฐ๊ฒŒ ์žฌ๋ฐŒ์—ˆ๋Š”๋ฐ..

ํ•™๊ต ๋‹ค๋‹ˆ๋ฉด์„œ๋Š”, ARM์‚ฌ์˜ Cortex M series, atemega 128 ๋“ฑ์„ ์จ๋ดค๋„ค์š”. ์นฉ ๊ตฌํ˜„, ํ…Œ์ŠคํŠธ ๋ฒกํ„ฐ ๋งŒ๋“œ๋Š๋ผ ARM์‚ฌ์˜ Cortex A Series์™€ SiFive์˜ U Series ๊ตฌํ˜„ํ•ด๋ดค๋„ค์š”.

์•„๋ฌดํŠผ ์ €๋Š” ์ด ์นฉ๋“ค์„ ์–ด๋Š์ •๋„ ์„ค๊ณ„, ๊ตฌํ˜„, ๊ฐœ๋ฐœ์„ ์กฐ๊ธˆ์”ฉ ๋‹ค ํ•ด๋ดค๋‹ค๊ณ  ์–˜๊ธฐ๋ฅผ ๋“œ๋ฆฌ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค.

โ€‹

โ€‹

Atmega ์‹œ๋ฆฌ์ฆˆ๋Š” AVR ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ, ๋กœ๋ด‡ ๊ณตํ•™, IoT, ๋‹ค์–‘ํ•œ ์ „์ž์ œํ’ˆ ๋“ฑ์—์„œ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. Atmega ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ, ๊ฐ ํ•€์€ ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

atemga128 Chip์˜ Port๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ 64EA์˜ Port๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (๋””์ง€ํ„ธ ์„ค๊ณ„ํ•˜๋Š” ์‚ฌ๋žŒ ์ž…์žฅ์—์„œ, 0~63์ด ์•„๋‹Œ, 1~64๋Š” ์ฐธ ๋ณด๊ธฐ ๋ถˆํŽธํ•˜๋„ค์š”.)

โ€‹

51๋ฒˆ ํ•€๋ถ€ํ„ฐ ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋ณด๋ฉด, 44๋ฒˆ ํ•€๊นŒ์ง€ PA๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7 ์ด๋ ‡๊ฒŒ ์ด 8๊ฐœ๊ฐ€ PA๋ผ๋Š” ๊ณตํ†ต๋œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ Port A๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ATmega128์—” ์ด 7๊ฐœ์˜ ํฌํŠธ๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • Port A : PA0 ~ PA7

  • Port B : PB0 ~ PB7

  • Port C : PC0 ~ PC7

  • Port D : PD0 ~ PD7

  • Port E : PE0 ~ PE7

  • Port F : PF0 ~ PF7

  • Port G : PG0 ~ PG4

โ€‹

Atmega์—์„œ๋Š” A~F 7๊ฐœ์˜ ํฌํŠธ๋“ค์„ ์ž์‹ ์ด ์›ํ•˜๋Š”๋Œ€๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, LED 1๊ฐœ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•  ๋•Œ, ์ด ๊ฒƒ์„ PA3๋ฒˆ์— ์—ฐ๊ฒฐํ•ด๋„ ๋˜๊ณ , PF0๋ฒˆ, ํ˜น์€ PE3๋ฒˆ์— ๊ฐœ๋ฐœ์ž ๋งˆ์Œ๋Œ€๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ํ•€์— ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ์ถœ๋ ฅํ• ์ง€, ํ˜น์€ ๋ฐ˜๋Œ€๋กœ ์ „๊ธฐ ์‹ ํ˜ธ ์ž…๋ ฅ์„ ๋ฐ›์„์ง€๋„ ์ง์ ‘ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ ๊ฐœ๋ฐœ์ž ๋งˆ์Œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌํŠธ๋“ค์„ General Purpose I/O Port๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋ณดํ†ต GPIO๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค! ํšŒ๋กœ ์„ค๊ณ„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ด๋Ÿฐ ์นฉ ์„ค๊ณ„๋ฅผ ํ–ˆ๋‹ค๋ฉด, ํ•˜๋“œ์›จ์–ด ๊ฐœ๋ฐœํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ์ด ์นฉ์„ ๊ฐ–๊ณ  OS๋ฅผ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜.. ๊ฐ„๋‹จํ•œ ์ œ์–ดํ”„๋กœ๊ทธ๋žจ์ด๋‚˜, ํŽŒ์›จ์–ด๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๊ฑฐ์ฃ .

โ€‹

์ฐธ๊ณ ๋กœ, ์ด๋Ÿฐ chip์—์„œ ํ•˜๋“œ์›จ์–ด ๊ฐœ๋ฐœ์ž๋“ค์ด ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” port ์ˆ˜๋ฅผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ์ฃผ๊ธฐ ์œ„ํ•ด ํšŒ๋กœ์„ค๊ณ„์ž๋“ค์ด ์—„์ฒญ ๋จธ๋ฆฌ๋ฅผ ์‹ธ๋งค๋ฉด์„œ ์—ฐ๊ตฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Port ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋ฉด ๊ณต์ • ๋น„์šฉ์ด ๋น„์‹ธ์ง€๊ณ โ€ฆ. ๊ทธ Port ์ค‘์—์„œ๋„ ์ƒ๋‹น ๋ถ€๋ถ„์ด DFT์—์„œ ์“ฐ์ด๊ฒŒ ๋˜๊ตฌ์š”..

โ€‹

์•„๋ฌดํŠผ atmega์—๋„ UART, SPI, I2C ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋“ค์–ด์žˆ๋„ค์š”โ€ฆ ํ•˜์ง€๋งŒ, ์ด ์žฅ์—์„œ ์ด ๊ธฐ๋Šฅ๋“ค์„ ์ž์„ธํžˆ ๋ณผ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ ,

์ด ์‹ ํ˜ธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋“ค์–ด์˜ค๋Š”์ง€? ์ž…๋‹ˆ๋‹ค.

โ€‹

โ€‹

๋ฐ˜๋„์ฒด ๋””๋ฐ”์ด์Šค์— ์ž…๋ ฅ ์‹ ํ˜ธ๊ฐ€ ์ž…๋ ฅ๋˜๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

โ€‹

PAD (Peripheral Input/Output Cell):

PAD๋Š” Chip์˜ ์™ธ๋ถ€์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋””๋ฐ”์ด์Šค์˜ ์‹ ํ˜ธ๊ฐ€ ์™ธ๋ถ€์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋ฉด PAD๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ๋˜๊ณ  ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. PAD๋Š” ์ฃผ๋กœ ๋””๋ฐ”์ด์Šค์˜ ์ฃผ๋ณ€ ์˜์—ญ์— ์œ„์น˜ํ•˜๋ฉฐ, ์‹ ํ˜ธ์˜ ์ „๊ธฐ์  ๋ฐ ๋ฌผ๋ฆฌ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

๋ณดํ†ต ๋ฐ˜๋„์ฒด ์นฉ ํ•˜์œ„ ๊ณ„์ธต์— ์žˆ๋Š” D Flip flop ๊ฐ™์€ ๊ฒƒ๋“ค์€ PAD๋ฅผ ๋”ฐ๋กœ ๋‘์ง„ ์•Š๊ณ , Chip ์ตœ์ƒ์œ„ ์ž…์ถœ๋ ฅ์—๋งŒ PAD๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

โ€‹

  1. I/O ์‹ ํ˜ธ ์ฒ˜๋ฆฌ: ์™ธ๋ถ€์—์„œ ์ž…์ถœ๋ ฅ๋˜๋Š” ๋””์ง€ํ„ธ ๋˜๋Š” ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ PAD๊ฐ€ ๊ฐ์ง€ํ•˜๊ณ  ๋‚ด์™ธ๋ถ€๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

  2. Level shifting : ๋‚ด๋ถ€ ์‹ ํ˜ธ์™€ ์™ธ๋ถ€ ํ™˜๊ฒฝ ๊ฐ„์˜ ์ „์•• ๋ ˆ๋ฒจ ์ฐจ์ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ ํ˜ธ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

  3. Interconnection: PAD๋Š” ๋””๋ฐ”์ด์Šค ๋‚ด๋ถ€์™€ ์™ธ๋ถ€ ๊ฐ„์˜ ๋ฌผ๋ฆฌ์  ์—ฐ๊ฒฐ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํŒจํ‚ค์ง€, ๋ณด๋“œ, ์ปค๋„ฅํ„ฐ ๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ปดํฌ๋„ŒํŠธ์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ์ปค๋„ฅ์…˜์€ ์ „๊ธฐ์  ์‹ ํ˜ธ ์ „๋‹ฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌผ๋ฆฌ์  ์•ˆ์ •์„ฑ ๋ฐ ์‹ ํ˜ธ ๋…ธ์ด์ฆˆ ๊ด€๋ฆฌ๋„ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

  4. ESD (Electrostatic Discharge) :

์ž…๋ ฅ ์‹ ํ˜ธ๋Š” ์™ธ๋ถ€ ํ™˜๊ฒฝ๊ณผ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ, ๋””๋ฐ”์ด์Šค ๋‚ด๋ถ€๋กœ ์ „๋‹ฌ๋˜๋Š” ์‹ ํ˜ธ์— ๋Œ€ํ•œ ๋ณดํ˜ธ๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. PAD๋Š” ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ „๊ธฐ ๋ฐฉ์ „(ESD) ๋“ฑ์˜ ํ”ผํ•ด๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋””๋ฐ”์ด์Šค์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ํšŒ๋กœ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€‹

์ฐพ์•„๋ณด์‹œ๋ฉด ์•„์‹œ๊ฒ ์ง€๋งŒ,,, input pad, output pad, inout pad ๋ชจ๋‘ ๋‹ค๋ฅด๊ฒŒ ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค.

โ€‹

โ€‹

๊ตญ๋‚ด์—๋Š” ์ด๋Ÿฐ atmega128๊ฐ™์€ ๋ฒ”์šฉ ๊ฐœ๋ฐœ ์นฉ์„ ์„ค๊ณ„ํ•˜๋Š” ํšŒ์‚ฌ๋Š” ๋งŽ์ง€ ์•Š๊ณ , ๋Œ€๋ถ€๋ถ„ ๋ฏธ๊ตญ์— ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋‚˜๋ผ์—์„  ์ด๋Ÿฐ ์นฉ์„ ๊ฐ–๊ณ ์™€์„œ, ์•„๋ž˜์ฒ˜๋Ÿผ ์นฉ์˜ port๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ์ปค๋„ฅํ„ฐ ๋‹ฌ๊ณ .. ๋‹จ์ž ๋‹ฌ์•„๋†“๊ณ ..LCD ์—ฐ๊ฒฐํ•ด๋†“๊ณ .. ์ด๋Ÿฐ Board๋ฅผ ๋งŒ๋“œ๋Š” ํšŒ์‚ฌ๊ฐ€ ์žˆ์ฃ .

โ€‹

์Šค์œ„์น˜๋ฅผ ์ด์šฉํ•ด์„œ LED๋ฅผ ์ผœ๊ณ  ๋Œ ์ˆ˜ ์žˆ๋Š” ํŽŒ์›จ์–ด๋ฅผ atmega์— ์˜ฌ๋ฆฐ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

  1. ์Šค์œ„์น˜ Port์„ AVR GPIO์— ์—ฐ๊ฒฐํ•˜๊ณ , LED์˜ Port๋ฅผ AVR GPIO์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์Šค์œ„์น˜๋Š” ํ’€์—… ๋˜๋Š” ํ’€๋‹ค์šด ์ €ํ•ญ๊ณผ ํ•จ๊ป˜ ์—ฐ๊ฒฐํ•˜์—ฌ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

โ€‹

2.๋ฐ์ดํ„ฐ ๋ฐฉํ–ฅ ์„ค์ •: AVR์˜ ๋ฐ์ดํ„ฐ ๋ฐฉํ–ฅ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์Šค์œ„์น˜ ํ•€์„ ์ž…๋ ฅ์œผ๋กœ, LED ํ•€์„ ์ถœ๋ ฅ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๋ณดํ†ต C์–ธ์–ด๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šค์œ„์น˜ ํ•€์€ ์ž…๋ ฅ์œผ๋กœ ์„ค์ •๋˜๋ฏ€๋กœ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๊ณ , LED ํ•€์€ ์ถœ๋ ฅ์œผ๋กœ ์„ค์ •๋˜๋ฏ€๋กœ LED์˜ ์ƒํƒœ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€‹

  1. C ์–ธ์–ด์˜ Mainloop: ์ฃผ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”์ธ ๋ฃจํ”„์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธ ๋ฃจํ”„์—์„œ๋Š” ์Šค์œ„์น˜ ์ƒํƒœ๋ฅผ ์ฝ๊ณ  ์ด์— ๋”ฐ๋ผ LED๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์ธ ๋ฃจํ”„์—์„œ ์Šค์œ„์น˜ ์ƒํƒœ๋ฅผ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค. ์Šค์œ„์น˜ ํ•€์„ ์ฝ์–ด์„œ ๋กœ์šฐ ๋ ˆ๋ฒจ ๋˜๋Š” ํ•˜์ด ๋ ˆ๋ฒจ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

โ€‹

โ€‹