วันจันทร์ที่ 24 กันยายน พ.ศ. 2555

รู้จัก Unicon Board

บอร์ดไมโครคอนโทรลเลอร์ 8 บิตที่ดาวน์โหลดและสื่อสารกับคอมพิวเตอร์ผ่านพอร์ต USB ได้โดยตรง ไม่ต้องใช้ชิปแปลงสัญญาณใดๆ เพิ่มเติม และทำงานเข้ากันได้กับ Arduino โครงการไมโครคอนโทรลเลอร์โอเพ่นซอร์สยอดนิยม  




ทันทีที่ Atmel ได้ออกชิปไมโครคอนโทรลเลอร์ AVR 8 บิต ในอนุกรม ATmega ตัวใหม่ที่มี โมดูล USB ในตัว ซึ่งไม่เพียงแต่สื่อสารกับคอมพิวเตอร์ผ่านพอร์ต USB เพื่อแปลงกายเป็นอุปกรณ์ USB เท่านั้น มันยังรองรับการดาวน์โหลดโปรแกรมเพื่อเขียนลงในหน่วยความจำโปรแกรมของตัวชิปได้อีกด้วย นั่นจึงทำให้เกิดการเปลี่ยนแปลงครั้งสำคัญในการพัฒนาระบบสมองกลฝังตัว เมื่อมีไมโครคอนโทรลเลอร์ที่โปรแกรมได้โดยตรงผ่านพอร์ต USB ไม่ต้องใช้ชิปแปลงสัญญาณ USB เป็นพอร์ตอนุกรมแบบที่คุ้นเคย ทำให้ลดความยุ่งยากในการออกแบบฮาร์ดแวร์ จำนวนอุปกรณ์ที่ใช้ก็ลดลง ส่งผลถึงต้นทุนของระบบที่ลดลงไปด้วย


ATmega32U4 ไมโครฯ 8 บิตที่มาพร้อม USB บูตโหลดเดอร์ในตัว
ถ้าจะว่ากันด้วยข้อเท็จจริง Atmel ไม่ได้ออกชิปไมโครคอนโทรลเลอร์ที่โปรแกรมผ่านทางพอร์ต USB ได้โดยตรงเป็นเจ้าแรก ก่อนหน้านี้มี Freescale ที่ออกชิปในอนุกรม HCS08 เบอร์ MC9S08JS16 มาให้ลองใช้งานกัน แต่ทว่าเบอร์ที่ออกมานั้นไม่มีโมดูลแปลงสัญญาณอะนาลอกเป็นดิจิตอล (ADC) ทำให้ไม่ได้รับการตอบรับมากนักจากนักทดลอง นักพัฒนาระบบสมองกลฝังตัวทั้งมือสมัครเล่นและมือเก๋าที่เชื่อว่า ADC เป็นความสามารถที่ไมโครคอนโทรลเลอร์สมัยใหม่ต้องมี
Atmel ผลิตไมโครคอนโทรลเลอร์ที่รองรับการโปรแกรมหน่วยความจำ
โปรแกรมแฟลชมาก่อนหน้านี้อย่างน้อย 2 เบอร์คือ ATmega8U2 และ ATmega16U2 แต่ทั้งสองเบอร์ล้วนไม่มีโมดูลแปลงสัญญาณอะนาลอก
เป็นดิจิตอล จึงเป็นได้เพียงชิปที่ออกมาเพื่อนำไปใช้ในอุปกรณ์ USB ที่เน้นการทำงานกับสัญญาณดิจิตอลเป็นหลัก
จนกระทั่ง Atmel ออกชิปเบอร์ ATmega32U4 ที่มีโมดูลแปลงสัญญาณอะนาลอกเป็นดิจิตอล ความละอียด 10 บิตในตัว และออกมาคราวนี้มีอินพุตอะนาลอกมากถึง 12 ช่องเลยทีเดียว ทำให้เริ่มมีกระแสตอบรับจากนักพัฒนาในทุกระดับ รวมไปถึงกลุ่มของไมโครคอนโทรลเลอร์โอเพ่นซอร์สชื่อดังอย่าง Arduino มีความพยายามในการนำชิปเบอร์นี้เข้ามาพัฒนาเป็นฮาร์ดแวร์ในอนุกรมใหม่ของ Arduino โดยเน้นข้อได้เปรียบตรงที่มี USB บูตโหลดเดอร์ในตัว ทำให้การดาวน์โหลดโปรแกรมจากคอมพิวเตอร์ผ่านพอร์ต USB กระทำได้อย่างสะดวกขึ้น ออกแบบฮาร์ดแวร์ได้ง่ายขึ้น ใช้จำนวนอุปกรณ์ต่อร่วมลดลง

คุณสมบัติของ ATmega32U4
• เป็นไมโครคอนโทรลเลอร์ 8 บิตแบบ RISC กำลังงานต่ำ
• หน่วยความจำโปรแกรมแฟลช 32 กิโลไบต์ รองรับการโปรแกรมในวงจร เขียน-ลบได้ 10,000 รอบ
• หน่วยความจำข้อมูลแรม 2.5 กิโลไบต์
• หน่วยความข้อมูลอีอีพรอม 1 กิโลไบต์ เขียนลบได้ 100,000 รอบ
• ทั้งหน่วยความจำโปรแกรมและอีอีพรอมเก็บรักษาข้อมูลได้ 20 ปี
• บรรจุ USB บูตโหลดเดอร์มาจากผู้ผลิต จึงโปรแกรมหน่วยความจำผ่านพอร์ต USB ได้โดยไม่ต้องใช้เครื่องโปรแกรมภายนอก
• รองรับการโปรแกรมจากภายนอกทั้งแบบ SPI และ JTAG
• พอร์ตอินพุตเอาต์พุตแบบโปรแกรมได้รวม 26 ขา และตอบสนองการอินเตอร์รัปต์จากการเปลี่ยนแปลงลอจิกที่ขาพอร์ต
• วงจรเชื่อมต่อพอร์ต USB ภายในชิป รองรับ USB2.0 ทั้งแบบความเร็วเต็มที่ (full speed) และแบบความเร็วต่ำ (low speed)
• ความถี่สัญญาณนาฬิกาจากภายนอกสูงสุด 16MHz มีวงจรเฟสล็อกลูปเพื่อทวีคูณความถี่ให้ทำงานได้สูงสุดถึง 96MHz
• เลือกแหล่งกำเนิดสัญญาณนาฬิกาได้ทั้งจากภายในและภายนอก โดยความถี่สูงสุดของวงจรกำเนิดสัญญาณนาฬิกาภายในแบบ RC คือ 8MHz การเปลี่ยนโหมดหรือแหล่งกำเนิดสัญญาณนาฬิกาทำได้ตลอดเวลาโดยไม่ต้องงรีเซตหรือจ่ายไฟเลี้ยงใหม่
• มีไทเมอร์เคาน์เตอร์ 4 ตัว ประกอบด้วย
- ไทเมอร์เคาน์เตอร์ 8 บิต
- ไทเมอร์เคาน์เตอร์ 16 บิต 2 ตัว รองรับการทำงานในโหมดตรวจจับสัญญาณ (แคปเจอร์ - capture) และโหมดเปรียบเทียบสัญญาณ
-ไทเมอร์เคาน์เตอร์ความเร็วสูง 10 บิต มีวงจรเฟสล็อกลูปความถี่ 64MHz และทำงานในโหมดเปรียบเทียบสัญญาณได้
• มีโมดูลกำเนิดสัญญาณ PWM 3 ชุด
- PWM ขนาด 8 บิต 4 ช่อง
- PWM แบบโปรแกรมความละเอียดของสัญญาณได้ 2 ถึง 16 บิต 4 ช่อง
- PWM ความเร็วสูงแบบโปรแกรมความละเอียดของสัญญาณได้ 2 ถึง 11 บิต 6 ช่อง
• มีเอาต์พุตของวงจรเปรียบเทียบสัญญาณ (output compare)
• โมดูลแปลงสัญญาณอะนาลอกเป็นดิจิตอล ความละเอียด 10 บิต  12 ช่อง
• โมดูลสื่อสารข้อมูลอนุกรม USART แบบโปรแกรมได้พร้อมส่วนควบคุมการถ่ายทอดข้อมูล
• โมดูลสื่อสารข้อมูลผ่านบัส SPI และ I2C
•  มีวงจรตรวจจับไฟเลี้ยงต่ำกว่าที่กำหนดหรือบราวเอาต์แบบโปรแกรมได้
• มีโหมดการทำงานเพื่อลดการใช้พลังงานหรือโหมดสลีปเลือกได้ 6 โหมด
• ใช้ไฟเลี้ยงในย่าน +2.7 ถึง +5.5V หากเลือกใช้สัญญาณนาฬิกาหลักความถี่ 8MHz จากภายในชิปใช้ไฟเลี้ยงได้ไม่เกิน +2.7V
• อุณหภูมิใช้งาน  -40 ถึง +85°C
• มีตัวถังแบบ QFN และ TQFP 44 ขา ให้เลือกใช้งาน

Arduino Leonardo + ATmega32U4 = บอร์ด Unicon
เมื่อ Atmel ออกชิปไมโครคอนโทรลเลอร์ ATmega32U4 และได้เข้าไปทำข้อตกลงในการสนับสนุนคณะทำงานของ Arduino อย่างเป็นทางการ จึงทำให้เกิดฮาร์ดแวร์ของ Arduino ในรุ่นใหม่ที่รองรับ ATmega32U4 นั่นคือ Arduino Leonardo ได้มีการเผยแพร่โค้ดบูตโหลดเดอร์ของ Arduino Leonardo ออกมาระยะหนึ่งแล้ว แต่จำกัดอยู่ในวงนักพัฒนาเท่านั้น วิศวกรของ INEX (บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด) โดยคุณวรพจน์ กรแก้ววัฒนกุลจึงนำมาพัฒนาต่อ โดยทำการออกแบบส่วนของฮาร์ดแวร์และกำหนดตำแหน่งขาต่อใช้งานของ ATmega32U4 ให้สอดคล้องกับ Arduino Leonardo พร้อมกับแก้ไขโค้ดของบูตโหลดเดอร์ เพื่อสร้างเป็นฮาร์ดแวร์ใหม่ที่ชื่อ Unicon พร้อมกันนั้นได้ทำการเพิ่มเติมชื่อและโปรไฟล์ของฮาร์ดแวร์ที่สร้างขึ้นใหม่นี้ลงใน Arduino IDE เวอร์ชัน 1.0 รวมถึงสร้างไฟล์ติดตั้งที่มีการติดตั้งซอฟต์แวร์ ARduino 1.0 และไดรเวอร์ USB เบื้องต้นของบอร์ด Unicon เพื่อให้ผู้ใช้งานสามารถติดตั้งและใช้งานบลอร์ด Unicon ได้ง่ายขึ้น
ดังนั้นบอร์ด Unicon จึงเป็นฮาร์ดแวร์ที่เข้ากันได้กับ Arduino Leonardo รุ่นแรกที่พัฒนาโดยวิศวกรชาวไทย Unicon มาจากคำว่า Unique ที่แปลว่า เป็นหนึ่งเดียว กับคำว่า Controller ที่แปลว่าตัวควบคุม ดังนั้น Unicon จึงมีความหมายโดยรวมว่า บอร์ดควบคุมที่มีความเป็นหนึ่งเดียวกันระหว่างตัวไมโครคอนโทรลเลอร์หลักและส่วนการติดต่อเพื่อดาวน์โหลดโปรแกรมผ่านพอร์ต USB

คุณสมบัติทางเทคนิคที่สำคัญของบอร์ด Unicon

• ใช้ไมโครคอนโทรลเลอร์ ATmega32U4 จาก Atmel มีหน่วยความจำแฟลช 32 กิโลไบต์ บรรจุบูตโหลดเดอร์ที่เข้ากันได้กับฮาร์ดแวร์ Arduino Leonardo
• ดาวน์โหลดและสื่อสารข้อมูลผ่านพอร์ต USB ได้โดยตรง โดยไม่ต้องใช้ชิปแปลงสัญญาณอย่าง FT232 หรือ MCP2200 แต่อย่างใด
• สัญญาณนาฬิกาความถี่ 16MHz จากเซรามิกเรโซเนเตอร์คุณภาพสูง
• มีจุดต่อพอร์ตสำหรับใช้งานที่ตรงกับชื่อขาพอร์ตของ Arduino Leonardo
• จุดต่อพอร์ตเป็นแบบ IDC 2.5 มม. ตัวเมีย และ JST 2.0 มม. ตัวผู้ 3 ขา มีการแบ่งแยกฟังก์ชั่นด้วยสีของคอนเน็กเตอร์อย่างชัดเจน
• ใช้ไฟเลี้ยงจากภายนอก +6 ถึง +12V บนบอร์ดมีวงจรควบคุมไฟเลี้ยงคงที่ +5V 1A ต่อผ่านแจ๊กอะแดปเตอร์และเทอร์มินอลบล็อก
• มีสวิตช์กดติดปล่อยดับและ LED สำหรับทดสอบการทำงานของพอร์ตและแสดงสถานะการทำงาน
• มีสวิตช์ RESET
• รองรับบอร์ดแสดงผลกราฟิก LCD สี (รุ่น GLCD-XT จำหน่ายแยก)
• ขนาดเพียง 2.5 x 4 นิ้ว
• พัฒนาโปรแกรมด้วย Arduino 1.0
• ข้อมูลเพิ่มเติมและดาวน์โหลดซอฟต์แวร์สำหรับการพัฒนาโปรแกรม ตัวอย่างโปรแกรม พร้อมทั้งเอกสารต่างๆ ได้ที่ www.uniconboard.com
หน้าตาของบอร์ด Unicon แสดงในรูปพร้อมกับแสดงจุดต่อต่างๆ จะเห็นได้ว่า บอร์ด Unicon สามารถรองรับการเชื่อมต่อกับอุปกรณ์ภายนอกได้หลากหลายและค่อนข้างอเนกประสงค์ ไม่ว่าจะต่อทดลองวงจรกับเบรดบอร์ดก็สามารถใช้จุดต่อแบบ IDC ตัวเมีย 2.54 มม. หรือจะต่อกับแผงวงจรตรวจจับและแผงวงจรเอาต์พุตของ INEX ที่ใช้คอนเน็กเตอร์แบบ JST 2.0 มม. ก็ได้

unicon-detail


ความเข้ากันได้กับ Arduino เวอร์ชันอื่นๆ
บอร์ด Unicon สามารถใช้งานกับโปรแกรมที่เขียนขึ้นและอ้างอิงกับฮาร์ดแวร์ Arduino ได้ทุกเวอร์ชันยกเว้น Arduino Mega ที่อาจมีตำแหน่งและจำนวนของขาพอร์ตไม่ตรงและไม่เท่ากัน แต่รูปแบบของคำสั่ง วิธีการใช้คำสั่งและฟังก์ชั่นในโปรแกรมใช้ร่วมกันได้ เพียงเปลี่ยนขาพอร์ตที่อ้างอิงให้ตรงหรือเหมาะสมกับบอร์ด Unicon ก็ใช้งานได้ตามปกติ
ยกตัวอย่าง โปรแกรม Blink ปกติจะอ้างถึง LED ที่ขา 13 สำหรับบอร์ด Unicon จะอยู่ที่ขา 31 ส่วนการใช้งาน Serial Monitor เพื่อดูหรือรับส่งค่ากับคอมพิวเตอร์ก็สามารถใช้งานได้ตามปกติด้วยคำสั่ง serial.print เพียงแต่พอร์ตที่ใช้สื่อสารจะเป็นพอร์ต USB ที่ทำหน้าที่เป็นพอร์ตอนุกรมเสมือนภายใต้ชื่อของฮาร์ดแวร์ Unicon
นอกจากนั้น Unicon ยังมีจุดต่ออินพุตอะนาลอกมากกว่า Arduino Diecimila, Duemilanove และ Uno โดยมีถึง 12 ขา และมีจุดต่อบัส I2C และ UART ที่แยกต่างหากจากพอร์ตอินพุตเอาต์พุตปกติ แต่ยังสามารถใช้งานเป็นพอร์ตอินพุตเอาต์พุตมาตรฐานได้ ทำให้ Unicon มีความอ่อนตัวสูงมากในการนำไปใช้งานภายใต้งบประมาณที่ประหยัดและคุ้มค่ากว่าเมื่อพิจารณาในภาพรวม

สั่งซื้อออนไลน์ได้ที่ www.inex.co.th

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

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