ARM與射頻芯片TRF796x的SPI通信研究
②寫(xiě)地址,從圖1和圖3的時(shí)序可以看出,要讀TRF796x的寄存器值,必須包含一個(gè)寫(xiě)地址周期和一個(gè)讀數據周期。在寫(xiě)TRF796x的地址之前,必須先設置SPCON0的CPOL和CPHA都為O,這樣通信雙方的時(shí)序才能保持一致,而且要將地址字節的最高3位設為010,然后將地址字節寫(xiě)入發(fā)送移位寄存器SPTDAT0中,一旦地址字節發(fā)送完,TRF796x就會(huì )把相應地址的內容送到MISO腳上。
③讀數據,在地址字節寫(xiě)入后,讀數據之前,必須轉換SCK的時(shí)鐘極性,從圖1可以看出,需要設置CPOL為0,CPHA為1,這樣就滿(mǎn)足了TRF796x的讀時(shí)序要求。寫(xiě)數據0x00或0xFF到SPTDAT0中,接著(zhù)就可以從SPRDAT0中讀取數據。
非連續讀操作的實(shí)現代碼如下:

為了驗證上述的程序,在按照圖4連接電路后,可以選擇讀取TRF7960的09h、0Ah、0Bh寄存器單元的內容,這3個(gè)寄存器在系統上電時(shí),分別默認內容為0x11、0x40、0x87。定義一個(gè)數組 Operation[O]=0x09;Operation[1]=0x0A;Operation[2]=0x0B;調用函數 SingleRead(Operation,3);即可得到3個(gè)寄存器的內容并存放在Operation數組中。在RFID門(mén)禁系統的開(kāi)發(fā)中,就是采用了這種SPI通信方式實(shí)現了ARM對RFID閱讀器芯片的訪(fǎng)問(wèn)控制。
結語(yǔ)
本文通過(guò)介紹ARM芯片與TRF796x之間的硬件SPI通信方式,說(shuō)明了在進(jìn)行SPI器件之間通信時(shí)應該注意的問(wèn)題,強調工作時(shí)序在通信時(shí)的重要性,最后給出的程序在RFID門(mén)禁系統中得到了運用。論文研究對ARM與其他SPI器件之間的通信有一定的參考意義,只要根據SPI器件的工作時(shí)序進(jìn)行稍加修改就能融會(huì )貫通。
本文引用地址:http://dyxdggzs.com/article/151079.htm
評論