การสร้าง
Packages ในไลบรารีอุปกรณ์
ขั้นตอนการออกแบบ Packages หรือ Macros ท่านได้ทราบมาจากบทต้นๆแล้ว คราวนี้เราลองมาสรร้างไลบรารีสำหรับเก็บ
Packages ซึ่งเราจะสร้าง Packages ที่มีรูปทรงแบบ DIL (ตัวถัง IC) ที่มีขนาด 6 ขากันในไลบรารีที่ชื่อ NEW
กันเป็นตัวอย่าง
เริ่มด้วยการพิมพ์คำสั่ง
OPEN NEW เพื่อเปิดไลบรารีใหม่ก่อนจากนั้นให้คลิกที่
EDIT เลือก MACRO
ให้สังเกตว่าคำสั่งที่เมนูหลักจะเปลี่ยนไปให้สอดคล้องกับว่าท่านกำลังทำอะไรกับ Eagle และ Eagle จะเซ็ตขนาดของ Raster
ตามค่า
default สำหรับการออกแบบ
Packages คือ 0.05
นิ้ว หรือ 50 Mil
จากนั้นให้ท่านเลือกคำสั่ง PAD จากเมนูหลัก และลาก PAD มาวางให้ครบขนาดและระยะห่างระหว่าง PAD
จะต้องเป็นไปตาม Datasheet ของตัวถังประเภท DIL
ท่านสามารถรู้และวัดขนาดบนเอดิเตอร์ได้จากการบอกตำแหน่งของเมาส์ด้านซ้ายบน
รูปที่ 5 13 เพื่อสร้าง Packagesใหม่ให้คลิก NEW และตั้งชื่อ Packages นี้ว่า DIL6 <CR> หรือ ท่านอาจจะพิมพ์คำสั่ง
EDIT DIL6.MACได้โดยตรงก็ได้เหมือนกัน
หรือการคำนวณระยะห่างระหว่าง กริด หรือ Raster ที่ใช้อยู่ หลังจากนั้นก็ออกแบบตัวให้สวยงาม โดยคำสั่ง WIRE
ในกาสร้างกรอบในชั้น Placeplan วิธีการเปลี่ยนชั้น ก็ทำได้โดย คำสั่ง LAYER PLACEPLAN หรือใช้เมาส์คลิกที่
CHANGEในเมนูหลัก และเลือก LAYERในเมนูย่อย จากนั้นก็เลือกชั้นที่ท่านต้องการจะทำงาน ต่อจากนั้นก็ใช้คำสั่ง WIRE
สร้างกรอบตัวถังอุปกรณ์
จากนั้นท่านจะต้องตั้งชื่อของ PAD ที่ได้วางลงไปในตัวถังแล้ว
โดยพยายามใช้ชื่อที่สอดคล้องกับการใช้อุปกรณ์ในความเป็นจริง เช่น 1, 2, 3, , 6 เป็นต้น ด้วยคำสั่ง NAME ในเมนูหลัก
ถ้าท่านยังพอจำได้เกี่ยวกับเรื่องตัวแปรพิเศษของ Eagle ในบทที่ผ่านมา ตรงนี้เราจะนำมาใช้สองตัวคือ >NAME และ
<VALUE ซึ่งใช้สำหรับกำหนดชื่อและค่าให้กับอุปกรณ์ตัวนี้ โดยใช้คำสั่ง TEXT ในชั้น Placeplan
ถ้าขนาดของตัวแปรพิเศษนี้ใหญ่เกินไป ท่านสามารถแก้ไขขนาดได้โดย คลิก CHANGE ที่เมนูหลัก เลือก SIZE
ในเมนูย่อยจะปรากฎเมนูย่อยให้เลือกขนาดอีก โดยเครื่องหมาย > อยู่ที่ใด หมายถึงว่า Eagle จะสร้างข้อความขนาดนั้น
โดยค่า default จะอยู่ที่ 0.1 นิ้ว ให้ท่านเลือกให้เล็กลง
รูปที่ 5 14 การตั้งชื่อ PAD ด้วยคำสั่ง NAME โดยก่อนหน้าได้สร้างตัวแปรพิเศษสองตัวคือ >NAME และ >VALUE ในชั้น
Placeplan
ข้อแนะนำ
ในการเปลี่ยนขนาดของข้อความ ท่านสามารถจะระบุขนาดได้มากกว่าตัวเลือกที่ปรากฏอยู่ในเมนูย่อย ด้วยการพิมพ์คำสั่ง
CHANGE SIZE 0.058 โดยตัวเลขที่ระบุถึงขนาดนี้จะต้องอยู่ระหว่าง 0 ถึง 0.225 นิ้ว
และจากนั้นท่านก็เพียงเลือกข้อความที่ท่านต้องการเปลี่ยนขนาดด้วยเมาส์
เมื่อเสร็จแล้วก็ให้
save ไลบรารี NEW
ด้วยคำสั่ง
WRITE และจบการสร้าง
Packages ในไลบรารีด้วยคำสั่ง
CLOSE
การสร้างสาย
Signal หรือ
Airline โดยการอ่านจากสคริปต์ไฟล์
ส่วนนี้จะกล่าวถึงการใช้งานที่น่าสนใจอย่างหนึ่งของ Eagle นั้นก็คือ การใช้สคริปต์ไฟล์ ในการสั่งคำสั่งเป็นชุดให้ Eagle
ทำงาน
โดยท่านใช้คำสั่งในการรันสคริปต์ไฟล์ด้วยคำสั่ง
SCRIPT โดยคลิกที่เมนูหลัก
Eagle จะรู้จัก
สคริปต์ไฟล์จากนามสกุล(*.SCR) สคริปต์ไฟล์นี้ท่านสามารถสร้างขึ้นมาโดยใช้โปรแกรมเท็กซ์ (text) เอดิเตอร์ธรรมดานี่เอง
โดยให้นามสกุลของไฟล์ลงท้ายเป็น SCR ก็เป็นอันใช้ได้ ต่อไปนี้เรามาดูตัวอย่าง การทำงานของสคริปต์ไฟล์
โดยผู้เขียนสมมุติว่าได้สร้างแผ่น PCBโดยการวางอุปกรณ์ต่างๆ ที่ต้องการลงในแผ่น PCB แล้ว แต่ยังไม่ได้มีการเชื่อมสาย
Signal หรือ Airline โดยผู้เขียนได้เขียนสคริปต์ไฟล์สำหรับการเชื่อมสาย Signal ระหว่างอุปกรณ์ต่างๆ ไว้แล้ว
ผู้เขียนก็เพียงแต่สั่งให้สคริปต์ไฟล์นี้ทำงานเท่านั้นเอง
เราลองมาทำพร้อมกันเลยจากไฟล์แผ่นลายวงจรชื่อ DEMO2.BRD ซึ่งท่านจะเห็นว่ายังไม่มีการเชื่อมสาย Signalหรือ
Airline เข้าด้วยกัน
โดยการพิมพ์ EDIT
DEMO2.BRD จากนั้นให้ท่านใช้คำสั่ง
SCRIPT จากเมนูหลัก
จะ
ปรากฏรายชื่อของสคริปต์ไฟล์ทั้งหมดในเมนูย่อย
ให้ท่านเลือก
DEMO2
รูปที่ 5 15 การสั่งรันสคริปต์ไฟล์ที่ชื่อ DEMO2 เพื่อสร้าง Airline หรือ Signal ระหว่าง ของอุปกรณ์ขึ้น
ถ้าท่านลองใช้โปรแกรมเท็กซ์เอดิเตอร์ดูรายละเอียดภายใน DEMO.SCR นี้ ท่านจะเห็นถึงลักษณะของคำสั่งในการสร้าง
Airline มี Syntax เป็นดังนี้
SIGNAL
Signal_name Element_name
Pad_name
เช่น
SIGNAL
A0 IC1
10
ซึ่งหมายถึง สาย Signal ชื่อ A0 ต่ออยู่ที่อุปกรณ์ IC1 ที่ขา PAD 10 ซึ่งท่านสามารถจะทำซ้ำๆ
รวมกันเป็นสคริปต์ไฟล์ขึ้นมาได้ ดังนั้นคำสั่งหลักในสคริปต์ไฟล์นี่ก็คือ คำสั่ง SIGNAL นั่นเอง
เมื่อท่านอ่านหรือรันสคริปต์ไฟล์แล้ว ท่านก็จะได้เส้น Signal หรือ Airlineโยงใยกันเป็นร่างแห ซึ่งค่อนข้างจะยุ่ง
ท่านควรจะจัดระยะขจัดให้กับ Signal เหล่านี้ด้วยคำสั่ง RATSNEST ซึ่งคำสั่งนี้จะ Optimize ให้เส้น Signal
เป็นระเบียบและได้ระยะขจัด(ระยะที่ใกล้ที่สุด) ระหว่างอุปกรณ์
รูปที่ 5- 16 การใช้คำสั่ง RATSNEST ภายหลังจากการรันสคริปต์ไฟล์แล้ว เพื่อจัดระเบียบของสาย Signal หรือ Airline
อีกครั้งในกรณีที่ท่านมีโมดูล autoroute ท่านก็สามารถสั่ง AUTO; เพื่อให้ Eagle route สาย Signal หรือ Airline ต่างๆ
ให้เป็นเส้นลายวงจรให้ท่านอัตโนมัติ
ในระหว่างที่ Eagle autoroute อยู่ ท่านสามารถที่จะหยุดการ autoroute ได้ทุกเวลาโดยการกดปุ่ม ESC
ผู้เขียนอยากให้ท่านโหลดเอาไฟล์แผ่นลายวงจรที่ชื่อ DEMO1U.BRD เข้ามาเพื่อทดลองใช้คำสั่ง AUTO;
หรือท่านอาจจะต้องการ autoroute เพียงบางส่วนไม่ต้องการทั้งหมด ท่านก็สามารถทำได้โดยใช้คำสั่ง AUTO
signal_name; ตัวอย่างเช่น ถ้าท่านต้องการ autoroute เฉพาะสาย Signal ที่ชื่อ GND ท่านก็พิมพ์ AUTO GND; Eagle
ก็จะ
autorouteเฉพาะ Signal
GND
หลังจากเมื่อท่านเปลี่ยน Signal หรือ Airline เป็นลายวงจรเรียบร้อยแล้ว
ท่านก็ควรจะตรวจสอบหาจุดบกพร่องอันอาจจะเกิดขึ้นจากการ short circuit หรือ การ overlap ของเส้นลายวงจร โดยใช้คำสั่ง
DRC
ข้อสังเกต
สำหรับการพิมพ์คำสั่งโดยตรงโดยผ่านคีย์บอร์ด ท่านสามารถพิมพ์แบบย่อได้ เช่น คำสั่ง RATSNEST ท่านอาจจะพิมพ์เพียง
RAT Eagle ก็สามารถทำความเข้าใจได้แล้ว หรือคำสั่ง RECTANGLE สามารถย่อได้เป็น REC ก็ได้ ที่สำคัญคือ
จะต้องเพียงพอให้ Eagle รับรู้ว่ามันคือคำสั่งอะไร
คำสั่งหนึ่งที่เรามักจะได้เห็นการใช้งานบ่อยๆ คือ คำสั่ง GROUP ซึ่งจะทำให้เราสามารถทำงานกับ Object
ได้หลายตัวพร้อมกัน เช่น ถ้าท่านต้องการเคลื่อนย้าย Object หลายตัวพร้อมกัน ท่านสามารถทำได้โดยคลิกที่คำสั่ง GROUP
ในเมนูหลัก และหลังจากนั้นใช้เมาส์ในการระบุขอบเขตล้อมรอบกลุ่มของ Object ที่ท่านต้องการจะย้าย
การระบุขอบเขตทำได้โดยการคลิกที่ปุ่มซ้ายของเมาส์และลากเส้นตีกรอบล้อมรอบ
รูปที่ 5 17 การใช้คำสั่ง GROUP ล้อมรอบอุปกรณ์ IC 2 ตัวเมื่อ GROUP แล้วจะมี contrast ที่สว่างให้เห็น
เมื่อเสร็จแล้วให้ท่านคลิกเมาส์ที่ปุ่มขวาจะมีแสงสว่างกับ
Object ที่ท่านเลือก
GROUP
จากนั้นท่านสามารถเคลื่อนย้าย Object ทั้งกลุ่มนี้ได้ด้วยคำสั่ง MOVE ในเมนูหลัก และใช้ปุ่มขวาของเมาส์คลิกเลือกกลุ่ม
Object นั้น จากนั้นท่านก็สามารถเคลื่อนกลุ่ม Object นี้ไปยังตำแหน่งที่ท่านต้องการได้ โดยที่ถ้าท่านต้องการจะหมุนกลุ่ม
Object ก็ทำได้โดยคลิกที่ปุ่มขวาของเมาส์ไปเรื่อยๆ เมื่อถึงที่หมายที่ท่านต้องการวาง ก็ให้คลิกที่ปุ่มซ้ายของเมาส์
แก้ไขเส้นลายวงจรหลังจากการ
route
ในตัวอย่างต่อไปนี้จะทำให้ท่านฝึกการแก้ไขตกแต่งภายหลังการ route สาย Signal หรือ Airline แล้ว
ให้ท่านลองแก้ไขขนาดความหนาของเส้นลายวงจร จาก WIDTH 0.016 ให้เป็น 0.024 ท่านสามารถใช้คำสั่ง CHANGE
ในเมนูหลักและเลือก WIDTH จากนั้นก็เลือกขนาด 0.024
เสร็จแล้วท่านก็เพียงแต่ใช้เมาส์เลือกเส้นลายวงจรที่ท่านต้องการเปลี่ยนขนาด หรืออีกทางหนึ่งคือ พิมพ์คำสั่ง CHANGE WIDTH 0.024 <CR> และเลือกเส้นลายวงจรด้วยเมาส์เพื่อเปลี่ยน Width ของเส้นลายวงจร
รูปที่ 5 18 การเปลี่ยน WIDTH ของเส้นลายวงจรด้วยคำสั่ง CHANGE และเลือก WIDTH ในเมนูย่อย
จากตรงนี้ผู้เขียนอยากให้ท่านทดลองเล่น และทำความเข้าใจกับพารามิเตอร์ตัวอื่นๆ นอกจาก WIDTH ในเมนูย่อย เช่น
ลองเปลี่ยนรูปร่างของ Through Hole (คำสั่ง SHAPE) หรือลองเปลี่ยนขนาดของเส้นผ่าศูนย์กลางของ Through Hole
(คำสั่ง DIAMETER) แต่มีข้อสังเกตว่าท่านจะไม่สามารถใช้คำสั่ง CHANGE กับ PADs ของอุปกรณ์ได้
ถ้าท่านต้องการเปลี่ยนแปลงขนาดของ PADs ท่านจะต้องทำที่ Packages ในไลบรารีในขั้นตอนการสร้าง หรือ แก้ไข
Packages หรือ Macros ที่ไลบรารี หรือ อีกวิธีหนึ่งคือ ออกจากโปรแกรม Eagle และใช้โปรแกรม XPAD.EXE
(ดูในเรื่องภาคผนวกจะมีคำอธิบาย)
วิธีการออกแบบวงจร
(Schematic Design )
ที่ผ่านมานั้นท่านได้เรียนรู้การสร้างแผ่นลายวงจรโดยที่ไม่มีการออกแบบวงจร Schematic มาก่อน และการสร้าง Packages
ใหม่ในไลบรารีมาแล้ว ต่อไปนี้เราจะลองมาดูวิธีการออกแบบวงจร และมารู้จักกับคำสั่งเพิ่มเติมอีกเล็กน้อย
และเมื่อท่านออกแบบวงจรเสร็จ และตรวจสอบแล้ว ท่านก็สามารถจะสร้างแผ่นลายวงจร หรือ PCB ต่อไปได้ด้วยคำสั่ง
BOARD เพื่อเปลี่ยนจากวงจร Schematic เป็นแผ่น PCB และท่านก็สามารถใช้สิ่งที่ท่านเรียนรู้มาถึงตรงนี้ต่อไปได้กับแผ่น
PCB
เราจะมาเริ่มต้นการออกแบบวงจร สร้าง Schematic ขึ้นโดยการใช้คำสั่ง EDIT และเลือก Schematic จากนั้นก็เลือก
NEW และใส่ชื่อไฟล์วงจร TEST ลงไปหรือท่านอาจจะพิมพ์ชุดคำสั่งได้โดยตรงด้วย EDIT TEST.SCH <CR> โดยปกติ
จะสร้าง Sheet หน้า 1/1 ให้โดยอัตโนมัติ ถ้าท่านต้องการสร้าง Sheet หน้าต่อๆ ไป ก็สามารถทำได้โดยพิมพ์ EDIT
TEST.S2 Eagle ก็จะสร้าง Sheet ที่ 2 ขึ้น
สมมติว่าท่านได้สร้างไลบรารีที่ชื่อ Demo มาก่อนหน้านี้แล้ว (ท่านจะได้เรียนรู้การสร้าง Symbols และ
Devicesในไลบรารีในหัวข้อถัดไป) ให้ท่านใช้คำสั่ง USE โหลดไลบรารีชื่อ Demo มาใช้งาน จากนั้นใช้คำสั่ง ADD
ตามที่คุ้นเคย และลากเอาอุปกรณ์ที่ท่านต้องการมาวางไว้บน Sheet ที่ท่านทำงานอยู่
ถ้าท่านต้องการแก้ไขและทิศทางการวางอุปกรณ์ก็สามารถทำได้โดยคำสั่ง MOVE นอกจากนี้คำสั่ง DELETE, UNDO และ
REDO ยังสามารถใช้ได้อยู่
รูปที่ 5 19 เลือกลำดับของเกตโดยคำสั่ง INVOKE และเลือกเกตในเมนูย่อย
ในอุปกรณ์ Devices บางตัวมี Symbols ประกอบอยู่ภายในหลายตัว เช่น 7400 ซึ่งประกอบด้วย NAND Gate หลายตัว
ถ้าท่าน ADD NAND Gate เข้ามา เกตแต่ละตัวที่เข้ามาจะมีชื่อ U1A, U1B, จนครบสี่ตัว สำหรับเกตตัวที่ 5
ชื่อของเกตจะเปลี่ยนไปเป็น U2A, ไปเรื่อยๆ ถ้าท่านต้องการให้ลำดับต่อมาของเกตแทนที่จะเป็น U2B เป็น U2C
แทนก็ให้ท่านคลิกคำสั่ง INVOKE ในเมนูหลัก และคลิกที่เกต U2A เลือก เกต C ในเมนูย่อยจะปรากฎเกต U2C ที่ท่านเลือก
ให้ท่านนำไปวางใน Sheet ท่านก็จะได้เกต U2C สมดังใจ
ต่อไปก็เป็นการเดินสาย Net เชื่อมต่อระหว่างขาของอุปกรณ์ ตามลอจิกต่างๆ ตามที่ท่านออกแบบไว้ ให้ท่านใช้คำสั่ง NET
หรือ BUS เพื่อสร้างเครือข่ายวงจร และเลือกขาของอุปกรณ์ลากเชื่อมโยงซึ่งกันและกัน
ในระหว่างการเชื่อมโยง ท่านสามารถใช้ปุ่มขวาเมาส์ เพื่อจัดรูปและมุมการหักของ Net
ได้ในระหว่างลากไปยังขาอุปกรณ์เป้าหมายสำหรับกรณีที่ท่านมีการใช้คำสั่ง BUS ท่านจะต้องตั้งชื่อเส้น BUS
พร้อมระบุขอบเขตจำนวน Net ที่อยู่ภายใน เช่น D[0 7] หมายถึง Bus ชื่อ D และมีขอบเขตจำนวน Nets อยู่ 8 เส้น
การตั้งชื่อ Bus ทำได้โดยคลิกที่ NAME ในเมนูหลัก แล้วมาเลือก Bus ที่ต้องการ จากนั้นพิมพ์ชื่อ Bus ลงไป D[0 7]
ส่วนที่อยู่ใน
[] หมายถึงจำนวนเส้น
Nets ที่อยู่ในนั้น
โดย Net แต่ละตัวมีชื่อ
D1, D2,
,D7
รูปที่
5 20
การสร้างเครือข่ายเชื่อมโยงวงจรด้วยคำสั่ง
NET และ BUS
ท่านได้รู้จักคำสั่ง SPLIT ไปแล้วจากการสร้างแผ่น PCB มาเรื่องการออกแบบวงจรก็สามารถนำมาใช้ได้ด้วยกันได้กับ Nets
และ Buses จุดตัดกันตรงไหนของ Net ที่ท่านต้องการให้มีการเชื่อมกันชัดเจน ท่านก็สามารถใช้คำสั่ง JUNCTION
เพื่อระบุจุดตัดของ Net ที่เชื่อมกันให้ชัดเจน มิฉะนั้น จะถือว่าจุดตัดนั้นข้ามกัน
นอกจากนี้ยังมีคำสั่ง GATESWAP ที่ใช้ในการแลกเปลี่ยนเกตสองตัวกัน หลังจากที่ท่านสั่งคำสั่ง
GATESWAPท่านต้องเลือก เกตสองตัวที่ต้องการแลกเปลี่ยนกัน ข้อสังเกตการใช้คำสั่ง GATESWAP
ได้กับอุปกรณ์ที่เหมือนกันเท่านั้น (ในที่นี้ NAND เกตเหมือนกัน)
เมื่อท่านเดินเครือข่ายด้วย Net และ Bus อาจจะเป็นไปได้ที่เส้น Net อาจจะทับหรือบดบังชื่อหรือ ค่าของอุปกรณ์ได้ ดังนั้น
Eagle จึงมีคำสั่งพิเศษที่สามารถย้ายตัวแปรพิเศษของอุปกรณ์ได้ นั่นคือคำสั่ง SMASH
และเลือกตัวอุปกรณ์ที่ท่านต้องการจะเลื่อนตัวแปรพิเศษ จากนั้นท่านก็ใช้คำสั่ง MOVE
ธรรมดาย้ายตัวแปรพิเศษไปวางไว้ในตำแหน่งที่ไม่ถูกบดบังด้วย Net หรือ Bus ดังนั้นคำสั่งนี้จึงมีความสำคัญทีเดียว
อีกหนึ่งคำสั่ง LABEL ใช้เมื่อต้องการแสดงชื่อของ Net และ Bus ที่ท่านตั้งไว้
การใช้งานและความหมายทั้งหมดของคำสั่งต่างๆ จะรวบรวมไว้ในบทที่ 6 เมื่อท่านออกแบบวงจร Schematic เรียบร้อยแล้ว
เราก็อาจจะใช้ คำสั่ง ERC ตรวจสอบวงจรดูก่อนว่ามีการเชื่อมต่อของ Net ต่างๆเหมาะสมหรือไม่
จากนั้นท่านก็เปลี่ยนจากวงจร Schematic มาเป็นแผ่นลายวงจร (PCB) ด้วยคำสั่ง BOARD แต่ก่อนหน้านั้นท่านต้อง Save
Schematic นี้ก่อน ถ้าไม่เช่นนั้น Eagle จะบังคับให้ท่าน Save งาน และทำคำสั่ง BOARD ต่อให้
ขั้นตอนการออกแบบ
Symbols และ
Devices ในไลบรารี
ผู้เขียนขอให้ท่านทำตามหลักการที่ให้ไว้ในบทที่ 4 โดยเฉพาะความหมายของ Symbols และ Device, คำสั่ง PIN และ ADD
รวมไปถึงชื่อ Pin และทิศทาง และพารามิเตอร์ต่างๆ ดังนั้นผู้เขียนขอให้ท่านทำความเข้าใจกับสองคำสั่งนี้ในบทที่ 6
ต่อไปเราจะมาทำความเข้าใจในพื้นฐานความเข้าใจกับไลบรารี ซึ่งอย่างที่ท่านทราบแล้วว่าถูกประกอบขึ้นมาจาก Symbols,
Packages และ Devices โดย Packages จะเป็นตัวบ่งบอก และแสดงถึงรูปร่างของอุปกรณ์ซึ่งท่านได้ลองสร้าง Packages
มาแล้ว Symbols จะบ่งบอกถึงสัญญาลักษณ์ที่แสดงออกมาในการออกแบบวงจร Schematic ตัวอย่างเช่น NAND เกต
เป็นต้น
หนึ่งตัวอาจจะประกอบไปด้วยหลาย Symbols ก็ได้ ตามรายละเอียดจริงของอุปกรณ์ตัวนั้นๆ เช่น (7400 ประกอบด้วย
Symbol NAND เกต 4 ตัวอยู่ภายใน) นอกจากนี้ ทุกตัวยังจะต้องมีการระบุว่าใช้ Packages แบบไหน และขาไหนของ
Device ต่ออยู่กับ Pad ใดของ Packages (Macro) แต่ Package หนึ่งตัวก็อาจจะประกอบด้วย Symbol เพียงตัวเดียวก็ได้
เช่น ทรานซิสเตอร์ เราจะมาลองทำ Symbol และ Device กัน
คำเตือน
ก่อนที่ท่านจะรัน Eagleใหม่ และให้ผลเป็นไปตามตัวอย่างในคู่มือเล่มนี้ ผู้เขียนขอให้ท่านก็อบปี้ไลบรารีที่ชื่อ DEMO.LBR
ไปเก็บไว้ที่อื่นก่อน เพราะถ้าเราเปลี่ยนแปลงไลบรารี DEMO เราจะได้มี Back up เอาไว้เพื่อเรียก DEMO ที่เป็น Original
กลับคืนได้
สร้าง
Device หนึ่งตัวที่ประกอบด้วย
Symbol หนึ่งตัว
ตัวต้านทานเป็นหนึ่งในตัวอย่างนี้ เพราะตัวต้านทานเป็น Device ที่มี Symbol
ตัวเดียวจากนั้นก็ให้เปิดไลบรารีขึ้นมาเพื่อจะทำอุปกรณ์ใหม่นี้ ให้ท่านพิมพ์ว่า OPEN DEMO
ท่านจะเห็นว่าที่บรรทัดบนกลางจอภาพจะแสดงให้เห็นว่าท่านได้เปิดไลบรารี Demo แล้ว เราจะสมมุติว่าตัวถังรูปร่าง (Macro
หรือ Package) ของตัวต้านทานได้ถูกสร้างและกำหนดไว้ในไลบรารีแล้ว โดยให้ชื่อ Package ว่า R10 และขา Pad
จุดเชื่อมต่อชื่อ 1 และ 2 ตามลำดับ ขั้นตอนต่อไปให้ท่านสร้าง Symbol ของตัวต้านทานขึ้นก่อนโดยคลิกที่คำสั่ง EDIT
ด้วยเมาส์ในเมนูหลัก
จากนั้นเลือก
Symbol และเลือก
NEW และให้พิมพ์ชื่อ
Symbol ตัวนี้ว่า
R และจบด้วย
<CR>
บนจอภาพท่านจะเห็นชื่อของ Symbol R ปรากฏอยู่ โดย Eagle จะรัน EAGLE.SCR
เพื่อจัดสภาพแวดล้อมการทำงานที่สำคัญให้ เช่น คำสั่งในเมนูหลักในการสร้าง Symbol, โดยเฉพาะ Raster ซึ่งมีค่าเท่ากับ
1/100 นิ้ว ซึ่งด้วยค่านี้เราจะใช้ในการนำเอา Pins ของ Symbol เข้ามาวางบนจอภาพ
ข้อแนะนำ
ขอให้ท่านนึกอยู่เสมอว่าว ท่านสามารถใช้ปุ่ม F1 ได้ตลอดเวลา เมื่อท่านต้องการมองดูภาพรวมทั้งหมดของ Symbol (Auto
Panning)
จากนั้นให้ท่านคลิกคำสั่ง PIN ในเมนูหลัก และให้ลากเอา Pin มาวางไว้ทางด้านซ้ายของจุดกากบาท (จุดเริ่มต้น 0,0) นับไป 6
หน่วยของ Raster ปุ่มซ้ายของเมาส์สำหรับวาง Pin ลง และปุ่มขวาของเมาส์ใช้สำหรับหมุน Pin เพื่อปรับทิศทาง
ทางด้านปลายขวาของ Pin จะมีชื่อของ Pin กำกับ โดยปกติ Eagle จะกำหนดชื่อสุ่มที่ไม่ซ้ำกันขึ้นมาให้ แต่เราจะกำหนดชื่อ
Pin เองด้วยคำสั่ง NAME และมาเลือกที่ Pin ในที่นี้ให้ตั้งชื่อเป็น 1 และ 2 ตามลำดับ วงกลมเล็กๆ
สีเขียวต่อไปในการออกแบบวงจร Schematic จะเป็นจุดเชื่อมต่อของ Net
พารามิเตอร์ต่างๆ ของ Pin สามารถถูกเปลี่ยนแปลงได้ด้วยคำสั่ง CHANGE ตัวอย่างเช่น
ที่ขาทั้งสองของตัวต้านทานควรจะเป็น Passive วิธีการเปลี่ยนจาก I/O เป็น Pass ทำได้โดย คลิกคำสั่ง CHANGE เลือก
DIRECTION ในเมนูย่อย
และเลือก PAS
อย่าลืมว่าตอนที่ท่านใช้คำสั่ง PIN Eagle จะสร้างชื่อให้ท่านเอง(P$1, P$2) ให้ท่านใช้คำสั่ง NAME เปลี่ยนชื่อเป็น 1 และ 2
แต่สำหรับความต้านทานแล้วไม่ควรจะปรากฏชื่อของ Pin ให้เห็นในวงจร Schematic ดังนั้นเราจะใช้คำสั่ง CHANGE
อีกครั้ง และเลือก VISIBLE ในเมนูย่อย จากนั้นก็เลือก NoPad และไปเลือกที่ Pin ทั้งสองของตัวต้านทาน ชื่อของ Pin
ก็จะหายไป และไม่ปรากฏให้เห็นใน Schematic และแผ่นลายวงจร อีก
รูปที่ 5 21 การสร้าง Symbol ชื่อ R หมายถึงความต้านทาน
แต่ถ้าท่านต้องการให้ชื่อของ Pin ไม่ปรากฏใน Schematic แต่ปรากฏในแผ่นลายวงจร PCB ก็ให้ท่านเลือก VISIBLE Off
หลังจากนี้ก็เหลือแต่เพียงการตกแต่ง และตัวแปรพิเศษ NAME และ VALUE พื้นฐาน
ซึ่งท่านได้ทราบถึงความหมายและการทำงานของตัวแปรพิเศษทั้งสองนี้มาแล้วในบทต้นๆ
โปรดอย่าลืมว่าตัวแปรพิเศษทั้งสองนี้จะต้องวางไว้ในชั้นชื่อ NAME (สีขาว) เท่านั้น ดังนั้นก่อนที่ท่านจะใช้คำสั่ง TEXT
ในการสร้างตัวแปรพิเศษนี้ ท่านต้องใช้คำสั่ง CHANGE ในเมนูหลัก และเลือก LAYER ในเมนูย่อยและเลือก NAME
ก่อนจึงค่อยสร้างตัวแปรพิเศษ ด้วย Syntax ของคำสั่ง TEXT ในเมนูหลักและพิมพ์ >NAME <CR>
และตัวแปรพิเศษนี้ไปไว้ด้านบนของ Symbol จากนั้นพิมพ์ >VALUE <CR> และลากไปไว้ใต้ Symbol เป็นเสร็จสิ้นการสร้าง
Symbol 1 ตัว อ้อเกือบลืมว่าตัวกรอบของ Symbol ที่อยู่ระหว่าง Pin ทั้งสอง ท่านสามารถใช้คำสั่ง WIRE ในการสร้างที่ชั้น
Symbol (สีแดง)
ข้อสังเกต
ท่านจะเห็นว่าเราพยายามสร้าง Symbol ตัวต้านทานโดยมีจุดเริ่มต้น (จุด 0,0 เครื่องหมายกากบาท) อยู่กึ่งกลาง
เพื่อที่เวลาท่านเรียกมันมาใช้งานตัว Symbol จะปรากฏอยู่กึ่งกลางของเมาส์ (เมาส์ชี้ตรงกลาง Symbol)
ซึ่งผู้เขียนแนะนำให้ท่านทำเช่นนี้กับ Symbol ทุกตัวที่ท่านสร้าง
ในกรณีที่ท่านลากเอาตัวแปรพิเศษที่สร้างขึ้นด้วยคำสั่ง TEXT ไม่สามารถวางได้ใกล้กับขอบบนของ Symbol ได้มากกว่านี้
เพราะกริดบังดับ ท่านสามารถเปลี่ยนกริดได้ โดยการคลิกที่คำสั่ง GRID ในเมนูหลักและเลือก
FINESTหรือท่านพิมพ์คำสั่งว่า GRID FINEST; <CR> Raster จะถูกเซ็ตให้มีค่าละเอียดสุดคือ 1 Mil
และท่านสามารถที่จะ MOVE ตัวแปรพิเศษนี้ได้อย่างละเอียด แต่อย่าลืมว่าท่านควรจะเซ็ตค่า Raster กลับเป็นค่า default
ทุกครั้งหลังจากที่ท่านใช้มันเพื่อจุดประสงค์บางอย่าง เพราะว่า Pin ที่ขา Symbol จะต้องถูกวางลงในขณะที่ Eagle ใช้ค่าเป็น
1/100 นิ้วเท่านั้น
ต่อจากนี้ท่านก็สามารถที่จะเริ่มการสร้าง Device ที่มี Symbol ความต้านทานนี้อยู่ ให้ท่านเริ่มด้วยการคลิกที่ EDITเลือก
DEVICE และจากนั้นเลือก NEW และพิมพ์ชื่อ Device ลงไปในที่นี้คือ R สำหรับการตั้งชื่อของ
Deviceสามารถเหมือนหรือต่างกันกับชื่อของ Symbol ก็ได้ จากนั้นท่านก็นำเอา Symbol R
ที่ท่านออกแบบไว้แล้วมาวางด้วยคำสั่ง ADD โดยให้ท่านพยายามวาง Symbol R
ให้ใกล้กับกากบาทเหมือนอย่างเช่นการสร้าง Symbol สังเกตว่าที่บรรทัดบนของจอภาพท่านจะทราบว่าท่านกำลังทำงานกับ
Device ชื่อ R อยู่
รูปที่ 5 22 การสร้าง Device ชื่อ R โดยใช้ Symbol ชื่อ R
ให้ท่านสังเกตที่ด้านบนซ้ายของ Device จะมีข้อมูลบางอย่างที่น่าสนใจ
Package=R10 หมายถึงท่านใช้ Package ชนิด R10 สำหรับ Device นี้ ทำได้โดยเลือกคำสั่ง PACKAGE จากเมนูหลัก
และเลือก R10 จากเมนูย่อย จากนั้นกดปุ่ม F2 เพื่อรีเฟรชหน้าจอภาพเพื่อให้เห็นการเปลี่ยนแปลงซึ่งเดิมก่อนการกำหนด
Package มันจะไม่ได้ระบุอะไร (Package=)
Prefix=R หมายถึง Device ตัวนี้มีชื่อนำว่า R เมื่อท่านนำเอา Device ไปใช้ในการออกแบบ Schematic มันจะสร้างชื่อให้เป็น R1, R2, . ไปเรื่อยๆ
Value=On หมายถึง Device ตัวนี้ให้ท่านกำหนดค่าได้ต่างหาก
Add=Next
เป็นค่ามาตรฐานเมื่อ
Device ตัวนั้นไม่มีฟังก์ชันพิเศษ
แต่ท่านก็สามารถเปลี่ยนมันได้ด้วยคำสั่ง
CHANGE และเลือก
ADDLEVEL
SWAP=0 หมายถึง Symbol ตัวนี้ไม่สามารถ Swap (แลกเปลี่ยน) ได้ในวงจร Schematic ถ้ามันมีค่ามากกว่าหนึ่งแสดงว่ามันสามารถแลกเปลี่ยนกันได้ (ดูในบทที่ผ่านมาเกี่ยวกับ NAND เกตของ 7400)
ท้ายสุดก็เหลือแต่ว่าท่านจะต้องเชื่อม Pin ของ Symbol มาเชื่อมกับ Pad ของ Package ให้ท่านพิมพ์คำสั่ง CONNECT 1
1 2 2; <CR> ความหมายของมันก็คือ ให้เชื่อม Pin ที่ชื่อ 1 กับ Pad ที่ชื่อ 1 โดยแยกกันด้วย Space
ท่านสามารถจะเชื่อมต่อกันไปเรื่อยๆได้ และจบประโยคด้วย ; (เซมิโคลอน)
ถ้าท่านทำความเข้าใจกับคำสั่ง CONNECT ในบทที่ 6 ท่านจะเห็นวิธีการกำหนดอีกแบบหนึ่งคือ ชื่อของ
Symbolและใช้จุดเป็นตัวแยกกับชื่อ Pin ของ Symbol (ตัวอย่างเช่น R.1) แต่เนื่องจากใน Device ตัวนี้มี Symbol
เพียงตัวเดียว เราจึงสามารถละชื่อ Symbol R ไว้ได้ เป็นการประหยัดการพิมพ์ คือ แทนที่จะพิมพ์คำสั่งว่า CONNECT R.1
1 R.2 2; <CR> มาเป็น CONNECT 1 1 2 2; <CR> เท่านี้ท่านก็ได้ Device R ที่สมบูรณ์แล้ว
ยังมีรายละเอียดอีกนิดหนึ่งเกี่ยวกับ Pin แหล่งจ่ายไฟฟ้าของ Device บังเอิญว่าในตัวอย่างนี้ไม่มี Pin ของแหล่งจ่ายไฟฟ้า ใน
Device บางตัวเช่น 7400 ซึ่งมี Symbol NAND เกตอยู่สี่ตัว และมี Pin แหล่งจ่ายไฟฟ้าอยู่ด้วย ท่านต้อง ADD Symbol
ของแหล่งจ่ายไฟฟ้าเข้ามาใช้ใน Device ด้วย
เมื่อท่านออกแบบ Device เสร็จแล้วท่านก็ใช้คำสั่ง WRITE เพื่อบันทึกไลบรารีเอาไว้ ก็เป็นอันสิ้นสุดการสร้าง Device
และพร้อมที่จะนำมันไปใช้งานในการออกแบบวงจร Schematic ต่างๆ ได้
การสร้าง
Device ที่มี
Symbol หลายตัวบรรจุอยู่ภายใน
ในตัวอย่างต่อไปนี้เราจะลองสร้างอุปกรณ์ไอซี TTL 7404 ซึ่งจะแสดงการสร้าง Device ที่มี หลาย Symbol อยู่ภายใน
(ในกรณีนี้ คือ Inverter เกต 6 ตัว และ Symbol แหล่งจ่ายไฟฟ้าที่แยกต่างหาก) เราจะเริ่มต้นด้วยคำสั่ง OPEN DEMO
จากนั้นท่านก็พิมพ์คำสั่ง EDIT INV.SYM ส่วน Extension .SYM หมายถึงท่านต้องการจะสร้างหรือแก้ไข Symbol ชื่อ
INV มันจะเหมือนกับขั้นตอนที่ท่านใช้คำสั่ง EDIT จากเมนูหลักและเลือก Symbol ในเมนูย่อย และเลือก NEW
จากนั้นก็พิมพ์ชื่อ INV <CR> ลงไป ต่อไปให้ท่านใช้คำสั่ง WIRE ในการสร้างรูป Symbol ในชั้น Symbol (สีแดง) เป็นรูป
Inverter เกตจากนั้นก็ใช้คำสั่ง PIN และลากขาของ Symbol มาวางไว้ดังรูป โดยตั้งชื่อด้วยคำสั่ง NAME ว่า I และ O
แทนคำว่า Input และ Output และอย่าลืมให้ไปที่ CHANGE เลือก VISIBLE และเลือก Off เพื่อไม่ให้ชื่อของ Pin
ปรากฏใน Symbol หรือ ท่านอาจจะพิมพ์คำสั่งดังต่อไปนี้เพียงบรรทัดเดียวก็ได้
PIN I IN OFF <CR>
ซึ่งจะมีความหมายให้สร้าง Pin ที่มีชื่อว่า I และมี Direction เป็น IN โดยที่ไม่ปรากฏชื่อ Pin ให้เห็น
เป็นการลดขั้นตอนการใช้คำสั่งจากเมนูลง
ส่วนที่ค่อนข้างจะยากในการสร้างก็คือ วงกลมเล็กๆ ที่ปลายสามเหลี่ยม เพราะท่านจะต้องเปลี่ยน Raster ให้เป็นแบบ
FINEST ก่อน โดยใช้คำสั่ง GRID ในเมนูหลัก และเลือก FINEST ในเมนูย่อย จากนั้นจึงสร้างวงกลมในชั้น Symbols
เล็กๆ ขึ้นด้วยคำสั่ง CIRCLE และ MOVE มาไว้ในตำแหน่งที่ปลายสามเหลี่ยม จากนั้นท่านจะต้องเปลี่ยน Raster
ให้กลับสู่สภาพปกติ คือ เลือกที่ LAST หรือ DEFAULT ในเมนูย่อยของคำสั่ง GRID
รูปที่ 5 23 การสร้าง Symbol INV ซึ่งเป็น Inverter เกตที่สมบูรณ์
ส่วนตัวแปรพิเศษสองตัวก็ทำได้เหมือนที่ผ่านมา อย่าลืมว่าก่อนใช้คำสั่ง TEXT ท่านต้องเปลี่ยนชั้นไปที่ ชั้น NAMES
(สีขาว)เสียก่อน
จากนั้นก่อนที่ท่านจะสร้าง Device 7404 ให้ท่านสร้าง Symbol
ของแหล่งจ่ายไฟฟ้าขึ้นมาต่างหากก่อนซึ่งจะปรากฏให้เห็นในการออกแบบวงจร Schematic ก็ต่อเมื่อ ท่านต้องการจริงๆ
เท่านั้นด้วยคำสั่ง INVOKE โดยเราจะให้ชื่อ Symbol ของแหล่งจ่ายไฟฟ้านี้ว่า P (หมายถึง Power) เริ่มต้นเหมือนการสร้าง
INV ข้างบน พิมพ์ EDIT P.SYM <CR> จากนั้นคลิกคำสั่ง PIN และลากมาไว้ 2 Pins โดยให้ชื่อ Pins ว่า VCC และ GND
ตามลำดับ ต่อไปให้ท่านเปลี่ยน Direction ของ Pins ทั้งสองให้เป็น PWR โดยใช้คำสั่ง CHANGE และเลือก
DIRECTION และเลือก PWR จากนั้นก็มาคลิกเลือกที่ Pins ทั้งสอง
คราวนี้ก็มาถึงการสร้าง Device 7404 ในกรณีที่ท่านเปิดไลบรารี DEMO อยู่แล้วในท่านทำต่อไปได้เลย โดยคลิกที่ EDIT
ในเมนูหลัก และเลือก Device จากนั้นเลือก NEW พิมพ์ชื่อ Device 7404 <CR> ลงไป จากนั้นเราต้องเอา Inverter เกต
Symbol 6 ตัวเข้ามาใน Device นี้ด้วยคำสั่ง ADD และเลือก INV ที่เราพึ่งสร้างเสร็จมา โดยให้ Symbol แต่ละตัวมีชื่อ A,
B, ., F ด้วยคำสั่ง NAME จากนั้นก็ให้ท่าน ADD Symbol ของแหล่งจ่ายไฟฟ้า P เข้ามา สิ่งสำคัญคือ Inverter
เกตทั้งหมดต้องตั้ง Addlevel เป็น Next ซึ่งหมายถึงเราสามารถเรียก Symbol เหล่านี้มาใช้ใน Schematic ได้เรื่อยๆ
สำหรับ Symbol P ให้ท่านตั้ง Addlevel ที่ Request หมายถึงจะใช้ Symbol ใน Schematic
เมื่อท่านต้องการจริงด้วยคำสั่ง INVOKE ใน Symbol P เราไม่ได้สร้างตัวแปรพิเศษให้ เพราะฉะนั้นจะไม่ปรากฏชื่อให้เห็น
ต่อจากนั้นก็ทำตามขั้นตอนเหมือนกับการสร้าง Device ที่มี Symbol เพียงหนึ่งตัวที่ผ่านมา คือ เลือก Package, ตั้ง Prefix
และเซ็ต Value Off ด้วยคำสั่ง PACKAGE ให้ท่านเลือก DIL14 คำสั่ง PREFIX ให้ท่านพิมพ์ว่า IC <CR> และ คำสั่ง
VALUE ให้ท่านเลือก (DIL14) ต่อไปก็เหลือการเชื่อม Pin ของ Symbols เข้ากับ Pads ของ Package ที่ท่านเลือก
(DIL14) ด้วยคำสั่ง CONNECT แต่ในกรณีนี้จะมี Syntax ที่ต่างจาก Device ที่มี Symbol ตัวเดียว คือ
ท่านจะต้องอ้างชื่อของ Symbol ก่อน และตามด้วยจุดและชื่อ Pin เพื่ออ้างถึงตัว Symbol ตัวอย่าง CONNECT P.VCC 14
P.GND 7; <CR> เป็นต้น
ให้ท่าน CONNECT ไปเรื่อยๆ
จนครบทุก Pins กับทุก
Pads
CONNECT P.VCC
14 P.GND 7 A.I 1 A.O 2
; <CR>
คำแนะนำ
ท่านสามารถกลับไปเปลี่ยนรูปร่างของ Symbol INV ได้ตามชอบใจ โดย Symbol ที่มีการเปลี่ยนแปลง จะไปเปลี่ยนแปลงใน
Device ที่มันประกอบอยู่ให้โดยอัตโนมัติ แต่ท่านไม่สามารถเปลี่ยนแปลงจำนวน Pins ใน Symbol ได้อีก จกนั้นก็ใช้คำสั่ง
WRITE เพื่อ Save ไลบรารี DEMO
รูปที่ 5 24 Device 7404 ที่ประกอบไปด้วย Symbol หลายตัวที่สมบูรณ์
การตั้งชื่อ
Pin ของ
Symbol ที่มีชื่อเหมือนกัน
โดยปกติ Eagle จะไม่อนุญาตให้ท่านตั้งชื่อ Pin ด้วยชื่อซ้ำกันได้ แต่ถ้าท่านจำเป็นที่ต้องตั้งชื่อ Pin
ด้วยชื่อเดียวกันให้ท่านปฏิบัติตามขั้นตอนต่อไปนี้
สมมุติว่าท่านสร้าง Symbol ขึ้นมาตัวหนึ่งที่มี Pin ชื่อว่า GND อยู่ 3 Pins ให้ท่านตั้งชื่อ Pin ในระหว่างการสร้าง Symbol ว่า
GND@1, GND@2 และ GND@3 ในการใช้งานออกแบบวงจร Schematic
จะมองเห็นเพียงส่วนของชื่อหน้าเครื่องหมาย @ เท่านั้นและ Pins เหล่านี้จะถูกมองว่าเป็นชื่อเดียวกัน
การเชื่อมลายวงจรอัตโนมัติของ
Pin แหล่งจ่ายไฟฟ้า
ในในตัวอย่างในที่นี้เราจะถือว่า GND และ VCC คือ แหล่งจ่ายไฟฟ้า
· ให้ท่านกำหนดชื่อ Pin GND และ VCC ใน Symbol ของแหล่งจ่ายไฟฟ้า (Direction Pwr)
· ใช้ Symbol นี้ใน Device เช่น 7404 (Addlevel : Request) โดยมีชื่อ Symbol ว่า POWER
· ให้ท่านวาง Device ที่ท่านเลือกใช้ใน Schematic โดยจะนำเอา Symbol ของแหล่งจ่ายไฟฟ้ามาด้วยหรือไม่ก็ตาม
ในการใช้คำสั่ง BOARD; Symbol ของแหล่งจ่ายไฟฟ้าจะเชื่อม Pin GND และ VCC ของ Device
ที่ท่านนำเอามาใช้เข้าด้วยกันให้อัตโนมัติ