แสดงบทความที่มีป้ายกำกับ IC แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ IC แสดงบทความทั้งหมด

วันศุกร์ที่ 24 กุมภาพันธ์ พ.ศ. 2560

ชนิดของ IC

ชนิดของ IC
1. Analog IC (ไอซีแบบอนาล็อก) บางทีเรียกว่า ไอซีเชิงเส้น Linear IC (ลิเนียร์ ไอ ซี) เป็นไอซีที่ทำหน้าที่ในการขยายสัญญาณ และควบคุมแรงดันไฟฟ้าชนิดของไอซี ที่ทำหน้าที่ขยายสัญญาณ เรียกว่า OP Amp (ออปแอมป์) หรือ Operation Amplifier (โอเปอเรชั่น แอมพลิไฟเออะ) เป็นวงจรรวมที่ประกอบขึ้นทรานซิสเตอร์หลายๆตัวรวมอยู่ภายใน IC ตัวเดียว จึงทำให้ไอซีออปแอมป์มีอัตราขยายสูงมาก
2. Digital IC (ไอซีแบบดิจิตอล) ไอซีดิจิตอลเป็น ไอซีที่ทำหน้าที่ในการสวิทช์ทางดิจิตอล และไมโครโพรเฟส

รู้จักกับไอซีดิจิตอล

มาทำความรู้จักกับไอซีดิจิตอล (digital)กันก่อนครับ
ไอซีดิจิตอล เป็น ไอซีที่ทำงานได้กับสัญญาณดิจิตอล โดยภายในตัวไอซีดิจิตอลเองจะประกอบด้วยเกตพื้นฐานหลายตัว โดยตัวของไอซีประเภทนี้จะเป็นไอซีแบบตีนตะขาบหรือตัวถังแบบดิฟ(DIP) หรือมีตัวถังแบบอื่นด้วยเช่นแบบ soic เป็นต้น ในที่นี้จะขอกล่าวถึงตัวถังแบบตีนตะขาบครับเพราะเป็นตัวถังที่เรานิยมนำมา ใช้งาน ใช้ทดลองเรียนรู้ ตัวถังดังกล่าวจะมีตำแหน่งขาเรียงลำดับ จากตำแหน่งขาที่ 1 ไปจนถึงลำดับขาสุดท้าย (ดูจากภาพประกอบ) โดยทั่วแล้ว ตัวถังดังกล่าวจะมีรอบบากตรงส่วนหัวเพื่อแสดงตำแหน่งอยู่แล้ว และขาที่อยู่ทางด้าน ซ้ายมือ จะเป็นตำแหน่งขาที่ 1 และจะไล่เรียงลำดับไปเรื่อยๆจนถึงตำแหน่งขาสุดท้ายซึ่งจะอยู่ด้านขวามือของ รอยบาก ไอซีดิติตอลจะมีจำนวนขาไม่เท่ากันขึ้นอยู่กับเบอร์นั้นๆ โดยทั่วไปจะมีตั้งแต่ 14 , 16 , 18 , 20 เป็นต้น

สัญญาณดิจิตอล (digital Singal)
สัญญาณดิจิตอลเป็นสัญญาณที่ประกอบด้วยสัญญาณ เพียง 2 สะถานะ คือ สูง-ต่ำ หรือ High-low หรือ เราอาจเขียนด้วย เลข 1 และ 0 ดังนั้นในบทความต่อๆไปในเรื่องของดิจิตอลหากกว่าถึงสัญญาณดิจิตอลจะเขียนแทนด้วย 1 และ 0 ครับ
flash
สัญญาณที่จะเข้าและออกจากไอซีดิจิตอลจะต้องเป็นสัญญาณดิจิตอลเท่านั้น

flash
เปรียบเทียบสัญญาณ 0 กับ 1

สัญญาณดิจิตอลจะมีระดับแรงดันในการทำงานแต่ต่างกันไป โดยทั่วไปสัญญาณที่เป็น 0 จะมีแรงดันที่ 0 โวลต์ และ สัญญาณ ที่เป็น 1 จะมีแรงดันที่ 5 โวลต์ (เทียบกับ IC TTL) แต่ระดับการทำงานนี้อาจแตกต่างกันตามประเภทของไอซีดิจิตอล



ไอซีดิจิตอลประเภท TTL
TTL มาจาก Transistor Transistor Login เป็นไอซีที่โครงสร้างภายในจะเป็นวงจรรวมโดยผลิตมาจาก ทรานซิสเตอร์ผลิตออกมาครั้งแรกในปี ค.ศ. 1965 โดยบริษัท Texas Insnstrument และต่อมาได้มีบริษัทอื่นๆผลิตขึ้นตาม และจึงมีความจำเป็นต้องมีมาตราฐานแบบเดียวกันคือสามารถใช้ทดแทนกันได้ ไอซี TTL จะมี code โดยใช้ตัวเลข 4-5 หลัก แต่ 2 หลักแรกจะนำด้วย 74 และ 2 หลักต่อไปจะบอกถึงฟังก์ชันการทำงานในปัจจุบัน ไอซี TTL ยังแบ่งกลุ่มย่อยออกเป็นหลายชนิดคือ

ไอซี TTL จะใช้ไฟเลี้ยงวงจรที่ระดับแรงดัน +5V และระดับสัญญาณ ขาเข้า และ ขาออก คือ 0V และ 5V ด้วยเช่นเดียวกัน

TTL และ CMOS 74 .ใช้แหล่งจ่าย 5V ส่วน CMOS 40สามารถใช้แหล่งจ่ายได้ 5 - 12V หรือมากว่า



ไอซีดิจิตอลประเภท CMOS
CMOS มาจาก Complememtary Metal Oxide Semiconductor เป็น ไอซีที่มีโครงสร้างภายในเป็นวงจรรวมโดยผลิต จากทรานซิสเตอร์แบบ N-MOS และ P-MOS โดยมีข้อดีคือสูญเสียกำลังงานต่ำ ทรานซิสเตอร์แบบMOSจะถูกใช้ในการสร้างวงจรรวม ขนาดใหญ่ และมีความเร็วในการทำงานเร็วมาก เช่น ในการสร้างอุปกรณ์ไมโครโปรเซสเซอร์ และ หน่วยความจำ ซึ่งจัดเป็นวงจรรวมประเภท VLSI
ไอซีซีมอสจะแบ่งกลุ่มย่อยคือ 74HC xx เป็น High-speed CMOS Logic
74HCT xx เป็น High-speed CMOS /TTL interface
74Cxx เป็น CMOS Logic

ไอซี CMOS กลุ่ม 74 จะใช้ไฟเลี้ยงวงจรที่ระดับแรงดัน +5V และระดับสัญญาณ ขาเข้า และ ขาออก คือ 0V และ 5V ด้วยเช่นเดียวกัน ( กลุ่ม 40 จะใช้ระดับแรงดันไปเลี้ยงสูงถึง15V)

40xx หรือ 14xxx เช่น 4009 ไอซีซีมอสประเภทนี้ รับความนิยมอย่างมาก กินไฟน้อย และสามารถทำงานที่ระดับแรงดันสูงถึง 15 โวลต์ได้ แต่มีข้อเสียคือทำงานช้ากว่าแบบ TTL (จึงผลิตซีมอสความถี่สูงขึ้นมาแทนคือ 74HC ) ดังนั้น เราจึงเห็นชุดคิทส่วนใหม่นิยมใช้ไอซีซีมอสกลุ่ม 40 กันมากเพราะสามารถใช้ไฟเลี่ยงจากถ่าน 9V ได้อย่างสบาย



เกตภายในไอซี
ภายในไอซีทั้ง TTL และ CMOS จะมีเกตที่สร้างจากทรานซิสเตอร์ถูกบรรจุอยู่ภายในซึ่งจะมีทั้งเกตมาตราฐาน เกตพิเศษแล้วแต่คุณสมบัติของตัว ไอซีนั้นๆ
เกตที่สำคัญพื้นฐานคือ
AND gate OR gate Inverter gate
NAND gate NOR gate
Exclusive-OR gate
Exclusive-N OR gate
// เกตแบบต่างๆจะกล่าวถึงในหัวข้อ เกตแบบต่างๆและตารางความจริง //



ตัวอย่างเบอร์ไอซี
74LS02 , Quad 2-input NOR Gate
74LS10 , Triple 3-Input NAND Gate
74HC04 , Hex Inverter
74HC373 , Octal D Latch
4001 , Quad 3 Input NOR Gate
4081 , Quad 2 Input AND Gate
4042 , Quad D-Latch
4512 , 8 Channel Data Selector
ข้อมูลชื่อและชนิดดูได้จากบทความ ชนิดการใช้งาน IC TTL 74LS และ CMOS 40

ไอซี 555 (IC Timer) ไอซีตั้งเวลา



ไอซีตั้งเวลา 555 (IC 555 Timer) เป็นไอซีที่นิยมและมีการใช้กันมากที่สุดตัวหนึ่ง เพราะใช้งานง่ายมาก โดยเริ่มมีการใช้งานกันตั้งแต่ปี 1971 และยังคงมีการใช้งานกันอยู่ทุกวันนี้ มีการผลิตมากกว่าหนึ่งพันล้านตัวในทุกๆปี ไอซีตัวเล็กๆตัวนี้ถูกใช้งานในแอปพลิเคชั่นที่หลากหลายทั้งในวงจรอนาลอกและ วงจรดิจิตอล ซึ่งใช้สำหรับความเที่ยงตรงในเรื่องของการกำหนดเวลาตั้งแต่ไมโครวินาทีไปจึง ถึงชั่วโมง

จากรูปจะแสดงตำแหน่งขาของไอซีตั้งเวลา 555 (IC 555 timer) โดยมีหน้าที่ดังนี้

  • Trigger input: เมื่อคุณจ่ายแรงดันต่ำ (Low Voltage) ที่ขา 2 เป็นการสั่งให้วงจรภายในเริ่มทำงาน การกระตุ้นแบบนี้เรียกอีกอย่างว่า Active Low Trigger
  • Output pin: สัญญาณรูปคลื่นเอาท์พุท จะออกที่ขา 3
  • Reset: ถ้าคุณจ่ายแรงดันต่ำ (Low Voltage) ให้กับขา 4 จะเป็นการรีเซทระบบใหม่และเอาท์พุทที่ขา 3 จะเป็นสานะแรงดันต่ำ (บางวงจรจะไม่ใช้ฟังก์ชันรีเซท โดยขานี้จะจ่ายไฟป้อนไว้ตลอด)
  • Control Voltage Input:ถ้าคุณต้องการหยุดวงจร ทริกเกอร์ภายใน (ซึ่งปกติแล้วเราจะไม่ทำ) ให้จ่ายไฟที่ขา 5 ไม่อย่างนั้นก็ต่อไฟลงกราวด์ผ่านตัวเก็บประจุ 0.01 µF
  • Thershold input: เมื่อจ่ายแรงดันที่ขา 6 เท่ากับ 2/3 ของแหล่งจ่ายแรงดัน Vcc  สิ้นสุดรอบเวลา คุณต่อตัวต้านทานระหว่างขา 6 และแหล่งจ่ายไฟบวก ค่าของตัวตัวต้านทานจะทำให้ความยาวของของรูปคลื่นเปลี่ยนไป
  • Discharge pin: ให้คุณต่อตัวเก็บประจุกับขา 7 เพื่อปรับเปลี่ยนเวลาสำหรับคายประจุ (Discharge Time)
นอกจาก IC 555 แล้วก็ยังมี IC 556 ซึ่งเป็นรุ่นที่ที่มี IC 555 สองตัว (14-pin DIP) และรุ่นอื่นๆอีกมากมายที่เป็นการรวมเอาไอซี 555 ไว้ด้วยกัน
ในการใช้งานตัว IC 555 นั้นใช้อุปกรณ์เพียงไม่กี่ตัว เช่น ตัวต้านทาน ตัวเก็บประจุ และ สวิตซ์ ซึ่งสามารถที่จะสร้างเอาท์พุทได้หลายรูปแบบ แต่วันนี้เราจะมาคุยวงจรที่นิยมใช้กันสำหรับตัว IC 555 กัน ก็คือ
  1. วงจรอสเตเบิ้ล มัลติไวเบรเตอร์ (Astable Multivibrator)
  2. วงจรโมโนสเตเบิ้ล มัลติไวเบรเตอร์ (Monostable Multivibrator)
  3. วงจรไบสเตเบิ้ล มัลติไวเบรเตอร์ (Bistable Multivibrator)

ตำแหน่งขา IC 555

Astable Multivibrator (Oscillator)

ไอซี 555 สามารถที่จะทำหน้าที่เป็นอสเตเบิ้ล มัลติไวเบรเตอร์ (Astable Multivibrator) ซึ่งเหมือนกับเครื่องให้จังหวะ โดยการต่ออุปกรณ์อิเล็กทรอนิกส์กับชิป ตามรูป โดยไอซี 555 จะสร้างสัญญาณพัลส์อย่างต่อเนื่องซึ่งจะสลับกันไประหว่างแรงดันต่ำ (0 โวลท์) กันแรงดันสูง (เท่ากับแหล่งจ่ายแรงดัน, Vs) การนำไอซี 555 ไปใช้งานเป็นวงจรอสเตเบิ้ล สามารถทำอะไรได้หลายๆอย่างเช่น
ไฟกระพริบ: สัญญาณพัลส์ที่ความถี่ต่ำๆ (<10 Hz) สามารถที่จะเปิด/ปิด LED ได้
เครื่องให้จังหวะอิเล็กทรอนิกส์:  สัญญาณพัลส์ที่ความถี่ต่ำ (<20 Hz) จ่ายให้กับลำโพงหรือ Piezoelectric สามารถที่จะทำให้เกิดเสียงเป็นจังหวะได้
เสียงเตือนภัย: โดยการตั้งค่าความถี่ไว้ที่ระดับเสียงที่มนุษย์ได้ยินคือ 20 Hz – 20 kHz แล้วต่อเข้ากับลำโพงเพื่อให้มีเสียงดัง
ความถึ่ (F, หน่วยเฮิร์ต) คือจำนวนการขึ้นลงของรูปคลื่นภายในหนึ่งวินาที โดยรูปคลื่นสี่เหลี่ยมสามารถกำหนดได้จากอุปกรณ์อิเล็กทรอนิกส์ที่ต่อภายนอก สามตัว ตามสมการดังนี้
F = 1.4 / [(R1+2R2)xC1]
ถ้าคุณต้องการหาค่าช่วงเวลาที่รูปคลื่นใช้เวลาจากจุดสูงสุดไปสู่จุดต่ำสุดสามารถหาได้จาก T = 1/F โดยจะได้หน่วยเป็นวินาที
ดังนั้นถ้านำไปแทนในสูตรของไอซี 555 แล้วจะได้
T = 0.7 x (R1+2R2) x C1


วงจร 555 อสเตเบิ้ล

คุณสามารถที่จะปรับแต่งวงจรได้เพื่อปรับความกว้างในช่วงแรงดันสูงของพัลส์แตกต่างจากช่วงแรงดันต่ำของพัลส์ สามารถหาค่าได้จากสูตร
Thigh = 0.7 x (R1 + R2) x C1
Tlow = 0.7 x R2 x C1
ถ้า R2 มีค่ามากกว่าค่า R1 มากๆๆ ความกว้างของสัญญาณพัลส์ทั้่งฝั่ง High และฝั่ง Low จะมีความกว้างเกือบเท่ากัน ถ้า R2 = R1 สัดส่วนความกว้างของฝั่ง High จะเป็นสองเท่าของผั่ง Low
คุณสามารถที่จะใช้ตัวต้านทานปรับค่าได้ โดยต่ออนุกรมกับตัวต้านทาน R1 หรือ R2 และปรับค่าของตัวต้านทานเพื่อเปลี่ยนความกว้างของพัลส์

โมโนสเตเบิ้ล มัลติไวเบรเตอร์ (Monostable Multivibrator-One Shot)

ต่อวงจรไอซี 555 ตามรูปข้างล่างคุณจะได้วงจรโมโนสเตเบิ้ล มัลติไวเบรเตอร์ ซึ่งจะสร้างสัญญาณพัลส์แค่ลูกเดียวเมื่อมีสัญญาณมาทริก ถ้าไม่มีสัญญาณมาทริก เอาท์พุทของวงจรจะอยู่ในสถานะโลว์ (Low) ที่แรงดัน 0 โวล์ท เมื่อมีสัญญาณทริกเข้ามาที่ระหว่งขา 2 และกราวด์ สัญญาณพัลส์เอาท์พุทจะถูกสร้างมาเท่ากับแรงดันแหล่งจ่าย โดยที่ความกว้างของพัลส์ จะถูกกำหนดด้วย R1 และ C1 ตามสูตร
 T = 1.1 x R1 x C1

วงจร 555 โมโนสเตเบิ้ล

ไบสเตเบิ้ล มัลติไวเบรเตอร์ (Bistable Multivibrator – Filp-Flop)

ถ้าวงจร อเตเบิ้ล คือวงจรที่ผลิตสัญญาณขาออกตลอดเวลาไม่มีสถานะที่นิ่ง และวงจรโมโนสเตเบิ้ลมีแค่สัญญาณลูกเดียว และสถานะนิ่งที่ Low แล้วอะไรคือวงจรไบสเตเบิ้ล? วงจรไบสเตเบิ้ลคือวงจรที่สามารถมีสถานะนิ่งได้สองสถานะไม่ว่าจะเป็นฝั่ง High หรือฝั่ง Low
555 ไบสเตเบิ้ล มัลติไวเบรเตอร์ สามารถที่จะเปลี่ยนสถานะจาก High ไปเป็นสถานะ Low ได้และจะยังคงอยู่ที่สถานะนั้นตลอดจนกว่า จะมีการเปลี่ยนแปลงสัญญาณที่เข้ามาทริก ซึ่งเรารู้จักวงจรนี้ดีกันในชื่อฟลิปฟล็อป (Flip-Flop) ซึ่งคุณไม่จำเป็นต้องคำนวณหาค่าตัวต้านทานให้ยุ่งยาก เพราะค่าเวลาของพัลส์ที่ถูกสร้างขึ้นจะถูกควบคุมโดยทริกเกอร์สวิตซ์
เพราะว่าวงจรจะคงสถานะไม่ค่า Low ก็ค่า HIgh จนกระทั่งมีการทริก ซึ่งฟลิปฟล็อปสามารถที่จะใช้ในการเก็บข้อมูลบิท (บิท คือสถานะ 0 หรือ 1 ซึ่งก็คือสถานะแรงดัน Low หรือ High)

วงจร 555 ไบสเตเบิ้ล

ICวงจรรวม

วงจรรวม

จากวิกิพีเดีย สารานุกรมเสรี

วงจรรวม
วงจรรวม หรือ วงจรเบ็ดเสร็จ (อังกฤษ: integrated circuit ; IC) หมายถึง วงจรที่นำเอาไดโอด, ทรานซิสเตอร์, ตัวต้านทาน, ตัวเก็บประจุ และองค์ประกอบวงจรต่าง ๆ มาประกอบรวมกันบนแผ่นวงจรขนาดเล็ก ในปัจจุบันแผ่นวงจรนี้จะทำด้วยแผ่นซิลิคอน บางทีอาจเรียก ชิป (Chip) และสร้างองค์ประกอบวงจรต่าง ๆ ฝังอยู่บนแผ่นผลึกนี้ ส่วนใหญ่เป็นชนิดที่เรียกว่า Monolithic การสร้างองค์ประกอบวงจรบนผิวผลึกนี้ จะใช้กรรมวิธีทางด้านการถ่ายภาพอย่างละเอียด ผสมกับขบวนการทางเคมีทำให้ลายวงจรมีความละเอียดสูงมาก สามารถบรรจุองค์ประกอบวงจรได้จำนวนมาก ภายในไอซี จะมีส่วนของลอจิกมากมาย ในบรรดาวงจรเบ็ดเสร็จที่ซับซ้อนสูง เช่น ไมโครโปรเซสเซอร์ ซึ่งใช้ทำงานควบคุม คอมพิวเตอร์ จนถึงโทรศัพท์มือถือ แม้กระทั่งเตาอบไมโครเวฟแบบดิจิทัล สำหรับชิปหน่วยความจำ (RAM) เป็นอีกประเภทหนึ่งของวงจรเบ็ดเสร็จ ที่มีความสำคัญมากในยุคปัจจุบัน

ประวัติไอซี

ไอซี กำเนิดขึ้นโดย Geoffrey W.A. Dummer นักวิทยาศาสตร์เรดาร์จากอังกฤษ ต่อมาได้ย้ายไปทำการค้นคว้าต่อที่สหรัฐอเมริกา โดยสามารถสร้างไอซีจากเซรามิกส์ตัวแรกได้ในปี ค.ศ. 1956 แต่ยังไม่ประสบผลสำเร็จนัก ต่อมาในปี ค.ศ. 1957 กองทัพสหรัฐอเมริกานำโดยแจ็ก คิลบีได้ทำการค้นคว้าทดลองต่อ ในวันที่ 6 กุมภาพันธ์ ค.ศ. 1959 คิลบีได้จดสิทธิบัตรไอซีที่ทำจากเจอร์มาเนียม และในพัฒนาการสุดท้ายของไอซี โรเบิร์ต นอยซ์ได้จดสิทธิบัตรไอซีที่ทำจากซิลิคอน ในวันที่ 25 เมษายน ค.ศ. 1961

ประเภทของไอซีแบ่งตามจำนวนเกท

จำนวนของเกทต่อไอซีจะกำหนดประเภทของไอซี (IC) 1 เกท เท่ากับ ชิ้นส่วนอิเล็กทรอนิกส์ 1 ชิ้น
- ขนาด SSI (Small Scale Integration) จะมีตั้งแต่ 1 ถึง 10 เกท
- ขนาด MSI (medium scale integration) จะมีตั้งแต่ 10 ถึง 100 เกท
- ขนาด LSI (large scale integration) จะมีตั้งแต่ 100 ถึง 10,000 เกท
- ขนาด VLSI (Very large scale integration ) จะมีตั้งแต่ 100,000 ถึง 10,000,000 เกท
- ขนาด ULSI (Ultra-Large Scale Integration) จะมีตั้งแต่ 1,000,000 เกทขึ้นไป
  • ส่วนมากใช้เรียกไอซีที่มีจำนวนเกทสูงมากในประเทศญี่ปุ่น

กระบวนการผลิต IC (มีขา)

DC 
Dicing คือกระบวนการนำแผ่น Wafer มาตัดออกเป็นตัว Chip
DB 
Die bond คือกระบวนการที่นำตัวชิป ไปติดลงบนลีดเฟรมด้วยกาว
WB 
Wire bond คือกระบวนการเชื่อมลวดทองคำ จากวงจรบนชิปไปสู่ขานองลีดเฟรม
MP 
Mold คือกระบวนการห่อหุ้มตัวชิปด้วย Resin หลังจากที่ได้ผ่านการเชื่อมลวดทองเรียบร้อยแล้ว
PL 
Plating คือกระบวนการเคลือบ แผ่นเฟรมซึ่งจะกลายเป็นขาตัวงาน ด้วยตะกั่วหรือดีบุก
FL 
Form Lead คือกระบวนการตัดตัว IC ออกจากเฟรม และขึ้นรูปขางานตามแบบที่กำหนด
FT 
Final Test คือกระบวนการทดสอบทางไฟฟ้าขั้นสุดท้าย
TP 
ความหมายของคำศัพท์
TP 
ความหมายของคำศัพท์

กระบวนการผลิต IC (ไม่มีขา)

DG 
Dicing คือ การตัด IC ออกจากแผ่น IC รวม (Wafer) แยกเป็นแต่ละชิ้น
DB 
Die bond คือกระบวนการที่นำตัวชิป ไปติดลงบนลีดเฟรมด้วยกาว epoxy
WB 
Wire bond คือกระบวนการเชื่อมลวดทองคำ จากวงจรบนชิปไปสู่ลีดเฟรม
MO 
Mold คือกระบวนการห่อหุ้มตัวชิปด้วยพลาสติก หลังจากที่ได้ผ่านการเชื่อมลวดทองเรียบร้อยแล้ว
CU 
Post Mold Cure คือการนำ IC ไปอบด้วยความร้อน เพื่อลดความเครียดในชิ้นงาน
MK 
Marking คือ การใช้แสงเลเซอร์ ยิงไปบน IC เพื่อสลักเป็นชื่อ, รุ่น หรือ Lot ของ IC
BA 
Ball Attach คือ การติดลูกบอลตะกั่วลงบนบริเวณตำแหน่งที่จะทำการเชื่อมต่อกับแผงวงจร
BS 
Board Separate คือ การตัดแบ่ง IC แต่ละชิ้นแยกออกจากกัน
PS 
Package Sort คือ การนำ IC ที่ตัดแบ่งแล้ว แยกแต่ละชิ้นใส่ package