universiti malaysia perlis · pdf file[kadar baud menentukan berapa cepat data dapat dihantar...

22
SULIT SULIT UNIVERSITI MALAYSIA PERLIS Peperiksaan Semester Pertama Sidang Akademik 2011/2012 Januari 2012 ENT373 – Embedded System Design and Applications [Rekabentuk dan Aplikasi Sistem Terbenam] Masa : 3 jam Please make sure that this question paper has TWENTY TWO (22) printed pages including this front page before you start the examination. [Sila pastikan kertas soalan ini mengandungi DUA PULUH DUA (22) muka surat yang bercetak termasuk muka hadapan sebelum anda memulakan peperiksaan ini.] This question paper has SIX (6) questions. Answer any FIVE (5) questions only. Each question contributes 20 marks. [Kertas soalan ini mengandungi ENAM (6) soalan. Jawab mana-mana LIMA (5) soalan sahaja. Markah bagi tiap-tiap soalan adalah 20 markah.]

Upload: dohanh

Post on 12-Feb-2018

245 views

Category:

Documents


2 download

TRANSCRIPT

SULIT

SULIT

UNIVERSITI MALAYSIA PERLIS

Peperiksaan Semester PertamaSidang Akademik 2011/2012

Januari 2012

ENT373 – Embedded System Design and Applications[Rekabentuk dan Aplikasi Sistem Terbenam]

Masa : 3 jam

Please make sure that this question paper has TWENTY TWO (22) printed pagesincluding this front page before you start the examination.[Sila pastikan kertas soalan ini mengandungi DUA PULUH DUA (22) muka surat yang bercetak termasukmuka hadapan sebelum anda memulakan peperiksaan ini.]

This question paper has SIX (6) questions. Answer any FIVE (5) questions only. Eachquestion contributes 20 marks.[Kertas soalan ini mengandungi ENAM (6) soalan. Jawab mana-mana LIMA (5) soalan sahaja. Markahbagi tiap-tiap soalan adalah 20 markah.]

SULIT

SULIT

(ENT 373)- 2 -

Question 1[Soalan 1]

(a) The PIC18 microcontroller file register data RAM is divided into two sectionwhich are General Purpose Register (GPR) and Special Function Register (SFR).Compare these two register.[Data capaian ingatan rawak (RAM) daftar fail Mikropengawal PIC18 dibahagikan kepada duabahagian iaitu Daftar Gunaan Umum (GPR) dan Daftar Fungsi Istimewa (SFR). Bandingkankedua-dua daftar tersebut.]

(4 Marks / Markah)

(b) Write a C program to check all bits on PORT A, B, C and D by toggle all bitswith time delay for “ON” and “OFF” are 200 ms. The “for” looping is used toprogram delay function and assume XTAL = 10 MHz.[Tuliskan satu aturcara C untuk periksa kesemua bit pada PORT A, B, C dan D dengan ubahkansemua bit pada lengah masa “ON” dan “OFF” 200ms. Gelungan “for” digunakan untukmengaturcara fungsi lengah dan andaikan XTAL = 10 MHz.]

(6 Marks / Markah)

(c) A door sensor is connected to the RB1 pin and a buzzer is connected to the RC7pin of the PIC18. Develop a flowchart and write a C program to monitor the doorsensor and sound the buzzer when the door opens. The pulse of the buzzer shouldbe made 500 ms for the first 10 seconds. After 10 seconds the pulse changes to200 ms. All the time delay must be implemented using “for” loop. Choose asuitable crystal oscillator frequency to implement the time delay program.[Satu penderia pintu disambungkan pada pin RB1 dan satu penggera disambungkan pada RC7.Bangunkan satu carta alir dan tuliskan satu aturcara C untuk pantau penderia pintu dan bunyikanpenggera apabila pintu dibuka. Denyut penggera perlu dibuat pada 500 ms untuk 10 saatpertama. Selepas 10 saat denyut akan berubah kepada 200 ms. Semua lengah masa mestidilaksanakan menggunakan gelung “for”. Pilih frekuensi kristal ossilator yang sesuai bagimelaksanakan aturcara lengah masa.]

(10 Marks/ Markah)

SULIT

SULIT

(ENT 373)- 3 -

Question 2[Soalan 2]

(a) Examine the following program and find the time delay in second. Assume theconfiguration are Timer0, 16Bit mode, 1:4 prescaler and XTAL = 10MHZ.[Memeriksa program berikut dan mencari kelewatan masa kedua. Andaikan konfigurasi adalahTimer0, mod 16bit, 01:04 prescaler dan XTAL = 10MHZ]

#include <pic18f.h>Void T0Delay (Void);Void T0Delay ( ){

T0CON = 0x01;TMR0H = 0xDE;TMR0L = 0XE9;T0CONbits.TMR0ON = 1;

}

(4 Marks / Markah)

(b) PIC18F4580 has four different timers. The TIMER0 is configured as follows.[PIC18F4580 mempunyai empat pemasa yang berbeza. TIMER0 dikonfigurasi seperti berikut]

8 Bit Mode Clock Source from Prescaler Prescaler = FCPU/256 (Note: FCPU= Fosc/4) Over flow INT enabled XTAL = 20MHz

(i) Calculate Time period[Kirakan Tempoh masa]

(2 Marks / Markah)

(ii) Calculate Prescaler period[Kirakan tempoh preskala]

(2 Marks / Markah)

(iii) Overflow period (if has)[Tempoh overflow (jika ada)]

(2 Marks / Markah)

…4/-

SULIT

SULIT

(ENT 373)- 4 -

(c) Use Timer0 as a timer to create a 1-second delay and use Timer 1 as a counter tocount the rising (or falling) edges of an unknown signal (at the RA4/TOCKI(Timer0 clock input) arriving in 1 second, which would measure the frequency ofthe unknown signal. Write a program to implement this idea, assuming that thePIC18 microcontroller is running with a 32-MHz crystal oscillator.[Gunakan Timer0 sebagai pemasa untuk mewujudkan kelewatan 1-saat dan menggunakanPemasa 1 sebagai pengira untuk mengira terbit (atau jatuh) pinggir isyarat yang tidak diketahui(di RA4/TOCKI (Timer0 clock input)) tiba di 1 saat, yang akan mengukur frekuensi isyarat yangtidak diketahui. Write satu program untuk melaksanakan idea ini, dengan anggapan bahawamikropengawal PIC18 sedang berjalan dengan pengayun kristal 32-MHz.]

(i) Draw schematic diagram for the system include Microcontroller, Voltageregulator 5 V and oscillator .[Lukiskan rajah skematik untuk sistem melibatkan Mikropengawal, penstabil voltan 5Vdan penjana frekuensi]

(3 Marks / Markah)

(ii) Sketch the flow chart of the system.[Lakarkan carta alir untuk sistem tersebut.]

(2 Marks / Markah)

(iii) Write a C programme to execute the task.[Tuliskan aturcara program C untuk melaksanakan perkara tersebut.]

(5 Marks / Markah)

SULIT

SULIT

(ENT 373)- 5 -

Question 3[Soalan 3]

(a) Baud rate determine how fast the data can be transferred serially betweenmicrocontroller and other device. This can be done within setting the suitablevalue of SPBRG. Assume that XTAL frequency is 10 MHz, calculate the SPBRGvalue (in both decimal and hex) to use 19200 baud rate if BRGH is 0.[Kadar Baud menentukan berapa cepat data dapat dihantar secara siri diantara mikropengawaldan lain. Ini dapat diaksanakan dengan menentukan nilai SPBRG yang sesuai. Anggapakanbahawa frekuensi XTAL adalah 10 Mhz, kira SPBRG (dalam persepuluh dan perenambelas)untuk menggunakan kadar baud 19200 jika BRGH adalah 0.]

(4 Marks / Markah)

Figure 1[Gambarajah 1]

(b) A switch is connected to PIC18 microcontroller in order to control the serialcommunication between PIC18 and hyper terminal as shown in Figure 1. Draw aflow chart and then write a program to wait a character ‘D’ from Hyper Terminalwith parameters of XTAL = 10 MHz, baud rate of 19200 and 8-bit data atmicrocontroller. After receiving that character transmit the message according tothe state of switch as follow:[Satu suis disambungkan ke mikropengawal PIC18 untuk mengawal komunikasi sesiri diantaraPIC18 dan hyper terminal seperti yang ditunjukkan dalam Gambarajah 1. Lakarkan carta alirdan kemudian tulis program untuk menunggu aksara ‘D’ dari hyper terminal denganparameter XTAL =10 Mhz, kadar baud 19200 dan 8-bit data mikropengawal. Selepas menerimaaksara tersebut hantar mesej mengikut keadaan seperti di bawah:

SW = 0, sent message “Standby”[SW = 0, hantar mesej “Standby”]SW = 1, sent message “PIC 18 system ON”[SW=1, hantar mesej “ PIC 18 system ON”]

(10 Marks / Markah)

…6/-

SULIT

SULIT

(ENT 373)- 6 -

(c) Evaluate the circuit in Figure 1, what is the purpose of MAX232 in the circuit andwhat will happen if the PIC18 microcontroller is directly connected to PCterminal without MAX232. Justify your answer.[Nilaikan litar dalam Gambarajah 1, apakah tujuan MAX232 di dalam litar dan apakah yangakan berlaku jika mikropengawal PIC18 disambungkan secara terus ke terminal PC tanpaMAX232. Jelaskan jawapan anda.]

(6 Marks / Markah)

SULIT

SULIT

(ENT 373)- 7 -

Question 4[Soalan 4]

(a) Compare the function of interrupts and function of pooling in PIC18microcontroller[Bandingkan fungsi sampukan dan funsi pooling di dalam pengaturcaraan PIC18.]

(4 Marks / Markah)

(b) Compare differences between External Hardware interrupt and PORTB-Changeinterrupt.[Bezakan perbezaaan antara sampukan perkakasan luaran dan sampukan perubahan-PORTB.]

(6 Marks / Markah)

(c) Figure 2 shows the security system that used in secret room. A motion sensor isconnected to the external interrupt pin PORTB.6. A buzzer is connected to thePORTC.0 as a warning system. In a normal condition, the GREED LED is turn oncontinuously. If motion sensor is triggered, the system will turn on RED LED andtrigger the buzzer continuously. Sketch a flowchart and write a C program toexecute this system.[Gambarajah 2 menunjukkan satu sistem keselamatan yang digunakan di dalam bilik rahsia. Satupenderia gerakkan disambungkan kepada pin sampukan luaran PORTB.6. Satu buzzerdisambungkan kepada PORTC.0 sebagai sistem amaran. Dalam keadaan biasa, LED HIJAU akandiaktifkan secara berterusan. Jika penderia gerakkan diaktifkan, sistem akan aktifkan LEDMERAH dan juga aktifkan buzzer. Lakarkan satu carta alir dan tulis satu aturcara C untukmelaksanakan sistem ini.]

(10 Marks / Markah)

Figure 2[Gambarajah 2]

SULIT

SULIT

(ENT 373)- 8 -

Question 5[Soalan 5]

(a) Analog to Digital Converter (ADC) is connected to the CPU via three controlregisters and two data registers. List down three control registers in ADC andexplain each register.[Analog kepada Digital Converter (ADC) disambungkan ke CPU melalui tiga kawalan daftar dandua daftar data. Senaraikan tiga daftar kawalan dalam ADC dan menerangkan setiap daftar]

(3 Marks / Markah)

(b) What is SLEEP Mode Operation?[Apakah yang dimaksudkan dengan SLEEP Mode Operation ]

(2 Marks / Markah)

(c) Calculate step size for Analog to Digital Convertor (ADC) for the following bitconfiguration. Assume Vref = 5V.[Kira langkah saiz untuk Analog kepada Digital Converter (ADC) di bawah denganmenanggarkan bahawa Vref = 5V]

i. 8 bitii. 10 bit

iii. 12 Bitiv. 16 Bit

(4 Marks / Markah)

(d) Get data from channel 0 (RA0) of ADC and displays the result on PORTD andPORTC and write an instruction sequence to configure the ADC of thePIC18F458 to operate with the following parameters:[Dapatkan data dari saluran 0 (RA0) ADC dan memaparkan hasilnya pada PORTD dan PORTCdan menulis urutan arahan untuk mengkonfigurasi ADC pada PIC18F458 dan beroperasi denganparameter berikut]

i. Conversion Result Right Justified[Hasil pertukaran dianjakkan ke kanan]

ii. fosc =32MHz[fosc = 32 Mhz]

iii. Highest ambient temperature may reach 60 C[Suhu ambang tertinggi boleh mencapai 60C]

iv. Use VDD and Vss as the high and low reference voltages[Gunakan VDD dan Vss pada voltan rujukan tinggi dan rendah]

v. Convert channel AN0[Tukarkan saluran AN0]

vi. Enable AID module[Hidupkan modul AID]

(4 Marks / Markah)

…9/-

SULIT

SULIT

(ENT 373)- 9 -

(e) With reference to the Figure 3, describe a circuit connection and the requiredprogram to build a digital thermometer. Display the temperature in three integraland one fractional digit using the LCD. Measure and display the temperature overthe whole range of TC1047A, that is, -40 °C to +125 °C. Update the display data10 times per second and assume that the PIC18F4580 operates with a 10 MHzcrystal oscillator.[Merujuk kepada Gambarajah 3. Jelaskan sambungan litar dan program yang diperlukan untukmembina sebuah thermometer digital. Paparkan suhu dalam tiga dan satu pecahan angka yangmenggunakan LCD. Mengukur dan memaparkan suhu ke atas seluruh julat TC1047A, iaitu -40 °C ke 125 "C. Update data paparan 10 kali sesaat dan menganggap bahawa PIC18F4580beroperasi dengan pengayun kristal 10-MHz.]

Figure 3[Gambarajah 3]

i. Draw schematic diagram for the system include Microcontroller,Voltage regulator 5V, oscillator, voltage divider and sensor circuit.[Lakarkan gambarajah skematik untuk sistem melibatkan Mikropengawal,penstabil voltan 5V, penjana frekuensi, pembahagi voltan dan litar penderia.]

(2 Marks / Markah)

ii. Draw the flow chart and then write a C program to perform thetask given.[Lukiskan carta alir dan kemudian tuliskan aturcara C untuk melaksanakantugasan yang diberikan.]

(5 Marks / Markah)

0.1

0.5

0.9

1.4

1.75

0

0.5

1

1.5

2

-40 0 40 90 125

Vout

Temperature

Vout

SULIT

SULIT

(ENT 373)- 10 -

Question 6[Soalan 6]

Two switches are connected to PORTB0 and PORTB1 in order to control thefrequency of a siren. When the switches are pressed the siren will sounds atdifferent frequency as shown in Table 1.[Dua suis disambungkan ke PORTB0 dan PORTB1 untuk mengawal frekuensi penggera. Apabilasuis ditekan penggera akan berbunyi mengikut frekuensi yang berlainan.]

Table 1[Jadual 1]

SW1 (RB0) SW2 (RB1) PWM generation (sirenfrequency)

0 0 No output1 0 850 Hz PWM, 75% duty cycle0 1 650 Hz PWM, 50% duty cycle1 1 1kHz PWM, 55% duty cycle

(a) Refer to Table 1, choose suitable configuration value for PR2, CCP1RL andDC1B2:DC1B1 for all the PWM . Assume XTAL = 10 MHz and prescale is 16.[Merujuk kepada jadual 1, pilih konfigurasi yang sesuai untuk PR2, CCP1RL dan DC1B2:DC1B1untuk semua penjanaan frekuensi. Anggapkan XTAL =10MHz dan prescale adalah 16.]

(8 Marks/ Markah)

(b) Refer to Table 1, sketch the circuit connection between switches, PIC18F4580 andsiren.[Merujuk kepada Jadual 1, lakarkan sambungan litar diantara suis, PIC18F4580 dan penggera.]

(4 Marks/ Markah)

(c) Based on the data from 6(a), develop a flow chart and then write a program toexecute the task as given in Table 1.[Berdasarkan data dari 6(a), bangunkan carta alir dan kemudian tulis program untuk melaksanakantugas seperti dalam Jadual 1.]

(8 Marks/ Markah)

-ooOOoo-

SULIT

SULIT

(ENT 373)- 11 -

Appendices[Lampiran]

Timer 0 Control Register

Appendices

SULIT

SULIT

(ENT 373)- 12 -

[Lampiran]

Timer 1 Control Register

Appendices

SULIT

SULIT

(ENT 373)- 13 -

[Lampiran]

Timer 2 Control Register

SULIT

SULIT

(ENT 373)- 14 -

Standard Pins in PIC18F458/4580 (452/4520)

Appendices

SULIT

SULIT

(ENT 373)- 15 -

[Lampiran]

Timer 3 Control Register

Appendices

SULIT

SULIT

(ENT 373)- 16 -

[Lampiran]

TXSTA: Transmit Status and Control Register

Appendices

SULIT

SULIT

(ENT 373)- 17 -

[Lampiran]

RCSTA: Receive Status and Control Register

PIR1 (Peripheral Interrupt Register 1)

SULIT

SULIT

(ENT 373)- 18 -

Appendices[Lampiran]

A/D Control Register 0 (ADCON0)

Appendices

SULIT

SULIT

(ENT 373)- 19 -

[Lampiran]

A/D Control Register 1 (ADCON1)

Appendices

SULIT

SULIT

(ENT 373)- 20 -

[Lampiran]

A/D Control Register 2 (ADCON2)

Appendices

SULIT

SULIT

(ENT 373)- 20 -

[Lampiran]

A/D Control Register 2 (ADCON2)

Appendices

SULIT

SULIT

(ENT 373)- 20 -

[Lampiran]

A/D Control Register 2 (ADCON2)

Appendices

SULIT

SULIT

(ENT 373)- 21 -

[Lampiran]

CCP1 Control Register

Appendices

SULIT

SULIT

(ENT 373)- 22 -

[Lampiran]

T3CON (Timer 3 Control) Register

PIR1 (Peripheral Interrupt flag register 1) Contains the CCP1IF Flag