ARM與射頻芯片TRF796x的SPI通信研究
摘要:針對SPI總線(xiàn)接口缺乏標準協(xié)議的特點(diǎn),提出了SPI器件之間通信的一般方法。論文闡述了ARM芯片內置SPI硬件控制器的工作原理和時(shí)序,并對射頻芯片TRF7960x的工作模式與讀寫(xiě)要求進(jìn)行了分析。在此基礎上,根據TRF796x的時(shí)序特性和訪(fǎng)問(wèn)要求,采用ARM芯片的硬件 SPI方式實(shí)現對TRF796x的讀寫(xiě)訪(fǎng)問(wèn)與控制,并在RFID門(mén)禁系統中驗證了通信結果。
關(guān)鍵詞:SPI;ARM;TRF796x;時(shí)序
引言
SPI(同步串行外圍接口)是由Motorola公司最早提出的,出現在其M68系列單片機中。它是一種全雙工的同步串行接口,采用主一從模式架構,支持多Slave模式應用,但一般僅支持單Master。由于其簡(jiǎn)單實(shí)用,又不牽涉到專(zhuān)利問(wèn)題,因此許多廠(chǎng)家的設備都支持該接口,被廣泛應用于外設控制領(lǐng)域。 SPI接口是一種事實(shí)標準,并沒(méi)有標準協(xié)議,大部分廠(chǎng)家都是參照Motorola公司的SPI接口定義來(lái)設計的。正因為沒(méi)有確切的標準協(xié)議,不同廠(chǎng)家的 SPI器件接口在技術(shù)上存在著(zhù)一定的差異,有的甚至無(wú)法直接互連。本文對SPI器件通信時(shí)容易忽略的問(wèn)題進(jìn)行了分析。
1 S3C2440A內置SPI接口與工作時(shí)序
S3C2440A是Samsung公司生產(chǎn)的ARM9內核芯片,該芯片內置了2個(gè)SPI硬件控制器,大大簡(jiǎn)化了與SPI器件的通信。從 Samsung公司提供的Datasheet中可以看出,其內置硬件SPI結構主要由4部分構成:時(shí)鐘分頻器、8位發(fā)送移位寄存器、8位接收移位寄存器、控制邏輯等。其與SPI接口相關(guān)的寄存器包括控制寄存器(SPCONn)、狀態(tài)寄存器(SPSTAn)、引腳控制寄存器(SPPINn)、預分頻寄存器 (SPPREn)、發(fā)送數據寄存器(SPTDATn)、接收數據寄存器(SPRDATn,n=0,1)。其SPI接口共有4根信號線(xiàn),分別是從設備選擇線(xiàn)(SS)、時(shí)鐘線(xiàn)(SCK)、串行輸出數據線(xiàn)(MO-SI)、串行輸入數據線(xiàn)(MISO)。當S3C2440A作為Master時(shí),SS信號由S3C2440A驅動(dòng)輸出,用于選擇激活某從 SPI器件,只有當SS信號線(xiàn)為低電平時(shí),對應Slave設備的SPI接口才處于工作狀態(tài)。為了滿(mǎn)足不同SPI器件的通信特性,S3C2440A內置的 SPI接口定義了4種數據傳輸的工作時(shí)序,這4種時(shí)序是由控制寄存器(SPCONn)的時(shí)鐘極性控制位(CPOL)和時(shí)鐘相位控制位(CPHA)聯(lián)合進(jìn)行配置的。從表1可以看出,SPI的工作時(shí)序主要是根據數據采樣的時(shí)刻(上升沿或下降沿),以及在沒(méi)有數據傳輸時(shí)SCK信號所保持的狀態(tài)來(lái)劃分模式的。
根據CPOL和CPHA設置的不同,S3C2440A內置SPI接口的4種工作時(shí)序如圖1所示。需要注意的是,SPI通信的數據傳輸是以字節為單位進(jìn)行的,且高位在前,低位在后,圖1中的*LSB表示上一個(gè)傳輸字節的最低位,MSB*是指下一個(gè)傳輸字節的最高位。
評論