ซอฟต์แวร์จำลอง
การจำลองเป็นกระบวนการออกแบบแบบจำลองของระบบจริงและดำเนินการทดลองกับแบบจำลองเพื่อวัตถุประสงค์ในการทำความเข้าใจพฤติกรรมของระบบหรือประเมินขั้นตอนต่างๆเพื่อให้การทำงานของระบบบรรลุผล
การจำลองสิ่งแรกต้องมีการพัฒนาแบบจำลองโมเดลนี้แสดงถึงพฤติกรรม / หน้าที่ของระบบทางกายภาพที่เลือก
การจำลองถูกนำมาใช้ในหลายบริบทเช่นการจำลองเทคโนโลยีเพื่อการเพิ่มประสิทธิภาพการทดสอบการฝึกอบรมและการศึกษา และบ่อยครั้งที่มีการใช้การทดลองคอมพิวเตอร์เพื่อศึกษาแบบจำลอง กระบวนการจำลองใช้สำหรับทดสอบวงจรที่ออกแบบอย่างถาวรเนื่องจากการเปลี่ยนฮาร์ดแวร์ทำได้ยากมากเมื่อวงจรทำงานไม่ถูกต้อง
การจำลองเป็นกระบวนการทดสอบการออกแบบโดยใช้อินพุตกับวงจรและดูหรือสังเกตพฤติกรรมของมัน เอาต์พุตของการจำลองคือชุดของรูปคลื่นที่แสดงว่าวงจรทำงานอย่างไรตามลำดับอินพุตที่กำหนด
โดยทั่วไปการจำลองเป็นสองประเภท: การจำลองการทำงานและการจำลองเวลา การจำลองการทำงานจะทดสอบการทำงานเชิงตรรกะของวงจรโดยไม่อธิบายถึงการเบี่ยงเบนในวงจร การจำลองการทำงานนั้นรวดเร็วและเป็นประโยชน์สำหรับการตรวจสอบเอฟเฟกต์หลักของวงจรที่ออกแบบ
การจำลองเวลามีความสมเหตุสมผลมากกว่าการจำลองการทำงาน ในกระบวนการจำลองนี้ส่วนประกอบลอจิกและสายไฟจะย้อนกลับไปเพื่อตอบสนองต่ออินพุต และเพื่อทดสอบการทำงานเชิงตรรกะของวงจรจะระบุเวลาของสัญญาณในวงจรและต้องใช้เวลามากขึ้นในการดำเนินการ
มีเทคนิคการจำลองมากมายในการทดสอบวงจรในบทความนี้เราจะมาดูเกี่ยวกับการจำลองโดยใช้ PROTEUS
PROTEUS เป็นหนึ่งในซอฟต์แวร์ออกแบบ PCB ที่มีชื่อเสียงที่สุด มันรวมเข้ากับการจำลองและความสามารถในการจำลอง SPICE ขั้นพื้นฐานเพื่อสร้างระบบการออกแบบอิเล็กทรอนิกส์ที่สมบูรณ์ ช่วยลดเวลาในการพัฒนาเมื่อเปรียบเทียบกับกระบวนการออกแบบแบบฝังอื่น ๆ ลองดูตัวอย่างการใช้ซอฟต์แวร์ PROTEUS สำหรับการจำลอง
ขั้นตอนต่อไปนี้เกี่ยวข้องกับกระบวนการจำลองโดยใช้ PROTEUS:
ขั้นตอนที่ 1: ในขั้นตอนที่ 1 เลือกอุปกรณ์จากแถบแสดงผลโดยพิมพ์ชื่ออุปกรณ์ (เช่นประตูลอจิกสวิตช์และอุปกรณ์อิเล็กทรอนิกส์พื้นฐาน)
ขั้นตอนที่ 2: การวางส่วนประกอบ
ขั้นตอนที่ 3: สถานที่<>บนพื้นที่วาดภาพและคลิกขวาที่ตัวต้านทานและเลือก<>
ขั้นตอนที่ 4: การอ้างอิงส่วนประกอบ: สิ่งนี้ถูกกำหนดโดยอัตโนมัติ
ค่าส่วนประกอบ: แก้ไขได้
ขั้นตอนที่ 5: การเลือกแหล่งที่มา
ขั้นตอนที่ 6: วางแหล่งจ่ายแรงดันไฟฟ้า (VSOURCE) ในพื้นที่วาดภาพ จากนั้นคลิกขวาที่ VSOURCE เลือก<>แล้ว<>
ขั้นตอนที่ 7: การเชื่อมต่อสายคลิกที่เราเตอร์อัตโนมัติแบบต่อสายและเชื่อมต่อเทอร์มินัลส่วนประกอบตามที่โทโพโลยีกำหนด
ขั้นตอนที่ 8: การเพิ่มเทอร์มินัล / กราวด์: คลิกที่<>, เลือก<>และสถานที่<>ในพื้นที่วาดภาพ
ขั้นตอนที่ 9: เอาต์พุตอาจเป็นแรงดัน / กระแสขององค์ประกอบใด ๆ ในวงจร การวัดใน PROTEUS ส่วนใหญ่เป็นหัววัดแรงดัน / กระแส หัววัดปัจจุบันควรอยู่บนสายแนวนอน
การจำลองมีสองประเภท: การจำลองแบบโต้ตอบ - ส่วนใหญ่ใช้สำหรับสัญญาณดิจิทัล การจำลองตามกราฟ - ส่วนใหญ่ใช้สำหรับสัญญาณแอนะล็อก
ขั้นตอนที่ 10: คลิกที่<>เลือก<>จากนั้นวางหน้าต่างกราฟบนพื้นที่วาด<>.
ขั้นตอนที่ 11 :
<>เวลาเริ่ม / หยุด
<>
- เลือกรูปคลื่นโพรบที่วางไว้แล้ว
- แตกต่างกัน<>สามารถเลือกมาตราส่วนแกน y ได้
จากนั้นเริ่ม<>
หัววัดแรงดันไฟฟ้าจะวัดแรงดันไฟฟ้าของโหนดที่วางไว้ ในการค้นหาแรงดันไฟฟ้าขององค์ประกอบควรสร้างแรงดันไฟฟ้าโหนดเทอร์มินัลขององค์ประกอบ การดำเนินการนี้สามารถทำได้
แผนผังแสดงการจำลอง:
แผนผังข้างต้นแบ่งออกเป็นสองส่วนชื่อโลกแห่งความจริงและการศึกษาแบบจำลอง ระบบที่อยู่ระหว่างการศึกษาและการปรับเปลี่ยนระบบอยู่ภายใต้โลกแห่งความเป็นจริงและการศึกษาระบบหมายความว่าระบบกำลังทดสอบการออกแบบฮาร์ดแวร์จำลองโดยใช้อินพุตกับวงจรและสังเกตประสิทธิภาพของมัน อีกด้านหนึ่งจะวางแบบจำลองสำหรับสร้างแบบจำลองการทดลองจำลองและหลังจากการทดลองของโมเดลจำลองจะวิเคราะห์การดำเนินการที่สมบูรณ์
ข้อดีของการจำลอง:
- ให้แนวคิดที่เหมาะสมและการใช้งานโค้ดและวงจรของเราก่อนที่จะติดตั้งฮาร์ดแวร์
- การกำหนดค่าโมเดลระบบนั้นง่ายมาก
- กระบวนการจำลองมีความปลอดภัยในการจัดการ
- กระบวนการจำลองส่วนใหญ่จะใช้เพื่อการทราบเกี่ยวกับประสิทธิภาพของระบบ
- เราสามารถศึกษาพฤติกรรมของระบบได้โดยไม่ต้องเข้าไปสร้างระบบ
- การสร้างแบบจำลองอุปกรณ์ฮาร์ดแวร์ใหม่เลย์เอาต์และพื้นที่อื่น ๆ ของระบบสามารถดำเนินการทดสอบได้โดยไม่ต้องใช้ทรัพยากรเพื่อให้บรรลุ
- ช่วยลดเวลาในการสร้างฮาร์ดแวร์และทดสอบข้อผิดพลาดของคุณโดยตรงบนฮาร์ดแวร์ คุณสามารถวิเคราะห์วงจรและโค้ดของคุณได้ทั้งบน Proteus และค้นหาข้อผิดพลาดที่พบก่อนที่จะนำไปใช้กับฮาร์ดแวร์
ข้อเสียของการจำลอง:
- กระบวนการนี้ยากที่จะแก้ไขข้อบกพร่อง
- กระบวนการนี้ค่อนข้างคุ้มทุน
- เราไม่สามารถแนะนำตัวเลขที่แน่นอนได้
ซอฟต์แวร์เข้ารหัสในตัว
ซอฟต์แวร์ KEIL:
นี้ ซอฟต์แวร์คือสภาพแวดล้อมการพัฒนาแบบบูรณาการที่ช่วยให้คุณเขียนรวบรวมและดีบักโปรแกรมฝังตัว ซอฟต์แวร์ Keil ใช้สำหรับเขียนภาษาระดับแอสเซมบลี เราสามารถดาวน์โหลดได้จากเว็บไซต์ของพวกเขา อย่างไรก็ตามขนาดของโค้ดสำหรับเวอร์ชันแชร์แวร์เหล่านี้มี จำกัด และเราต้องพิจารณาว่าแอสเซมเบลอร์ใดที่เหมาะกับแอปพลิเคชันของเรา
มันห่อหุ้มส่วนประกอบต่อไปนี้:
- ผู้จัดการโครงการ
- สร้างสิ่งอำนวยความสะดวก
- การกำหนดค่าเครื่องมือ
- บรรณาธิการ
- ดีบักเกอร์ที่ทรงพลัง
- ในการสร้าง (คอมไพล์ประกอบและเชื่อมโยง) แอปพลิเคชันใน uVision2 คุณต้อง:
- เลือกโครงการ - เปิดโครงการ (ตัวอย่างเช่น C166 ตัวอย่าง HELLO HELLO.UV2 )
- เลือกโครงการ - สร้างไฟล์เป้าหมายทั้งหมดหรือสร้างเป้าหมาย UVision2 รวบรวมประกอบและเชื่อมโยงไฟล์ในโครงการของคุณ
- การสร้างแอปพลิเคชันของตัวเอง:
- ในการสร้างโครงการใหม่คุณต้อง:
- เลือกโครงการ - โครงการใหม่
- เลือกไดเร็กทอรีและป้อนชื่อของไฟล์โครงการ
- เลือกโครงการ - เลือกอุปกรณ์และเลือกอุปกรณ์ 8051, 251 หรือ C16x / ST10 จากอุปกรณ์
- ฐานข้อมูล
- สร้างไฟล์ต้นฉบับเพื่อเพิ่มในโปรเจ็กต์
- เลือกโครงการ - เป้าหมายกลุ่มและไฟล์ เพิ่ม / ไฟล์เลือก Source Group1 และเพิ่มไฟล์ต้นฉบับลงในโปรเจ็กต์
- เลือกโครงการ - ตัวเลือกและตั้งค่าตัวเลือกเครื่องมือ หมายเหตุเมื่อคุณเลือกอุปกรณ์เป้าหมายจากฐานข้อมูลอุปกรณ์ตัวเลือกพิเศษทั้งหมดจะถูกตั้งค่าโดยอัตโนมัติ คุณต้องกำหนดค่าแผนที่หน่วยความจำของฮาร์ดแวร์เป้าหมายของคุณเท่านั้น การตั้งค่ารูปแบบหน่วยความจำเริ่มต้นนั้นเหมาะสมที่สุดสำหรับส่วนใหญ่
การใช้งาน:
- เลือกโครงการ - สร้างไฟล์เป้าหมายทั้งหมดหรือสร้างเป้าหมาย
การดีบักแอปพลิเคชัน:
ในการดีบักแอปพลิเคชันที่สร้างขึ้นคุณต้อง:
- เลือก Debug - Start / Stop Debug Session
- ใช้ปุ่มแถบเครื่องมือ Step เพื่อทำทีละขั้นตอนผ่านโปรแกรมของคุณ คุณสามารถป้อน G หลักในหน้าต่างเอาต์พุตเพื่อดำเนินการกับฟังก์ชัน C หลัก
- เปิดหน้าต่าง Serial โดยใช้ปุ่ม Serial # 1 บนแถบเครื่องมือ
- ดีบักโปรแกรมของคุณโดยใช้ตัวเลือกมาตรฐานเช่น Step, Go และ Break และอื่น ๆ
ข้อ จำกัด ของซอฟต์แวร์ยกระดับ:
ข้อ จำกัด ต่อไปนี้ใช้กับรุ่นการประเมินของห่วงโซ่เครื่องมือ C51, C251 หรือ C166 ข้อ จำกัด ของซอฟต์แวร์การประเมิน C51:
- คอมไพลเลอร์แอสเซมเบลอร์ตัวเชื่อมโยงและดีบักเกอร์ถูก จำกัด ไว้ที่ 2 Kbytes ของอ็อบเจ็กต์โค้ด แต่ซอร์สโค้ดอาจมีขนาดใดก็ได้ โปรแกรมที่สร้างรหัสออบเจ็กต์มากกว่า 2 Kbytes จะไม่คอมไพล์ประกอบหรือเชื่อมโยงโค้ดเริ่มต้นที่สร้างขึ้นรวมถึง LJMP และไม่สามารถใช้ในอุปกรณ์ชิปเดี่ยวที่รองรับพื้นที่โปรแกรมน้อยกว่า 2 Kbytes เช่น Philips 750/751/752
- ดีบักเกอร์รองรับไฟล์ที่มีขนาด 2 Kbytes และเล็กกว่า
- โปรแกรมเริ่มต้นที่ offset 0x0800 และไม่สามารถตั้งโปรแกรมลงในไฟล์ อุปกรณ์ชิปเดียว .
- ไม่มีการสนับสนุนฮาร์ดแวร์สำหรับการลงทะเบียน DPTR หลายรายการ
- ไม่มีการสนับสนุนสำหรับไลบรารีผู้ใช้หรือเลขคณิตทศนิยม
ซอฟต์แวร์ยกระดับ:
- Code-Banking Linker / Locator
- ผู้จัดการห้องสมุด
- RTX-51 Tiny Real-Time ระบบปฏิบัติการ
การจำลองอุปกรณ์ต่อพ่วง:
Keil debugger ให้การจำลองที่สมบูรณ์สำหรับ CPU และอุปกรณ์ต่อพ่วงบนชิปของอุปกรณ์ฝังตัวส่วนใหญ่ หากต้องการค้นหาว่าอุปกรณ์ต่อพ่วงใดบ้างที่รองรับใน u vision2 เลือกรายการอุปกรณ์ต่อพ่วงจำลองจากเมนูวิธีใช้ คุณยังสามารถใช้ฐานข้อมูลอุปกรณ์บนเว็บ เรากำลังเพิ่มอุปกรณ์ใหม่ ๆ และการสนับสนุนการจำลองสำหรับอุปกรณ์ต่อพ่วงบนชิปอย่างต่อเนื่องดังนั้นอย่าลืมตรวจสอบฐานข้อมูลอุปกรณ์บ่อยๆ