วันพฤหัสบดีที่ 15 กันยายน พ.ศ. 2554

dsPIC30F ภาค 1

dsPIC : สู่ยุค 16 บิตของไมโครคอนโทรลเลอร์ PIC
ไมโครคอนโทรลเลอร์ PIC ของบริษัท Microchip Technology เป็นทางเลือกหนึ่งของนักพัฒนาไมโครคอนโทรลเลอร์ในประเทศไทยตั้งแต่ปลายทศวรรษ 1990 และมีการนำเบอร์ใหม่ๆมาใช้อย่างต่อเนื่อง โดยเฉพาะอนุกรม PIC16F8x, PIC16F87x จนมาถึง PIC18Fxxx ซึ่งทั้งหมดที่กล่าวถึงนั้น ตัวซีพียูภายในไมโครคอนโทรลเลอร์ยังอยู่ที่ขนาด 8 บิต

ทว่าในปี ค.ศ. 2004 นี้ Microchip Technology ได้พัฒนาไมโครคอนโทรลเลอร์รุ่นใหม่ที่ประมวลผลในระดับ 16 บิต ออกมาใช้งาน ภายใต้ชื่อเรียกขานอย่างเป็นทางการว่า dsPIC เป็นการรวมกันระหว่าง Digital Signal Processing (DSP) และ Peripheral Interface Controller (PIC) จุดเด่นของ dsPIC คือ การประมวลผลสัญญาณดิจิตอล โดยมีการเพิ่มขีดความสามารถของหน่วยประมวลผลกลาง โดยเฉพาะอย่างยิ่งด้านการคำนวณทางคณิตศาสตร์ เนื่องจากเป็นหัวใจของการประมวลผลสัญญาณดิจิตอล และสามารถประมวลผลข้อมูลขนาด 16 บิต อย่างแท้จริง นอกจากนั้นยังเพิ่มความเร็วในการประมวลผล เพื่อให้สามารถรองรับการเปลี่ยนแปลงของสัญญาณดิจิตอล นั่นคือเพิ่มความสามารถของโมดูลแปลงสัญญาณดิจิตอล (ADC) ให้สามารถสุ่มสัญญาณได้เร็วขึ้น แลมีความละเอียดขนาด 10 บิต และ 12 บิต


ด้านเครื่องมือในการพัฒนาทางซอฟต์แวร์ สามารถพัฒนาด้วยโปรแกรมภาษาแอสเซมบลี และภาษา ผ่านทางชุดซอฟต์แวร์ที่ชื่อ MPLAB IDE ร่วมกับ คอมไพเลอร์ MPLAB C30 และในส่วนเครื่องมือทางฮาร์ดแวร์มีการพัฒนาขึ้นเหมือนกันนั่นคือ ICD2, ICD3 หรือ In-circuit Debugger /Programmer ทำให้การพัฒนาโปรแกรมของไมโครคอนโทรลเลอร์ dsPIC สามารถกระทำได้อย่างสะดวก และง่ายขึ้น

1.   คุณสมบัติเด่นโดยรวมของ dsPIC
1.1. คุณสมบัติของ
-  เป็นไมโครคอนโทรลเลอร์ที่มีซีพียูแบบ RISC
-  ความเร็วในการทำงานสูงถึง 30 ล้านคำสั่งต่อวินาที
-  มี 84 คำสั่งมาตรฐานภาษาแอสเซมบลี รองรับรูปแบบการอ้างแอดเดรสได้อย่างอิสระ
-  ชุดคำสั่งมีขนาด 24 บิต สามารถประมวลผลข้อมูลได้ 16 บิต
- มีหน่วยความจำโปรแกรมเป็นแบบแฟลช สามารถลบและเขียนใหม่ได้ไม่น้อยกว่า 100,000 ครั้ง สามารถป้องกันการอ่านได้ และสามารถโปรแกรมตัวเองโดยผ่านกระบวนการทางซอฟต์แวร์
-  มีหน่วยความจำอีอีพรอมที่สามารถลบ และเขียนใหม่ได้ไม่น้อยกว่า 1,000,000 ครั้ง
-  มีอินเตอร์รัปต์เวกเตอร์จำนวนมาก รองรับการตอบสนองการอินเตอร์รัปต์ได้ดี
-  มีวงจรตรวจจับแรงดันไฟเลี้ยงต่ำกว่ากำหนดแบบโปรแกรมได้
-  มีเพาเวอร์-ออนรีเซต, เพาเวอร์อัปไทเมอร์ และออสซิลเลเตอร์สตาร์ท-อัปไทเมอร์
-  มีวอตช์ดอกไทเมอร์แบบโปรแกรมได้
-  มีวงจรตรวจสอบการทำงานของวงจรกำเนิดสัญญาณนาฬิกา
-  รองรับการโปรแกรมในแบบวงจรอนุกรม (ICSP: In-Circuit Serial Programming)
-  สามารถเลือกโหมดการใช้พลังงานได้
1.2. คุณสมบัติด้านการประมวลผล
-  มีแอกคิวมูเลเลเตอร์ขนาด 40 บิต ตัว รองรับการประมวลผลทางคณิตศาสตร์ได้อย่างดี
-  มีหน่วยประมวลผลด้านการคูณและการหารเลข 17 บิต ในรูปของฮาร์ตแวร์ จึงทำให้สามารถคูณและหารเลขได้อย่างรวดเร็ว
-  ทำการคูณเลข 16 บิต ได้ภายในสัญญาณนาฬิกาภายใน ไซเกิล
-  มีตัวเลื่อนข้อมูลบาร์เรล 40 สเตจ ช่วยให้การประมวลผลข้อมูลที่มีจำนวนบิตมากๆ  ได้อย่างรวดเร็ว
-  มีวงจรเฟตข้อมูลคู่ ช่วยให้การประมวลผลข้อมูลทำได้อย่างรวดเร็ว
1.3. คุณสมบัติของโมดูลฟังก์ชันพิเศษ
-  สามารถจ่ายกระแสออกทางพอร์ตได้ 20mA ทั้งในแบบซิงก์และซอร์ส
-  ไทเมอร์และเคาน์เตอร์ขนาด 16 บิต ไม่น้อยกว่า ตัว และสามารถต่อใช้งานร่วมกันเป็น ไทเมอร์ขนาด 32 บิตได้
-  มีโมดูลตรวจจับและเปรียบเทียบสัญญาณดิจิตอล
-  มีส่วนเชื่อมต่ออุปกรณ์อนุกรมทั้งแบบ SPI และผ่านระบบบัส I2C
-  มีโมดูลสื่อสารอนุกรม UART พร้อมบัฟเฟอร์แบบ FIFO
-  มีโมดูลการแปลงสัญญาณอะนาล็อกเป็นดิจิตอลที่มีความละเอียด 10 บิตและ 12 บิต (ADC) *
-  มีโมดูลสร้างสัญญาณ PWM สำหรับควบคุมมอเตอร์ (MCPWM)*
-  มีโมดูลเชื่อมต่อตัวเข้ารหัสแบบควอดราเจอร์เอนโคดเดอร์ (QEI)*
*เป็นคุณสมบัติที่มีเฉพาะบางเบอร์
คุณสมบัติภายในของ dsPIC30F แสดงดังรูป



ขอจบเรื่องราวในภาคที่ 1 ไว้แค่นี้ก่อนครับ ในภาคต่อไปจะนำตัวอย่างการใช้งานมากล่าวให้ฟังครับ



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

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