基于短距無線通信及CAN總線的照明光源控制研究
4.系統(tǒng)硬件4.1 nRF905通訊模塊nRF905與STC89C52單片機硬件接口如圖1所示.
4.2 CAN控制收發(fā)器本方案用到的PCA82C250芯片是為CAN協(xié)議配置的物理總線接口,能夠為CAN總線提供差動發(fā)送能力,為SJA1000提供差動接收能力.
圖2為SJA1000與PAC82C250組成的硬件圖.
5.系統(tǒng)軟件硬件操作需要通過軟件來實現(xiàn).軟件的基本操作包括初始化和常規(guī)服務(wù)兩部分.初始化服務(wù)包括SJA1000和nRF905兩個芯片的初始化,SJA1000發(fā)送和接收的配置,nRF905的發(fā)送和接收的配置;常規(guī)服務(wù)包括:無線通信基站.無線通信從站.無線終端節(jié)點之間的通信.
5.1 CAN總線操作初始化SJA1000芯片,配置SJA_MOD寄存器,進入復(fù)位模式,確定驗收濾波器模式;配置SJA_CDR0寄存器,選擇PeliCAN模式,禁止SJA1000的CLKOUT引腳;配置總線定時寄存器波特率設(shè)置為125Kbps,配置輸出控制寄存器為正常輸出模式,TX0為下拉,TX1為下拉;配置命令寄存器釋放接收緩沖器,配置驗收濾波寄存器.
5.2 無線數(shù)據(jù)操作初始化nRF905,nRF905所有配置都是通過SPI接口進行,SPI接口由5個寄存器組成,只有在掉電模式和Standby模式是激活的.置高PWR_UP,置低TRX_CE使nRF905工作于Standby模式.SPI接口包括5個內(nèi)部寄存器:狀態(tài)寄存器.RF配置寄存器.發(fā)送地址寄存器.發(fā)送有效數(shù)據(jù)寄存器.接收有效數(shù)據(jù)寄存器.通過配置RF配置寄存器可使nRF905正常運行.
5.3 CAN總線數(shù)據(jù)發(fā)送CAN發(fā)送:發(fā)送緩沖器配置分為描述符區(qū)和數(shù)據(jù)區(qū),描述符區(qū)第一個字節(jié)是幀信息字節(jié),它說明了幀格式(標(biāo)準(zhǔn)幀格式或擴展幀格式).遠程或數(shù)據(jù)幀和數(shù)據(jù)長度.標(biāo)準(zhǔn)幀格式有兩個字節(jié)的識別碼,擴展幀格式有4個字節(jié)的識別碼,數(shù)據(jù)長度最長為8個字節(jié),發(fā)送緩沖器長13個字節(jié).配置發(fā)送緩沖器工作在擴展幀格式,發(fā)送數(shù)據(jù)幀,數(shù)據(jù)長度為8個字節(jié),識別碼與下位機匹配,發(fā)送數(shù)據(jù)為nRF905無線接收的數(shù)據(jù).檢測狀態(tài)寄存器,接收狀態(tài)位為0.發(fā)送完成狀態(tài)位為1且發(fā)送緩沖器狀態(tài)位為1,則將發(fā)送緩沖器數(shù)據(jù)放入TX緩沖器,命令寄存器SJA_CMR發(fā)送請求位置1,發(fā)送數(shù)據(jù).
5.4 CAM總線數(shù)據(jù)接收CAN接收:中斷寄存器SJA_IR接收中斷位置高,開始接收RX緩沖區(qū)數(shù)據(jù),將數(shù)據(jù)存入接收緩沖區(qū),存儲完成后接收緩沖器位置高釋放RX緩沖區(qū);釋放仲裁丟失捕捉寄存器和錯誤捕捉寄存器.
5.5 無線數(shù)據(jù)發(fā)送nRF905發(fā)送:TRX_CE=0,TXEN=0,nRF905處于SPI編程;CSN置低,SPI等待一條指令W_TX_PAYLOAD=“00100000”,寫TX有效數(shù)據(jù),寫操作從字節(jié)0開始;發(fā)送TX緩存存放數(shù)據(jù);CSN置高;CSN置低,SPI等待一條指令,W_TX_ADDRESS=“00100010”,寫TX地址,全部寫操作從字節(jié)0開始;發(fā)送TX緩存存放地址;CSN置高;TRX_CE置高開始發(fā)送;發(fā)送完成后TRX_CE置低.
5.6 無線數(shù)據(jù)接收nRF905接收:TRX_CE=1,TXEN=0,nRF905 處于接收狀態(tài);DR=1TRX_CE==1TXEN==0是否為1,判斷是否有新數(shù)據(jù)傳入且數(shù)據(jù)接收完成,TRX_CE=0進入Standby模式;CSN置低,SPI等待一條指令,R_RX_PAYLOAD=“00100100”,讀RX有效數(shù)據(jù),讀操作從字節(jié)0開始;CSN置高;TRX_CE=1.
5.7 無線通信基站控制常規(guī)服務(wù)即無線通信基站工作包括:在完成對nRF905芯片的初始化后使TXEN和TRX_CE引腳置低,nRF905處于SPI編程,將nRF905所發(fā)地址及數(shù)據(jù)寫入緩存,置高TRX_CE和TXEN引腳,發(fā)送數(shù)據(jù),發(fā)送不成功則重新發(fā)送,如果成功,置低TRX_CE,等待下一個數(shù)據(jù)發(fā)送.
6.系統(tǒng)測試將CAN收發(fā)器單片機的串行接口與PC機串口相連,利用PC機串口通信程序?qū)?shù)據(jù)通過串口發(fā)送給CAN接收器,實現(xiàn)CAN節(jié)點的收發(fā)數(shù)據(jù)測試.串行通信的參數(shù)設(shè)置為:串口端口號:
1;波特率:9 6 0 0 b p s;數(shù)據(jù)位:8位;停止位:1位.
在使用串口時先要打開串口,然后將數(shù)據(jù)傳給CAN節(jié)點單片機.發(fā)送數(shù)據(jù)中要包含無線控制器的下位機地址和其他控制信息,如在實驗中使用的節(jié)點地址為0×00020406.其他控制數(shù)據(jù)為34.34對應(yīng)的二進制數(shù)據(jù)為00110100.
實驗表明,本方案給出的無線與有線混合的網(wǎng)絡(luò)控制系統(tǒng)工作正常.
無線通信基站發(fā)送0X34到無線通信從站,從站接收信號后通過C A N總線發(fā)送至終端節(jié)點,終端節(jié)點接收并在數(shù)碼管顯示接收數(shù)據(jù),并控制下面LED燈相應(yīng)的暗滅,顯示正常發(fā)送RXOK信號通過CAN總線傳輸至無線通信從站,從站將信號發(fā)送至基站,基站接收信號并將數(shù)碼管置零,等待下一個發(fā)送信息.
7.小結(jié)該系統(tǒng)能利用有線與無線網(wǎng)絡(luò)相結(jié)合完成對光源的控制,取得了較好的效果,綜合了有線和無線網(wǎng)絡(luò)的各自優(yōu)點,使得網(wǎng)絡(luò)控制成本更低.網(wǎng)絡(luò)利用率更高.系統(tǒng)智能化更強,便于網(wǎng)絡(luò)的管理和應(yīng)用,適合學(xué)校.家庭.政府.企業(yè)等場所應(yīng)用,該網(wǎng)絡(luò)結(jié)構(gòu)的應(yīng)用將具有可觀的社會效益和經(jīng)濟效益.
光控開關(guān)相關(guān)文章:光控開關(guān)原理 聲光控開關(guān)相關(guān)文章:聲光控開關(guān)原理
評論