Download presentation
Presentation is loading. Please wait.
1
第8單元 實習3 DO-Buzzer
2
課程大綱 實習目的 硬體介紹 功能說明 實驗步驟 實習結果分析與建議
3
實習目的 使用Buzzer 的Browse視窗來控制喇叭、開關,並觀察控制變數的變化。
4
硬體介紹
5
功能說明
6
網路變數 nviBuzzer : 控制DIO延伸模組上的蜂鳴器。
nviCH1 : 為DIO模組上DO部分的前8個bits,但是程式中只有bit0有輸出。
7
先將C槽內的Lm目錄裡面的所有檔案刪除,接著再進行網卡TCP/IP設定。
實驗步驟 先將C槽內的Lm目錄裡面的所有檔案刪除,接著再進行網卡TCP/IP設定。
8
執行 ping 檢查網路連線是否正常
9
設定ilon Works Interfaces
10
LonMaker for Windows
11
Restore DO-Buzzer
12
Restore 資料的路徑
13
Restore
14
Open the drawing
15
Enable Macros
16
Network Attached
17
Next
18
Finish
19
Use Resynchronize
20
Replace
21
Load Application Image
22
選Onile
23
Finish
24
Press Service pin
25
開始測試
26
Browse
27
OC_OCCUPIED
28
OC_UNOCCUPIED
29
程式 1/3 #include <SNVT_OC.H> #pragma enable_io_pullups
#pragma num_alias_table_entries 15 #pragma enable_sd_nv_names network input SNVT_state nviCH1 ={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};// io_out bit0 ~ bit7 network input SNVT_occupancy nviBuzzer ; #define LEN unsigned long IO_out_reg[LEN2]; unsigned IO_out_tmp[LEN2]; IO_0 muxbus io_local_bus;
30
程式 2/3 when (reset) { io_out(io_local_bus, 8 , 0xFF);
} when (nv_update_occurs(nviBuzzer)) if(nviBuzzer==OC_OCCUPIED ) nviCH1.bit15 = 0 ; else if(nviBuzzer==OC_UNOCCUPIED ) nviCH1.bit15 = 1 ;
31
程式 3/3 IO_out_reg[0] =*((unsigned long*)&nviCH1);
IO_out_tmp[0] = low_byte(IO_out_reg[0]); io_out(io_local_bus, 8 , IO_out_tmp[0]);
32
實習結果分析與建議 1/4 本實習說明了Neuron 晶片與FPGA之間的資料傳輸方式,在Neuron 晶片的11腳中,第0~7腳為資料(data)或是位址(address),第8腳為CS,第9腳為Write,第10腳為Read,在實習中,可以看到程式中如何將實體信號讀出(io_out)及送出(io_in)。
33
實習結果分析與建議 2/4 在DO-Buzzer程式中, when (reset) {
io_out(io_local_bus, 8 , 0xFF); io_out(io_local_bus, 9 , 0xFF); io_out(io_local_bus,255,0); } 是程式通知FPGA初始化的過程
34
實習結果分析與建議 3/4 從網路上收到的控制信號(Network variable)由Neuron晶片送出給FPGA送出信號到DIO延伸模組上。 IO_out_reg[0] =*((unsigned long*)&nviCH1); IO_out_tmp[0] = low_byte(IO_out_reg[0]); io_out(io_local_bus, 8 , IO_out_tmp[0]);
35
實習結果分析與建議 4/4 實習中學生可利用Buzzer 的Browse視窗來控制喇叭、開關,並觀察控制變數的變化。
Similar presentations