วันอังคารที่ 10 กันยายน พ.ศ. 2556

Port Input



โครงสร้างภายในของ Port

ที่มารูปภาพ : http://adisak-diy.com/page28.html


ที่มา :  http://adisak-diy.com/page28.html 

Control Port



Control port หรือ สายสัญญาณควบคุม  แบ่งเป็นได้ทั้ง Input และ Output การใช้งาน Port นี้ต้องมีการกำหนด Address ของ Port ให้ชัดเจนว่าต้องการติดต่อผ่าน Address ไหน ถ้ากำหนดแอดเดรสผิด Program ก็จะไม่ทำงาน

ที่มา : www.tatc.ac.th/files/09011219194805_1205180990152.pdf‎

โครงสร้าง Port



การที่จะให้ไมโครคอนโทรลเลอร์ติดต่อกับอุปกรณ์ภายนอกได้ เช่นการรับข้อมูลจากอุปกรณ์ภายนอก (INPUT)หรือการส่งข้อมูลให้กับอุปกรณ์ภายนอก (OUTPUT) ก็จะต้องติดต่อผ่านพอร์ต (PORT) หรืออาจกล่าวได้ว่าพอร์ตคือช่องทางสำหรับการโอนย้ายข้อมูลระหว่งไมโครคอนโทรลเลอร์กับอุปกรณ์ภายนอกนั้นเอง

รูป 1 แสดงโครงสร้างภายในของพอร์ต

1.1 การใช้งานไมโครคอนโทรลเลอร์ให้เป็นพอร์ตอินพุต (INPUT PORT)

        การกำหนดให้พอร์ตหรือบิตใดๆ ของไมโครคอนโทรลเลอร์เป็นพอร์ตอินพุต หรือส่วนในการรับค่าของข้อมูลเข้ามาดังแสดงในรูป 5.2 จะเริ่มต้นด้วยการเขียนข้อมูลให้กับพอร์ตหรือบิตนั้นๆ เป็นสถานะลอจิก "1" แล้วจึงส่งไปแต่ละบิตของพอร์ตที่ต้องการใช้งาน เพื่อให้เป็นพอร์ตอินพุต เช่นใช้คำสั่ง MOV P3, #0FFH หรือคำสั่ง SETB P1.5 จะทำให้วงจรส่วนของการคงสภาวะข้อมูล หรือวงจรแลตซ์(Latch)* ซึ่งสร้างมาจากวงจร ดี ฟลิป-ฟลอป (D flip-flop) จะให้เอาต์พุต Q มีสถานะลอจิกเป็น "1" แล้วจะผ่านไปที่วงจรกลับสัญญาณ (Inverter) เพื่อให้หยุดการทำงานของเฟต (FET)* ซึ่งจะทำให้ขาสัญญาณของพอร์ตถูกเชื่อมต่อเข้ากับวงจรพูลอัป * ที่เป็นตัวต้านทานภายใน (Internal Pull up) โดยตรง ส่งผลให้ขาพอร์ตนั้นมีสถานะลอจิกเป็น "1" และสามารถจะรับสัญญาณที่เป็นลอจิก "0" จากอุปกรณ์ภายนอกได้ ข้อมูลจากอุปกรณ์ภายนอกที่ต่ออยู่ก็จะถูกส่งเข้ามาเก็บไว้ในวงจรบัฟเฟอร์ภายในพอร์ต เพื่อรอให้ซีพียูมาทำการอ่านค่าเข้าไป ดังนั้นอุปกรณ์ภายนอกที่เราจะนำมาเชื่อมต่อกับพอร์ตอินพุต จึงนิยมกำหนดให้ทำงานในสภาวะลอจิก "0"

รูป 2 แสดงการกำหนดเป็นพอร์ตอินพุตโดยให้สถานะเป็น "1" ตำแหน่งบิตที่ต้องการ


1.2 การอ่านค่าลอจิกจากพอร์ต

        การอ่านค่าลอจิกจากพอร์ตทำได้ 2 ลักษณะด้วยกันคือ การอ่านค่าจากขาพอร์ตโดยตรง (Read Pin) และ การอ่านค่าจากวงจรแลตซ์ของแต่ละพอร์ต (Read Latch) ในกรณีที่พอร์ตต่อกับขาเบสของทรานซิสเตอร์ * ชนิด NPN ให้เป็นทรานซิสเตอร์สวิตซ์ และที่ขาอิมิตเตอร์ของทรานซิสเตอร์ต่อลงกราวด์ (ดูรูป 5.3 ประกอบ) ถ้าหากมีการส่งข้อมูลให้เป็นลอจิก "1" ไปยังทรานซิสเตอร์ จะทำให้ทรานซิสเตอร์ทำงาน (นำกระแส) ส่งผลให้สถานะลอจิกที่ขาพอร์ตเป็นลอจิก "0" ด้วยเหตุผล เมื่อทรานซิสเตอร์นำกระแส จะเสมือนว่าขาพอร์ตนั้นถูกต่อลงกราวด์ ( VBE=0.6 V * ) ดังนั้นถ้าหากอ่านค่าลอจิกที่ขาพอร์ตโดยตรง (Read Pin) จะได้ผลตรงกันข้ามกับค่าลอจิกที่ส่งออกมา แต่ถ้าหากทำการอ่านค่าลอจิกที่วงจรแลตซ์ (Read Latch) จะได้สถานะลอจิกตรงกับค่าที่ส่งออกพอร์ตจริง ด้วยเหตุผลนี้ในการอ่านค่าลอจิกจากพอร์ตจึงต้องเลือกวิธีการให้เหมาะสมกับอุปกรณ์ที่นำมาต่อด้วย

รูป 3 แสดงสถานะของทรานซิสเตอร์ชนิด NPN เมื่อนำมาต่อเป็นทรานซิสเตอร์สวิตซ์


1.3 การใช้งานไมโครคอนโทรลเลอร์ให้เป็นพอร์ตเอาต์พุต(OUTPUT PORT)

       การกำหนดให้มีลักษณะเป็นพอร์ตเอาต์พุต เราสามารถจะส่งข้อมูลที่เป็นลอจิกที่ต้องการออกไปได้โดยตรง เช่นถ้าเราต้องการส่งข้อมูลที่เป็นสถานะลอจิก "0" ออกไปทางพอร์ต P1 ทั้ง 8 บิต ก็สามารถที่จะเขียนโดยใช้คำสั่ง MOV P1,#00H จะทำให้เอาต์พุตของวงจรแลตซ์เป็นสถานะลอจิก "0" ซึ่งจะส่งต่อไปให้กับวงจรกลับสัญญาณทำให้มีสถานะลอจิกเป็น "1" แล้วจึงส่งต่อไปขับเฟต(FET) ให้ทำงาน ส่งผลให้ตำแหน่งของพอร์ตที่กำหนดให้ทำงานจะเป็นสถานะลอจิก "0" ในทำนองเดียวกันถ้าหากเราต้องการจะส่งข้อมูลลอจิก "1" ออกไป ก็สามารถเขียนข้อมูล "1" ไปยังวงจรแลตซ์ วงจรขับก็จะหยุดการทำงานเป็นผลทำให้ที่ขาของพอร์ตเชื่อมต่อกับวงจรพูลอัปภายในเกิดเป็นสถานะลอจิก "1" ที่ขาพอร์ตนั้น ซึ่งจะคล้ายกับการกำหนดให้เป็นขาอินพุต เพียงแต่แตกต่างกันที่กระบวนการในการเคลื่อนย้ายข้อมูล โดยถ้าเป็นอินพุต จะมีสัญญาณมาอ่านข้อมูลที่บัฟเฟอร์ แต่ถ้าเป็นเอาต์พุตจะไม่มีการอ่านข้อมูลที่บัฟเฟอร์แต่อย่างใด เว้นแต่ในกรณีที่ต้องการตรวจสอบข้อมูลที่ส่งออกมาทางเอาต์พุตเท่านั้น


ที่มา : http://adisak-diy.com/page28.html


Disk Drive






เครื่องจานแม่เหล็ก (disk drive) เป็นเครื่องที่ใช้อ่านและบันทึกข้อมูลบนจานแม่เหล็ก มีหลักการทำงานคล้ายเครื่องเล่นจานเสียงธรรมดาทั่ว ๆ ไป แต่แทนที่จะมีเข็มกลับมีหัวอ่านและหรือหัวบันทึก (read-write head) คล้ายเครื่องแถบแม่เหล็กที่เคลื่อนที่เข้าออกได้ เครื่องจานแม่เหล็ก มีสองแบบ คือ แบบจานติดอยู่กับเครื่อง (fixed disk) และแบบยกจานออกเปลี่ยนได้ (removable disk)
จานแม่เหล็กส่วนใหญ่ทำด้วยพลาสติก มีรูปร่างเป็นจานกลมคล้ายจานเสียงธรรมดา แต่ฉาบผิวทั้งสองข้างด้วยสารแม่เหล็กเฟอรัสออกไซด์ การบันทึกทำบนผิวของสารแม่เหล็กแทนที่จะเซาะเป็นร่องเล็ก ๆ การอ่านและการบันทึกข้อมูลกระทำโดยใช้หัวอ่านที่ติดตั้งไว้บนแผงที่สามารถเลื่อนเข้าออกได้
ข้อมูลจะถูกบันทึกไว้บนรอยทางวงกลมบนผิวจานซึ่งมีจำนวนต่าง ๆ เช่น 100-500 รอยทาง ขนาดเส้นผ่านศูนย์กลางของจานมีตั้งแต่ 1-3 ฟุต สามารถบันทึกตัวอักษรได้หลายล้านตัวอักษร การบันทึกใช้บันทึกทีละบิตโดยใช้แปดบิตต่อหนึ่งไบต์ จานแม่เหล็กหมุนเร็วประมาณ 1,500-1,800 รอบต่อนาที สามารถค้นหาข้อมูลด้วยเวลาเฉลี่ยประมาณ 50 มิลลิวินาที สามารถย้ายข้อมูลด้วยอัตราเร็วสูงถึง 320,000 ไบต์ต่อวินาที ขอให้เราสังเกตว่าเวลาเฉลี่ยเหล่านี้เป็นเวลาที่ช้ากว่าเครื่องรุ่นใหม่ ๆ มาก
ถ้าต้องการเก็บข้อมูลจำนวนมาก เขาจะใช้จานแม่เหล็กที่มีจำนวน 2 หรือ 6 หรือ 12 จานมาติดตั้งซ้อนกันตามแนวดิ่ง รวมกันเป็นหนึ่งหน่วย เรียกว่า ดิสก์แพ็ค (disk pack) ซึ่งเราสามารถยกดิสก์แพ็คเข้าออกจากเครื่องได้ การทำเช่นนี้ ทำให้จานแม่เหล็กสามารถทำหน้าที่คล้ายแถบแม่เหล็ก


ที่มา : http://www.school.net.th/library/snet1/hardware/ddisk.html

Optical Disk






Optical disk : คือ จานแสงแบบเคลื่อนที่ได้ ใช้ในการอ่านเขียนด้วยแสงเลเซอร์ จานแสงมีขนาดเล็กพกพาได้สะดวก และมีความจุสูง เทคโนโลยีจานแสงมี 4 ชนิดคือ

CD-ROM : หรือที่เรียกกันว่า Compack Disk เป็นจานแสงที่อ่านได้อย่างเดียว สามารถเก็บข้อมูลได้ทุกชนิด ทั้งรูปภาพ ข้อความ หรือเสียง
CD-R : คือ CD ที่ฟอร์เมตไว้ให้เราใช้บันทึกข้อมูลโดยใช้เครื่องบันทึก(writer)
Worm disks ย่อมาจาก Write once read many คือ CD ที่สามารถบันทึกข้อมูลได้ 1 ครั้งเท่านั้นและไม่สามารถลบข้อมูลได้ แต่อ่านได้หลายครั้ง
Erasable optical disks หรือ CD-RW: คือจานแสงที่บันทึกข้อมูล และลบข้อมูลได้ ใช้ได้หลายครั้ง มักใช้เก็บเอกสารที่มีการเปลี่ยนแปลง


ที่มา : http://www.pbps.ac.th/e_learning/combasic/optical.html

Hard Disk




Hard Disk   คือ  อุปกรณ์ที่เก็บข้อมูลได้มาก  สามารถเก็บได้อย่างถาวรโดยไม่จำเป็นต้องมีไฟฟ้ามาหล่อเลี้ยงตลอดเวลา  เมื่อปิดเครื่องข้อมูลก็จะไม่สูญหาย ดังนั้น  Hard Disk  จึงถูกจัดเป็นอุปกรณ์ที่ใช้ในการเก็บระบบปฏิบัติการ  โปรแกรม  และข้อมูลต่าง  ๆ  เนื่องจาก  Hard Disk  เป็นอุปกรณ์ที่ง่ายต่อการอัพเกรดทำให้เทคโนโลยี  Hard Disk  ในปัจจุบันได้พัฒนาอย่างรวดเร็ว ฉะนั้นการเลือกซื้อ  Hard Disk   จึงควรคำนึงซึ่งประสิทธิภาพที่จะได้รับจาก  Hard Disk

ส่วนประกอบของ Hard Disk

1. แขนของหัวอ่าน ( Actuator Arm ) ทำงานร่วมกับ Stepping Motor ในการหมุนแขนของหัวอ่านไปยังตำแหน่งที่เหมาะสม สำหรับการอ่านเขียนข้อมูล โดยมีคอนโทรลเลอร์ ทำหน้าที่แปลคำสั่งที่มาจากคอมพิวเตอร์ จากนั้นก็เลื่อนหัวอ่านไปยังตำแหน่งที่ต้องการ เพื่ออ่านหรือเขียนข้อมูล และใช้หัวอ่านในการอ่านข้อมูล ต่อมา Stepping Motor ได้ถูกแทนด้วย Voice Coil ที่สามารถทำงานได้เร็ว และแม่นยำกว่า Stepping Motor

2 . หัวอ่าน ( Head ) เป็นส่วนที่ใช้ในการอ่านเขียนข้อมูล ภายในหัวอ่านมีลักษณะเป็น ขดลวด โดยในการอ่านเขียนข้อมูลคอนโทรลเลอร์  จะนำคำสั่งที่ได้รับมาแปลงเป็นแรงดันไฟฟ้าแล้วป้อนเข้าสู่ขดลวดทำให้เกิดการเหนี่ยวนำทางแม่เหล็ก ไปเปลี่ยนโครงสร้างของสารแม่เหล็ก ที่ฉาบบนแผ่นดิสก์ จึงทำให้เกิดการเปลี่ยนแปลงของข้อมูลขึ้น

3. แผ่นจานแม่เหล็ก ( Platters ) มีลักษณะเป็นจานเหล็กกลมๆ ที่เคลือบสารแม่เหล็กวางซ้อนกันหลายๆชั้น (ขึ้นอยู่กับความจุ) และสารแม่เหล็กที่ว่าจะถูกเหนี่ยวนำให้มีสภาวะเป็น 0 และ1 เพื่อจัดเก็บข้อมูล โดยจานแม่เหล็กนี้จะติดกับมอเตอร์ ที่ทำหน้าที่หมุน แผ่นจานเหล็กนี้ ปกติ Hard Disk  แต่ละตัวจะมีแผ่นดิสก์ประมาณ 1-4 แผ่นแต่ละแผ่นก็จะเก็บข้อมูลได้ทั้ง 2 ด้าน

4. มอเตอร์หมุนจานแม่เหล็ก ( Spindle Moter ) เป็นมอเตอร์ที่ใช้หมุนของแผ่นแม่เหล็ก ซึ่งมีความสำคัญอย่างมากต่อความเร็วใน การหมุน ของ Hard Disk เพราะยิ่งมอเตอร์หมุนเร็วหัวอ่านก็จะเจอข้อมูลที่ต้องการเร็วขึ้น ซึ่งความเร็วที่ว่านี้จะวัดกันเป็นรอบต่อนาที ( Rovolution Per Minute หรือย่อว่า RPM ) ถ้าเป็น Hard Disk รุ่นเก่าจะหมุนด้วยความเร็วเพียง 3,600รอบต่อนาที ต่อมาพัฒนาเป็น 7,200รอบต่อนาที และปัจจุบันหมุนได้เร็วถึง 10,000รอบต่อนาที การพัฒนาให้ Hard Disk หมุนเร็วจะได้ประสิทธิภาพสูงขึ้น

5. เคส ( Case ) มีลักษณะเป็นกล่องสี่เหลี่ยม ใช้บรรจุกลไกต่างๆ ภายในแผ่นดิสก์เพื่อป้องกันความเสียหาย ที่เกิดจากการหยิบ จับ และป้องกันฝุ่นละออง

รอม (Rom) (READ-ONLY MEMORY)



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

ชนิดของROM


  • Manual ROM


ROM (READ-ONLY MEMORY)
          ข้อมูลทั้งหมดที่อยู่ใน ROM จะถูกโปรแกรม โดยผู้ผลิต (โปรแกรม มาจากโรงงาน) เราจะใช้ ROM ชนิดนี้ เมื่อข้อมูลนั้น ไม่มีการเปลี่ยนแปลง และมีความต้องการใช้งาน เป็นจำนวนมาก ผู้ใช้ไม่สามารถ เปลี่ยนแปลงข้อมูลภายใน ROM ได้
         โดย ROM จะมีการใช้ technology ที่แตกต่างกันตัวอย่างเช่น BIPOLAR, CMOS, NMOS, PMOS


  • PROM (Programmable ROM)


PROM (PROGRAMMABLE READ-ONLY MEMORY)
        ข้อมูลที่ต้องการโปรแกรมจะถูกโปรแกรมโดยผู้ใช้เอง โดยป้อนพัลส์แรงดันสูง (HIGH VOLTAGE PULSED) ทำให้ METAL STRIPS หรือ POLYCRYSTALINE SILICON ที่อยู่ในตัว IC ขาดออกจากกัน ทำให้เกิดเป็นลอจิก “1” หรือ “0” ตามตำแหน่ง ที่กำหนดในหน่วยความจำนั้นๆ เมื่อ PROM ถูกโปรแกรมแล้ว ข้อมูลภายใน จะไม่สามารถเปลี่ยนแปลงได้อีก หน่วยความจำชนิดนี้ จะใช้ในงานที่ใช้ความเร็วสูง ซึ่งความเร็วสูงกว่า หน่วยความจำ ที่โปรแกรมได้ชนิดอื่นๆ
EPROM (Erasable Programmable ROM)


  • EPROM (ERASABLE PROGRAMMABLE READ-ONLY MEMORY) 

        ข้อมูลจะถูกโปรแกรม โดยผู้ใช้โดยการให้สัญญาณ ที่มีแรงดันสูง (HIGH VOLTAGE SIGNAL) ผ่านเข้าไปในตัว EPROM ซึ่งเป็นวิธีเดียวกับที่ใช้ใน PROM แต่ข้อมูลที่อยู่ใน EPROM เปลี่ยนแปลงได้ โดยการลบข้อมูลเดิมที่อยู่ใน EPROM ออกก่อน แล้วค่อยโปรแกรมเข้าไปใหม่ การลบข้อมูลนี้ทำได้ด้วย การฉายแสง อุลตร้าไวโอเลตเข้าไปในตัว IC โดยผ่าน ทางกระจกใส ที่อยู่บนตัว IC เมื่อฉายแสง ครู่หนึ่ง (ประมาณ 5-10 นาที) ข้อมูลที่อยู่ภายใน ก็จะถูกลบทิ้ง ซึ่งช่วงเวลา ที่ฉายแสงนี้ สามารถดูได้จากข้อมูล ที่กำหนด (DATA SHEET) มากับตัว EPROM และ มีความเหมาะสม ที่จะใช้ เมื่องานของระบบ มีโอกาส ที่จะปรับปรุงแก้ไขข้อมูลใหม่
EAROM (Electrically Alterable ROM)


  • EAROM (ELECTRICALLY ALTERABLE READ-ONLY MEMORY) 

          EAROM หรืออีกชื่อหนึ่งว่า EEPROM (ELECTRICAL ERASABLE EPROM) เนื่องจากมีการใช้ไฟฟ้าในการลบข้อมูลใน ROM เพื่อเขียนใหม่ ซึ่งใช้เวลาสั้นกว่าของ EPROM
         การลบขึ้นอยู่กับพื้นฐานการใช้เทคโนโลยีที่แตกต่างกัน ดังนั้น EAROM (ELECTRICAL ALTERABLE ROM) จะอยู่บนพื้นฐานของเทคโนโลยีแบบ NMOS ข้อมูลจะถูกโปรแกรมโดยผู้ใช้เหมือนใน EPROM แต่สิ่งที่แตกต่างก็คือ ข้อมูลของ EAROM สามารถลบได้โดยทางไฟฟ้าไม่ใช่โดยการฉายแสงแบบ EPROM

          โดยทั่วไปจะใช้ EPROM เพราะเราสามารถหามาใช้ และทดลองได้ง่าย มีราคาถูก วงจรต่อง่าย ไม่ยุ่งยาก และสามารถเปลี่ยนแปลงโปรแกรมได้ นอกจากระบบ ที่ทำเป็นการค้าจำนวนมาก จึงจะใช้ ROM ประเภทโปรแกรมสำเร็จ



จากรูปแสดงให้เห็นส่วนประกอบพื้นฐานของ ROM ซึ่งจะมีสัญญาณต่างๆ ที่เกี่ยวข้องกับ ROM และทุกชิปที่อยู่ใน ROM มักมีการจัดแบ่งแยกหน้าที่เสมอ เช่น ขาแอดเดรสของ ROM เป็นอินพุต ส่วนขาข้อมูลจะเป็นเอาต์พุต โดยหลักการแล้ว ขาข้อมูลจะต่อเข้ากับบัสข้อมูลซึ่งเป็นบัส 2 ทาง ดังนั้นเอาต์พุตของ ROM ในส่วนขาข้อมูลนี้มักจะเป็นลอจิก 3 สถานะ ซึ่งถ้าไม่ใช้ก็จะอยู่ในสถานะ ที่มีอิมพีแดนซ์สูง (High Impedence) 
          ลักษณะโครงสร้างภายในของข้อมูลในหน่วยความจำ สามารถดูได้จาก Data Sheet ของ ROM นั้นๆ เช่น ROM ที่ระบุเป็น 1024 8 ,2048 8 หรือ 4096 8 ตัวเลขชุดแรก (1024 ,2048 หรือ 4096) จะบอกจำนวนตำแหน่ง ที่ใช้เก็บข้อมูลภายใน ส่วนตัวเลขชุดที่สอง (8) เป็นตัวบอกจำนวนบิตของข้อมูลแบบขนาน ที่อ่านจาก ROM 
   

ที่มา : http://web.ku.ac.th/schoolnet/snet1/hardware/rom.htm