ARM7-Training

ARM7 - สัปดาห์ที่ 2 เรื่อง Introduction to Embedded System

โพสต์10 เม.ย. 2553 08:41โดยวิสิทธิ์ แผ้วกระโทก   [ อัปเดต 14 พ.ย. 2553 22:35 ]

อาทิตย์นี้ ได้เรียนกับ อ.นวภัคร ช่วงเช้า อจ ก็บบรรยายเรื่องของ Embedded System ทำให้เราได้เข้าใจว่า เจ้าสมองกลฝังตัว หรือ Embedded System นี้ มันยู่กับเราทุกที่ ทุกเวลาจริงๆ ตั้งแต่ตื่นนอน จนเข้านอน และแนวโน้มของตลาด Embedded ก็กำลังเติบโตไปได้สวยทีเดียว ถ้าใครคิดจะมาเล่นทางนี้แล้วหล่ะก็ รับรอง ไม่ตกงานแน่ๆครับ  

ก้อได้แต่นั่งฟังตาค้างกันไป แต่สิ่งหนึ่งที่สำคัญและทำให้เราก้าวเข้าไปในวงการ Embedded System ก็คือ ไมโครคอนโทรลเลอร์ ซึ่งเป็นหัวใจหลักของ Embedded System เลยก็ว่าได้ โดยไมโครคอนโทรลเลอร์ที่เอามาให้เทรนนั้น เป็นไมโครคอนโทรลเลอร์ตระกูล ARM7 ของบริษัท Philips เบอร์ LPC2148 ซึ่งอยู่บนบอร์ดสำเร็จรูป JX-2148 Plus บอร์ดเรียนรู้และทดลองไมโครคอนโทรลเลอร์ 32 บิต หาซื้อได้ที่ inex.co.th ครับ  หน้าตาของบอร์ด JX-2148 Plus ก็ประมาณนี้ เป็นอบร์ดเอาไว้เรียนรู้จริงๆ เพราะเค้าต่ออุปกรณ์พ่วงไว้ให้หมดแล้ว 


เรามารู้จัก ARM กันสักหน่อย

ARM เป็นหน่อยวประมวลผลแบบ RISC (Reduce Instruction Set Computer) ถูกนำาใช้งานอยางแพร่หลายในระบบฝังตัว เนื่องจากมีข้อดีกว่า CPU พวก CISC ( Complex Instruction Set Computer) อยู่หลายประการ เช่น
  • การตอบสนองต่อการร้องขอ Interrupt ที่เร็วกว่า หน่วยประมวลผลแบบ RISC สามารถทำงานได้เร็วกว่า  ใช้จำนวนสัญญาณนาฬิกาต่อคำสั่งน้อยกว่า ซึ่งเป็นสิ่งจำเป็นในการนำไปใช้ในงาน Real time System
  • ประหยัดพลังงานมากกว่า เนื่องจาก CPU แบบ RISC มีโครงสร้างที่ซับซ้อนน้อยกว่า จึงทำให้สามามารถออกแบบให้ประหยัดพลังงงานได้ง่าย จึงนับว่าเป็นจุดเด่นของระบบฝังตัวที่จะต้องทำงานแบบ stand alone โดยใช้พลังงานให้น้อยที่สุด
  • อ่านเขียน หน่วยความจำใช้เวลาน้อยกว่า เนื่องจาก CPU แบบ RISC มีจำนวน Register ภายในค่อนข้างมาก เพระาฉะนั้น ในการอ่านหรือเขียน หน่วยความจำ ย่อยสามารถทำได้ครั้งละมากๆ ใน 1 คำสั่ง จึงช่วยประหยัดเวลา อ่านและเขียนหน่วยความจำเป็นอย่างมาก
CPU ARM นั้นมีหลายตระกูล ในแต่ละรุ่น หรือแต่ละตระกูลล้วนมีความสามารถที่แตกต่างกันออกไปดังนี้
  • ARM7 - คือ โปรเซสเซอร์ขนาด 32 บิต ทำงานได้รวดเร็วมาก และประหยัดพลังงาน
  • ARM7TDMI - คือ โปรเซสเซอร์แบบ ARM7 ที่ไ้ด้รับการปรับปรุงแบบ Thumb ซึ่งเป็นการลดขนาดคำสั่งจากเดิม 32 บิต ลงเหลือ 16 บิต แต่ยังคงประมวลผลภายในแบบ 32 บิต เช่นเดิม ทำให้หน่วยความจำที่ใช้เก็บโปรแกรม(โค๊ดที่เราเขียน) มีขนาดเล็กลง ในขณะที่ประสิทธิภาพในการทำงานยังคงมีประสิทธิภาพเท่าเดิม
  • ARM8 - คือ โปรเซสเซอร์ที่พัฒนามาจาก ARM7 เพื่อให้สามารถทำงานได้เร็วกว่าเดิมเป็น 2 เท่า
  • ARM9TDMI คือ โปรเซสเซอร์แบบ ARM7TDMI ซึ่งถูกพัฒนาให้สามารถทำงานได้เร็วขึ้นเป็น 2 เท่า พร้อมกับเพิ่ม 5-Stage Pipeline เข้าไปด้วย

ARM7 - สัปดาห์ที่1 เรื่อง Basic Electronics and Application

โพสต์10 เม.ย. 2553 08:29โดยวิสิทธิ์ แผ้วกระโทก   [ อัปเดต 12 เม.ย. 2553 10:08 ]

สัปดาห์แรกของการ train ก็เหมือนกับที่อื่น ทั่วไป คือจะต้องมีการปูพื้นฐาน รื้อฟื้น ความรู้กันซะก่อน ในอาทิตย์แรกนี้ เราก็ได้เรียนรู้ถึง Basic Electronics ไม่ว่าจะเป็นอุปกรณ์พวก Active Device พวกทรานซิสเตอร์ SCR Triac แล้วก้ได้คำนวณหาค่า R ที่จะมาต่อร่วมกับทรานซิสเตอร์ เพื่อให้มันสามารถทำงานได้อย่างเหมาะสม นอกจากนี้ ยังได้ทดลองใช้โปรแกรมในการจำลองการทำงานของวงจรด้วย ซึ่งมาแนะนำด้วยกัน 2 โปรแกรม สำหรับอาทิตย์นี้ ได้แก่ โปรแกรม Orcad16 และโปรแกรม Circuit Wizard 

โดยส่วนตัวแล้ว ผมมองว่า ถ้าเป็นวงจรที่เราต้องการวิเคราะห์อย่างละเอียดแล้ว ต้องใช้โปรแกรม Orcad16 ซึ่งมันมีกราฟให้เราวิเคราะห์ได้อย่างดีทีเดียว  แต่ถ้าจะทดลองวงจรอย่างรวดเร็ว หรือทดลองวงจรดิจิตอล เพื่อดูสถานะการทำงานแล้วหล่ะก็ ผมว่า Circuit Wizard ทำงานได้อย่างถูกใจมากเลย แม้ว่าอุปกรณ์ที่ให้มาจะไม่มากมายก็ตาม แต่ก็พอทำให้เราได้คอนเซ็ปต์บ้าง 

รูปตัวอย่างโปรแกรม Circuit Wizard 







1-2 of 2