Microcontroller
Microcontroller
ไมโครคอนโทรลเลอร์ PIC
PIC คืออะไร
PIC คือ microcontroller อีกระกูลหนึ่ง ย่อมาจากคำว่า Peripheral Interface Controller ซึ่ง
concept ของเจ้า microcontroller ตระกูลนี้ก็คือ พยายามรวมเอาทุกอย่างเอาไว้ในตัวของมันไม่ว่าจะเป็น PROGRAM MEMROY, RAM, EEPROM, SERIAL, I2C, PWM, A/D ฯลฯ โดยไม่จำเป็นต้องต่อ
อุปกรณ์เสริมจากภายนอก ในตัวของ PIC จะมีฟังก์ชันที่ใช้ในการประมวลผล รวมทั้งหน่วยความจำ ซึ่ง
ทำให้มันเหมือนกัน CPU ตัวนึงเลยทีเดียว
ความเร็วของ PIC
ภาคของความถี่สัญญาณนาฬิกา ปัจจุบันสามารถทำสัญญาณนาฬิกาได้ที่ 20 MHz ซึ่งทำให้หนึ่ง
คำ สั่งของ PIC ใช้เวลาเพียง 0.25 uSec แต่อย่างไรก็ตามได้มีบริษัทอื่นได้ซื้อลิขสิทธิ์ PIC จาก microchipและได้สร้าง chip ที่มีความเร็วได้มากกว่าเดิมขึ้นไปอีก
หน่วยความจำของ PIC
ในอดีตหน่วยความจำของ PIC จะค่อนข้างน้อย คืออยู่ระหว่าง 512 words ถึง 4K words แต่ใน
ปัจจุบัน บริษัท microchip ซึ่งเป็นเจ้าของ PIC ได้พัฒนาจนทำให้ memory ของ PIC มีขนาดเป็นหลายสิบกิโลไบต์ และมีทีท่าว่าจะขยายได้ใหญ่ขึ้นเรื่อยๆ ในเรื่องของการนับขนาดของหน่วยความจำของ PIC จะนับไม่เหมือนปกติ โดยที่ หนึ่งคำสั่งของ PIC จะมีขนาด 14 bits ดังนั้นเราจะเรียกว่า 1 word ของ PIC จะมีขนาด 14 bits เช่น PIC16F84A ระบุว่ามีหน่วยความจำ 1 K (ซึ่งหมายถึง 1 Kword ถ้าคำนวณให้เป็นแบบ 1 byte = 8 bit จะได้ว่า 1 x 1,024 x 14 = 14,336 bits ดังนั้นก็คือ
14,336/(8 x 1,024) = 1.75K bytes นั่นเอง
สถาปัตยกรรมของ PIC
ตอนนี้มี 3 สายหลักๆ สมัยก่อนมีแค่สอง คือขึ้นต้นด้วย 16xxx,17xxx และใหม่ล่าสุดคือ 18xxx ถ้า
พูดถึง คุณสมบัติที่เหนือกว่าเรียงจากน้อยสุดไปมากสุดก็คือ 16 -> 17 -> 18 คำสั่ง assembly ของ 17
และมี 18 จะมีมากกว่า 16 ทำให้เขียนโปรแกรมได้ง่ายกว่า ราคาก็จะสูงกว่าด้วย แต่ที่เป็นที่นิยมก็คือ
ตระกูล 16xxx
สรุป Concept สถาปัตยกรรมของ PIC
PIC จะยึดถือการออกแบบที่ว่ารวมทุกอย่างไว้ใน chip ตัวเดียวโดยไม่ต้องต่ออุปกรณ์ใดๆ เพิ่มเติม
ผลที่ตามมาก็คือแผ่นวงจรจะมีขนาดเล็ก และอุปกรณ์ที่ใช้จะไม่มาก บางงานอาจจะใช้แค่ PIC เพียงตัว
เดียว โดยไม่ต้องใช้ chip อื่นมาเพิ่มเติมเลย นี่คือคุณสมบัติพิเศษของ PIC ครับ ซึ่งปัจจุบันหลายบริษัทที่ผลิต microcontroller ก็เริ่มจะหัดมาเลียนแบบแนวทางนี้ครับ แต่ทุกอย่างย่อมมีข้อเสีย เนื่องจาก concept ที่จะรวมทุกอย่างไว้ใน chip เดียว ทำให้ program memory และ data memory ไม่สามารถขยายโดยใช้กับ memory ภายนอกได้ (ในทางทฤษฎี นะครับ ของจริงนี่ทำได้ แต่ต้องใช้เทคนิคนิดหน่อยครับ ซึ่งไม่นิยม ต้องบอกกันไว้ก่อน) PIC จึงเหมาะสำหรับงานเล็กๆ ไม่ใช่งานใหญ่ๆ ที่ต้องใช้การคำนวณ และ 2 memory เยอะๆ สำหรับผม PIC ก็คือมดครับ แมลงที่สามารถยกของที่มีน้ำหนักมากกว่ามันได้หลายสิบเท่าครับ
คุณสมบัติต่างๆของไมโครคอนโทรลเลอร์ที่เราควรทราบ เช่น ความถี่สูงสุดในการทำงาน , หน่วยความจำประเภทต่างๆมีค่าเท่าไร , แรงดันในการทำงาน , จำนวนPort I/O , ตอบสนองการอินเตอร์รัพได้กี่แห่ง ,มีTime กี่ตัว , มีPWM กี่ชุดมีA/Dภายในตัวมาให้หรือไม่ เป็นต้น
ตารางดังกล่าวแสดงคุณสมบัติของไมโครคอนโทรเลอร์บางเบอร์ ซึ่งจะเห็นว่าแต่ละเบอร์จะมีคุณสมบัติที่เหมือนกันบางคุณสมบัติและบางเบอร์ มีคุณสมบัติแตกต่างกันไป
ตัวอย่างตำแหน่งขา ของเบอร์ ไมโครคอนโทรเลอร์ PIC บางเบอร์ที่นิยมใช้กัน
จะเห็นว่า ตำแหน่งขาต่างๆของ IC จะมีตัวอักษรย่อกำกับไว้ และมีลูกศรแสดงการทำงาน และบางตำแหน่งขาจะมีอักษรย่อมากกว่า 1 กำกับอยู่ เรามาทำความเข้าใจพื้นฐานของการอ่านตำแหน่งขา จะเห็นว่า 16F87X X ,มีขามากสุด และมีการใช้งาน ของคุณสมบัติต่างมากสุด แต่ของ16F84 จะมีคุณสมบัติในการทำงานน้อยมาก ลูกศรชี้ทางเดียวแสดงว่าขานั้นทำงานด้านเดียว แต่ถ้าลุกศรชี้ 2 ทิศทางแสดงว่าขานั้นทำงาน 2 ทิศทางคือเป็น input หรือoutput ก็ได้ ขา VDD จะเป็นตำแหน่งไปเลี้ยง (+5V) และขา VSS จะต้องต่อลงกราวด์ (GND) RA0..RA7 แสดงตำแหน่งการใช้ขานั้นเป็น input หรือ output ที่port A นั้นๆ ส่วน RB...RC ก็แสดงตำแหน่งของ port B และ C ด้วย เช่นเดียวกันขา CLKIN และ CLKOUT ต่อกับคริสตอล ตามความถี่ที่กำหนดไว้ ขา RB3/CCP1 ขานี้จะทำงานได้ทั้งเป็น RB3 และ CCP1 ขึ้นอยู่กับการเขียนโปรแกรมควบคุม x
ไมโครคอนโทรลเลอร์ PIC
PIC คืออะไร
PIC คือ microcontroller อีกระกูลหนึ่ง ย่อมาจากคำว่า Peripheral Interface Controller ซึ่ง
concept ของเจ้า microcontroller ตระกูลนี้ก็คือ พยายามรวมเอาทุกอย่างเอาไว้ในตัวของมันไม่ว่าจะเป็น PROGRAM MEMROY, RAM, EEPROM, SERIAL, I2C, PWM, A/D ฯลฯ โดยไม่จำเป็นต้องต่อ
อุปกรณ์เสริมจากภายนอก ในตัวของ PIC จะมีฟังก์ชันที่ใช้ในการประมวลผล รวมทั้งหน่วยความจำ ซึ่ง
ทำให้มันเหมือนกัน CPU ตัวนึงเลยทีเดียว
ความเร็วของ PIC
ภาคของความถี่สัญญาณนาฬิกา ปัจจุบันสามารถทำสัญญาณนาฬิกาได้ที่ 20 MHz ซึ่งทำให้หนึ่ง
คำ สั่งของ PIC ใช้เวลาเพียง 0.25 uSec แต่อย่างไรก็ตามได้มีบริษัทอื่นได้ซื้อลิขสิทธิ์ PIC จาก microchipและได้สร้าง chip ที่มีความเร็วได้มากกว่าเดิมขึ้นไปอีก
หน่วยความจำของ PIC
ในอดีตหน่วยความจำของ PIC จะค่อนข้างน้อย คืออยู่ระหว่าง 512 words ถึง 4K words แต่ใน
ปัจจุบัน บริษัท microchip ซึ่งเป็นเจ้าของ PIC ได้พัฒนาจนทำให้ memory ของ PIC มีขนาดเป็นหลายสิบกิโลไบต์ และมีทีท่าว่าจะขยายได้ใหญ่ขึ้นเรื่อยๆ ในเรื่องของการนับขนาดของหน่วยความจำของ PIC จะนับไม่เหมือนปกติ โดยที่ หนึ่งคำสั่งของ PIC จะมีขนาด 14 bits ดังนั้นเราจะเรียกว่า 1 word ของ PIC จะมีขนาด 14 bits เช่น PIC16F84A ระบุว่ามีหน่วยความจำ 1 K (ซึ่งหมายถึง 1 Kword ถ้าคำนวณให้เป็นแบบ 1 byte = 8 bit จะได้ว่า 1 x 1,024 x 14 = 14,336 bits ดังนั้นก็คือ
14,336/(8 x 1,024) = 1.75K bytes นั่นเอง
สถาปัตยกรรมของ PIC
ตอนนี้มี 3 สายหลักๆ สมัยก่อนมีแค่สอง คือขึ้นต้นด้วย 16xxx,17xxx และใหม่ล่าสุดคือ 18xxx ถ้า
พูดถึง คุณสมบัติที่เหนือกว่าเรียงจากน้อยสุดไปมากสุดก็คือ 16 -> 17 -> 18 คำสั่ง assembly ของ 17
และมี 18 จะมีมากกว่า 16 ทำให้เขียนโปรแกรมได้ง่ายกว่า ราคาก็จะสูงกว่าด้วย แต่ที่เป็นที่นิยมก็คือ
ตระกูล 16xxx
สรุป Concept สถาปัตยกรรมของ PIC
PIC จะยึดถือการออกแบบที่ว่ารวมทุกอย่างไว้ใน chip ตัวเดียวโดยไม่ต้องต่ออุปกรณ์ใดๆ เพิ่มเติม
ผลที่ตามมาก็คือแผ่นวงจรจะมีขนาดเล็ก และอุปกรณ์ที่ใช้จะไม่มาก บางงานอาจจะใช้แค่ PIC เพียงตัว
เดียว โดยไม่ต้องใช้ chip อื่นมาเพิ่มเติมเลย นี่คือคุณสมบัติพิเศษของ PIC ครับ ซึ่งปัจจุบันหลายบริษัทที่ผลิต microcontroller ก็เริ่มจะหัดมาเลียนแบบแนวทางนี้ครับ แต่ทุกอย่างย่อมมีข้อเสีย เนื่องจาก concept ที่จะรวมทุกอย่างไว้ใน chip เดียว ทำให้ program memory และ data memory ไม่สามารถขยายโดยใช้กับ memory ภายนอกได้ (ในทางทฤษฎี นะครับ ของจริงนี่ทำได้ แต่ต้องใช้เทคนิคนิดหน่อยครับ ซึ่งไม่นิยม ต้องบอกกันไว้ก่อน) PIC จึงเหมาะสำหรับงานเล็กๆ ไม่ใช่งานใหญ่ๆ ที่ต้องใช้การคำนวณ และ 2 memory เยอะๆ สำหรับผม PIC ก็คือมดครับ แมลงที่สามารถยกของที่มีน้ำหนักมากกว่ามันได้หลายสิบเท่าครับ
คุณสมบัติต่างๆของไมโครคอนโทรลเลอร์ที่เราควรทราบ เช่น ความถี่สูงสุดในการทำงาน , หน่วยความจำประเภทต่างๆมีค่าเท่าไร , แรงดันในการทำงาน , จำนวนPort I/O , ตอบสนองการอินเตอร์รัพได้กี่แห่ง ,มีTime กี่ตัว , มีPWM กี่ชุดมีA/Dภายในตัวมาให้หรือไม่ เป็นต้น
ตารางดังกล่าวแสดงคุณสมบัติของไมโครคอนโทรเลอร์บางเบอร์ ซึ่งจะเห็นว่าแต่ละเบอร์จะมีคุณสมบัติที่เหมือนกันบางคุณสมบัติและบางเบอร์ มีคุณสมบัติแตกต่างกันไป
จะเห็นว่า ตำแหน่งขาต่างๆของ IC จะมีตัวอักษรย่อกำกับไว้ และมีลูกศรแสดงการทำงาน และบางตำแหน่งขาจะมีอักษรย่อมากกว่า 1 กำกับอยู่ เรามาทำความเข้าใจพื้นฐานของการอ่านตำแหน่งขา จะเห็นว่า 16F87X X ,มีขามากสุด และมีการใช้งาน ของคุณสมบัติต่างมากสุด แต่ของ16F84 จะมีคุณสมบัติในการทำงานน้อยมาก ลูกศรชี้ทางเดียวแสดงว่าขานั้นทำงานด้านเดียว แต่ถ้าลุกศรชี้ 2 ทิศทางแสดงว่าขานั้นทำงาน 2 ทิศทางคือเป็น input หรือoutput ก็ได้ ขา VDD จะเป็นตำแหน่งไปเลี้ยง (+5V) และขา VSS จะต้องต่อลงกราวด์ (GND) RA0..RA7 แสดงตำแหน่งการใช้ขานั้นเป็น input หรือ output ที่port A นั้นๆ ส่วน RB...RC ก็แสดงตำแหน่งของ port B และ C ด้วย เช่นเดียวกันขา CLKIN และ CLKOUT ต่อกับคริสตอล ตามความถี่ที่กำหนดไว้ ขา RB3/CCP1 ขานี้จะทำงานได้ทั้งเป็น RB3 และ CCP1 ขึ้นอยู่กับการเขียนโปรแกรมควบคุม x
แหล่งอ้างอิง
https://www.youtube.com/watch?v=AuQaMtldTv8
ความคิดเห็น
แสดงความคิดเห็น