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