基于DSP無(wú)線抄表系統(tǒng)設(shè)計(jì)
4.4 數(shù)據(jù)的讀寫
在進(jìn)行數(shù)據(jù)的讀寫前,應(yīng)該進(jìn)行串口的初始化。因?yàn)橛行е噶畈粫?huì)產(chǎn)生動(dòng)作或者產(chǎn)生錯(cuò)誤動(dòng)作,此時(shí)需重新初始化串口。當(dāng)命令包含寫操作時(shí),串口將在下面24個(gè)SCLK周期對(duì)SDI引腳的數(shù)據(jù)(從高位開始)記錄。寄存器寫指令后必須跟24位的數(shù)據(jù)。比如,寫配置寄存器,應(yīng)先寫命令字(0x40)啟動(dòng)寫操作,然后,隨著24個(gè)連續(xù)的串行時(shí)鐘脈沖,CS5460A將從串行輸入引腳SDI接收串行輸入數(shù)據(jù),一旦收到數(shù)據(jù),狀態(tài)機(jī)便將數(shù)據(jù)寫入配置寄存器,等待下一個(gè)命令。當(dāng)啟動(dòng)了讀命令,串口將在下8個(gè)、16個(gè)或24個(gè)SCLK周期啟動(dòng)SDO腳上的寄存器內(nèi)容的轉(zhuǎn)移(從高位開始)。寄存器讀指令可以終止在8位的邊界上(例如,讀出時(shí)可只讀8,16或24位)。同樣,數(shù)據(jù)寄存器讀出允許采用“命令鏈”。因此讀寄存器時(shí),微控制器可同時(shí)發(fā)送新指令,新指令將被立即執(zhí)行,并可能終止讀操作。例如,命令字送入狀態(tài)機(jī)讀取某一輸出寄存器,進(jìn)行16個(gè)連續(xù)的讀數(shù)據(jù)串行時(shí)鐘脈沖后,執(zhí)行寫命令字(如狀態(tài)寄存器清零命令),數(shù)據(jù)從SDI引腳輸入,同時(shí)剩下的8位讀出數(shù)據(jù)被傳送到SDO引腳。又如,用戶僅需從讀操作中獲取16位有效位時(shí),可在SDO讀出8位數(shù)據(jù)后從SDI輸入第2個(gè)讀命令。注意:在讀周期,當(dāng)從SDO引腳輸出數(shù)據(jù)時(shí),必須用SYNC0指令(NOP),使SDI引腳處于選通態(tài)。其程序流程如圖4所示。
下面是在TI公司的CCS2000編譯系統(tǒng)下的讀寫程序:本文引用地址:http://www.ex-cimer.com/article/188615.htm
5 結(jié) 語(yǔ)
這里深入介紹電能采集、傳輸、接收的過程,系統(tǒng)以TMS320F2812為控制核心,其具有功能強(qiáng)大、功耗低、運(yùn)算速度快等優(yōu)點(diǎn),同時(shí)內(nèi)部又具有128 KB的FLASH,使系統(tǒng)結(jié)構(gòu)緊湊、靈活。CS5460芯片可直接采集電能、電壓、電流、功率、功率因數(shù)等值。采用高性能RF模塊、數(shù)據(jù)通信等技術(shù),具有長(zhǎng)時(shí)間存儲(chǔ)數(shù)據(jù)和無(wú)線傳輸數(shù)據(jù)等功能。
電度表相關(guān)文章:電度表原理
電能表相關(guān)文章:電能表原理
評(píng)論