116
โปรแกรมนับความถี่สาหรับตรวจวัดยานพาหนะ (Frequency Counter Program for Vehicles Detection) โดย นางสาวไพลิน โตกระโทก รหัส B5103836 นางสาวพิมพิสุทธิพัฒนโสภณกุล รหัส B5115372 นางสาวภัสราภรณ์ วิจารณปัญญา รหัส B5127719 รายงานนี้เป็นส่วนหนึ่งของการศึกษารายวิชา 427499 โครงงานวิศวกรรมโทรคมนาคม หลักสูตรวิศวกรรมศาสตรบัณฑิต สาขาวิศวกรรมโทรคมนาคม หลักสูตรปรับปรุง พ.. 2546 สานักวิชาวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีสุรนารี ประจาภาคการศึกษาที3 ปีการศึกษา 2554

โปรแกรมนับความถี่สาหรับตรวจวัดยานพาหนะ (Frequency

Embed Size (px)

Citation preview

 

 

 

 

 

 

 

 

โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

(Frequency Counter Program for Vehicles Detection)

โดย

นางสาวไพลน โตกระโทก รหส B5103836 นางสาวพมพสทธ พฒนโสภณกล รหส B5115372 นางสาวภสราภรณ วจารณปญญา รหส B5127719

รายงานนเปนสวนหนงของการศกษารายวชา 427499 โครงงานวศวกรรมโทรคมนาคม หลกสตรวศวกรรมศาสตรบณฑต สาขาวศวกรรมโทรคมนาคม หลกสตรปรบปรง พ.ศ. 2546

ส านกวชาวศวกรรมศาสตร มหาวทยาลยเทคโนโลยสรนาร ประจ าภาคการศกษาท 3 ปการศกษา 2554

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

หวขอโครงงาน โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ ( Frequency Counter Program for Vehicles Detection) จดท าโดย 1. นางสาวไพลน โตกระโทก B5103836 2. นางสาวพมพสทธ พฒนโสภณกล B5115372 3. นางสาวภสราภรณ วจารณปญญา B5127719 อาจารยทปรกษา ผชวยศาสตราจารย ดร . รงสรรค ทองทา สาขาวชา วศวกรรมโทรคมนาคม ภาคการศกษาท 3/2554

บทคดยอ

หลกการตรวจวดยานพาหนะมประโยชนในการจดการกบปญหาการจราจร ทปจจบนความตองการในการใชรถใชถนนมมากขน ซงหลกของการตรวจวดยานพาหนะนสามารถพฒนาตอยอดใหเปนไฟจราจรอจฉรยะเพอควบคมระบบการจราจรใหมความเปนระเบยบและปลอดภยมากขน หลกการท างานของการตรวจวดยานพาหนะน จะประกอบไปดวยกลไกการท างานทส าคญอย 2 องคประกอบคอ โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ ( Frequency Counter Program for Vehicles Detection) ทใชในการตรวจนบความถ ซงจะท างานรวมกบวงจรก าเนดความถ ( Oscillator Circuit) เมอมคาความถเขามาโปรแกรมนบความถส าหรบตรวจวดยานพาหนะกจะท าการตรวจนบความถเพอไปค านวณหาอตราการเปลยนแปลงของความถ (Delta) แลวตดสนใจวาในลปเหนยวน านนมยานพาหนะอยหรอไม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

กตตกรรมประกาศ

คณความดอนใดทเกดจากโครงงานฉบบน ขอมอบแดครอบครวผคอยหวงใยใหโอกาส ใหก าลงใจ และใหการสนบสนนทางการศกษามาโดยตลอด

โครงงานเลมนสามารถส าเรจลลวงไปไดดวยด เนองจากไดรบความกรณาจากอาจารยทปรกษา โครงงาน ผชวยศาสตราจารย ดร.รงสรรค ทองทา ผทเปนเจาของแนวคดเรมแรกของโครงงานโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ ( Frequency Counter Program for Vehicles Detection) ตลอดจนคอยใหค าชแนะและมมมองตางๆ ในการแกปญหา และนายปญญา หนตลา ทใหความชวยเหลอในการใหแนวคด การดแลเอาใจใสตดตามงาน ชแนะขอพกพรองท ถกมองขาม ตลอดจนฝกฝนและสนบสนนใหมความสามารถในการท าโครงงานจนสามารถน าเสนอผลงานใหเปนทรจกและยอมรบได ขอขอบคณผทเกยวของอนๆดงน - ขอขอบคณอาจารยประจ าสาขาวศวกรรมโทรคมนาคมทกทาน ท อบรมสงสอนและให ความรมาโดยตลอด

- ขอขอบคณเพอนๆนกศกษาสาขาวศวกรรมโทรคมนาคมทกคนทเปนก าลงใจและให ความรวมมอกนในการท างานจนประสบความส าเรจลลวงมาไดดวยด

นางสาวไพลน โตกระโทก นางสาวพมพสทธ พฒนโสภณกล นางสาวภสราภรณ วจารณปญญา

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญ

เรอง หนา บทคดยอ ก กตตกรรมประกาศ ข สารบญ ค สารบญรป ช สารบญตาราง ฎ บทท 1 บทน า

1.1 ความเปนมา 1 1.2 หลกการและเหตผล 1 1.3 วตถประสงค 1 1.4 ขอบเขตงาน 2 1.5 การเลอกใชซอฟตแวร 2 1.6 ขนตอนการด าเนนการ 2 1.7 ผลทคาดวาจะไดรบ 2 บทท 2 ทฤษฎทเกยวของ 2.1 ไมโครคอนโทรลเลอร ARM 7 (CP–JR ARM7 USB-LPC2148) 3

2.1.1 ประวตความเปนมาของซพย ARM 3 2.1.2 สถาปตยกรรมซพย ARM 7 4 2.1.3 ไมโครคอนโทรลเลอร ARM 7 Phillips LPC2148 6

2.1.4 บลอกไดอะแกรมของ LPC 2148 8 2.1.5 การจดหนวยความจ าของ LPC2148 9 2.1.6 การจดขาของ LPC2148 12

2.1.7 แผงวงจร LPC2148 13

2.1.8 การก าหนดคาเรมตนใหกบไมโครคอนโทรลเลอร ARM7 15

2.1.9 การทดลองตอ GPIO เปนเอาตพต 15

2.1.10 การก าหนดหนาทการท างานของ Port 15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญ ( ตอ )

เรอง หนา 2.1.11 การก าหนดคาควบคมการท างานของพอรตอเนกประสงค (GPIO) 19 2.1.12 การทดลองตอ GPIO เปนอนพต และการรบอนเตอรรปตจากภายนอก 21

2.2 การตรวจวดยานพาหนะ 30 2.2.1 พฒนาการของเทคโนโลยตรวจวดการจราจร 30 2.2.2 เทคโนโลยตรวจวดการจราจรในปจจบน 32

2.3 วธการนบความถ 45

บทท 3 การออกแบบโครงงาน 3.1 การออกแบบการท างานของการตรวจวดยานพาหนะ 47 3.2 การออกแบบโปรแกรมนบความถส าหรบการตรวจวดยานพาหนะ 47 3.3 อธบาย Flow Chart การท างานหลกของโปรแกรมนบความถ 48 ส าหรบตรวจวดยานพาหนะ 3.4 อธบาย Flow Chart การท างานของฟงกชน Update Frequency 48 3.5 Flow Chart การท างานหลกโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 50 3.6 Flow Chart Function Update Frequency 51 บทท 4 การทดสอบ 4.1 เงอนไขในการทดสอบ 52 4.2 ตวตรวจวดยานพาหนะ 56 4.3 ผลการทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 59 4.3.1 ทดสอบตรวจวดยานพาหนะประเภท 59 รถยนตสวนบคคลท ความถ 48 kHz 4.3.2 ทดสอบตรวจวดยานพาหนะประเภท 60 รถจกรยานยนตทความถ 48 kHz 4.3.3 ทดสอบตรวจวดยานพาหนะประเภท 61 รถยนตสวนบคคลท ความถ 34 kHz 4.3.4 ทดสอบตรวจวดยานพาหนะประเภทรถ 62 จกรยานยนตทความถ 34 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญ ( ตอ )

เรอง หนา 4.3.5 ทดสอบตรวจวดยานพาหนะประเภท 63 รถยนตสวนบคคลท ความถ 26 kHz 4.3.6 ทดสอบตรวจวดยานพาหนะประเภท 64 รถจกรยานยนตทความถ 26 kHz 4.3.7 ทดสอบตรวจวดยานพาหนะประเภท 65 รถยนตสวนบคคลท ความถ 22 kHz 4.3.8 ทดสอบตรวจวดยานพาหนะประเภท 66 รถจกรยานยนตทความถ 22 kHz 4.4 การทดสอบโปรแกรมนบความถส าหรบ 67 ตรวจวดยานพาหนะ กบเครองมอวดในหองปฏบตการ 4.4.1 การทดสอบโปรแกรมนบความถส าหรบ 68 ตรวจวดยานพาหนะ ทความถ 50 kHz 4.4.2 การทดสอบโปรแกรมนบความถส าหรบ 70 ตรวจวดยานพาหนะ ทความถ 30 kHz

4.5 การทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 72 กบความถทสรางมาจากวงจรก าเนดความถ 4.5.1 ทดสอบทความถ 25 kHz 72

4.5.2 ทดสอบทความถ 18 kHz 73 4.5.3 ทดสอบทความถ 14 kHz 74 4.5.4 ทดสอบทความถ 12 kHz 75 บทท 5 สรปผลการทดลองและขอเสนอแนะ 5.1 สรปผลการทดลอง 77 5.2 ปญหาและอปสรรค 78 5.3 สงทไดรบจากการท าโครงงาน 78 เอกสารอางอง 79 ประวตผจดท า 80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญ ( ตอ )

เรอง หนา ภาคผนวก (ก) การใชงานโปรแกรม 82 1. การใชงานโปรแกรม Keil uVision 3 82 2. การใชงานโปรแกรม Hyper Terminal 87 3. การ Capture ของโปรแกรม Hyper Terminal 90 ภาคผนวก (ข) โคดการท างานของโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 95

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญภาพ

รป หนา รปท 2.1 แกนกลางของซพย ARM7 5 รปท 2.2 บลอกไดอะแกรมของไมโครคอนโทรลเลอร LPC2148 8 รปท 2.3 การจดหนวยความจ าของ LPC2148 10 รปท 2.4 ต าแหนงแอดเดรสของอปกรณเสรมทตอกบ VPB บส 11 รปท 2.5 แสดงการจดขาของ LPC2148 12 รปท 2.6 ผงวงจรของบอรด LPC2148 14 รปท 2.7 การตรวจวดยานพาหนะโดยใช Micro Phone 30 รปท 2.8 การตรวจวดยานพาหนะโดยการกดทบของแผนเหลก 30 รปท 2.9 การตรวจวดยานพาหนะโดยอาศยเสยง 31 รปท 2.10 ปญหาของการตรวจวดยานพาหนะ 31 รปท 2.11 การตรวจวดยานพาหนะโดยใชทอลม 33 รปท 2.12 การตรวจวดยานพาหนะโดยใช Inductive Loop 33 รปท 2.13 Inductive Loop บนถนน 34 รปท 2.14 การตดตง Magnetic sensors 36 รปท 2.15 การตรวจวดยานพาหนะโดยใช Video Image Processors 37 รปท 2.16 คลนแมเหลกไฟฟาทความถตางๆ 38 รปท 2.17 การตรวจวดยานพาหนะโดย Microwave radar sensors 39 รปท 2.18 การตรวจวดยานพาหนะโดยใช Active Infrared Sensors 40 รปท 2.19 เครองตววดจราจรแบบ Active Infrared Sensors 40 รปท 2.20 การตรวจวดยานพาหนะโดยใช Passive infrared sensors 42 รปท 2.21 การตรวจวดยานพาหนะโดยใช Ultrasonic sensors 43 รปท 2.22 การตรวจวดยานพาหนะโดยใช Passive acoustic sensors 44 รปท 2.23 วธการนบสญญาณทเปนรายคาบ 45 รปท 2.24 วธการนบสญญาณในชวงเวลา 45 รปท 2.25 สญญาณพลสทเขามา Logic1 และ Logic0 46 รปท 2.26 สญญาณ Pulse ทจบไดในชวงเวลา 100 ms 46

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญภาพ (ตอ)

รป หนารปท 3.1 วงจรก าเนดความถสรางความถใหไมโครคอนโทรลเลอร 47 รปท 3.2 Flow Chart แสดงการท างานของโปรแกรมหลก 50 รปท 3.3 Flow Chart แสดงการท างานของ Function Update Frequency 51 รปท 4.1 บอรด CP-JR ARM7 USB-LPC2148 52 รปท 4.2 การท างานรวมกนระหวางบอรดก าเนดความถและบอรดไมโครคอนโทรลเลอร 53 รปท 4.3 แยกการจราจรทใชทดสอบ (1) 54 รปท 4.4 แยกการจราจรทใชทดสอบ (2) 54 รปท 4.5 ตควบคมสญญาณไฟจราจรทตดตงตรงบรเวณแยกการจราจร 55 รปท 4.6 ลปเหนยวน าทตดตงทพนถนน 55 รปท 4.7 Dip Switch ส าหรบเลอกความถของตวตรวจวดยานพาหนะ 56 รปท 4.8 Dip Switch ส าหรบเลอกความไวของตวตรวจวดยานพาหนะ 57 รปท 4.9 ลกษณะยานพาหนะขนาดเลกอยบนลปเหนยวน า 58 รปท 4.10 ลกษณะยานพาหนะประเภทรถยนตสวนบคคลอยบนลปเหนยวน า 58 รปท 4.11 ความถ 48 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า 59 รปท 4.12 อตราการเปลยนแปลงความถท 48 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า 59 รปท 4.13 ความถ 48 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า 60 รปท 4.14 อตราการเปลยนแปลงความถท 48 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า 60 รปท 4.15 ความถ 34 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า 61 รปท 4.16 อตราการเปลยนแปลงความถท 34 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า 61 รปท 4.17 ความถ 34 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า 62 รปท 4.18 อตราการเปลยนแปลงความถท 34 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า 62 รปท 4.19 ความถ 26 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า 63 รปท 4.20 อตราการเปลยนแปลงความถท 26 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า 63 รปท 4.21 ความถ 26 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า 64 รปท 4.22 อตราการเปลยนแปลงความถท 26 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า 64 รปท 4.23 ความถ 22 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า 65 รปท 4.24 อตราการเปลยนแปลงความถท 22 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า 65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญภาพ (ตอ)

รป หนา รปท 4.25 ความถ 22 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า 66 รปท 4.26 อตราการเปลยนแปลงความถท 22 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า 66 รปท 4.27 อปกรณการทดสอบโปรแกรมนบความถ 67 ส าหรบตรวจวดยานพาหนะในหองปฏบตการ รปท 4.28 เครอง Multi Function Generator สรางความถท 50 kHz 68 รปท 4.29 เครอง Universal Counter อานความถไดท 50 kHz 68 รปท 4.30 Oscilloscope วดความถได 50 kHz 69 รปท 4.31 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 69 อานความถทสรางมาจากเครอง Multi Function Generator ท 50 kHz รปท 4.32 เครอง Multi Function Generator สรางความถท 30 kHz 70 รปท 4.33 เครอง Universal Counter อานความถไดท 30 kHz 70 รปท 4.34 Oscilloscope วดความถได 30 kHz 71 รปท 4.35 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 71 อานความถทสรางมาจากเครอง Multi Function Generator ท 30 kHz รปท 4.36 เครอง Universal Counter อานความถได 25 kHz 72 รปท 4.37 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 72 อานความถทสรางมาจากเครอง Multi Function Generator ท 25 kHz รปท 4.38 เครอง Universal Counter อานความถได 18 kHz 73 รปท 4.39 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 73 อานความถทสรางมาจากเครอง Multi Function Generator ท 18 kHz รปท 4.40 เครอง Universal Counter อานความถได 14 kHz 74 รปท 4.41 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 74 อานความถทสรางมาจากเครอง Multi Function Generator ท 14 kHz รปท 4.42 เครอง Universal Counter อานความถได 12 kHz 75 รปท 4.43 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ 75 อานความถทสรางมาจากเครอง Multi Function Generator ท 12 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญภาพ (ตอ)

รป หนา รปท 1. หนาตางเรมตนของโปรแกรม Keil uVision 3 82 รปท 2. เรมตนของการเขยน Source Code 83 รปท 3. หนาตางส าหรบพมพ Source Code ภาษาซลงในโปรแกรม Keil uVision3 84 รปท 4. การ Save ไฟลโดยก าหนดนามสกลเปน “.C” 85 รปท 5. หนาตางของโปรแกรม Keil uVision3 เมอท าการ Save 85 รปท 6. ผลการรนโปรแกรม 86 รปท 7. หนาตางเรมตนการท างานของโปรแกรม Hyper Terminal 87 รปท 8. การเลอก Comport ใชงาน 87 รปท 9. ท าการตงคาท COM5 ใหเปนคาเรมตน 88 รปท 10. หนาตางแสดงภายหลงการตงคาเรมตนของ COM5 88 รปท 11. โปรแกรม Hyper Terminal ท าการรนคาความถ 89 รปท 12. เรมท าการ Capture คาความถ 90 รปท 13. ท าการเลอก Folder ทเราตองการจะเกบงาน 91 รปท 14. การตงชองาน 91 รปท 15. หนาตางแสดงการหยด Capture คาความถ 92 รปท 16. หนาตางแสดงคาความถทถก Captureไว 93

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

สารบญตาราง

ตาราง หนา ตารางท 2.1 รจสเตอร PINSEL0,PINSEL1และ PINSEL2 16 ตารางท 2.2 คาประจ าบตของรจสเตอร PINSEL0 16 ตารางท 2.3 คาประจ าบตรจสเตอร PINSEL1 18 ตารางท 2.4 ชอและแอดเดรสของรจสเตอรทใชควบคม GPIO 19 ตารางท 2.5 แหลงก าหนดอนเตอรรปตทง 32 ตว 21 ตารางท 2.6 รจสเตอรทเกยวกบอนเตอรรปต 23 ตารางท 2.7 คาประจ าบตของรจสเตอร EXTINT 27 ตารางท 2.8 คาประจ าบตของรจสเตอร EXTMODE 29 ตารางท 4.1 ความถของตวตรวจวดยานพาหนะ 56 ตารางท 4.2 ความไวส าหรบตรวจวดยานพาหนะ 57

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

บทท 1

บทน า

1.1 ความเปนมา

ในปจจบนมความตองการในการใชรถใชถนนกนมากขน จงกอใหเกดปญหาในเรองของ

การจราจรทคบคงซงเสยงตอการเกดอบตเหตไดงาย การควบคมระบบไฟจราจรนบเปนอกหนงวธ

ทจะจดการกบปญหาดงกลาว ซงในการควบคมระบบไฟจราจรจะตองมกลไกการท างานทส าคญ

คอกระบวนการของ การตรวจวดยานพาหนะ เครองตรวจวดยานพาหนะนเมอท าส าเรจขนมา

สามารถน า ไปเชอมโยงขอมลเขาในโปรแกรมสญญาณจราจรอจฉรยะเพอแกปญญาการจราจร

ตดขดไดในรปแบบตางๆ ทผใชตองการอกดวย

1.2 หลกการและเหตผล

โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ ( Frequency Counter Program for

Vehicles Detection) จะใชอตราการเปลยนแปลงความถในการตรวจวดยานพาหนะ โดยการท างาน

ของโปรแกรมจะท างานรวมกบวงจรก าเนดความถ ( Oscillator Circuit) เมออตราการเปลยนแปลง

ความถมคามากกวาคาของ Sensitivity ทก าหนดไว โปรแกรมจะท าการตดสนใจวาพบรถยนตเขา

มาอยในลปเหนยวน า ซงหลกการนสามารถพฒนาตอยอดเพอเปนแนวทางในการสรางระบบ

ควบคมสญญาณไฟจราจรได

1.3 วตถประสงค

1. เพอศกษากลไกการท างานของลปทใชเปนตวตรวจวดและศกษาการใชงานรวมกน

ระหวาง ลปเหนยวน า,วงจรวงจรก าเนดความถและโปรแกรมนบความถส าหรบตรวจวด

ยานพาหนะ

2. เพอศกษาเปนแนวทางในการพฒนาเครองมอวดทางดานการจราจร

3. เพอพฒนาตอยอดในการแกไขปญหาจราจร

4. เพอศกษาและออกแบบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

5. เพอศกษาโปรแกรมควบคมและการประยกตใชงานไมโครคอนโทรลเลอร

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

1.4 ขอบเขตงาน

1. โปรแกรมนบความถส าหรบตรวจวดยานพาหนะสามารถอานความถทตรวจวดได

2. โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ สามารถหาคาอตราการเปลยนแปลง

ความถแลวท าการตดสนใจวาในลปเหนยวน ามรถอยหรอไม

1.5 การเลอกใชซอฟตแวร

ซอฟตแวรทใชในโครงงานน ผจดท าไดเลอกใชภาษาซในการควบคมสงงา น

ไมโครคอนโทรลเลอร เนอง จากภาษาซเปนภาษาโครงสรางงายตอการท าความเขาใจ สามารถ

ปรบปรงพฒนาตอได นอกจากนนภาษาซยงเปนภาษามาตรฐานไมขนกบฮารดแวร

(ไมโครคอนโทรลเลอร ) มความยดหยนในการน าไปใชงานรวมกบไมโครคอนโทรลเลอรตระกล

อนไดงาย

1.6 ขนตอนการด าเนนการ

1. ปรกษาอาจารยทปรกษาโครงงานเกยวกบขอบเขตของโครงงานทจะท า

2. ศกษาขอมลเกยวกบอปกรณบอรด CP-JRARM7 USB-LPC2148

3. สงซออปกรณทเกยวของในการท าโครงงาน

4. ฝกการใชโปรแกรมในการเขยนค าสงควบคมไมโครคอนโทรลเลอร

5. เขยนโปรแกรมเพอสงการใหไมโครคอนโทรเลอรท างานตามวตถประสงค

6. ทดลองใชงานและแกไขสงทผดพลาด

7. จดท ารปเลมรายงานของโครงงานเพอเสนออาจารยประจ าสาขาวชา

1.7 ผลทคาดวาจะไดรบ

1.ไดเรยนรและเขาใจหลกการท างานของโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

2.ไดเรยนรการเขยนโปรแกรมควบคมและการประยกตใชงานไมโครคอนโทรลเลอร

3. สามารถน าความรทไดทางทฤษฎมาประยกตใชในทางปฏบต

4.ไดเรยนรวธหาความรไดดวยตวเองเพอน ามาปฏบตและประยกตใชงานจรง

5. มทกษะในการใชงานอปกรณวดในหองปฏบตการมากขน

6. สามารถเรยนรการท างานและการแลกเปลยนความรกบบคคลอน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

ระหวางบรษท Apple Computer , Acorn Computer Group และ VLSI Technology โดยบรษท

Apple และ VLSI Technology เปนผลงทน โดยบรษท Acorn เปนผอนญาตใหใชเทคโนโลย

และโอนทมวศวการผออกแบบจ านวน 12 คน

ซพย ARM รนแรกทออกจ าหนายในป 1991 เปนซพยตระกล ARM6 จดวาเปนซพย

RISC 32 บตแบบฝงตว ( Embedded RISC) ตวแรกของโลก นบเปนการสรางมาตรฐานใหม

ใหกบวงการซพย 32 บต หลงจากนนกมบรษทผผลตซพยไมโครโปรเซสเซอรและ

ไมโครคอนโทรลเลอรทวโลกอนๆเขารวมผลตซพยตระกล ARM ในปจจบนมซพย ARM ตางๆ

ดงน ARM 7 , ARM 9 , ARM 9E , ARM 10 และ ARM 11

ในยคแรกซพย ARM เปนซพย RISC 32 บต การท างานจ าเปนตองตอกบหนวยความจ า

และอปกรณภายนอกเมอมบรษทผผลตไมโครคอนโทรลเลอรจ านวนมากไดน าลขสทธของซพย

ARM ไปพฒนาตอได มการเพมหนวยความจ าภายในทง ROM และ RAM และเพมโมดล

อปกรณเสรมตางๆ เชน วงจรสอสารแบบอนกรม วงจรแปลงดจตอลเปนแอนาลอก เปนตน ท า

ใหกลายเปนไมโครคอนโทรลเลอรแบบ 32 บต ทกนพลงงานต าสามารถท างานไดโดยใชชปไอซ

เพยงตวเดยวโดยไมตองตออปกรณเพมเตมภายนอก ท าใหมการน าไปใชในงานคอมพวเตอรฝงตว

(Embedded Computer) มากขน

2.1.2 สถาปตยกรรมซพย ARM 7

สถาปตยกรรมของ ARM7 เปนซพยแบบ RISC ขนาด 32 บต ภายในมบสขนาด 32 บตตว

เดยวทใชส าหรบรบสงขอมลและค าสง ชดค าสงจะมขนาด 32 บตคงท ในขณะทขอมลสามารถ

เลอกไดวาจะมขนาด 8 , 16 หรอ 32 บต โดยแสดงแกนกลาง (Core) ของซพย ARM 7 ไดดงรป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

รปท 2.1 แกนกลางของซพย ARM 7

โครงสรางของ ARM 7 จะเปนแบบทเรยบงาย มชดค าสงไมมากนก ประหยดพนทสาร

กงตวน าทใชสรางอกทงยงประหยดพลงงานอกดวย

สถาปตยกรรมของ ARM 7 จะเปนแบบ Load-and–store ในการประมวลผลขอมลใดๆตอง

กระท าผานทางรจสเตอร เรมตนดวยการโหลดคาจากหนวยความจ าเกบในรจสเตอร น าคามา

ประมวลผล เสรจแลวจะเขยนคาเกบในหนวยความจ าดงเดม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

รจสเตอรของ ARM 7 ทใชงานไดส าหรบผใชมทงหมด 16 ตว คอ R0–R15 โดยทกตวม

ขนาด 32 บต โดย R0–R12 เปนรจสเตอรทวไปทไมไดก าหนดหนาทการท างานพเศษ สวน R12

ท าหนาทเปน Stack Pointer (SP) R14 ท าหนาทเปน Link Register ( LR ) และ R15 ท าหนาท

เปน Program Counter (PC)

2.1.3 ไมโครคอนโทรลเลอร ARM 7 Phillips LPC2148

บรษท Philips ไดซอลขสทธเพอผลตซพยตระกล ARM 7 โดยไดน ามาพฒนาเพม

หนวยความจ าภายใน และเพมโมดลอปกรณตางๆ จ านวนมากทจ าเปนตอการใชงานท าให

กลายเปนไมโครคอนโทรลเลอรทสามารถท างานไดดวยตนเอง โดยไมตองใชอปกรณอนๆ เพม

โดยตงชอเปนตระกล LPC ซงในทนใชเปน LPC2148 ซงสรปความสามารถไดดงน

ไมโครคอนโทรลเลอรขนาด 16/32 บต ARM 7 TDMI-S ในตวถง LQFP 64 ขา

หนวยความจ า Static RAM ขนาด 8 kb–40 kb โดย LPC2148 มขนาด 40 kb

หนวยความจ า Flash Program Memory ขนาด 32 kb–512 kb อยภายในชปทสามารถลบ /

เขยนซ าไดถง 10,000 ครง ถาเปน LPC 2148 มขนาด 512 kb

โปรแกรมชปไดทนทผาน In-System Programming (ISP) และ In-Application Programming

(IAP) โดยใชซอฟแวร Boot-loader ทอยภายในชป

ตวควบคมอปกรณ USB 2.0 Full-speed โดยมแรมส าหรบ end is point ขนาด 2 kb ถาเปน

LPC2148 จะม RAM 8 kb ส าหรบการตดตอแบบ DMA

วงจรแปลงแอนาลอกเปนดจตอลความละเอยด 10 บต จ านวน 2 ชด ทรบอนพตไดถง 14

อนพต โดยมเวลาในการแปลงคาต าถง 2.44 us

วงจรแปลงดจตอลเปนแอนาลอกความละเอยด 10 บต 1ตว

วงจรไทเมอรขนาด 32 บต 2 ชด (ม 4 capture และ 4 compare channel)

PWM (Pulse Width Modulation) 6 เอาตพต

โมดลนาฬกาเวลาจรง (Real Time Clock) ทสามารถตอกบครสตลความถ 32 kHz และ

แบตเตอรภายนอกได และวอชดอกซ (Watchdog)

วงจรสอสารอนกรม UART (16C550) จ านวน 2 ชด

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

วงจรสอสารอนกรม I2 C ความเรวสง (400 kbits/s)

วงจรสอสารอนกรม SPI และ SSP

มวงจร Phase Lock Loop ภายในเพอคณคาใหสญญาณนาฬกาภายในท างานทความถสงสดถง

60 MHz

Vectored Interrupt Controller ทสามารถก าหนดล าดบความส าคญและก าหนดแอดเดรสของ

เวกเตอรได

ใชกบแหลงจายไฟชดเดยวขนาด 3.0 V ถง 3.6 V

ม I/O pin เอนกประสงคทสามารถใชกบระดบแรงดน 5 V ไดสงสด 45 ขา โดยสามารถ

จดเปนขาอนเตอรรปตจากภายนอกไดสงสด 21 ขา

มโหมดประหยดพลงงาน 2 โหมด ไดแก Idle และ Power–down

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

2.1.4 บลอกไดอะแกรมของ LPC2148

รปท 2.2 บลอกไดอะแกรมของไมโครคอนโทรลเลอร LPC2148

จากรปสวนบนเปนไมโครโปรเซสเซอร ARM 7 TDMI-S ซงเปนหวใจหลกดานซายมอท

เปนสวนของ AMR7 Local Bus ทใชในการตดตอกบหนวยความจ าแบบ Flash ทใชเกบโปรแกรม

และหนวยความจ า SRAM ทใชเกบขอมล สวนทใชในการตดตอกบหนวยความจ าภายนอกมการ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

ตดตอผานบส AMBA AHB (Advanced High-performance Bus) ซงใน LCP2148 ไมสามารถตอ

กบหนวยความจ าภายนอกได

ในการตดตอกบอปกรณรอบขางเชน GPIO , I2C , SPI , UART เปนตน จะตดตอผานทาง

บส VPB (VLSI peripheral BUS) ซง VPB บสนตอกบ AHB บสผาน AHB to VPB Bridge โดย

สามารถปรบลดคาความถของ VPB บสใหท างานชากวาความถของซพยไดเพอใหท างานรวมกบ

อปกรณเสรมตางๆทมความเรวต ากวาได

2.1.5 การจดหนวยความจ าของ LPC2148

เนองจาก ARM7 เปนซพยขนาด 32 บต ทมขาแอดเดรสตอกบหนวยความจ าจ านวน 32

เสน ท าใหสามารถอางหนวยความจ าไดถง 4 GB (232 = 4 GB) ตวแกนหลกของ ARM7 DMI จะม

สถาปตยกรรมแบบ Von Neumann ทใชบสขนาด 32 บตชดเดยวกนส าหรบตวค าสงของโปรแกรม

และขอมลโดยมค าสง load , store และ swap เทานนทใชในการเรยกขอมลทเกบในหนวยความจ า

การตดตอกบพอรตอนพตหรอเอาตพตกจะใชค าสงเดยวกนกบการใชค าสงจดการเกยวกบ

หนวยความจ า ในไมโครคอนโทรลเลอร LPC2148 ไดจดสรรหนวยความจ าโดยรวมดงรปท 2.3

เมอซพยถกรเซตจะเรมตนท างานทหนวยความจ า 0x000 0000

จากหนวยความจ าทงหมด 4 GB ไดแบงออกเปน 4 สวน โดยใน 1 GB แรก (แอดเดรส

0x0000 0000 – 0x3FFF FFFF) จดเปนสวนของหนวยความจ าส าหรบเกบโปรแกรม ซงกรณของ

LPC2148 กคอหนวยความจ า Flash memory ขนาด 512 kB ซงมแอดเดรสจาก 0x0000 0000 –

0x0007 FFFF

หนวยความจ าในชวง 1GB ถง 2GB (แอดเดรส 0x4000 0000 – 0x7FFF FFFF) จดเปน

สวนของหนวยความจ า RAM ใน LPC2148 จะเปน SRAM ขนาด 40 kB โดยแยงเปน 2 สวน คอ

32 kB แรกอยทแอดเดรส 0x4000 0000 – 0x4000 7FFF และอก 8 kB เปนหนวยความจ าใชส าหรบ

USB โดยมแอดเดรส 0x7FD0 0000 – 0x7FD0 1FFF ในกรณทไมใชการตดตอกบ USB สามารถ

น าหนวยความจ า RAM สวนนมาใชเปน RAM ส าหรบใชงานทวไปได หนวยความจ าสวนทใกล

กบ 2 GB จะเปนสวนของ Boot Block ขนาด 12 ซงเปนโปรแกรมทท างานเพอเขยนโปรแกรมลง

ในหนวยความจ า Flash ของ LPC2148

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

รปท 2.3 การจดหนวยความจ าของ LPC2148

หนวยความจ าชวง 2 GB ถง 3.5 GB (แอดเดรส 0x8000 0000 – 0xDFFF FFFF) สงวนไว

ส าหรบตอกบหนวยความจ าภายนอก ซงกรณ LPC2148 ไมไดใชงาน

หนวยความจ าในชวง 3.5 GB ถง 4 GB จะเปนพนทส าหรบตดตอกบอปกรณอนทอยในชป

โดยแบงเปนอปกรณทตอกบ VPB บสจะตดตอกบหนวยความจ าชวง 0xE000 0000 ถง 0xEFFF

FFFF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

ถาเปนอปกรณทตดตอผานทาง AHB จะมชวงแอดเดรส 0xF000 0000 ถง 0xFFFF FFFF

ซงในกรณของ LPC2148 ไมสามารถตดตอกบหนวยความจ าภายนอก จงไมไดใชหนวยความจ า

ในสวนน

อปกรณเสรมตางๆ เชน UART , RTC ฯลฯ ทตดตอกบซพยผาน VPB bus มชอเรยกวา

VPB peripheral#0–VPB papripheral#127 โดย VPB peripheral แตละตวจะมชวงของหนวยความจ า

อปกรณละ 16 kB ท าใหคดเปนหนวยความจ ารวม /MB โดยจะมแอดเดรสตางๆดงแสดงดงรป

รปท 2.4 ต าแหนงแอดเดรสของอปกรณเสรมทตอกบ VPB บส

2.1.6 การจดขาของ LPC2148

ไมโครคอนโทรลเลอร LPC2148 อยในตวถงแบบ plastic low profile quad flat

package (LQFP64) ทมขาตอจ านวน 64 ขาโดยการจดขาแสดงไดในรป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

รปท 2.5 แสดงการจดขาของ LPC2148

หลงจากเกดการรเซตขาพอรตทงหมดจะถกก าหนดใหท าหนาทเปนอนพต ขาแตละขาจะ

มหนาทการท างานหลายหนาทดงตวอยางขาท 14 สามารถท าหนาทได 4 หนาท คอเปน

P0.29/AD0.2/CAP0.3/MAT0.3 ถาเปนพอรตอนพตเอาตพตจะเรยกวาเปนอนพตเอาตพต

อเนกประสงค (General Purpose Input Output : GPIO) กคอขา P0.29 ถาใชวงจรแปลงแอนาลอก

เปนดจตอลขานกคอ AD 0.2 ซงเปนขาอนพตส าหรบสญญาณแอนาลอก ADC0 Channel 3

(Capture input for timer 0 , Channel3) หรอเปน MAT 0.3 เปนแมตชเอาตพตส าหรบไทเมอร 0

แชนแนล 3 ( Match output for timer0 , Channel )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

2.1.7 แผงวงจร LPC2148 มคณสมบตดงน

ใช MCU ARM7 ของ PHILIPs เบอร LPC2148

ใช X TAL 12.00MHz ความเรวสงสดท 60 MHz

USB FULL SPEED 2.0

14 PIN LCD PORT ส าหรบตอกบจอแสดงผล LCD แบบตวอกษร

20 PIN BUS JTAG ARM

ใชกบแหลงจายไฟรน 5VDC

PROJECT BOARD รน AD – 100 ขนาด 360 จด

VR 10K R ปรบคา 4 ชด ส าหรบการทดลองวงจรแปลงแอนาลอกเปนดจตอล

TACT สวตซ 4 ชด ส าหรบสรางสญญาณอนพต

LED DOT จ านวน 4 ชด ส าหรบแสดงผลลอจก

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

รปท 2.6 ผงวงจรของบอรด LPC2148

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

2.1.8 การก าหนดคาเรมตนใหกบไมโครคอนโทรลเลอร ARM7

ขนแรกกอนทไมโครคอนโทรลเลอรจะเรมท างานตองก าหนดคาเรมตนใหกอนโดยคาท

ตองก าหนดคอสวนหนวยความจ า RAM ทใชเปน Stack Pointer โดยเราจะใชชดพฒนา

ไมโครคอนโทรลเลอร Keil เปนผชวยสรางไฟล Startup.s ซงเปนภาษาแอสเซมบลส าหรบ

ก าหนดคาของ Stack pointer ใหภายในของไมโครคอนโทรลเลอร ARM7 มวงจรเฟสลอกลป

(Phase Lock Loop:PLL) ส าหรบคณคาความถของสญญา ณนาฬกาจากภายนอกเพอใหตว

ไมโครคอนโทรลเลอรสามารถท างานทความถสงๆ ไดโดยใหผใชเปนผก าหนดคาตวคณความถ

ของสญญาณนาฬกาจากภายนอก เพอใหตวไมโครคอนโทรลเลอรสามารถท างานทความถสงๆ ได

โดยใหผใชเปนผก าหนดคาตวคณความถส าหรบ LPC2148 ภายในจะมวงจรเฟสลอกลปอยสอง

วงจรโดยตงชอเปน PLL0 และ PLL1โดย PLL0 ใชในการคณคาความถของสญญาณนาฬกาจาก

ภายนอกใหกบซพย ARM7 และ PLL1 ทท าหนาทคณความถใหกบวงจรสวนของ USB โดยตอง

คณคาใหไดความถ 48 MHz

2.1.9 การทดลองตอ GPIO เปนเอาตพต

ภายในไมโครคอนโทรลเลอร LPC2148 มพอรตอเนกประสงค (General Purpose I/O)

ขนาด 32 บต ใหใชงาน 2 พอรต คอ Port0 และ Port1 โดยใน LPC2148 จะจดให Port0 มขาตอใช

งานได 29 ขาคอ P0.0 ถง P0.31โดยไมมขา P0.24,P0.26 และ P0.27 ใหใชงานและขา P0.31 ท า

หนาทเปนเอาตพตไดอยางเดยว สวน Port1 จะมตอใหใชงานแค 16 ขาคอ P1.16 ถง P1.31โดยแตละ

ขาของพอรต P0 และ P1 มหนาทการท างานไดหลายประเภท ซงตองก าหนดทรจสเตอร PINSEL

2.1.10 การก าหนดหนาทการท างานของ Port

หลงจากเกดการรเซตไมโครคอนโทรลเลอร ARM7 วงจรภายในสงรเ ซตคารจสเตอร

PINSEL ทกตวก าหนด คาให Port0 และ Port1 ทกขาเปน GPIO และใหทกขาเปนอนพต ขาแตละ

ขาของ Port0 และ Port1 มหนาทการท างานไดหลายหนาทโดยก าหนดการท างาน Port0 ทรจสเตอร

PINSEL0, PINSEL1 และก าหนดหนาทการท างานของ Port1 ทรจสเตอร PINSEL2 โดยรจสเตอร

แตละตวจะมแอดเดรสแสดงในตารางท 2.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

ตารางท 2.1 รจสเตอร PINSEL0,PINSEL1และ PINSEL2

ชอ ความหมาย การตดตอ แอดเดรส PINSEL0 Pin function select register 0

ก าหนดการท างานของ P0.0-P0.15 อาน/เขยน 0xE002 C000

PINSEL1 Pin function select register 1 ก าหนดการท างานของ P0.16-P0.31

อาน/เขยน 0xE002 C004

PINSEL2 Pin function select register 2 ก าหนดการท างานของ P1.0-P1.31

อาน/เขยน 0xE002 C014

คาแตละบตของรจสเตอร PINSEL0 แสดงไดในตารางท 2.2 จากตารางจะพบวาแตละขาจะ

มหนาท การ ท างานได 3 หรอ 4 หนาท ตวอยางเชนขา P0.1 จะมหนาทการท างานไดถง 4 หนาท

คอ GPIO0.1,RxD0 (UART0) ,PWM3 และ EINT0 ถาตองการก าหนดคาใหขา P0.0-P0.15 มการ

ท างานเปน GPIO ท างานเปน GPIO ท าไดโดยการเขยนคา 0 ทกบตใหกบ PINSEL0 ซงเขยนเปน

ค าสงภาษาซไดดงน

PINSEL0 = 0x00000000; //Set P0.0-P0.15 to GPIO Function

ตารางท 2.2 คาประจ าบตของรจสเตอร PINSEL0

PINSEL0 ชอขา การท างาน เมอมคา 00

การท างาน เมอมคา 01

การท างาน เมอมคา10

การท างาน เมอมคา11

คาหลง รเซต

1:0 P0.0 GPIO Port 0.0 TxD0(UART0) PWM1 Reserved 00 3:2 P0.1 GPIO Port 0.1 RxD0(UART0) PWM3 EINT0 00 5:4 P0.2 GPIO Port 0.2 SCL0(I2C) Capture

0.0(TIMER0) Reserved 00

7:6 P0.3 GPIO Port 0.3 SDA0(I2C) Match0.0(TIMER0) EINT1 00 9:8 P0.4 GPIO Port 0.4 SCK0(SPI0) Capture

0.1(TIMER0) AD0.6 00

11:10 P0.5 GPIO Port 0.5 MISO0(SPI0) Match0.1(TIMER0) AD0.7 00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

ตาราง 2.2 คาประจ าบตของรจสเตอร PINSEL0 (ตอ)

PINSEL0 ชอขา การท างาน เมอมคา 00

การท างาน เมอมคา 01

การท างาน เมอมคา10

การท างาน เมอมคา11

คาหลง รเซต

13:12 P0.6 GPIO Port 0.6 MOSI0(SPI0) Capture 0.1 (TIMER0)

AD1.0 00

15:14 P0.7 GPIO Port 0.7 SSEL0(SPI0) PMW2 EINT2 00 17:16 P0.8 GPIO Port 0.8 TxD1(UART1) PMW4 AD1.1 00 19:18 P0.9 GPIO Port 0.9 RxD1(UART1) PMW6 EINT3 00 21:20 P0.10 GPIO Port 0.10 RTS1(UART1) Capture

1.0 (TIMER1) AD1.2 00

23:22 P0.11 GPIO Port 0.11 CTS1(UART1) Capture 1.1 (TIMER1)

SCL1(I2C1) 00

25:24 P0.12 GPIO Port 0.12 DSR1(UART1) Match1.0 (TIMER1) AD1.3 00 27:26 P0.13 GPIO Port 0.13 DTR1(UART1) Match1.0 (TIMER1) AD1.4 00 29:28 P0.14 GPIO Port 0.14 DCD1(UART1) EINT1 SDA1(I2C1) 00 31:30 P0.15 GPIO Port 0.15 RI1(UART1) EINT2 AD1.5 00

คาบตแตละบตของรจสเตอร PINSEL1 แสดงไดในตารางท 2.3 ตวอยางถาตองการก าหนดคาใหขา

P0.16-P0.31 มการท างานเปน GPIO ท าไดโดยการเขยนคา 0ทกบตใหกบ PINSEL1 ซงเขยนเปน

ค าสงภาษาซไดดงน

PINSEL1=0x00000000; //Set P0.16-P0.31 to GPIO Function

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

ตารางท 2.3 คาประจ าบตรจสเตอร PINSEL1

PINSEL0 ชอขา การท างาน เมอมคา 00

การท างาน เมอมคา 01

การท างาน เมอมคา10

การท างาน เมอมคา11

คาหลง รเซต

1:0 P0.16 GPIO Port 0.16 EINT0 Match0.2(TIMER0) Capture0.2 (TIMER0)

00

3:2 P0.17 GPIO Port 0.17 Capture1.2 (TIMER1)

SCK1(SPI1) Match1.2 (TIMER1)

00

5:4 P0.18 GPIO Port 0.18 Capture1.3 (TIMER1)

MISO1(SPI1) Match1.3 (TIMER1)

00

7:6 P0.19 GPIO Port 0.19 Match1.2 (TIMER1)

MOSI1(SPI1) Capture1.2 (TIMER1)

00

9:8 P0.20 GPIO Port 0.20 Match1.3 (TIMER1)

SSEL1(SPI1) EINT3 00

11:10 P0.21 GPIO Port 0.21 PWM5 AD1.6 Capture1.3 (TIMER1)

00

13:12 P0.22 GPIO Port 0.22 AD1.7 Capture0.0 (TIMER0)

Match0.0 (TIMER0)

00

15:14 P0.23 GPIO Port 0.23 VBUS สงวนไว สงวนไว 00 17:16 P0.24 สงวนไว สงวนไว สงวนไว สงวนไว 00 19:18 P0.25 GPIO Port 0.25 AD0.4 AOUT สงวนไว 00

PINSEL0 ชอขา การท างาน เมอมคา 00

การท างาน เมอมคา 01

การท างาน เมอมคา10

การท างาน เมอมคา11

คาหลง รเซต

21:20 P0.26 สงวนไว สงวนไว สงวนไว สงวนไว 00 23:22 P0.27 สงวนไว สงวนไว สงวนไว สงวนไว 00

25:24 P0.28 GPIO Port 0.28 AD0.1 Capture0.2 (TIMER0)

Match0.2 (TIMER0)

00

27:26 P0.29 GPIO Port 0.29 AD0.2 Capture0.3 (TIMER0)

Match0.3 (TIMER0)

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

ตารางท 2.3 คาประจ าบตรจสเตอร PINSEL1 (ตอ)

PINSEL0 ชอขา การท างาน เมอมคา 00

การท างาน เมอมคา 01

การท างาน เมอมคา10

การท างาน เมอมคา11

คาหลง รเซต

29:28 P0.30 GPIO Port 0.30 AD0.3 EINT3 Capture0.0 (TIMER0)

00

31:30 P0.31 GPIO Port 0.31 UP_LED CONNECT 00

2.1.11 การก าหนดคาควบคมการท างานของพอรตอเนกประสงค (GPIO)

หลงจากทก าหนดคาใหพอรตแตละตวมการท างานเปน GPIO แลวการควบคมการท างาน

ของ GPIO จะสงผานทางรจสเตอร 4 ตวไดแก IOPIN , IOSET, IOCLR, IODIR โดยรจสเตอร แต

ละตวจะมแอดเดรสในไมโครคอนโทรลเลอร LPC2141/2/4/6/8 ไดเพมความสามารถของพอรต

อเนกประสงคใหท างานไดรวดเรวขนซงจะเรยกไดวาเปน Fast GPIO โดยไดก าหนดรจสเตอร

เพมเตมขนอกหลายตว แตการท างานทรวดเรวขนนจะตองเขยนโปรแกรมเปนภาษาแอสเซมบล

เทานน ถาเขยนเปนภาษาซจะสงเกตผลไมคอยออกดงนนจงไดเนนเรองการใชงาน GPIO เปน

โหมดปกต ซงจะมขอดตรงทสามารถน าโปรแกรมไปใชงานกบไมโครคอนโทรลเลอรตระกล

LPC2000 รนอนๆ ได

ตารางท 2.4 ชอและแอดเดรสของรจสเตอรทใชควบคม GPIO

ชอทวไป

ความหมาย การตดตอ

ชอและแอด เดรสของPort0

ชอและแอด เดรสของPort1

IOPIN GPIO Port Pin value register ใชอานสถานะปจจบนของพอรต

อาน 0xE002 8000 IOPIN0

0xE002 8010 IOPIN1

IOSET GPIO Port Output set register ใชก าหนดคาใหขาของพอรตม คาเปน1ถาบตใดเปน 1 ขาของ พอรตทตรงกนจะมคาเปน 1

อาน/เขยน

0xE002 8004 IOSET0

0xE002 8014 IOSET1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

ตารางท 2.4 ชอและแอดเดรสของรจสเตอรทใชควบคม GPIO (ตอ)

ชอทวไป

ความหมาย การตดตอ

ชอและแอด เดรสของPort0

ชอและแอด เดรสของPort1

IODIR GPIO Port Direction control register ใชก าหนดวาขาใดเปน อนพต ขาใดเปนเอาตพต

อาน/เขยน

0xE002 8008 IODIR0

0xE002 8018 IODIR1

IOCLR GPIO Port Output clear register ใชก าหนดใหขาของพอรตม

คาเปน 0

เขยน 0xE002 800C IOCLR0

0xE002 801C IOCLR1

การสงงานของ GPIO เรมตนดวยการก าหนดทศทางของพอรตกอนวาจะใหเปนอนพตหรอ

เอาตพต โดยก าหนดคาทรจสเตอร IODIR โดยคาบตใดทเปน 0 คอใหขาของบตนนเปนอนพต ถา

ใหคาเปน 1 ขาของบตนนจะเปนเอาตพต

*ในกรณบอรดทเราไดน ามาใชงานนนมการท างานแบบ Active low

ตวอยางเชน ตองการใหขา P0.22, P0.20, P0.19 และ P0.16 เปนเอาตพต โดยขาของ P0 ท

เหลอเปนอนพต จะตองก าหนดคาใหรจสเตอร IODIR0 แตละบตดงน

บตท 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 คา 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1

0 0 5 9

บตท 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 คา 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0

ซงสามารถเขยนเปนสวนของโปรแกรมภาษาซไดดงน

IODIR0 = 0x00590000;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

หลงจากก าหนดใหพอรตเปนเอาตพตแลว ถาตองการสงใหพอรตทเปนเอาตพตนมคาเปน

1 ตองสงทรจสเตอร IOSET ตวอยางเชนตองการสงใหขา P0.16 และ P0.19 เปน 1 จะตอง

ก าหนดคาใหกบรจสเตอร IOSET0 ดงน

2.1.12 การทดลองตอ GPIO เปนอนพต และการรบอนเตอรรปตจากภายนอก

กลไกการอนเตอรรปตของไมโครคอนโทรลเลอร ARM7 ในไมโครคอนโทรลเลอร

ARM7 มโมดล Vectored Interrupt Controller (VIC) เปนตวควบคมกลไก ของการอนเตอรรปตโดย

สามารถรบอนเตอรรปตจากอปกรณทงภายในและภายนอก และภายนอก ไมโครคอนโทรลเลอร

ARM7 ไดทงหมด 32 อนพต

VIC จะน าอนพตจากอนเตอรรปตทง 32 แหลงมาจดแบงหมวดหมไดเปน 3 ประเภทคอ

FIQ, vectored IRQ และ non-vectored IRQ ท าใหสามารถปรบล าดบความส าคญของอนเตอรรปต

จาก อปกรณประกอบตางๆ ไดตามทตองการ Fast Interrupt request (FIQ) จะล าดบความส าคญ

สงสดโดยรบสนองเรวสดVectored IRQs จะมล าดบความส าคญอยกงกลาง โดยสามารถน าอนเตอร

รปตแค 16 หรอ 32 แหลงมาจดใหเปน Vectored IRQs ได 16 ตวโดย Slot0 จะมความส าคญสงสด

Slot 15 มความส าคญต าสด Non-vectored IRQ มความส าคญต าสด

ตารางท 2.5 แหลงก าหนดอนเตอรรปตทง 32 ตว

อปกรณ แหลงก าเนดอนเตอรรปต VIC Channel #

WDT Watchdog Interrupt(WDINT) 0 - Reserved for software interrupts only 1

ARM Core Embeded ICE, DbgCommRx 2 ARM Core Embeded ICE, DbgCommRx 3

TIME0 Match 0-3 (MR0,MR1,MR2,MR3) Capture 0-3 (CR0,CR1,CR2,CR3)

4

TIME1 Match 0-3 (MR0,MR1,MR2,MR3) Capture 0-3 (CR0,CR1,CR2,CR3)

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22

ตารางท 2.5 แหลงก าหนดอนเตอรรปตทง 32 ตว (ตอ)

อปกรณ แหลงก าเนดอนเตอรรปต VIC Channel #

UART0 Rx Line Status(RLS) Transmit Holding Register Empty(THRE)

Rx Data Available(RDA) Character Time-out Indicator(CTI)

6

UART1 Rx Line Status(RLS) Transmit Holding Register Empty(THRE)

Rx Data Available(RDA) Character Time-out Indicator(CTI)

Modem Status Interrupt(MSI)

7

PWM0 Match 0-6 (MR0,MR1,MR2,MR3,MR4,MR5,MR6) 8 I2C0 SI (state change) 9 SPI0 SPI Interrupt Flag (SPIF)

Mode Fault (Mode) 10

อปกรณ แหลงก าเนดอนเตอรรปต

VIC Channel #

SPI1(SSP) SPI Interrupt Flag (SPIF) Mode Fault (Mode)

11

PLL PLL Lock (PLOCK) 12 RTC Counter Indrement (RTCCIF)

Alarm (RTCALF) 13

System Control External Interrupt 0 (EINT0) 14 System Control External Interrupt 1 (EINT1) 15 System Control External Interrupt 2 (EINT2) 16 System Control External Interrupt 3 (EINT3) 17

ADC0 A/D Converter 0 end of conversion 18 I2C1 SI (state change) 19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

ตารางท 2.5 แหลงก าหนดอนเตอรรปตทง 32 ตว (ตอ)

อปกรณ แหลงก าเนดอนเตอรรปต VIC Channel #

BOD Brown our detect 20 ADC1 A/D Converter 1 end of conversion 21 USB USB Interrupt, DMA Interrupt 22

Reserved 23-31

รจสเตอรทเกยวของกบอนเตอรรปตมทงหมด 43 ตว ดงแสดงในตารางท 2.6 โดยในหวขอ

นเปนเลอกเฉพาะรจสเตอรทเกยวกบอนเตอรรปตในแบบ Vector IRQ ซงกคอ รจสเตอร

VICVectAddr0-15 , VICVectCntl0-15 และ VICIntEnable

ตารางท 2.6 รจสเตอรทเกยวกบอนเตอรรปต

ชอ ความหมาย การตดตอ คาหลง รเซต

แอดเดรส

VICIRQStatus IRQ Status Request อานคา สถานะวาอนญาตใหม interrupt request จากตวใดและถกจดเปน IRQ

อาน 0 0xFFFF F000

VICRawlntr Raw Interrupt Status Register ใช อานสถานะของอนเตอรรปตจากทง

32แหลงหรอจากซอฟแวรโดยไมสน วาถกเปดใชงานหรอถกจด

ประเภท หรอไม

อาน 0 0xFFFF F008

VICIntSelect Interrupt Select Register ใชใน การระบวาอนเตอรรปตทง 32 แหลง แต

ละตวเปน FIQ หรอ IRQ

อาน/เขยน 0 0xFFFF F00C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

ตารางท 2.6 รจสเตอรทเกยวกบอนเตอรรปต (ตอ)

ชอ ความหมาย การตดตอ คาหลง รเซต

แอดเดรส

VICIntEnable Interrupt Enable Register ควบคม วาใหอนเตอรรปตจาก 32 แหลงตว ไหนท างานและใหเปน FIQ หรอ

IRQ

อาน/เขยน 0 0xFFFF F010

VICIntEnClr Interrupt Enable Clear Register ใชลาง คาบตหนงบตหรอมากกวาหนงบตของ รจสเตอร Interrupt Enable

Register

เขยน 0 0xFFFF F014

VICSoftlnt Software Interrupt Register คาของรจสเตอรนจะถกน าไป ORกบ

อนเตอรรปตจากอปกรณตางๆทง 32 แหลง

อาน/เขยน 0 0xFFFF F018

VICSoftlnt Clear

Software Interrupt Clear Register ใชลางคาบตหนงบตหรอมากกวาหนงบต ของ รจสเตอร Software

Interrupt Register

เขยน 0 0xFFFF F01C

VICProtection Protection enable register ใชจ ากดการเขาถง VIC register

อาน/เขยน 0 0xFFFF F020

VICVectAddr0 Vector address 0 register รจสเตอร VICVectAddr0-15จะเกบแตละตวจะ ควบคม IRQ Slot แตละตวโดย Slot0 มความส าคญสงสดSlot15ม

ความ ส าคญต าสด

อาน/เขยน 0 0xFFFF F100

VICVectAddr1 Vector address 1 register อาน/เขยน 0 0xFFFF F104 VICVectAddr2 Vector address 2 register อาน/เขยน 0 0xFFFF F108 VICVectAddr3 Vector address 3 register อาน/เขยน 0 0xFFFF F10C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

ตารางท 2.6 รจสเตอรทเกยวกบอนเตอรรปต (ตอ)

ชอ ความหมาย การตดตอ คาหลง รเซต

แอดเดรส

VICVectAddr4 Vector address 4 register อาน/เขยน 0 0xFFFF F110 VICVectAddr5 Vector address 5 register อาน/เขยน 0 0xFFFF F114 VICVectAddr6 Vector address 6 register อาน/เขยน 0 0xFFFF F118 VICVectAddr7 Vector address 7 register อาน/เขยน 0 0xFFFF F11C VICVectAddr8 Vector address 8 register อาน/เขยน 0 0xFFFF F120 VICVectAddr9 Vector address 9 register อาน/เขยน 0 0xFFFF F124

VICVectAddr10 Vector address 10 register อาน/เขยน 0 0xFFFF F128 VICVectAddr11 Vector address 11 register อาน/เขยน 0 0xFFFF F12C VICVectAddr12 Vector address 12 register อาน/เขยน 0 0xFFFF F130 VICVectAddr13 Vector address 13 register อาน/เขยน 0 0xFFFF F134 VICVectAddr14 Vector address 14 register อาน/เขยน 0 0xFFFF F138 VICVectAddr15 Vector address 15 register อาน/เขยน 0 0xFFFF F13C

VICVecCntl0 Vector control 0 รจสเตอร Vector Control Register0-15 แตละตวจะ ควบคม IRQ Slot แตละตว โดย Slot 0 มความส าคญ สงสดและ Slot 15

มความส าคญต าสด

อาน/เขยน 0 0xFFFF F200

VICVecCntl1 Vector control 1 register อาน/เขยน 0 0xFFFF F204 VICVecCntl2 Vector control 2 register อาน/เขยน 0 0xFFFF F208 VICVecCntl3 Vector control 3 register อาน/เขยน 0 0xFFFF F20C VICVecCntl4 Vector control 4 register อาน/เขยน 0 0xFFFF F210 VICVecCntl5 Vector control 5 register อาน/เขยน 0 0xFFFF F214 VICVecCntl6 Vector control 6 register อาน/เขยน 0 0xFFFF F218 VICVecCntl7 Vector control 7 register อาน/เขยน 0 0xFFFF F21C VICVecCntl8 Vector control 8 register อาน/เขยน 0 0xFFFF F220

VICVecCntl9 Vector control 9 register อาน/เขยน 0 0xFFFF F224

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

ตารางท 2.6 รจสเตอรทเกยวกบอนเตอรรปต (ตอ)

VICVecCntl10 Vector control 10 register อาน/เขยน 0 0xFFFF F228 VICVecCntl11 Vector control 11 register อาน/เขยน 0 0xFFFF F22C VICVecCntl12 Vector control 12 register อาน/เขยน 0 0xFFFF F230 VICVecCntl13 Vector control 13 register อาน/เขยน 0 0xFFFF F234 VICVecCntl14 Vector control 14 register อาน/เขยน 0 0xFFFF F238 VICVecCntl15 Vector control 15 register อาน/เขยน 0 0xFFFF F23C

รจสเตอร VICVectAddr0-15 เปนรจสเตอรทเกบคาแอดเดรสของโปรแกรมทตอบสนอง

ตอ อนเตอรรปตโดย VICVectAddr0 จะเปนของอนเตอรรปต Slot 0 ทมความส าคญสงสด

ตามล าดบไป จนถง VICVectAddr15 จะเปน Slot15 ทมความส าคญต าสด

VICVecCntl 0-15 ใชในการควบคมวาท Slot หมายเลขทตรงกบ VICVecCntl นจะรบการ

อนเตอร รปตจากแหลงใด จากทงหมด 32 ทตามตารางท 2.6 โดยการก าหนดคาในบต 4:0 โดยบตท

5 ถาเปน 1 หมายถงอนญาตใหอนเตอรรปตจากอปกรณทก าหนดใน Slot น

VIClntEnable ใชเปดอนเตอรรปตจากแหลงตางๆทง 32 แหลงตามตารางท 2.6 โดยบตใดม

คาเปน 1 หมายถงอนญาตใหอนเตอรรปตได ถาบตใดเปน 0 ไมอนญาตใหอปกรณนนๆอนเตอร

รปต

ตวอยาง ตองการใหไมโครคอนโทรลเลอรรบอนเตอรรปตจากภายนอกจากขา EINT1 โดย

ก าหนด ใหเปนอนเตอรรปตแบบ IRQ มความส าคญสงสด

จากความตองการใหอนเตอรรปตทมความส าคญสงสดจงตองก าหนดใหเปน Slot 0 โดยก าหนดคา

ของรจสเตอร VICVectAddr0 ใหชไปยงแอดเดรสของโปรแกรมยอยตอบสนองการอนเตอรรปต

โดยเขยนเปนค าสงภาษาซไดดงน

VICVectAddr0 = (unsigned)isr_eint1;

เมอ isr_eint1 เปนชอของโปรแกรมยอยตอบสนองการอนเตอรรปต

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

27

จากตารางท 2.6 พบวา EINT1 จะมหมายเลข VIC channel #15 จะตองก าหนดคาบต 4:0

ของรจสเตอร VICVecCntl0 ใหมคาเทากบ 15 และก าหนดใหบตท 5 ของรจสเตอร VICVectCntl0

ใหเปน 1 เพออนญาตใหท าการอนเตอรรปตได โดยเขยนค าสงภาษาซไดดงน

VICVecCntl0 = 0x0000002F;

หรอเขยนอกวธหนงไดดงน

VICVectCntl0 = 0x20|15;

ในการก าหนดคาใหกบรจสเตอร VIClntEnable จะตองสงใหบตท 15 ของรจสเตอรนมคา

เปน 1 ซง จะไมเขยนคาใหกบรจสเตอรโดยตรง แตจะใชการ OR บตเพอใหบตท 15 เปลยนคาตว

เดยวโดยบต อนๆไมเปลยนแปลงซงเขยนเปนค าสงภาษาซไดดงน

VIClntEnable | = 0x00008000;

หรอเขยนอกวธหนงไดดงน

VIClntEnable | = 1<<15

ตารางท 2.7 คาประจ าบตของรจสเตอร EXTINT

คาบตของ EXTINT

หนาท ความหมาย คาหลง รเซต

0 EINT0 เมอขา EINT0 ท างานทระดบลอจกหรอมขอบของสญญาณ ตามท ก าหนดเกดขนบตนจะมคาเปน 1 เมอเขยนคา 1ใหมน

0

เปนการลางคายกเวนกรณทท างานตามระดบลอจกตองรอ ใหคาลอจกหยดการท างานกอน

ขาทเปน EINT0 คอ P0.1 และ P0.16

1 EINT1 เมอขา EINT1 ท างานทระดบลอจกหรอมขอบของสญญาณ ตามท ก าหนดเกดขนบตนจะมคาเปน 1 เมอเขยนคา 1ใหมน เปนการลางคายกเวนกรณทท างานตามระดบลอจกตองรอ

ใหคาลอจกหยดการท างานกอน ขาทเปน EINT1 คอ P0.3 และ P0.14

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28

ตารางท 2.7 คาประจ าบตของรจสเตอร EXTINT (ตอ)

คาบตของ EXTINT

หนาท ความหมาย คาหลง รเซต

2 EINT2 เมอขา EINT2 ท างานทระดบลอจกหรอมขอบของสญญาณ ตามท ก าหนดเกดขนบตนจะมคาเปน 1 เมอเขยนคา 1ใหมน เปนการลางคายกเวนกรณทท างานตามระดบลอจกตองรอ

ใหคาลอจกหยดการท างานกอน ขาทเปน EINT2 คอ P0.7 และ P0.15

0

3 EINT3 เมอขา EINT3 ท างานทระดบลอจกหรอมขอบของสญญาณ ตามท ก าหนดเกดขนบตนจะมคาเปน 1 เมอเขยนคา 1ใหมน เปนการลางคายกเวนกรณทท างานตามระดบลอจกตองรอ

ใหคาลอจกหยดการท างานกอน ขาทเปน EINT3 คอ P0.9 , P0.20 และ P0.30

0

7:4 สงวนไว หามเขยนคา 1 ใหกบบตเหลานคาทอานไดไมมความหมาย ไมก าหนด

ในการก าหนดวาสญญาณทอนเตอรรปตนท างานทระดบสญญาณหรอทขอบของสญญาณ

ก าหนดไดทรจสเตอร EXTMODE ซงมคาดงตารางท 2.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29

ตารางท 2.8 คาประจ าบตของรจสเตอร EXTMODE

คาบตของ EXTINT

หนาท ความหมาย คาหลง รเซต

0 EXTMODE0 โหมดการท างานของ EINT0 เมอมคาเปน 0 ท างานทระดบสญญาณ เมอมคาเปน 1 ท างานทขอบของ

สญญาณ

0

1 EXTMODE1 โหมดการท างานของ EINT1 เมอมคาเปน 0 ท างานทระดบสญญาณ เมอมคาเปน 1 ท างานทขอบของ

สญญาณ

0

2 EXTMODE 2 โหมดการท างานของ EINT2 เมอมคาเปน 0 ท างานทระดบสญญาณ เมอมคาเปน 1 ท างานทขอบของ

สญญาณ

0

3 EXTMODE 3 โหมดการท างานของ EINT3 เมอมคาเปน 0 ท างานทระดบสญญาณ เมอมคาเปน 1 ท างานทขอบของ

สญญาณ

0

7:4 สงวนไว หามเขยนคา 1 ใหกบบตเหลานคาทอานได ไมมความหมาย

ไมก าหนด

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

2.2 การตรวจวดยานพาหนะ อปกรณตรวจวดการจราจร (Traffic flow sensors) คออปกรณทใชในการตรวจวดการมอย

(Presence) หรอการผาน (Passage) ของยวดยาน ณ บรเวณจดส ารวจใหขอมลทใชในการจดการจราจรและขอมลทใชในการวางแผน

2.2.1 พฒนาการของเทคโนโลยตรวจวดการจราจร ค.ศ. 1928 Horn-activated traffic signal (developed by Charles Adler,Jr.) เปนเครองมอวด

ปรมาณรถโดยอาศยการตดตง Micro Phone

รปท 2.7 การตรวจวดยานพาหนะโดยใช Micro Phone

ค.ศ. 1928 In-roadway pressure sensitive sensor (Developed by Henry A. Haugh) เปน

เครองมอวดปรมาณรถโดยอาศยกระแสไฟฟาทไดจากแรงกดทบของแผนเหลกทตดตงไวใตผวถนน

รปท 2.8 การตรวจวดยานพาหนะโดยการกดทบของแผนเหลก

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

ค.ศ. 1930 In-roadway pressure sensitive sensor (developed by Charles Adler,Jr.) เปนเครองมอวดปรมาณรถโดยอาศยเสยงซงไดมาจากการตดตงเครองวดเสยงทตดตงไวใตผวถนน

รปท 2.9 การตรวจวดยานพาหนะโดยอาศยเสยง

ซง In-roadway pressure sensitive sensor ไดรบความนยมมากแตกยงมปญหาซงสรปได

ดงน 1. อปกรณมราคาแพง 2. ตองตดตงอปกรณใหมหากมการปรบปรงผวถนน 3. ความเสยหายเนองจากรถกวาดหมะ

รปท 2.10 ปญหาของการตรวจวดยานพาหนะ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

2.2.2 เทคโนโลยตรวจวดการจราจรในปจจบน 1. อปกรณตรวจวดการจราจรทตดตงอยบนหรอใตผวทาง (In-roadway sensors)

1. Pneumatic road tube เรมใชตงแตป 1920s เปนเครองตรวจวดการจราจรทตดตงโดยอาศยทอยางเพอตรวจวดความถ หลกการท างาน น าหนกรถกดทบทอลมเปนเครองตรวจวดการจราจรทตดตงบนผว ทาง

วางขวางชองทางเดนรถเคลอนทอาศยน าหนกรถกดทบทอลมซงท าดวยยางแลวเกดแรงดนกระจายไปในแนวทอยางโดยปลายดานหนงของทอยางปดตนและอกดานตอเขากบอปกรณระบบไฟฟาซงท างา นดวยแรงดนทเปลยนแปลงในเรอทอท าใหทราบจ านวนการกดทบและวงผานทอลมซงสามารถจดเกบขอมลไดดงน

• ปรมาณจราจร • ความเรวรถ • แยกประเภทรถโดยใชจ านวนเพลาและระยะหางระหวางเพลา,เวลาหางระหวาง รถ (Gap)

การตดตง Pneumatic road tube • เลอกต าแหนงทตองการตดตง • ตดตง End plug เพอกนน าหรอฝนเขา • ยดปลายดานหนงของทอลมใหแนนกบพนถนน • ตดทอลมกบผวถนนดวยเทปกาวแอสฟลท • วดระยะเพอตดตงทอลมอกเสน (ถาม) • ตดปลายทออกดานเขากบเครองนบและถาท าการตดตง Two-pneumatic road tubes connected together จะชวยลดขอผดพลาดจากการวดระยะหางระหวางทอ ลมขณะตดตง

ขอด-ขอเสย • ขอด

- ใชงานงาย - ราคาถก

• ขอเสย - ทอลมช ารดไดงายถามปรมาณการจราจรสง - การตดตงเหมาะสมกบการตดตงแบบชวคราวและสถานทไมซบซอน - การตดตงตองปดการจราจรถงจะท าการตดตงได

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

รปท 2.11 การตรวจวดยานพาหนะโดยใชทอลม

2. Inductive Loop เรมใชตงแตป 1960s เปนเครองมอส าหรบจดก ารจราจรท

ตรวจวดการเปลยนแปลงของสนามแมเหลกไฟฟา หลกการท างาน เปลยนแปลงคาความตานทานการเหนยวน าของกระแสไฟฟาในขดลวด

เหนยวน า

รปท 2.12 การตรวจวดยานพาหนะโดยใช Inductive Loop

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34

ซงประเภทของ Inductive ลปเหนยวน า มดงน • Saw cut ลป เปนการกดพนผวของถนนแลวท าการฝงสายลป ซงมวธการตดตง Saw-cut ลป ดงน

1.วาง layout ของ ลป บนผวถนน 2. กดผวถนน 3. ตดตงสาย ลป 4. ปด ลป ดวย Sealant

• Trenched-in ลป เปนการวางสายลป กอนการท าถนน • Pre-formed ลป เปนการท าสายลป ส าเรจรปแลวน ามาวางบนพนถนนแลวน า เทปกาวตดเพอยดสาย ลป ไวบนถนนซงมขอเสยคอจะไมมนคงแตจะมขอด ตรงทสามารถเคลอนยายงายเมอตองการน าไปตดตง

รปท 2.13 Inductive Loop บนถนน

หมายเหต ตวอยาง Layout ของ ลปเหนยวน าs ตางๆเชนรปวงกลม , รปสเหลยม , รปหก เหลยมเปนตน เครองตรวจวดสามารถจดเกบขอมลไดดงน

- ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

- ระยะเวลาครอบครอง (Occupancy) - ระยะหางของรถแตละคน (Gap) - Headway - แยกประเภทรถโดยใช vehicle signature

ขอด-ขอเสย • ขอด

- เปนเทคโนโลยทมการพฒนามานานมคนใชเยอะ - ใหขอมลการนบรถทถกตองทสด - ไมไวตอสภาพอากาศทเปลยนแปลงใชงานงาย

• ขอเสย - การตดตงจ าเปนตองมการกดผวทาง - การตดตงทไมดท าใหผวทางมอายการใชงานสนลง - ตองมการปดการจราจรขณะตดตงและซอมแซม - ในแตละจดตองใช ลป หลายตวในการตรวจวดการจราจร - น าหนกกดทบและอณหภมสงผลตอ ลป ทฝงไว 3. Magnetic sensors หลกการท างาน ใชการเปลยนแปลงของสนามแมเหลกโลก ซงประเภทของ Magnetic sensors มดงน - Two-axis fluxgate magnetometer - Induction or search coil magnetometer เครองตรวจวดสามารถจดเกบขอมลไดดงน - ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - ระยะเวลาครอบครอง (Occupancy) - แยกประเภทรถโดยใช vehicle magnetic signature การตดตง Magnetic sensors

เจาะรปบนผวถนนความลกประมาณ 5 cm แลวน า Portable magnetic sensor วางไวแลวน าแผนยางปดบรเวณดงกลาวโดยใชตะปตอกเพอยดแผนยางไมไดแผนยางเปดวธนงายตอการตดตง

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

36

รปท 2.14 การตดตง Magnetic sensors

ขอด-ขอเสย • ขอด - สามารถใชในบรเวณทไมสามารถตดตงลปได - ไมไวตอสภาพอากาศ - ผลจากแรงกดทบจากปรมาณจราจรมนอยกวา ลป • ขอเสย - การตดตงจ าเปนตองมการกดผวทางหรอเจาะเปนชองใตผวทาง - ไมสามารถตรวจวดรถทจอดนงอยกบทไดหากไมมการวาง Layout ของอปกรณ ตรวจวดแบบพเศษและใช Software เสรม 2. อปกรณตรวจวดการจราจรทตดตงอยเหนอผวทาง (Over-roadway sensors)

1. Video Image Processors เรมใชตงแตป 1970s หลกการท างาน ใชการวเคราะหภาพจาก Video frames เครองตรวจวดสามารถใหขอมลไดดงน

- ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - ระยะเวลาครอบครอง (Occupancy)

- ระยะหางของรถแตละคน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

37

รปท 2.15 การตรวจวดยานพาหนะโดยใช Video Image Processors

ขอด-ขอเสย • ขอด - สามารถตรวจวดไดหลายชองจราจรพรอมๆกน - งายในการเพมพนทตรวจวด - ใหขอมลจราจรหลายอยาง - สามารถตรวจวดไดในบรเวณกวางเมอมการเชอมขอมลระหวางกลอง • ขอเสย - ตองมการปดชองจราจรหากตดตงกงกลางถนน - ตองมการท าความสะอาดเลนสตามระยะเวลา - สภาพอากาศและความสนสะเทอนมผลตอประสทธภาพของกลอง - ตองมไฟสองสวางทเพยงพอในเวลากลางคน - ตองตดตงกลองจากมมสง - จะคมคากตอเมอมการตรวจวดหลายพนทพรอมกนในกลองเดยวหรอตองการ ขอมลบางอยางเปนพเศษ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

38

2. Microwave radar sensors คลนไมโครเวฟ (Microwaves) เปนคลนแมเหลกไฟฟาทมความถอยในชวง 300 MHz

คลนไมโครเวฟไดถกน ามาประยกตใชในอปกรณตางๆเชนเตาไมโครเว ฟโทรศพทมอถอรวมถงเครองมอในการตรวจวดการจราจร

รปท 2.16 คลนแมเหลกไฟฟาทความถตางๆ

เครองมอตรวจวดการจราจรแบบ Microwave Radar Sensors ม 2 ประเภทคอ 1. แบบ Doppler Microwave 2. แบบ Frequency – modulated continuous wave

หลกการท างาน เครองตรวจวดจะสงสญญาณและสะทอนกลบของคลน Microwave ออกมาเพอตรวจวดรถยนตทวงผานแนวสญญาณเครองตรวจวดประมวลผลออกมาเปนขอมลดงน

- ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - ระยะเวลาครอบครอง (Occupancy) - ระยะหางของรถแตละคน (Gap) - Headway - ประเภทรถยนตจ าแนกตามความยาวรถแตละคน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

39

รปท 2.17 การตรวจวดยานพาหนะโดย Microwave radar sensors

ขอด-ขอเสย • ขอด - ไมไวตอสภาพอากาศส าหรบการใชงานตรวจวดในชวงสน - สามารถวดความเรวไดโดยตรง - สามารถใชตรวจวดการจราจรไดหลายชองทางในเวลาเดยวกน • ขอเสย - Continuous Wave Doppler Sensors ไมสามารถตรวจวดรถทจอดนงอยกบท 3. Active infrared sensors (laser sensors)

คลนอนฟราเรด (Infrared) เปนคลนแมเหลกไฟฟาทมความถอยในชวง 1011 Hz–1014 Hz ซงมความถสงกวาคลนไมโครเวฟเครองตรวจวดการจราจรแบบ Active Infrared Sensors

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

รปท 2.18 การตรวจวดยานพาหนะโดยใช Active Infrared Sensors

เครองตรวจวดการจราจรแบบ Active Infrared Sensors มลกษณะการท างานคลายๆกบการท างานของเครองตรวจวดการจราจรแบบ Microwave Radar Sensors คอมการปลอยคลนอนฟราเรดออกมาเพอตรวจวดรถยนตทวงผานแนวสญญาณดงรป

รปท 2.19 เครองตววดจราจร แบบ Active Infrared Sensors

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

41

หลกการท างาน เปนอปกรณล าแสง 2 ชดกวาดผานชองจราจรทจะท าการตรวจวดแลวอปกรณตรวจวด

พลงงานแสงทเกดการกระจายเมอยานพาหนะเคลอนทผานแลวแปรสญญาณสงผานอปกรณประมวลผลซงเครองตรวจวดสามารถจดเกบขอมลไดดงน

- ปรมาณการจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - ประเภทรถยนตจ าแนกตามความยาวรถแตละคน

ขอด-ขอเสย • ขอด - สญญาณทสงออกมามหลายล าท าใหสามารถตรวจวดต าแหนงรถความเรวและ ประเภทของรถไดอยางแมนย าสง - สามารถใชตรวจวดการจราจรไดหลายชองทางในเวลาเดยวกน (Gap) • ขอเสย - ประสทธภาพในการท างานลดหากมหมอกหรอมหมะตก - ตองมระยะเวลาในการท าความสะอาดเลนสเปนประจ า - ตองมการปดชองการจราจรเพอท าการตดตง 4. Passive infrared sensors หลกการท างาน

เปนเครองมอวดการจราจรตรวจวดพลงงานทสะทอนจากวตถเขาสตวกลองทเกดจากวตถทเคลอนทผาน หรอวตถทอยในบรเวณพนทตรวจวด เชนผวจราจรรถยนตและพลงงานทเกดจากบรรยากาศบรเวณนนสะทอนผานวตถทเคลอนทเครองมอจะตรวจวดการเปลยนแปลงขอ ง Infrared Spectrum แปรขอมลสงผานเครองประมวลผล

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

42

รปท 2.20 การตรวจวดยานพาหนะโดยใช Passive infrared sensors

ซงประเภทของ Passive infrared sensors มดงน

- Non-imaging - Imaging

เครองตรวจวดสามารถใหขอมลไดดงน - ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - แยกประเภทรถโดยใชความยาว - ความยาวของแถวรถทตดอยบนทองถนน

ขอด-ขอเสย • ขอด

- ระบบตรวจวดแบบหลายพนทใชวดความเรว • ขอเสย - ประสทธภาพลดลงชวงฝนตกหมะตกหมอกลง - บางรนไมสามารถตรวจวดการมรถในบรเวณทก าหนดได

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

43

5. Ultrasonic sensors เรมใชตงแตป 1950s เปนเครองมอตรวจวดการจราจรทใชการสงสญญาณเสยงในระดบ

ความถชวง 25-50 kHz ใชตรวจวดการสะทอนกลบของคลนเสยง หลกการท างาน เปนการสงสญญาณเสยงในระดบความถดงทกลาวมาโดยวดระยะเวลาในการสงสญญาณจนถงระยะเวลานเสยงสะทอนกลบมาซงจะสามารถแสดงผลเปนระยะหางระหวางรถกบสญญาณเครองตรวจวดสามารถใหขอมลไดดงน

- ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - แยกประเภทรถโดยใชความยาว

รปท 2.21 การตรวจวดยานพาหนะโดยใช Ultrasonic sensors

ขอด-ขอเสย

• ขอด - ตรวจวดไดหลายชองจราจรพรอมๆกน - สามารถตรวจวดรถทมความสงเกนก าหนดได - ใชงานแพรหลายในประเทศญปน • ขอเสย - อณหภมและลมมผลตอประสทธภาพ - คลนชวงกวางสงผลตอความถกตองในการวด Occupancy บน Freeway

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

44

6. Passive acoustic sensors เปนเครองมอตรวจวดการจราจรทใชพลงงานเสยง หลกการท างาน

ท างานโดยไมตองมการสงสญญาณเสยงออกไปแตจะตองอาศยการตรวจวดเสยงทเกดขนจากยานพาหนะทเคลอนทผานเชนเสยงเครองยนตเสยงลอรถเมอมเสยงเกดขนในพนทการตรวจวดซงจะสามารถจ ากดเปนชองทางจราจรไดโดยเสยงทเกดนอกเขตพนทตรวจวดจะไมสงผลตออปกรณการวดจากระดบเสยงทตรวจวดไดจะถกแปรสญญาณโดยเครองประมวลผลไดขอมลดงน

- ปรมาณจราจร - ความเรวรถ - การมรถบรเวณนน (Presence) - การผานของรถบรเวณนน (Passage)

รปท 2.22 การตรวจวดยานพาหนะโดยใช Passive acoustic sensors

ขอด-ขอเสย

• ขอด - เปนเทคโนโลยแบบ passive - ไมไวตอสภาพฝน - บางรนสามารถใชตรวจวดไดหลายชองจราจรพรอมๆกน

• ขอเสย - ความถกตองของการนบรถลดลงทอณหภมต า - บางรนไมเหมาะกบสภาพการจราจรตดขด

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45

2.3 วธการนบความถ

วธการนบความถม 2 วธ คอ

2.3.1 นบสญญาณทเปนรายคาบ โดยจะนบสญญาณทคาบเวลา (T) แลวน ามาหาคาความถ

จาก สมการ T = 1

𝑓

รปท 2.23 วธการนบสญญาณทเปนรายคาบ

2.3.2 นบสญญาณในชวงเวลา จะนบสญญาณความถในชวงเวลาทไดก าหนด

รปท 2.24 วธการนบสญญาณในชวงเวลา

ในการนบความถของโปรแกรม นบความถส าหรบตรวจวดรถยนต นน เราจะนบความถ

แบบนบในชวงเวลา ซงความถทเขามาจะเปนสญญาณ Pulse โดยจะนบความถในชวงเวลา 1 วนาท

(sec) และนบวาสญญาณนนมกลกคลน แลวคาทไดน าไปค านวณหาคาความถตอไป ซงใน

ไมโครคอนโทรลเลอรนน จะใช Interrupt ในการนบความถ สญญาณพลสทเขามาจะมทง Logic1

และ Logic0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

บทท 2

หลกการและทฤษฎทเกยวของ

2.1 ไมโครคอนโทรลเลอร ARM 7 (CP–JR ARM7 USB-LPC2148)

2.1.1 ประวตความเปนมาของซพย ARM

บรษท Acorn Computers Limited ในเมองเคมบรดจ ประเทศองกฤษเปนประเทศแรกท

ออกแบบซพย ARM ในชวงเดอนตลาคม ค.ศ. 1983 ถงเมษายน ค.ศ. 1985 โดยสรางตนแบบของ

ซพย ARM ในวนท 26 เมษายน ค.ศ.1985 จากนนไดถกสงไปผลตทบรษท VLSI Technology Inc.

ประเทศสหรฐอเมรกา

บรษท Acorn เปนบรษทชนน าผผลตเครองไมโครคอมพวเตอร BBC Microcomputer ท

ไดรบความนยมแพรหลายอยางมากในประเทศองกฤษตงแตเรมวางจ าหนายในเดอนมกราคม ค.ศ.

1982 เครอง BBC Microcomputer เปนเครองทท างานโดยใชซพย 8 บต เบอร 6502 (ซพย 6502

ยงไดรบการน าไปใชในเครองไมโครคอมพวเตอร APPLE ทไดรบความนยมอยางมากในประเทศ

สหรฐอเมรกาและแพรหลายไปทวโลก)

หลงจากทประสบความส าเรจกบเครอง BBC microcomputer แลวทางบรษท Acorn ได

คดพฒนาซพยส าหรบเครองไมโครคอมพวเตอรยคถดไป โดยชวงทก าลงพฒนาป ค.ศ. 1983 นน

ซพย 16 บตทมใชงานเปนแบบ CISC (Complex Instruction Set Computer) ทมความซบซอนมาก

ท างานชากวาหนวยความจ าทมในยคนน ทางวศวกรข องบรษทจงคดออกแบบซพยเพอใชงานทาง

การคาเอง ซงถาออกแบบเองทงหมดจะตองใชเวลาและแรงงานมาก ทางทมวศวกรผออกแบบจง

น าซพย Berkeley RISC I ซงเปนซพยแบบ RISC (Reduced Instruction Set Computer) ขนาด

32 บต ทถกออกแบบโดยนกศกษาปรญญาโทของมหาวทยาลย Berkeley ทเปนซพยแบบงายๆไม

ซบซอน ใชงานดานการศกษามาพฒนาตอใหเปนซพย 32 บต เอนกประสงคเพอใชงานทางการคา

ซพย ARM มขอดในเรองสถาปตยกรรมทไมซบซอน ประหยดพนทในการผลตชปซพยกน

พลงงานนอยโดยทยงคงมสมรรถนะทสง

หลงจากทออกแบบและทดสอบจนพอใจแลวไดมการกอตงบรษท Advanced RISC

Machines Ltd. ขนในเดอนพฤศจกายน ป ค.ศ. 1990 ในประเทศองกฤษ โดยเปนบรษทรวมทน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

46

รปท 2.25 สญญาณพลสทเขามา Logic1 และ Logic0

โดย Interrupt นนจะเรมท างานนบความถทสญญาณพลสเขามาทมคาเทากบ Logic 1ซงจะ

นบในชวงเวลาทเราท าการ Delay ไว 100 ms วาในชวงเวลานนน Logic1 เทากบเทาไหร จากนนน า

คาทไดมานนวาคณ 10 เขาไปเพอหาความถในหนวย Hz เชน

ตวอยาง สญญาณ Pulse ทเขามาในเวลา 100 ms

รปท 2.26 สญญาณ Pulse ทจบไดในชวงเวลา 100 ms

จากภาพดานบนจะเหนวาสญญาณ Pulse ทเขามานน ในชวงเวลา 100 ms สญญาณ Pulse

ทเขามาเปน Logic 1 ท Interrupt นบไดมคาเทากบ 10

เพราะฉะนน คาความถทไดจากชวงเวลานคอ 10 x 10 = 100 Hz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

47

บทท 3

การออกแบบโครงงาน

3.1 การออกแบบการท างานของการตรวจวดยานพาหนะ

หลกการท างานของการตรวจวดยานพาหนะ จะประกอบไปดวยการท างานหลกอย

2 องคประกอบทท างานรวมกน คอสวนของวงจรกรองความถทท าหนาทจายความถทเกดขนจาก

การเหนยวน าของลปเหนยวน าทถกฝงอยใตพนถนนมาใหกบไมโครคอนโทรลเลอร ซง

ไมโครคอนโทรลเลอรนถกปอนค าสงใหท าการนบความถทตรวจวดได และค านวณหาคาอตรา

การเปลยนแปลงความถกอนทจะท าการตดสนใจวา ในลปเหนยวน ามยานพาหนะอยหรอไม

รปท 3.1 วงจรก าเนดความถสรางความถใหไมโครคอนโทรลเลอร

3.2 การออกแบบโปรแกรมนบความถส าหรบการตรวจวดยานพาหนะ

โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ ถกออกแบบมาเพอท าการตรวจนบ

ความถทสามารถตรวจวดได และท าการค านวณหาอตราการเปลยนแปลงความถ เพอใชในการ

ตดสนใจวาบนลปเหนยวน ามรถอยหรอไม ซงโครงงานนเปนสวนประกอบทส าคญใน

กระบวนการตรวจวดยานพาหนะ โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ นจะประกอบ

ไปดวย ไมโครคอนโทรลเลอรบอรด ARM7 ทจะเปนตวควบคมการท างานหลก โดยจะตองม

ซอฟตแวรทใชในการเขยนค าสงควบคม ผจดท าเลอกใชภาษาซโดยใชโปรแกรม Keil uVision3

เนองจากภาษาซเปนภาษาโครงสรางงายตอการท าความเขาใจและสามารถปรบปรงพฒนาตอไดงาย

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

48

นอกจากนนภาษาซยงเปนภาษามาตรฐาน ไมขนกบฮารดแวร (ไมโครคอนโทรลเลอร) มความ

ยดหยนและสามารถใชงานกบไมโครคอนโทรลเลอรตระกลอนไดงาย โดยหลกการท างานหลก

ของโปรแกรมนบความถส าหรบตรวจวดยานพาหนะสามารถล าดบการท างานเปนขนตอนตางๆ ดง

รปท 3.2 Flow Chart การท างานหลกของโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

3.3 อธบาย Flow Chart การท างานหลกของโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

การท างานหลกของ โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ น จะเรมเกบความถ

อางอง (Frequency Base) หลงจากทท าการเปดเครองเรมตนการท างาน คาของความถทสามารถนบ

ไดกจะน ามาค านวณเปรยบเทยบหาอตราการเปลยนแปลงความถวามคามากกวาคา Sensitivity ท

ก าหนดไวหรอไม ถาใชหมายความวามรถยนตเขามาอยในลปเหนยวน าแลว จากนนกวนกลบไป

อานคาความถทนบไดเหมอนเดม เมออตราการเปลยนแปลงความถมคานอยกวาคา Sensitivity ท

ก าหนดไวโปรแกรมจะท าการตดสนใจวาในลปเหนยวน าไมมรถเขามาอยและท าการเชคเงอนไข

Time update >= 30 วนาทหรอไม ถาใชจะท าการอพเดตความถอางอง กลาวคอ โปรแกรมนบ

ความถส าหรบตรวจวดยานพาหนะ นจะท าการอพเดตความถอางองทกๆ 30 วนาท เมอท าการ

อพเดตเสรจแลวจะก าหนดคาของ Time update = 0 เพอเคลยรการนบเวลาทงหมดแลววนกลบไป

อานความถทตรวจนบได ถา Time update < 30 วนาท จะไมอพเดตความถอางองแตจะกลบไปวน

ลปอานคาความถทตรวจนบไดอกครง

3.4 อธบาย Flow Chart การท างานของฟงกชน Update Frequency

โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ จะตองท าการหาคาอตราการ

เปลยนแปลงความถอยตลอดเวลา ดงนนจงตองมการอพเดตความถอางอง ทกๆ 30 วนาท ซง

ความถทจะน ามาเปนความถอางองตวใหม บางครงอาจจะมความแตกตางไปจากความถอางองเดม

มากอาจเนองมาจากสภาพแวดลอมหรอสภาพภมอากาศทแปรเปลยน หรอความถทอานไดนน

อาจจะเกดมาจากสญญาณรบกวน ท าใหคาความถทจะใชเปนความถอางองมคาทผดเพยนไป

ฟงกชน Update Frequency น จะมการตงเงอนไขในการอพเดตความถอางองวา ถาความถทอาน

ไดมอตราการเปลยนแปลงไปจากคาความถอางองนอยกวา 0.3 (∆fBase < 0.3) แสดงวาความถทนบ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

49

ไดสามารถใชเปนความถอางองได และเพอปองกนปญหาของการเกดสญญาณรบกวน จงน า

ความถอางองเดมกบความถทผานเงอนไขเขามา มาท าการหาคาเฉลยไดเปนความถอางองตวใหมท

จะน าไปใชงาน ถาความถทนบไดมคามากกวา 0.3 (∆fBase > 0.3) จะไมท าการอพเดตความถและให

สงคากลบกลบไปยงต าแหนงทเรยกใช

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50

3.5 Flow Chart การท างานหลกโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

รปท 3.2 Flow Chart แสดงการท างานของโปรแกรมหลก

TIME UPDATE

>= 30 sec

PRESENT CAR

(LED) UPDATE FREQUENCY

START

GET FREQUENCY BASE

ENABLE TIME UPDATE

TIME UPDATE = 0

GET FREQUENCY

TIME UPDATE ++

TIME UPDATE = 0

YES

NO

YES

NO

ABSENT CAR

CAL Δf

∆𝑓 =|𝑓𝐵𝑎𝑠𝑒 −𝑓𝑅𝑒𝑎𝑙 |

𝑓𝐵𝑎𝑠𝑒 x 100

Δf >SENSITIVITY

CHECK DIP SWITCH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

51

3.6 Flow Chart Function Update Frequency

รปท 3.3 Flow Chart แสดงการท างานของ Function Update Frequency

START

GET FREQUENCY

CAL ∆f Base

∆fBase =𝑓𝐵𝑎𝑠𝑒 0−𝑓𝑅𝑒𝑎𝑙

𝑓𝐵𝑎𝑠𝑒 0

∆f Base < 0.3

fBase = 𝑓𝐵𝑎𝑠𝑒 0+𝑓𝑅𝑒𝑎𝑙

2

YES

NO

RETURN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

52

บทท 4

การทดสอบ

หลกการท างานของตวตรวจวดยานพาหนะคอ การสรางความถทมคาคงทเมอไมมยานพาหนะ

แตเมอมยานพาหนะเขามาท ลปเหนยวน า กจะท าใหความถเปลยนไป ซงตวเหนยวน าความถจะเปนเซนเซอรในการตรวจวดยานพาหน ะโดยอตราการเปลยนแปลงความถทเกดขนจะน ามาตดสนใจวามยานพาหนะผานมาทลปเหนยวน าหรอไม ซงการทดสอบจะท าการทดสอบกบยานพาหนะประเภทรถยนตสวนบคคลและยานพาหนะขนาดเลกอตราการเปลยนแปลงทเกดขนจากรถยนตสวนบคคลจะมคามากกวา เพราะขนาดของยานพาหนะมขนาดใหญกวา

4.1 เงอนไขในการทดสอบ

รปท 4.1 บอรด CP-JR ARM7 USB-LPC2148

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

53

รปท 4.2 การท างานรวมกนระหวางบอรดก าเนดความถและบอรดไมโครคอนโทรลเลอร

ในการทดสอบจะน าบอรด LPC2148 มาตอใชงานรวมกบบอรด วงจรก าเนดความถส าหรบการ

ตรวจวดยานพาหนะ โดยบอรด วงจรก าเนดความถส าหรบการตรวจวดยานพาหนะ ท าหนาทสราง

สญญาณความถเขาส บอรด LPC2148 เมอมยานพาหนะผานเขามาทลปเหนยวน า บอรดวงจรก าเนด

ความถส าหรบการตรวจวดยานพาหนะจะม LED ตดสวางหนงดวงเพอเปนสญญาณบอกวาม

ยานพาหนะผานเขามาทลปเหนยวน า และรอใหบอรด LPC2148 ท าหนาทตดสนใจวาจะอพเดตความถ

ทเวลาใดตอไป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

54

รปท 4.3 แยกการจราจรทใชทดสอบ (1)

รปท 4.4 แยกการจราจรทใชทดสอบ (2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

55

รปท 4.5 ตควบคมสญญาณไฟจราจรทตดตงตรงบรเวณแยกการจราจร

ตวตรวจวดยานพาหนะทไดออกแบบนนจะใชหลกการของขดลวดเหนยวน า โดยจะตดตงตวเหนยวน าความถลปเหนยวน าไวทใตพนถนนตรงจดทเราตองการจะตรวจสอบยานพาหนะ โดยตวเหนยวน าความถจะมลกษณะเปนวงกลมเสนผานศนยกลาง 1.5 เมตร และหางจากตควบคมสญญาณไฟจราจรประมาณ 30 เมตร

รปท 4.6 ลปเหนยวน าทตดตงทพนถนน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56

4.2 ตวตรวจวดยานพาหนะ

ตวตรวจวดยานพาหนะทออกแบบนนจะสามารถเลอกความถได 4 ความถ โดยการเลอก Dip Switch เพอใหไดความถตามตองการและความถทสามารถเลอกใชงานมทงหมดดงน ตารางท 4.1 ความถของตวตรวจวดยานพาหนะ

Dip Switch Frequency (kHz) 1 2

OFF OFF 48 ON OFF 34 OFF ON 26 ON ON 23

รปท 4.7 Dip Switch ส าหรบเลอกความถของตวตรวจวดยานพาหนะ

ในการตรวจวดยานพาหนะความไวเปนพารามเตอรทส าคญอยางยงทจะบอกถงประสทธภาพ ในการตรวจวดยานพาหนะ เพราะถามความไวในการทดสอบมากจะท าใหสามารถตรวจวดยานพาหนะขนาดเลกไดซงในงานทดสอบนไดออกแบบความไวในการตรวจสอบยานพาหนะไว 4 ระดบสามารถเลอกความไวในการตรวจสอบโดยการเลอกจาก Dip Switch ซงจะสามารถเลอกไดดงน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57

ตารางท 4.2 ความไวส าหรบตรวจวดยานพาหนะ

Dip Switch Sensitivity 1 2 Channel 1

OFF OFF Disable OFF ON 2% ON OFF 1% ON ON 0.5%

รปท 4.8 Dip Switch ส าหรบเลอกความไวของตวตรวจวดยานพาหนะ

ความไว 0.5% หมายถง การตรวจสอบอตราการเปลยนแปลงความถของตวตรวจวด

ยานพาหนะ โดยความไวท 0.5%ถอวาเปนความไวทสงทสดเพราะวาสามารถตรวจวดยานพาหน ะขนาดเลกได

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

58

รปท 4.9 ลกษณะยานพาหนะขนาดเลกอยบนลปเหนยวน า

รปท 4.10 ลกษณะยานพาหนะประเภทรถยนตสวนบคคลอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59

4.3 ผลการทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

4.3.1 ทดสอบตรวจวดยานพาหนะประเภทรถยนตสวนบคคลทความถ 48 kHz

รปท 4.11 ความถ 48 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า

รปท 4.12 อตราการเปลยนแปลงความถท 48 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

4.3.2 ทดสอบตรวจวดยานพาหนะประเภทรถจกรยานยนตทความถ 48 kHz

รปท 4.13 ความถ 48 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า

รปท 4.14 อตราการเปลยนแปลงความถท 48 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

61

4.3.3 ทดสอบตรวจวดยานพาหนะประเภทรถยนตสวนบคคลทความถ 34 kHz

รปท 4.15 ความถ 34 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า

รปท 4.16 อตราการเปลยนแปลงความถท 34 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

4.3.4 ทดสอบตรวจวดยานพาหนะประเภทรถจกรยานยนตทความถ 34 kHz

รปท 4.17 ความถ 34 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า

รปท 4.18 อตราการเปลยนแปลงความถท 34 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

4.3.5 ทดสอบตรวจวดยานพาหนะประเภทรถยนตสวนบคคลทความถ 26 kHz

รปท 4.19 ความถ 26 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า

รปท 4.20 อตราการเปลยนแปลงความถท 26 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64

4.3.6 ทดสอบตรวจวดยานพาหนะประเภทรถจกรยานยนตทความถ 26 kHz

รปท 4.21 ความถ 26 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า

รปท 4.22 อตราการเปลยนแปลงความถท 26 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

4.3.7 ทดสอบตรวจวดยานพาหนะประเภทรถยนตสวนบคคลทความถ 22 kHz

รปท 4.23 ความถ 22 kHz ทเกดการเปลยนแปลงเมอมรถยนตสวนบคคลอยบนลปเหนยวน า

รปท 4.24 อตราการเปลยนแปลงความถท 22 kHz เมอมรถยนตสวนบคคลอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66

4.3.8 ทดสอบตรวจวดยานพาหนะประเภทรถจกรยานยนตทความถ 22 kHz

รปท 4.25 ความถ 22 kHz ทเกดการเปลยนแปลงเมอมรถจกรยานยนตอยบนลปเหนยวน า

รปท 4.26 อตราการเปลยนแปลงความถท 22 kHz เมอมรถจกรยานยนตอยบนลปเหนยวน า

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

67

จากการทดสอบทง 4 ความถกบยานพาหนะขนาดเลกและยานพาหนะประเภทรถยนตสวนบคคล

พบวาเมอยานพาหนะเขามาอยบนจดทตดตงตวเหนยวน าความถจะท าใหเกดความถเปลยนแปลงไปจาก

เดม เมอค านวณหาอตราการเปลยนแปลงความถพบวา ยานพาหนะประเภทรถยนตสวนบคคลจะมอตรา

การเปลยนแปลงเฉลยอยบนประมาณ 1.5-3.5 % และยานพาหนะขนาดเลกจะมอตราการเปลยนแปลง

เฉลยอยบนประมาณ 0.5–1 % ดงนนเมอเราพจารณาความไวในการตรวจวดยานาพาหนะเราสามารถ

ตรวจวดยานพาหนะขนาดเลกได

4.4 การทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะกบเครองมอวดในหองปฏบตการ

การทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะกบเครองมอวดในหองปฏบตการ

ประกอบดวยเครองมอตางๆ ดงน

1. เครอง Multi Function Generator ใชส าหรบสรางความถทตองการทดสอบ

2. เครอง Oscilloscope ใชวดระดบของสญญาณและความถทสามารถจบได

3. เครอง Universal Counter ใชส าหรบตรวจนบความถ

รปท 4.27 อปกรณการทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะในหองปฏบตการ

3

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

68

4.4.1 การทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะทความถ 50 kHz

รปท 4.28 เครอง Multi Function Generator สรางความถท 50 kHz

รปท 4.29 เครอง Universal Counter อานความถไดท 50 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

69

รปท 4.30 Oscilloscope วดความถได 50 kHz

รปท 4.31 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

อานความถทสรางมาจากเครอง Multi Function Generator ท 50 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

4.4.2 การทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะทความถ 30 kHz

รปท 4.32 เครอง Multi Function Generator สรางความถท 30 kHz

รปท 4.33 เครอง Universal Counter อานความถไดท 30 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

71

รปท 4.34 Oscilloscope วดความถได 30 kHz

รปท 4.35 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

อานความถทสรางมาจากเครอง Multi Function Generator ท 30 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72

4.5 การทดสอบโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ กบความถทสรางมาจากวงจรก าเนด

ความถ

4.5.1 ทดสอบทความถ 25 kHz

รปท 4.36 เครอง Universal Counter อานความถได 25 kHz

รปท 4.37 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

อานความถทสรางมาจากเครอง Multi Function Generator ท 25 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

73

4.5.2 ทดสอบทความถ 18 kHz

รปท 4.38 เครอง Universal Counter อานความถได 18 kHz

รปท 4.39 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

อานความถทสรางมาจากเครอง Multi Function Generator ท 18 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

74

4.5.3 ทดสอบทความถ 14 kHz

รปท 4.40 เครอง Universal Counter อานความถได 14 kHz

รปท 4.41 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

อานความถทสรางมาจากเครอง Multi Function Generator ท 14 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

75

4.5.4 ทดสอบทความถ 12 kHz

รปท 4.42 เครอง Universal Counter อานความถได 12 kHz

รปท 4.43 โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

อานความถทสรางมาจากเครอง Multi Function Generator ท 12 kHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

76

จากการทดสอบ โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ กบเครองมอวดใน

หองปฏบตการ ท าใหสามารถพสจนไดวา โปรแกรมนบความถสามารถอานความถไดตรงกบคาของ

ความถทถกสรางออกมาจากเครองก าเนดสญญาณ (Multi Function Generator) ซงคาทอานไดอาจจะม

ความคลาดเคลอนเลกนอยเนองจากสภาพความสมบรณของอปกรณการวดในหองปฏบตการไม

สมบรณ 100 เปอรเซนต

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

77

บทท 5

สรปผลการทดลองและขอเสนอแนะ

5.1 สรปผลการทดลอง โปรแกรมนบความถส าหรบตรวจวดยานพาหนะ เปนสวนหนงของการตรวจวดยานพาหนะ

โดยใชลปเหนยวน า ซงจะน าความถทสามารถวดไดในการทดสอบมาค านวณหาคาอตราการ

เปลยนแปลงความถ (Delta) เพอใชในการตรวจสอบวามยานพาหนะผานเขามาทลปเหนยวน าแลว

หรอไม ซงโปรแกรมมการอพเดตความถอางอง (Frequency Base) ทกๆ 30 วนาท เนองจากความถม

การเปลยนแปลงตลอดเวลาตามสภาพแวดลอมและสภาพภมอากาศเราจงตองมการอพเดตความถ

เพอใหคาความถมความคลาดเคลอนนอยทสดดงนนจากการทดสอบการใชงานของโปรแกรมนบ

ความถส าหรบตรวจวดยานพาหนะสามารถสรปไดดงน

1. เราสามารถใชไมโครคอนโทรลเลอรวดความถได

2. โปรแกรมสามารถใชความถทวดไดเปนตวตรวจจบวาเปนยานพาหนะไดจรง

3. โปรแกรมสามารถท างานไดทกความถและสามารถปรบคา Sensitivity ไดในกรณทผใช

ตองการใหโปรแกรมมความไวในการตรวจจบยานพาหนะตามตองการ

5.2 ปญหาและอปสรรค

1. ยานพาหนะทเขามาในลปเหนยวน าถาเปนรถจกยานยนตจะสามารถวดความถไดนอยมาก

จงท าใหคา Delta ทค านวณออกมามคานอยมากโปรแกรมอาจตดสนใจวาไมมยานพาหนะ

อยในลปเหนยวน าเลย

2. ยานพาหนะทขบผานนนตองขบเขามาในลปเหนยวน าเทานนถงจะตรวจวดความถไดดเมอ

ยานพาหนะบางคนขบออกดานขางลป คาความถทวดไดจะมการเปลยนแปลงทนอยถาเทยบ

กบขบเขามาในลป เชนเดยวกบรถจกยานยนต

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

78

5.3 สงทไดรบจากการท าโครงงาน

1. ไดรบความรเกยวกบการใชงานโปรงแกรม Keil uVision3

2. ไดรบความรเกยวกบการตรวจสอบยานพาหนะ (Detected)

3. ไดรบความรเกยวการใชงานของบอรด Microcontroller Board ARM7

4. ไดเรยนรระบบการคด การรจกคดวเคราะห และการประยกตใชงาน

5. ไดเรยนรการท างานรวมกบผอน

6. สามารถน าความรทไดจากการศกษาทฤษฎน ามาปฏบตไดจรง

7. สามารถน าความรและประสบการณทไดจากการท าโครงงานไปประยกตใชในการท างานได

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

79

เอกสารอางอง

(1) นคร ภกดชาต , อรรถพล บญยะโภคาม ,โอภาส ศรครรชตถาวร และ ชยวฒน ลมพรวไล(ม.ป.ป.). คมอทดลองไมโครคอนโทรลเลอร 32 บตตระกล ARM7 เบองตนฉบบ LPC2148 บรษท อโนเวตฟ เอกเพอรเมนต จ ากด

(2) บรษทอทท จ ากด .คมอการใชงานบอรด CP-JR ARM7 USB-LPC2148EXP [On line] จาก: http://www.ett.co.th/product/ARM/images/CP_JR_ARM7_LPC2148/MAN_CP_JR_ARM7_LPC2148.pdf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

80

ประวตผจดท า

นางสาวไพลน โตกระโทก

เกดเมอ วนท 24 มถนายน พ.ศ. 2532

ภมล าเนาอยท ต าบลโชคชย อ าเภอโชคชย จงหวดนครราชสมา

ส าเรจการศกษาจากระดบมธยมปลายจากโรงเรยนโชคชยสามคค

อ าเภอโชคชย จงหวดนครราชสมา เมอป พ.ศ. 2550

ปจจบนเปนนกศกษาชนปท 4 สาขาวศวกรรมโทรคมนาคม

ส านกวชาวศวกรรมศาสตร มหาวทยาลยเทคโนโลยสรนาร

นางสาวพมพสทธ พฒนโสภณกล

เกดเมอวนท 4 มกราคม พ.ศ. 2534

ภมล าเนาอยท ต าบลหมากแขง อ าเภอเมอง จงหวดอดรธาน

ส าเรจการศกษาระดบมธยมปลายจากโรงเรยนอดรพทยานกล

อ าเภอเมอง จงหวดอดรธาน เมอป พ.ศ. 2550

ปจจบนเปนนกศกษาชนปท 4 สาขาวศวกรรมโทรคมนาคม

ส านกวชาวศวกรรมศาสตร มหาวทยาลยเทคโนโลยสรนาร

นางสาวภสราภรณ วจารณปญญา

เกดเมอวนท 24 มนาคม พ.ศ. 2533

ภมล าเนาอยท ต าบลมวกเหลก อ าเภอมวกเหลก จงหวดสระบร

ส าเรจการศกษาระดบมธยมปลายจากโรงเรยนมวกเหลกวทยา

อ าเภอมวกเหลก จงหวดสระบร เมอป พ.ศ. 2550

ปจจบนเปนนกศกษาชนปท 4 สาขาวศวกรรมโทรคมนาคม

ส านกวชาวศวกรรมศาสตร มหาวทยาลยเทคโนโลยสรนาร

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

81

ภาคผนวก

(ก)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

82

การใชงานโปรแกรม

1. การใชงานโปรแกรม Keil uVision 3

เมอเปดโปรแกรม Keil uVision3 ซงเปนโปรแกรม Text Editor โดย Keil-CARM ใชส าหรบ

การเขยนโปรแกรมทเปน Source Code ภาษาซ โดยจะมลกษณะดงรป

รปท 1. หนาตางเรมตนของโปรแกรม Keil uVision 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

83

หนาตางเรมตนของตวโปรแกรม โดยจะเรมตนเขยน Source Code ภาษาซโดยใหเลอกคลก

เมาสทเมนค าสง File New… ซงจะไดพนทในการเขยน Text File ขนมา โดยครงแรกจะก าหนดชอ

ตามคา Defaultเปน “Text2”ดงรป

รปท 2. เรมตนของการเขยน Source Code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

84

ขนตอนของการพมพ Source Code ภาษาซตามขอก าหนดของ Keil-CARMในพนทเขยนโปรแกรม

ตามทตองการ

รปท 3. หนาตางส าหรบพมพ Source Code ภาษาซลงในโปรแกรม Keil uVision3

หลงจากพมพค าสงภาษาซเสรจเรยบรอยแลวตามทตองการใหท าการ Save ไฟลดงกลาว โดย

ตองก าหนดนามสกลเปน “.C” ในทนขอแนะน าใหสง Save โดยใชค าสง File Save As… แลวก าหนด

ชอและนามสกลของไฟลเปน “main.c” ดงรป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

85

รปท 4. การ Save ไฟลโดยก าหนดนามสกลเปน “.C”

รปท 5. หนาตางของโปรแกรม Keil uVision 3 เมอท าการ Save

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

86

เมอกดปม Build Terget ตรงทเปนวงกลมสแดงนนโปรแกรมจะ Run เอาผลออกมาจะเหนวา

ตวโปรแกรมไดผลทถกตองและไมเกดการผดพลาดใดๆ (0 Error และ 0 warming) ดงภาพ

รปท 6. ผลการรนโปรแกรม

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

87

2. การใชงานโปรแกรม Hyper Terminal

สงใหโปรแกรม ท างานซงจะปรากฏหนาตางดงรปท 7 แลวพมพชอลงในแถบกรอกขอความ

แลวใชเมาสคลก OK จะปรากฏในหนารปท 8

รปท 7. หนาตางเรมตนการท างานของโปรแกรม Hyper Terminal

รปท 8. การเลอก Comport ใชงาน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

88

รปท 9. ท าการตงคาท COM5 ใหเปนคาเรมตน

รปท 10. หนาตางแสดงภายหลงการตงคาเรมตนของ COM5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

89

รปท 11. โปรแกรม Hyper Terminal ท าการรนคาความถ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

90

3. การ Capture ของโปรแกรม Hyper Terminal

เมอเราท าการรนโปรแกรมเพอเกบความถจากโปรแกรม Hyper Terminal โดยทคาความถและ

คา Delta ทไดจากโปรแกรม Hyper Terminal คาจะรนไปเรอยๆ เพราะฉะนนเราจะเกบคา ผลการ

ทดลอง ณ ชวง เวลาหนงเพอ น าคา มาวเคราะหผลการทดลอง โดย ท าการ Capture หนาตางของ

โปรแกรม Hyper Terminal ไว ซงวธการ Capture ของโปรแกรม Hyper Terminal มดงน

หลงจากรปท 11 เมอโปรแกรม Hyper Terminal อานคาความถ

รปท 12. เรมท าการ Capture คาความถ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

91

รปท 13. ท าการเลอก Folder ทเราตองการจะเกบงาน

รปท 14. การตงชองาน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

92

โปรแกรม Hyper Terminal จะท าการ Capture คาความถไว เมอเราตองการหยดการ Capture ใหเราไปเลอกท Transfer อกครงแลวคลกท Capture Stop โปรแกรม Hyper Terminal กจะหยดการ Capture คาความถ

รปท 15. หนาตางแสดงการหยด Capture คาความถ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

93

รปท 16. หนาตางแสดงคาความถทถก Capture ไว

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

94

ภาคผนวก

(ข)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

95

โคดการท างานของโปรแกรมนบความถส าหรบตรวจวดยานพาหนะ

#include "LPC214x.h" // LPC2148 MPU Register

#include "stdio.h"

#include "LCD.h"

#include "global.h"

#include "UART.h"

#include "delay.h"

#include "IRQ_interrupt.h"

#include "math.h"

#define Loop_OFF IOSET0 |= 0x00000004; // P0.2 is OFF

#define Loop_ON IOCLR0 |= 0x00000004; // P0.2 is ON

#define LED1_OFF IOSET0 |= 0x00000040; // P0.6 OFF

#define LED1_ON IOCLR0 |= 0x00000040; // P0.6 ON

#define LED2_OFF IOSET0 |= 0x00000080; // P0.7 OFF

#define LED2_ON IOCLR0 |= 0x00000080; // P0.7 ON

#define TIMER0_IRQ 4

#define TIMER_IR_MR(n) (1 << (n))

#define TIMER_IR_CR(n) (1 << (n+4))

#define TIMER_TCR_CNTR_ENABLE (1 << 0)

#define TIMER_TCR_CNTR_RESET (1 << 1)

#define TIMER_CTCR_TIMER_MODE (0)

#define TIMER_CTCR_CNTR_MODE_RISING (1)

#define TIMER_CTCR_CNTR_MODE_FALLING (2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

96

#define TIMER_CTCR_CNTR_MODE_BOTH (3)

#define TIMER_CTCR_COUNT_CAP(n) ((n) << 2)

#define TIMER_CCR_CAP_RE(n) (1 << (n*3))

#define TIMER_CCR_CAP_FE(n) (2 << (n*3))

#define TIMER_CCR_CAP_BE(n) (3 << (n*3))

#define TIMER_CCR_CAP_I(n) (4 << (n*3))

#define CHANNEL 0

#define SW1 4

#define SW2 5

void delay_ms(long);

void delay_us(long);

void capture_freq (void);

void Freq_Update(void);

void Cal_Delta (void);

void Check_Present (void);

void Check_Sensitivity (void);

void isr_rtc (void) __irq;

void T0isr (void) __irq;

void init_timer0();

float freq,Freq_Base,Freq_Real,Delta,Sensitivity_Loop;

int i,Timer_Update=0,Detec_Timer=0,Present=0;

int F_Update=1,Enable_Loop=1,buff_freq_base[600];

unsigned int Pulse;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

97

//---------------------------------- Main Function ----------------------------------------------//

int main(void)

{

init(); // Initial

uart0_init(9600);

PINSEL0 &= 0x0000000F; // P0.2 - P0.13 is GPIO

IODIR0 |= 0x0000F0E8; // P0.2 - P0.7 , P0.12-P0.13 is Output

IOCLR0 |= 0x0000C0E8; // P0.3 , P0.5 , P0.6 , P0.7, P0.14 , P0.15 is LOW

IOCLR0 |= 0x00003000; // P0.12 - P0.13 is Low

PINSEL0 |= (2 << 4); // Use P0.2 as capture channel 0

PREINT = 0x00000392; // Set RTC Prescaler for PCLK 30 MHz

PREFRAC = 0x00004380;

CIIR = 0x00000001; // Enable seconds counter interrupt

ALSEC = 0x00000003; // Set alarm register for 3 seconds(match when xx:xx:03)

AMR = 0x000000FE; // Enable seconds alarm

CCR = 0;

CCR |= 0x00000010;

CCR |= 0x00000002; // Reset Clock

CCR &= 0xFFFFFFFD; // Release Reset

CCR |= 0x00000001; // Start RTC Clock

VICVectAddr13 = (unsigned)isr_rtc;

VICVectCntl13 = 0x20 | 13; // Interrupt RTC

VICIntEnable |= (1<<13); // Enable RTC Interrupt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

98

Loop_OFF;

LED1_OFF;

LED2_OFF;

Pulse = 0; // Clear Counter

Check_Sensitivity();

printf("Frequency Counter (0.1sec)\n"); // Call Printf Function

for(i=0;i<5;i++) // Read Frequecny

capture_freq();

Freq_Base = freq; // Update Base Frequency

F_Update=0;

while(1)

{ capture_freq();

Check_Sensitivity();

Cal_Delta();

Check_Present();

}

}

//=================================

void Check_Sensitivity (void)

{

if((!(input_0(SW1))) & (!(input_0(SW2))))

{ Sensitivity_Loop = 0.5;

Enable_Loop = 1; }

else if(!(input_0(SW1)))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

99

{ Sensitivity_Loop = 1;

Enable_Loop = 1; }

else if (!(input_0(SW2)))

{ Sensitivity_Loop = 2;

Enable_Loop = 1; }

else

{ Sensitivity_Loop = 0;

Freq_Update();

Enable_Loop = 0; }

return;

}

//==================== Cal_Delta =============

void Check_Present (void)

{ // Loop 1

if ((Enable_Loop)&&(Sensitivity_Loop > 0))

{ if(Delta >= Sensitivity_Loop) // Delta 1

{ Loop_ON; // Present Loop 1

LED1_ON;

Present = 1; // Start Detec_Timer 1

}

else

{ Loop_OFF; // Absent Loop 1

LED1_OFF;

Detec_Timer = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

if (Timer_Update >= 30) // 30 Sec Update Frequency Base

{ F_Update = 1; // Start Update Frequency Loop 1

Freq_Update(); // Update Frequency

F_Update = 0; // Not Update Frequency Loop 1

Timer_Update = 0; }

}

}

return;

}

//==================== Cal_Delta =============

void Cal_Delta (void)

{ if(Enable_Loop)

{ Freq_Real = freq;

Delta = (abs(Freq_Base - Freq_Real)/Freq_Base) * 100;

}

return;

}

//==================== Freq_Update =============

void Freq_Update(void)

{

float temp_Freq,Delta_freq;

LED2_ON;

//printf("---------------------------------\r\n");

capture_freq();

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

101

temp_Freq = Freq_Base;

Freq_Real = freq;

Delta_freq = (abs(temp_Freq - Freq_Real)/temp_Freq) * 100;

if (F_Update && Enable_Loop && (Delta_freq < 0.3))

Freq_Base = (freq+temp_Freq)/2;

LED2_OFF;

return;

}

//---------------------------- Interrupt service routine for UART1 -------------------------------//

void isr_rtc (void) __irq

{ if(ILR & 0x01) // Check Interrupt block generate

{ if (Present)

Detec_Timer++;

Timer_Update++;

ILR = 0x01; // Clear interrupt flag

}

if(ILR & 0x02)

{ ILR = 0x02; } // Clear interrupt flag

VICVectAddr = 0; // Acknowledge Interrupt

}

void capture_freq (void)

{

VICIntEnClr |= (1<<13); // Enable RTC Interrupt

// Initial External Interrupt-0(GPIO0.14)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

102

if(Enable_Loop)

{

init_timer0();

Pulse = 0;

delay_ms(100);

freq = Pulse * 10;

Pulse = 0;

}

VICIntEnable |= (1<<13); // Enable RTC Interrupt

return;

}

void T0isr (void) __irq

{

Pulse++;

//count = T0CR0;

T0CR0 = 0;

T0IR |= 0x00000001;

VICVectAddr = 0x00000000;

return;

}

//=======================

void init_timer0(void)

{

T0TCR = TIMER_TCR_CNTR_RESET; // Reset TC and PC registers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

103

T0PR = 0; // Set prescaler to 0

T0CTCR = TIMER_CTCR_CNTR_MODE_RISING |

TIMER_CTCR_COUNT_CAP(CHANNEL);

T0CCR = TIMER_CCR_CAP_I(CHANNEL) | TIMER_CCR_CAP_RE(CHANNEL);

T0TCR = TIMER_TCR_CNTR_ENABLE; // Enable TC and PC registers

VICVectCntl0 = (1 << 5) | TIMER0_IRQ; // Use slot 0 for TIMER0 and enable it

VICVectAddr0 = (unsigned) T0isr; // Set the vector address for slot 0

VICIntEnable = (1 << TIMER0_IRQ); // Enable the TIMER0 interrupt

}

//---------------------------------- Function delay ----------------------------------------------//

void delay_ms(long ms) // delay 1 ms per count @ CCLK 60 MHz

{ long i,j;

for (i = 0; i < ms; i++ )

for (j = 0; j < 6665; j++ ); // 1 ms

}

//---------------------------------- Function delay ----------------------------------------------//

void delay_us(long ms) // delay 1 ms per count @ CCLK 60 MHz

{ long i,j;

for (i = 0; i < ms; i++ )

for (j = 0; j < 9; j++ ); // 1 ms

}