<center></center>
บอร์ดตัวนี้จิ๋วแต่แจ๋วนะครับ ไม่ธรรมดาเลยทีเดียว คุณสมบัติเด่นๆของมันคือมันสามารถเป็น webserver ได้ หรือพูดง่ายๆว่าสามารถเปิดเว็ปจากบอร์ดตัวนี้ได้ครับ ซึ่งสามารถดัดแปลงมาทำเป็นหุ่นยนต์ที่สั่งการผ่าน internet ได้ แถมยังรองรับการเชื่อมต่อแบบ USB ได้อีกด้วยครับ เรามาดูคุณสมบัติของบอร์ดตัวนี้กันนะครับ (นำมาจาก thaiesf.org ครับ)
คุณสมบัติทางเทคนิค :
รูปที่ 1 แสดงบล็อกไดอะแกรมของบอร์ด 186CC ซึ่งจากรูปสามารถแบ่งตามคุณสมบัติทางเทคนิคได้เป็น 2 ส่วนหลักคือ ทางด้านฮาร์ดแวร์และด้านซอฟต์แวร์ โดยมีรายละเอียดดังนี้
<center></center>
ด้านฮาร์ดแวร์
* CPU: Am186CC 20 MHz 16-bit Communication Controller ตัวประมวลผลหลักของ 186CC Board ได้ถูกออกแบบให้ใช้ไมโครคอนโทรลเลอร์ในตระกูล E86 16-bit Embedded Microcontroller บริษัท AMD รุ่น Am186CC ซึ่งเป็นไมโครคอนโทรลเลอร์ที่ใช้ core ของ 80186 และได้รวมเอาอุปกรณ์บางตัวไว้ในตัวไมโครคอนโทรลเลอร์ด้วย เช่น DRAM Controller, UART, USB Controller (สำหรับ USB Device), Interrupt Controller และอื่นๆ ซึ่งสามารถดูรายละเอียดเพิ่มเติมได้จาก www.amd.com
* System Memory: DRAM 1 เมกะไบต์ หน่วยความจำส่วนนี้ใช้สำหรับเก็บโปรแกรมหรือข้อมูลที่กำลังทำงานอยู่
* Non-Volatile Memory: หน่วยความจำแฟลช 512 กิโลไบต์ หน่วยความจำในส่วนนี้เป็นแบบแฟลช (Flash Memory) ซึ่งแบ่งออกเป็น 3 ส่วนหลัก คือ ไบออส, DOS และแอพพลิเคชัน
* 1 High Speed Serial Port สำหรับเทอร์มินอล โดยปกติพอร์ตนี้จะถูกสงวนไว้สำหรับต่อกับเทอร์มินอลเพื่อใช้ในขั้นตอนการพัฒนาและทดสอบการทำงานของบอร์ด
* 1 Serial Port สำหรับใช้งานทั่วไป พอร์ตนี้จะเป็นพอร์ตที่สามารถใช้งานได้ทั่วไป (COM 1)
* PC104 Compatible Connector PC104 เป็นมาตรฐานการเชื่อมต่อแบบ ISA สำหรับ Embedded Board ใช้สำหรับการเชื่อมต่อกับบอร์ดขยายต่างๆ เช่น บอร์ดอีเธอร์เน็ตเป็นต้น
* Programmable I/O Interface Connector Programmable I/O Interface เป็นส่วนของการเชื่อมต่อกับอุปกรณ์ภายนอกเพื่อควบคุม หรืออ่านสถานะต่างๆ ของอุปกรณ์ โดยผู้ใช้สามารถโปรแกรมเองได้
* USB Device Interface (Type B Connector) เป็นคอนเน็กเตอร์สำหรับเชื่อมต่อกับโฮสต์ (USB Host) โดย 186CC Board จะทำงานเป็น Device
ด้านซอฟต์แวร์
ส่วนของซอฟต์แวร์ใน 186CC Board แบ่งออกเป็นระดับชั้นต่างๆ ดังในรูปที่ 2 โดยจำแนกออกเป็นส่วนต่างๆ ดังนี้
<center></center>
* ESL BIOS
* ระบบปฏิบัติการ DOS-C + Shell DOS-C เป็นระบบปฏิบัติการ Open Source ที่เข้ากันได้กับระบบปฏิบัติการ MS-DOS Version 3.3 และมี Command Line Shell สำหรับรอรับคำสั่งจากผู้ใช้ โดยผ่านเทอร์มินอล
* Applications เป็นส่วนของโปรแกรมที่ผู้พัฒนาเขียนขึ้นเพื่อประยุกต์ใช้งานตามความต้องการ โดยผู้พัฒนาสามารถเขียนโปรแกรมเพื่อทำงานร่วมกับ 186CC Board ได้ทั้งในระดับ DOS, ไบออส และฮาร์ดแวร์โดยตรง
>> จุดเด่นของ 186CC Board
ความสามารถที่เพิ่มขึ้นของไมโครคอนโทรลเลอร์
186CC Board ใช้ไมโครคอนโทรลเลอร์ในระดับ 16 บิต ซึ่งมีสถาปัตยกรรมแบบ x86 และสนับสนุนหน่วยความจำหลักถึง 1 เมกะไบต์ ทำให้ผู้พัฒนาสามารถสร้างแอพพลิเคชันที่มีความซับซ้อนมากกว่าแอพพลิเคชันที่พัฒนาบนไมโครคอนโทรลเลอร์ระดับ 8 บิตที่นิยมใช้กันได้ นอกจากนี้ไมโครคอนโทรลเลอร์ที่ใช้ใน 186CC Board ยังได้รวมเอาอุปกรณ์พื้นฐานที่จำเป็นสำหรับระบบไว้ในตัว เช่น DRAM Controller, DMA Controller, USB Controller, UART เป็นต้น ตลอดจนมีความสามารถในการรองรับการสื่อสารแบบอื่นๆ เช่น HDLC, PCM Highway ซึ่งสามารถนำไปใช้ในการติดต่อสื่อสารแบบ WAN (Wide Area Network) เช่น E1 และ ISDN ได้
ง่ายในการเรียนรู้และพัฒนา
186CC Board มีสถาปัตยกรรมของไมโครคอนโทรลเลอร์แบบ x86 ซึ่งเป็นที่คุ้นเคยกัน โดยมีชุดคำสั่งที่เข้ากันได้กับชุดคำสั่งของ 80286 (Real Mode) ทำให้ง่ายต่อการเรียนรู้และพัฒนาซอฟต์แวร์ นอกจากนี้ 186CC Board ยังใช้ DOS เป็นระบบปฏิบัติการ ทำให้การพัฒนาซอฟต์แวร์ทำได้ง่ายขึ้น เนื่องจากการพัฒนาและทดสอบซอฟต์แวร์สามารถทำได้บนพีซี (PC Base Development) ผู้พัฒนาสามารถพัฒนาแอพพลิเคชันทั้งหมดบนคอมพิวเตอร์พีซี ตั้งแต่การเขียนโค้ดจนถึงการทดสอบ จากนั้นสามารถทำการดาวน์โหลดโปรแกรมดังกล่าวไปทดสอบบน 186CC Board ได้ทันทีผ่านทางเทอร์มินอล โดยไม่จำเป็นต้องโปรแกรมหน่วยความจำแฟลชโดยใช้เครื่องโปรแกรม เนื่องจากไบออสของ ESL Board นั้นสามารถโปรแกรมหน่วยความจำแฟลชได้เอง นอกจากนี้การแสดงผลต่างๆ หรือการรับคำสั่งจากคีย์บอร์ดของโปรแกรมที่ทำงานบน 186CC Board ยังถูกส่งมายังเทอร์มินอลด้วย ช่วยให้การทดสอบโปรแกรมทำได้อย่างง่ายดาย
ความเข้ากันได้ของซอฟต์แวร์และเครื่องมือในการพัฒนา
คงจะทราบกันดีว่า x86 เป็นสถาปัตยกรรมของพีซีตั้งแต่อดีตจนถึงปัจจุบัน ทำให้มีเครื่องมือที่ใช้ในการพัฒนาและทรัพยากรต่างๆ ที่เกี่ยวข้องค่อนข้างมาก ที่สามารถนำมาใช้กับ 186CC Board ได้ทันทีหรือทำการแก้ไขเพียงเล็กน้อย ในการพัฒนาแอพพลิเคชันที่มีอยู่แล้วในปัจจุบัน ซึ่งประกอบด้วย
* ซอร์สโค้ด ที่สามารถนำมาแก้ไขหรือปรับปรุงเพียงเล็กน้อยหรือเพิ่มเติมบางส่วนเข้าไป ซึ่งช่วยให้สามารถสร้างแอพพลิเคชันที่ต้องการได้อย่างรวดเร็ว
* คอมไพเลอร์ ได้แก่ Turbo C/C++, Turbo Pascal, Turbo Prolog, Turbo/Macro Assembler เป็นต้น คอมไพเลอร์ถือเป็นปัจจัยสำคัญที่ช่วยให้การพัฒนาทำได้ง่ายและรวดเร็ว
* โปรแกรมหรือเครื่องมืออื่นๆ เป็นส่วนของแอพพลิเคชันที่สามารถนำมาใช้กับ 186CC Board ได้เลยโดยไม่ต้องมีการแก้ไข
ความสามารถในการเพิ่มขยาย
ในส่วนของการเพิ่มขยายทางฮาร์ดแวร์ 186CC Board ใช้คอนเน็กเตอร์ตามมาตรฐาน PC104 ซึ่งสามารถเชื่อมต่อกับบอร์ดขยายตามมาตรฐานนี้ได้ และมีคอนเน็กเตอร์สำหรับเชื่อมต่อกับ PIO เพื่อใช้เชื่อมต่อกับอุปกรณ์ต่างๆ ได้ตามต้องการ
ส่วนของซอฟต์แวร์ผู้พัฒนาสามารถเพิ่มขยายซอฟต์แวร์ได้ง่ายเนื่องจาก 186CC Board มีระบบปฏิบัติการควบคุมทำงานของแอพพลิเคชัน ทำให้สามารถติดตั้งโปรแกรมและการตั้งค่าต่างๆ สามารถทำได้ง่าย
>> แนวทางการประยุกต์ใช้งาน
จากความสามารถของไมโครคอนโทรลเลอร์ที่สูงขึ้นของ 186CC Board ทำให้การประยุกต์ใช้งานสามารถทำได้หลากหลายและซับซ้อนมากขึ้นเมื่อเทียบกับไมโครคอนโทรลเลอร์ในระดับ 8 บิตที่นิยมใช้กันทั่วไป
ภาพรวมของการประยุกต์ใช้งาน 186CC Board จะเห็นว่า 186CC Board สามารถนำไปประยุกต์ใช้งานในด้านต่างๆ โดยสรุปดังนี้
* Robotics ปัญหาหนึ่งที่ทำให้การพัฒนาขีดความสามารถของหุ่นยนต์ เกิดจากขีดความสามารถที่จำกัดของไมโครคอนโทรลเลอร์ที่ใช้เป็นตัวประมวลผลหลักของตัวหุ่นยนต์ ทั้งในด้านของความเร็วและขนาดของหน่วยความจำ จากการที่ 186CC Board ใช้ไมโครคอนโทรลเลอร์ในระดับที่สูงขึ้น ทำให้ผู้พัฒนาสามารถพัฒนาซอฟต์แวร์ที่มีความซับซ้อนมากขึ้น เนื่องจากจำนวนหน่วยความจำที่เพิ่มมากขึ้น และขีดความสามารถที่สูงขึ้นของตัวประมวลผล ตลอดจนสามารถสร้างฮาร์ดแวร์มาเชื่อมต่อได้โดยง่าย
* Industrial Automation อุปกรณ์ควบคุมในโรงงาน โดยส่วนใหญ่จำเป็นต้องใช้ไมโครคอนโทรลเลอร์เป็นตัวควบคุมการทำงาน โดยอาจจะทำหน้าที่เฝ้าดูสถานะหรือควบคุมระยะไกล
* Communication Device ปัจจุบันอุปกรณ์คอมพิวเตอร์หรืออิเล็กทรอนิกส์ส่วนใหญ่จะมีความสามารถในการสื่อสาร ไม่ว่าจะเป็นการสื่อสารผ่านเครือข่ายอินเทอร์เน็ต หรือการสื่อสารระหว่างอุปกรณ์ (เช่น Bluetooth) ต่างจำเป็นต้องมีไมโครคอนโทรลเลอร์ที่มีความสามารถและขนาดหน่วยความจำที่สูงขึ้นในการอิมพลีเมนต์โปรโตคอลสแต็ก
* Full Speed USB Peripheral (12 Mbps) USB ถือเป็นมาตรฐานการเชื่อมต่อหนึ่งที่กำลังได้รับความนิยมมากขึ้น อุปกรณ์ต่างๆ ที่สามารถเชื่อมต่อเข้ากับคอมพิวเตอร์ ต่างหันมาใช้ USB เป็นช่องทางการเชื่อมต่อ เช่น โมเด็ม, พรินเตอร์, กล้องถ่ายรูปดิจิตอล, เครื่องเล่น MP3 เป็นต้น 186CC Board ได้เตรียมช่องทางการเชื่อมต่อกับคอมพิวเตอร์โดยผ่าน USB ไว้แล้ว ดังนั้นอุปกรณ์ต่างๆ ที่พัฒนาโดยใช้ 186CC Board จะสามารถเชื่อมต่อผ่านช่องทางนี้ได้ โดยไม่จำเป็นต้องมีวงจรเพิ่มเติม
กล่าวโดยสรุปแล้ว 186CC Board เป็นบอร์ดที่ใช้ไมโครคอนโทรลเลอร์ในระดับ 16 บิต ซึ่งมีสถาปัตยกรรมแบบ x86 ทำให้สามารถพัฒนาแอพพลิเคชันที่มีความสามารถและความซับซ้อนมากขึ้น เช่น การควบคุมหุ่นยนต์, การควบคุมแบบ Real-time ตลอดจนแอพพลิเคชันที่เกี่ยวข้องกับสื่อสาร โดยการพัฒนาจะเป็นแบบ PC Base คือ มีลักษณะการทำงานคล้ายกับ PC การเขียนโปรแกรมและทดสอบโปรแกรมต่างๆ สามารถทำได้บน PC ทำให้สามารถพัฒนาโปรแกรมได้ง่ายและรวดเร็ว
จบแล้วครับ (เฮ้อ ใช้เวลาก๊อปนานจริงๆ) สำหรับที่มจธ. ตอนนี้มีบอร์ดตัวนี้อยู่ 4 ตัวครับ 3 ตัวอยู่ที่ FIBO อีกตัวนึงอยู่ที่ผมเองครับ แหะๆ -.-'
ไว้วันหลังมีไรใหม่ๆจะเอามาให้ดูกันอีกนะครับ บ๊าย บาย
[Edited by nimrod on 11-13-2002 at 12:01 PM GMT]