第8單元 實習3 DO-Buzzer
課程大綱 實習目的 硬體介紹 功能說明 實驗步驟 實習結果分析與建議
實習目的 使用Buzzer 的Browse視窗來控制喇叭、開關,並觀察控制變數的變化。
硬體介紹
功能說明
網路變數 nviBuzzer : 控制DIO延伸模組上的蜂鳴器。 nviCH1 : 為DIO模組上DO部分的前8個bits,但是程式中只有bit0有輸出。
先將C槽內的Lm目錄裡面的所有檔案刪除,接著再進行網卡TCP/IP設定。 實驗步驟 先將C槽內的Lm目錄裡面的所有檔案刪除,接著再進行網卡TCP/IP設定。
執行 ping 192.168.1.222 檢查網路連線是否正常
設定ilon Works Interfaces
LonMaker for Windows
Restore DO-Buzzer
Restore 資料的路徑
Restore
Open the drawing
Enable Macros
Network Attached
Next
Finish
Use Resynchronize
Replace
Load Application Image
選Onile
Finish
Press Service pin
開始測試
Browse
OC_OCCUPIED
OC_UNOCCUPIED
程式 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 LEN2 2 unsigned long IO_out_reg[LEN2]; unsigned IO_out_tmp[LEN2]; IO_0 muxbus io_local_bus;
程式 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 ;
程式 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]);
實習結果分析與建議 1/4 本實習說明了Neuron 晶片與FPGA之間的資料傳輸方式,在Neuron 晶片的11腳中,第0~7腳為資料(data)或是位址(address),第8腳為CS,第9腳為Write,第10腳為Read,在實習中,可以看到程式中如何將實體信號讀出(io_out)及送出(io_in)。
實習結果分析與建議 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初始化的過程
實習結果分析與建議 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]);
實習結果分析與建議 4/4 實習中學生可利用Buzzer 的Browse視窗來控制喇叭、開關,並觀察控制變數的變化。