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