วันอาทิตย์ที่ 15 มิถุนายน พ.ศ. 2557

PIC เบอร์ต่างๆ

ปัจจุบัน  PIC มีหลากหลายเบอร์ จนแทบจะเลือกใช้ไม่ถูก แต่ในความเป็นจริงแล้ว การออกเบอร์ใหม่ๆ ออกมาได้มีการกำหนดทิศทางที่แน่นอน ซึ่งเราสามารถ จะแบ่งออกเป็น 8 กลุ่ม ได้แก่
- PIC12CXXX, PIC12FXXX (FLASH MCUs)
- PIC16C5X
- PIC16CXXX
- PIC17CXXX
- PIC16FXXX (FLASH MCUs)
- PIC18CXXX, PIC18FXXX (FLASH MCUs)

- PIC24FXXX, PICds30FXXX ,dsPIC33FXX
X
- PIC32MX3XX, PIC32MX4XXX
ในที่นี้จะขอบอกเฉพาะจุดเด่นๆ ของแต่ละกลุ่ม
ก่อนอื่นแนะนำเบอร์แรกๆ ที่ออกมาก่อนคือนั่นก็คือตระกูล PIC16C5X
PIC16C5X
- มีคำสั่งในภาษา assembly 33 คำสั่ง
- มี I/O, Timer, Watch dog
- มี feature ค่อนน้อย จะไม่มี I2C หรือ SERIAL เพราะเป็น chip ที่ออกมาในยุคแรกๆ ของ microchip

เนื่องจากเป็นเบอร์ที่ออกมานานมากแล้ว จึงมีแต่แบบ OTP และ EPROM feature ก็มีน้อย I2C หรือ USART นี่ไม่ต้องพูดถึงต้องเขียนเองล้วนๆ Microchip คงเห็นจุดด้อยตรงนี้เลยเข็นตระกูลใหม่เข้ามาคือ PIC16CXXX

PIC16CXXX
- มีคำสั่งในภาษา assembly 35 คำสั่ง
- มี I/O, มี Timer มากกว่า 1 ตัว, Watch dog, I2C, USART, SPI, PWM
- เริ่มมี feature ใส่เข้าไปมากขึ้น ทำให้การ interface กับอุปกรณ์ภายนอกทำได้ง่ายขึ้น

เห็นว่า feature มีเพียบ ทั้ง I2C, USART, PWM ช่วยในการเขียนโปรแกรมได้มากทีเดียว หลังจากนั้นก็ได้ออกตระกูล PIC12CXXX ออกมา ซึ่งเป็น pic ที่มีเพียง 8 ขา ดูแล้วเหมาะกับงานเล็กๆ จุดเด่นคือมี OSC ขนาด 4 MHz ภายใน และมี DATA memory ส่วนหนึ่งเป็น EEPROM อยู่ภายในด้วย แต่ในส่วนของ PROGRAM memory ยังเป็น OTP และ EPROM อยู่ หลังจากนั้น PIC12FXXX ได้ออกตามหลังมาหลังจาก PIC ได้ออก PIC16FXXX ไปแล้ว
PIC12CXXX และ PIC12FXXX
- มี 8 ขา
- มีคำสั่งในภาษา assembly ทั้งหมด 33 หรือ 35 คำสั่ง
- มี I/O, Timer, Watch dog
- บางเบอร์มี internal EEPROM
- จะมี 4MHz oscillator อยู่ภายในตัว chip เลย ทำให้เราไม่ต้องมี oscillator ภายนอก ( แต่หากต้องการความแม่นยำของเวลาก็จำเป็นต้องใช้ Crystal oscillator ภายนอก)


PIC16CXXX และ PIC17CXXX จะออกมาพร้อมๆ กัน แต่ต่างกันที่ว่า PIC17CXXX ถือว่าเป็นเบอร์ที่ใหญ่กว่า มีคำสั่งใน assembly มากกว่า รวมทั้งขนาดของ PROGRAM memory จะมีขนาดมากกว่าในตระกูล PIC16CXXX และสามารถต่อ memory ภายนอกก็ได้

PIC17CXXX
- มีคำสั่งในภาษา assembly 58 คำสั่ง มีคำสั่งการ คูณ หาร
- สามารถต่อกับ program memory ภายนอก โดยอ้างได้ถึง 64K x 16 Program memory
- มี I/O, มี Timer มากกว่า 1 ตัว, Watch dog, I2C, USART, SPI, PWM

PIC16F8XXX เป็น PIC ที่ได้รับความนิยมมาก เป็นที่ฮือฮาเพราะเป็น chip ยุคแรกๆ ที่มี PROGRAM MEMORY เป็นแบบ FLASH และมี DATA MEMORY ที่เป็น EEPROM เพิ่มเติมเข้ามา รวมทั้งตัว PROGRAM CHIP สามารถสร้างได้ง่าย ทำให้กลุ่ม HOBBY และกลุ่มนักศึกษา นิยมใช้เพราะรวมค่าใช้จ่ายแล้วไม่แพง CHIP ที่นำร่องก็ได้แก่ PIC16F83,PIC16F84 หลังจากก็ได้ออกตระกูล PIC16F87X ซึ่งถือว่าเปลี่ยนแปลงครั้งใหญ่ เพราะมี In Circuit Debugger อยู่ภายในทำให้ ไม่จำเป็นต้องพึ่ง Emulator ที่มีราคาแพงอีกต่อไป ซึ่งเป็นผลให้ CHIP ในตระกูลนี้ และ PIC16F87X ขายดีเป็นเทน้ำเทท่า เล่นเอาผู้ผลิต Microcontroller เบอร์อื่นต้องปรับกระบวนคราวใหญ่เลยทีเดียว

PIC16F8XXX (FLASH MCUs)
- มีคำสั่งในภาษา assembly 35 คำสั่ง
- มี I/O, มี Timer มากกว่า 1 ตัว, Watch dog, I2C, USART, SPI, PWM
- มี A/D ขนาด 10 bits
- มี Program memroy เป็นแบบ Flash ทำให้สามารถโปรแกรมใหม่ได้หลายครั้ง
- มี EEPROM ภายใน
- ในตระกูล 16F87X สนับสนุน In Circuit Debugger (ICD) เป็นผลทำให้ไม่จำเป็นต้องซื้อ Emulator ราคาแพง

จุดด้อยของ PIC ก็คือ program memory มีลักษณะเป็น page ทาง Microchip เองก็คงเห็นจุดด้อยตรงนี้จึงได้พัฒนาออกมาเป็น PIC18CXXX ซึ่ง PROGRAM MEMORY ไม่ถูกแบ่งเป็น page อีกต่อไป และเพิ่มคำสั่ง ASSEMBLY เป็น 77 คำสั่ง รวมทั้งออกแบบให้ PROGRAM MEMORY มีขนาดใหญ่ขึ้นเพื่อรองรับ การเขียนโปรแกรมภาษา C หลังจากนั้นจึงได้ออก PIC18FXXX ตามมา พร้อมกับ ICD2



PIC18CXXX, PIC18FXXX (FLASH MCUs)
- มีคำสั่งในภาษา assembly 77 คำสั่ง
- มี I/O, มี Timer มากกว่า 1 ตัว, Watch dog, I2C, USART, SPI, PWM, CAN
- มี A/D ขนาด 10 bits
- สามารถต่อกับ program memory ภายนอก โดยอ้างได้ถึง 64K x 16 Program memory
- มี Program memroy เป็นแบบ Flash ทำให้สามารถโปรแกรมใหม่ได้หลายครั้ง
- ในตระกูล 18FXXX มี EEPROM ภายใน
- ในตระกูล 18FXXX สนับสนุน In Circuit Debugging (ICD)

        PIC24FXXX, dsPIC30FXXX,dsPIC33FXXX
         -มีหน่วยความจำขนาด 16 บิต ซึ่งเบอร์ก่อนๆจะเป็น 8 บิต

         -มีฟังชันต่างๆให้เลือกใช้

        PIC32MX3XX, dsPIC32MX4XX
         -เป็นPIC ที่มีประสิทธิภาพสูงสุดในปัจจุบัน มีหน่วยความจำขนาด 32บิต ทำงานที่ความเร็วสูงสุด 80 MHz

         -มีฟังชันต่างๆให้เลือกใช้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น