當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]ARM與射頻芯片TRF796x的SPI通信研究

摘要:針對SPI總線接口缺乏標準協(xié)議的特點,提出了SPI器件之間通信的一般方法。論文闡述了ARM芯片內(nèi)置SPI硬件控制器的工作原理和時序,并對射頻芯片TRF7960x的工作模式與讀寫要求進行了分析。在此基礎(chǔ)上,根據(jù)TRF796x的時序特性和訪問要求,采用ARM芯片的硬件 SPI方式實現(xiàn)對TRF796x的讀寫訪問與控制,并在RFID門禁系統(tǒng)中驗證了通信結(jié)果。
關(guān)鍵詞:SPI;ARM;TRF796x;時序

引言
    SPI(同步串行外圍接口)是由Motorola公司最早提出的,出現(xiàn)在其M68系列單片機中。它是一種全雙工的同步串行接口,采用主一從模式架構(gòu),支持多Slave模式應(yīng)用,但一般僅支持單Master。由于其簡單實用,又不牽涉到專利問題,因此許多廠家的設(shè)備都支持該接口,被廣泛應(yīng)用于外設(shè)控制領(lǐng)域。 SPI接口是一種事實標準,并沒有標準協(xié)議,大部分廠家都是參照Motorola公司的SPI接口定義來設(shè)計的。正因為沒有確切的標準協(xié)議,不同廠家的 SPI器件接口在技術(shù)上存在著一定的差異,有的甚至無法直接互連。本文對SPI器件通信時容易忽略的問題進行了分析。

1 S3C2440A內(nèi)置SPI接口與工作時序
    S3C2440A是Samsung公司生產(chǎn)的ARM9內(nèi)核芯片,該芯片內(nèi)置了2個SPI硬件控制器,大大簡化了與SPI器件的通信。從 Samsung公司提供的Datasheet中可以看出,其內(nèi)置硬件SPI結(jié)構(gòu)主要由4部分構(gòu)成:時鐘分頻器、8位發(fā)送移位寄存器、8位接收移位寄存器、控制邏輯等。其與SPI接口相關(guān)的寄存器包括控制寄存器(SPCONn)、狀態(tài)寄存器(SPSTAn)、引腳控制寄存器(SPPINn)、預分頻寄存器 (SPPREn)、發(fā)送數(shù)據(jù)寄存器(SPTDATn)、接收數(shù)據(jù)寄存器(SPRDATn,n=0,1)。其SPI接口共有4根信號線,分別是從設(shè)備選擇線(SS)、時鐘線(SCK)、串行輸出數(shù)據(jù)線(MO-SI)、串行輸入數(shù)據(jù)線(MISO)。當S3C2440A作為Master時,SS信號由S3C2440A驅(qū)動輸出,用于選擇激活某從 SPI器件,只有當SS信號線為低電平時,對應(yīng)Slave設(shè)備的SPI接口才處于工作狀態(tài)。為了滿足不同SPI器件的通信特性,S3C2440A內(nèi)置的 SPI接口定義了4種數(shù)據(jù)傳輸?shù)墓ぷ鲿r序,這4種時序是由控制寄存器(SPCONn)的時鐘極性控制位(CPOL)和時鐘相位控制位(CPHA)聯(lián)合進行配置的。從表1可以看出,SPI的工作時序主要是根據(jù)數(shù)據(jù)采樣的時刻(上升沿或下降沿),以及在沒有數(shù)據(jù)傳輸時SCK信號所保持的狀態(tài)來劃分模式的。


    根據(jù)CPOL和CPHA設(shè)置的不同,S3C2440A內(nèi)置SPI接口的4種工作時序如圖1所示。需要注意的是,SPI通信的數(shù)據(jù)傳輸是以字節(jié)為單位進行的,且高位在前,低位在后,圖1中的*LSB表示上一個傳輸字節(jié)的最低位,MSB*是指下一個傳輸字節(jié)的最高位。

[!--empirenews.page--]

2 射頻芯片TRF796x
    TRF796x是德州儀器(TI)公司生產(chǎn)的射頻讀寫器芯片,是一個13.56 MHz集成模擬前端和數(shù)據(jù)幀RFID閱讀系統(tǒng)。其內(nèi)部可編程配置,外部控制器可直接訪問其內(nèi)部寄存器來調(diào)整讀寫器的各種參數(shù),該芯片被廣泛應(yīng)用于近距離RFID系統(tǒng)。
    TRF796x芯片與處理器之間的通信既可以通過8位并行口也可以通過SPI接口。當采用SPI接口時,TRF796x芯片總是以從設(shè)備運行。如果內(nèi)部的硬件編/解碼器被使用,TRF796x將啟動12個字節(jié)的數(shù)據(jù)緩沖器FIFO來完成數(shù)據(jù)的傳送和接收。有時候為了使處理器(如MCU)能實時的處理數(shù)據(jù),TRF796x會旁路掉硬件編/解碼器,采用直接傳送和接收功能。TRF796x芯片的兩種通信模式是相互排斥的,在應(yīng)用中的某個時刻只能有一種通信方式被使用。表2中列出了TRF796x的通信方式,可以看出,要實現(xiàn)其SPI通信就必須先對引腳I/00~I/O2配置成不同的電平。當芯片被使能工作時就會檢測這3個引腳的電平,從而進入相應(yīng)的通信方式。


    當選擇了SPI帶SS通信方式,SS信號為高時SPI處于復位狀態(tài)。只有SS信號為低時,時鐘信號才開始工作,串行數(shù)據(jù)輸入(MOSI)在上升沿采樣,在下降沿確認生效,當SS信號變?yōu)楦唠娖綍r,通信終止。TRF796x的寫操作通信如圖2所示。


    TRF796x的單個寄存器讀操作包括一個寫周期和一個讀周期,在寫周期過程中,MISO引腳上是無效的數(shù)據(jù),其時序與寫操作相同,也是上升沿采樣,下降沿確認生效。在寫周期和讀周期之間,需要有半個時鐘周期的極性轉(zhuǎn)換時間。注意:對于任何讀操作(單個讀、連續(xù)讀)來說,該時鐘極性跳變必須被執(zhí)行,否則不能夠讀到TRF796x寄存器的正確值。在讀周期過程中,數(shù)據(jù)在下降沿采樣,上升沿時確認生效,而MOSI引腳不應(yīng)該有任何的跳變,就是說要始終保持高電平或低電平(即0x00或0xFF)。圖3是TRF796x的讀操作時序。


[!--empirenews.page--]
3 ARM與TRF796x通信的實現(xiàn)
    S3C2440A的SPI接口傳輸方式有查詢、中斷、DMA三種,由于TRF796x有專門的IRQ中斷引腳,所以本文選擇ARM芯片 SPI接口的查詢方式。S3C2440A作為Master,時鐘頻率通過SPPREn寄存器設(shè)置,其頻率f=PCLK/[2(SPPREn的值+1)],f≤25 MHz??刂萍拇嫫鱏PCONn應(yīng)該根據(jù)具體的通信要求來設(shè)置。
    對TRF796x的訪問需要區(qū)分是寫地址還是寫命令,字節(jié)的最高位(MSB)決定了該指令是用于命令還是地址。具體的地址/命令字節(jié)位描述如表3所列。


    從表3可以看出,如果是單個寫寄存器操作,則發(fā)送字節(jié)最高3位為000;如果是連續(xù)寫寄存器操作,則最高3位001;如果是讀單個寄存器操作,則最高3位010;如果是寫命令,則最高3位100;其他操作不再詳述。
    本文采用S3C2440A的SPI0接口與TRF796x通信,其連接圖如圖4所示。從I/O_0~I/O_2的引腳電平可以看出選擇的是SPI帶SS通信方式。其中,EN腳是TRF796x的工作使能引腳,I/O_4是SS腳。當SS置為低且查詢到狀態(tài)寄存器SPSTA0的最低位為1(說明SPI發(fā)送接收準備好),待發(fā)送的數(shù)據(jù)一旦寫入到發(fā)送移位寄存器SPTDAT0中,SPI通信的發(fā)送和接收就會同時開始,一般是上升沿發(fā)送,下降沿接收。如果只想發(fā)送不想接收數(shù)據(jù),可以不讀取接收寄存器的內(nèi)容;值得注意的是,如果只想接收數(shù)據(jù),應(yīng)該寫數(shù)據(jù)0xFF或0x00到發(fā)送移位寄存器,然后才能從接收移位寄存器中讀取數(shù)據(jù)。


    下面通過非連續(xù)寄存器讀操作來具體說明ARM與TRF796x是如何進行SPI通信的。圖5是對TRF796x的非連續(xù)寄存器讀操作的流程。


    整個讀操作流程是:
    ①初始化操作,置EN腳為高電平使能TRF796x工作,將GPE11~GPE13配置成SPI功能,配置S3C2440A作為Master,且選擇查詢工作方式,寫SPPREN0寄存器來配置通信時鐘頻率。[!--empirenews.page--]
    ②寫地址,從圖1和圖3的時序可以看出,要讀TRF796x的寄存器值,必須包含一個寫地址周期和一個讀數(shù)據(jù)周期。在寫TRF796x的地址之前,必須先設(shè)置SPCON0的CPOL和CPHA都為O,這樣通信雙方的時序才能保持一致,而且要將地址字節(jié)的最高3位設(shè)為010,然后將地址字節(jié)寫入發(fā)送移位寄存器SPTDAT0中,一旦地址字節(jié)發(fā)送完,TRF796x就會把相應(yīng)地址的內(nèi)容送到MISO腳上。
    ③讀數(shù)據(jù),在地址字節(jié)寫入后,讀數(shù)據(jù)之前,必須轉(zhuǎn)換SCK的時鐘極性,從圖1可以看出,需要設(shè)置CPOL為0,CPHA為1,這樣就滿足了TRF796x的讀時序要求。寫數(shù)據(jù)0x00或0xFF到SPTDAT0中,接著就可以從SPRDAT0中讀取數(shù)據(jù)。
    非連續(xù)讀操作的實現(xiàn)代碼如下:


    為了驗證上述的程序,在按照圖4連接電路后,可以選擇讀取TRF7960的09h、0Ah、0Bh寄存器單元的內(nèi)容,這3個寄存器在系統(tǒng)上電時,分別默認內(nèi)容為0x11、0x40、0x87。定義一個數(shù)組 Operation[O]=0x09;Operation[1]=0x0A;Operation[2]=0x0B;調(diào)用函數(shù) SingleRead(Operation,3);即可得到3個寄存器的內(nèi)容并存放在Operation數(shù)組中。在RFID門禁系統(tǒng)的開發(fā)中,就是采用了這種SPI通信方式實現(xiàn)了ARM對RFID閱讀器芯片的訪問控制。

結(jié)語
    本文通過介紹ARM芯片與TRF796x之間的硬件SPI通信方式,說明了在進行SPI器件之間通信時應(yīng)該注意的問題,強調(diào)工作時序在通信時的重要性,最后給出的程序在RFID門禁系統(tǒng)中得到了運用。論文研究對ARM與其他SPI器件之間的通信有一定的參考意義,只要根據(jù)SPI器件的工作時序進行稍加修改就能融會貫通。

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉