การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด ·...

14
434 การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด บทที20 การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด การศึกษาวิชาการออกแบบระบบดิจิตอล ผลที่เราคาดหวังจากการศึกษาคือการทีสามารถที่จะนาสิ่งที่ได้ศึกษามาประยุกต์ใช้ได้ ดังนั ้นในบทนี ้เราจะศึกษาตัวอย่างการ ประยุกต์ใช้วงจรดิจิตอลแบบต่างๆ ที่ได้ศึกษามา เพื่อเป็นแนวทางในการนาไปใช้งานต่อไป 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข ตัวอย่างที่ 20.1 จงออกแบบวงจรเลือกเส้นทางตามแผนผังที่กาหนดให้ โดยเลือกเส้นทางที่สั ้น และเดินทางได้รวดเร็วที่สุด โดยการโยกสวิตซ์เลือกดังรูปด้านล่าง (ก)

Transcript of การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด ·...

Page 1: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

434 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

บทที่ 20 การประยุกต์ใช้วงจรดจิิตอลจากเง่ือนไขที่ก าหนด

การศึกษาวิชาการออกแบบระบบดิจิตอล ผลที่เราคาดหวงัจากการศึกษาคือการที่

สามารถที่จะน าส่ิงที่ได้ศึกษามาประยุกต์ใช้ได้ ดังนั้ นในบทน้ีเราจะศึกษาตัวอย่างการประยกุตใ์ชว้งจรดิจิตอลแบบต่างๆ ที่ไดศึ้กษามา เพือ่เป็นแนวทางในการน าไปใชง้านต่อไป 20.1 การออกแบบวงจรคอมไบเนช่ันจากเง่ือนไข ตัวอย่างที่ 20.1 จงออกแบบวงจรเลือกเสน้ทางตามแผนผงัที่ก าหนดให ้โดยเลือกเสน้ทางที่สั้นและเดินทางไดร้วดเร็วที่สุด โดยการโยกสวติซ์เลือกดงัรูปดา้นล่าง

(ก)

Page 2: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 435

รูปที่ 20.1 แผนผงัเสน้ทางที่ก าหนด วธีิท า (1) วเิคราะห์ Output จากตารางความจริง - จากความเป็นไปไดใ้นการสบัสวทิซ์ ไดท้ีละ 2 สวทิซ์ จะได ้6 สถานะ

- เม่ือพจิารณาระยะทางแลว้ Hwy 4 และ Hwy 5 จะไม่ไดใ้ชเ้พราะระยะทางไกล

รูปที่ 20.2 แสดงการพจิารณาเสน้ทาง

Page 3: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

436 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

(2) จากการพจิารณาเสน้ทางต่างๆ สามารถสรุปเป็นตารางไดด้งัตารางดา้นล่าง

A B C D Hwy 1 Hwy 2 Hwy 3 Hwy 4 Hwy 5 Hwy 6

0 0 0 0 0 0 0 - - 0 0 0 0 1 0 0 0 - - 0 0 0 1 0 0 0 0 - - 0

0 0 1 1 0 0 0 - - 1

0 1 0 0 0 0 0 - - 0

0 1 0 1 1 0 1 - - 0

0 1 1 0 1 1 0 - - 0

0 1 1 1 0 0 0 - - 0 1 0 0 0 0 0 0 - - 0 1 0 0 1 0 0 1 - - 0

1 0 1 0 0 1 0 - - 0

1 0 1 1 0 0 0 - - 0 1 1 0 0 1 0 0 - - 0

1 1 0 1 0 0 0 - - 0 1 1 1 0 0 0 0 - - 0 1 1 1 1 0 0 0 - - 0

(3) สามารถสรุปสภาวะที่จะให ้LED ติดไดด้งัน้ี A B C D Hwy 1 Hwy 2 Hwy 3 Hwy 4 Hwy 5 Hwy 6

0 0 1 1 0 0 0 - - 1 0 1 0 1 1 0 1 - - 0 0 1 1 0 1 1 0 - - 0 1 0 0 1 0 0 1 - - 0 1 0 1 0 0 1 0 - - 0

Page 4: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 437

1 1 0 0 1 0 0 - - 0 (4) จากตารางเขียนสมการลอจิกไดด้งัน้ี

Hwy 1 = C D + C D + ABC D Hwy 2 = BC D + AC D Hwy 3 = BC D + A C D Hwy 6 = C D (5) เม่ือน าสมการลอจิกมาต่อเป็นวงจรจะไดด้งัรูป

Page 5: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

438 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

รูปที่ 20.3 วงจรที่ไดจ้ากการออกแบบ (6) จากวงจรสามารถออกแบบดว้ยภาษา VHDL ไดด้งัน้ี

library ieee;

use ieee.std_logic_1164.all;

entity not_gate is

port ( in1: in std_logic;

output: out std_logic);

end not_gate;

architecture behv1 of not_gate is

begin

process (in1)

begin

output<=not in1 ;

end process;

end behv1;

-----------------------------------------------------

library ieee;

use ieee.std_logic_1164.all;

entity and_gate is

port ( in1,in2,in3,in4: in std_logic;

output: out std_logic);

end and_gate;

architecture behv2 of and_gate is

begin

process (in1,in2,in3,in4)

begin

output<= in1 and in2 and in3 and in4;

end process;

end behv2;

-----------------------------------------------------

library ieee;

use ieee.std_logic_1164.all;

entity or_gate2 is

port ( in1,in2: in std_logic;

output: out std_logic);

end or_gate2;

architecture behv3 of or_gate2 is

begin

process (in1,in2)

begin

output<= in1 or in2 ;

end process;

end behv3;

-----------------------------------------------------

library ieee;

use ieee.std_logic_1164.all;

use work.all;

entity Trip_Genis is

port ( input1,input2,input3,input4: in std_logic;

output1,output2,output3,output4: out std_logic);

end Trip_Genis;

architecture struct of Trip_Genis is

Page 6: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 439

component not_gate

port ( in1: in std_logic;

output: out std_logic);

end component;

component and_gate

port ( in1,in2,in3,in4: in std_logic;

output: out std_logic);

end component;

component or_gate2

port ( in1,in2: in std_logic;

output: out std_logic);

end component;

signal i1,i2,i3,i4,m1,m2,m3,m4,m5,s:std_logic;

begin

u1 : not_gate port map(input3,i1);

u2 : not_gate port map(input4,i2);

u3 : not_gate port map(input2,i3);

u4 : not_gate port map(input1,i4);

u5 : and_gate port map(input1,input2,i1,i2,m1);

u6 : and_gate port map(input1,i3,i1,input4,m2);

u7 : and_gate port map(input1,i3,input3,i2,m3);

u8 : and_gate port map(i4,input2,i1,input4,m4);

u9 : and_gate port map(i4,input2,input3,i2,m5);

u10: and_gate port map(i4,i3,input3,input4,output4);

u11: or_gate2 port map(m1,m2,s);

u12: or_gate2 port map(s,m3,output1);

u13: or_gate2 port map(m2,m4,output2);

u14: or_gate2 port map(m3,m5,output3);

end struct;

รูปที่ 20.4 แสดงการออกแบบวงจรดว้ยภาษา VHDL

Page 7: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

440 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

20.2 การออกแบบวงจรซีเควนเชียลจากเง่ือนไข ตัวอย่างที่ 20.2 จงออกแบบวงจรเคร่ืองใหจ้งัหวะเคร่ืองดนตรีโดยมีเง่ือนไขดงัต่อไปน้ี (1) แสดงผลการนบัจงัหวะเป็นตวัเลข 1 หลกั (2) แสดงผลการนบัจงัหวะดว้ย LED 4 ดวง ตามหอ้งของจงัหวะดนตรี (3) แสดงผลการนบัดว้ยเสียงโดยใชบ้ซัเซอร์

วธีิท า (1) ออกแบบ Block Diagram ของวงจรเคร่ืองให้จงัหวะเคร่ืองดนตรี

รูปที่ 20.5 Block Diagram ของวงจรเคร่ืองให้จงัหวะเคร่ืองดนตรี

Counter Circuit

Decoder Circuit

Combination Sequential

Analog Circuit

LED 1

LED 2

LED 3

LED 4

7 Segment

Buzzer

Page 8: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 441

(2) ออกแบบวงจร Counter และ Decoder (ก) ออกแบบวงจร Counter นบั 4 เป็นส่วนของ Sequential Circuit

รูปที่ 20.6 วงจรส่วนของ Sequential Circuit

(ข) ออกแบบวงจรDecoder เป็นส่วนของ Combination Circuit

ตารางสภาวะวงจร Decoder

INPUT OUTPUT Decimal

A B a b c d e f g LED1 LED2 LED3 LED4

0 0 1 1

0 1 0 1

0 1 1 0

1 1 1 1

1 0 1 1

0 1 1 0

0 1 0 0

0 0 0 1

0 1 1 1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

1 2 3 4

Page 9: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

442 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

(3) ใชผ้งั K-map ในการลดรูปสมการ

B A 0 1 B A 0 1 B A 0 1 B A 0 1

0 0 0 0 1 1 1 1

a = + b = 1 c = + A d = +

B A 0 1 B A 0 1 B A 0 1 B A 0 1

0 0 0 0 1 1 1 1

e = f = AB g = B + A LED1 =

B A 0 1 B A 0 1 B A 0 1

0 0 0 1 1 1

LED2 = LED3 = LED4 = AB

รูปที่ 20.7 แสดงการลดรูปสมการดว้ยแผนผงัคาร์โนห์

0 1

1 0

1 0

1 1

1 1 1 0

1 1

0 1

0 1

1 0 1 0

0 0

1 0

1 0

0 0

0 1 1 0

0 1

1 1 1 0

1 0

0 0

1 0

0 0

1 0

0

0 1

0 0

1 0

0 0

0 1

1 0

Page 10: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 443

(4) วงจรที่ไดจ้ากสมการ ในผงั K-map

รูปที่ 20.8 วงจรในส่วนของการถอดรหสัที่ไดจ้ากการลดรูปสมการ

Page 11: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

444 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

(5) จากวงจรน ามาเขียนภาษา VHDL ไดด้งัน้ี

library ieee;

Use ieee.std_logic_1164.all;

------------------------------------------

Entity Music_Step is

Port( A,B: in std_logic;

a_s,b_s,c,d,e,f,g,Led1,Led2,Led3,Led4: out

std_logic);

End Music_Step ;

----------------------------------------

Architecture behv of Music_Step is

Begin

Process(A,B)

Begin

a_s <= A xor B;

b_s <= '1';

c <= (not B) or B;

d <= A xor B;

e <= (not A) and B;

f <= A and B;

g <= B or A;

Led1 <= (not A )and (not B);

Led2 <= (not A )and B;

Led3 <= A and (not B);

Led4 <= A and B;

End Process;

End behv ;

รูปที่ 20.9 แสดงการน าวงจรที่ไดจ้ากการลดรูปมาเขียนสมการ

Page 12: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 445

20.3 การประยุกต์ใช้วงจรรวมในการแปลงระหว่างดิจิตอลและอนาลอ็ก จากวงจรการแปลงอนาลอกเป็นดิจิตอล และดิจิตอลเป็นอนาล็อกในบทที่แลว้

เราสามารถน าวงจรรวมมาประยกุตใ์ชไ้ด้ดงัตวัอยา่งด้านล่างน้ี วงจรการต่อ ADCO804 เพื่อทดสอบการท างานในกระบวนการแปลงอนาล็อกเป็นดิจิตอลแสดงในรูปที่ 20.9 โดยต่อแรง ดนัอนาลอกอินพตุเขา้ที่ขา Vin (+) และ Vin (-) ต่อจุดดินใช ้R 10 k เป็นชนิดปรับค่าได้ปรับค่าแรงดันด้านเขา้ของวงจรตั้งแต่ 0 ถึง 5.12 V สวิตช์สตาร์ท (Start) ต่อเขา้กับขา WR และ INTR ส าหรับขา CS และ RD ต่อลงจุดดิน ขาสัญญาณนาฬิกา CLK out, CLK in ต่อ R, C ภายนอก โดยใชส้ญัญาณนาฬิกาภายใน ADC0804 และขา Vref /2 เปิดวงจร ดงันั้นจะรับ Vin ได ้0-5 V และมีค่าความแยกชัดเท่ากับ 19.6 mV ต่อบิต เม่ือปรับค่า R 10 k ด้านอินพุตไปต าแหน่งต ่าสุด (Vin = 0 V) ไบนารีเอาตพ์ุตจะเป็น “0” ทั้ง 8 บิต และเม่ือปรับค่า R 10 k ไปต าแหน่งสูงสุด (Vin - 5 V) ไบนารีเอาตพ์ตุจะเป็น “1” ทั้ง 8 บติ

รูปที่ 20.10 วงจรการทดสอบ ADC0804 ท าหนา้ที่เป็นตวัแปลง A/D

เม่ือน าวงจรรวมเบอร์ ADC0804 ไปสร้างประยกุตเ์ป็นมิเตอร์วดัแสง (Light meter) ได้ดงัรูปที่ 20.10 โดยต่อโฟโตเ้ซลล์ในวงจรคือ R3 ดงันั้นการเปล่ียนแปลงค่า R ของโฟโตเ้ซลล์จะท าให้แรงดันตกคร่อม R2 (แรงดัน Vin) เปล่ียนแปลงไป ผลคือขอ้มูลดิจิตอลเอาต์พุต จะเปล่ียนแปลงไปตามปริมาณความสวา่งของแสงที่ตกกระทบโฟโตเ้ซลล ์(R3)

Page 13: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

446 การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด

รูปที่ 20.11 วงจรการวดัแสงดว้ย ADC0804 วงจรการวดัแสงด้าย ADC0804 สามารถดัดแปลงให้แสดงผลกับตวัแสดงผลเลข 7

ส่วน ชนิดแอโนดร่วม โดยใช้ตวัขบัชนิดทีทีแอลเบอร์ 7447 ดังรูปที่ 20.11 โดยใช้ดิจิตอลเอาตพ์ุตเพียง 4 บิต D7 – D4 และใชส้ัญญาณนาฬิกาความถ่ี 1Hz จากวงจรอะสเตเบิลที่ใชไ้ทม์เมอร์เบอร์ 555 เพื่อให้วงจรรวม ADC0804 อ่านค่าการเปล่ียนแปลงความสว่างของแสงที่ตกกระทบ R3 ทุก 1 วนิาที

รูปที่ 20.12 วงจรวดัแสงที่แสดงผลดว้ยตวัเลข 7 ส่วน อ่านค่าทุก 1 วนิาที

Page 14: การประยุกต์ใช้วงจรดิจิตอลจากเงื่อนไขที่กาหนด · 20.1 การออกแบบวงจรคอมไบเนชั่นจากเงื่อนไข

การประยกุตใ์ชว้งจรดิจิตอลจากเง่ือนไขท่ีก าหนด 447

แบบฝึกหัดที่ 20 1. จงยกตวัอยา่งวงจรการประยกุตใ์ชดิ้จิตอลกบัชีวติประจ าวนัมา 3 วงจร 2. น าวงจรที่ยกตวัอยา่งทั้ง 3 วงจร ในขอ้ 1 มาออกแบบ 3. เขียนวงจรจากขอ้ 2 ดว้ยภาษา VHDL