《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > ARM與射頻芯片TRF796x的SPI通信研究
ARM與射頻芯片TRF796x的SPI通信研究
電子設計工程
方 杰,曾 碧 廣東工業大學
摘要: ARM與射頻芯片TRF796x的SPI通信研究,摘要:針對SPI總線接口缺乏標準協議的特點,提出了SPI器件之間通信的一般方法。論文闡述了ARM芯片內置SPI硬件控制器的工作原理和時序,并對射頻芯片TRF7960x的工作模式與讀寫要求進行了分析。在此基礎上,根據TRF796
關鍵詞: ARM TRF796x SPI
Abstract:
Key words :

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

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

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

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


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

    當選擇了SPI帶SS通信方式,SS信號為高時SPI處于復位狀態。只有SS信號為低時,時鐘信號才開始工作,串行數據輸入(MOSI)在上升沿采樣,在下降沿確認生效,當SS信號變為高電平時,通信終止。TRF796x的寫操作通信如圖2所示。
e.JPG

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

f.JPG

3 ARM與TRF796x通信的實現
    S3C2440A的SPI接口傳輸方式有查詢、中斷、DMA三種,由于TRF796x有專門的IRQ中斷引腳,所以本文選擇ARM芯片 SPI接口的查詢方式。S3C2440A作為Master,時鐘頻率通過SPPREn寄存器設置,其頻率f=PCLK/[2(SPPREn的值+1)],f≤25 MHz。控制寄存器SPCONn應該根據具體的通信要求來設置。
    對TRF796x的訪問需要區分是寫地址還是寫命令,字節的最高位(MSB)決定了該指令是用于命令還是地址。具體的地址/命令字節位描述如表3所列。

g.JPG
    從表3可以看出,如果是單個寫寄存器操作,則發送字節最高3位為000;如果是連續寫寄存器操作,則最高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置為低且查詢到狀態寄存器SPSTA0的最低位為1(說明SPI發送接收準備好),待發送的數據一旦寫入到發送移位寄存器SPTDAT0中,SPI通信的發送和接收就會同時開始,一般是上升沿發送,下降沿接收。如果只想發送不想接收數據,可以不讀取接收寄存器的內容;值得注意的是,如果只想接收數據,應該寫數據0xFF或0x00到發送移位寄存器,然后才能從接收移位寄存器中讀取數據。
h.JPG

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

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

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

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

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美中文在线免费| 亚洲女ⅴideoshd黑人| 另类图片国产| 久久er精品视频| 亚洲无限av看| 在线一区免费观看| 日韩视频在线免费观看| 亚洲丰满少妇videoshd| 欧美在线看片a免费观看| 亚洲砖区区免费| 亚洲自拍偷拍一区| 亚洲少妇自拍| 一区二区三区视频在线播放| 日韩亚洲国产精品| 最新国产精品拍自在线播放| 亚洲电影专区| 亚洲国产日韩欧美在线99| 亚洲国产精品高清久久久| 亚洲电影免费在线观看| 亚洲高清123| 亚洲激情av在线| 91久久嫩草影院一区二区| 亚洲国产精品va在线观看黑人 | 国产乱肥老妇国产一区二 | 亚洲在线视频| 亚洲欧美在线一区| 久久精品国产精品亚洲| 亚洲国产精品久久精品怡红院| 久久精品免费| 亚洲精品久久久一区二区三区| 亚洲精品免费在线观看| 日韩一区二区免费看| 中日韩男男gay无套| 亚洲香蕉在线观看| 欧美在线观看www| 久久免费一区| 欧美黄色免费| 国产精品播放| 国产一区二区精品在线观看| 一本久道久久久| 久久精品一区二区| 久色成人在线| 欧美剧在线免费观看网站| 欧美日韩一二区| 国产日产高清欧美一区二区三区| 国产在线国偷精品产拍免费yy| 在线观看欧美日韩国产| 亚洲免费观看高清完整版在线观看| 一本色道久久综合精品竹菊 | 亚洲精品一区二区在线| 亚洲午夜羞羞片| 欧美一级欧美一级在线播放| 亚洲国内自拍| 亚洲视频网站在线观看| 欧美在线观看视频| 欧美紧缚bdsm在线视频| 国产精品videosex极品| 国产综合av| 亚洲伦理网站| 亚洲欧美日韩精品久久亚洲区| 亚洲高清久久| 亚洲一区二区三区精品在线观看| 久久9热精品视频| 欧美精品v国产精品v日韩精品| 国产精品初高中精品久久| 国产欧美午夜| 亚洲国产日韩欧美在线99 | 亚洲欧美清纯在线制服| 久久久久.com| 欧美日韩亚洲一区二区三区在线观看 | 亚洲一区中文| 亚洲欧洲日韩在线| 亚洲欧美第一页| 欧美xxxx在线观看| 国产精品自拍视频| 国产免费成人av| 欧美视频免费在线观看| 国内成人精品一区| 一区二区三区日韩欧美| 亚洲国产欧美一区二区三区同亚洲| 亚洲一级免费视频| 猛干欧美女孩| 国产免费一区二区三区香蕉精| 亚洲黄色有码视频| 久久国产毛片| 欧美一区免费| 欧美性大战久久久久久久蜜臀| 又紧又大又爽精品一区二区| 亚洲小说欧美另类婷婷| 日韩一二三在线视频播| 久久久亚洲高清| 国产精品毛片a∨一区二区三区|国| 亚洲国产精品成人综合| 久久超碰97中文字幕| 亚洲免费中文| 欧美日韩视频在线一区二区观看视频| 黄色精品一区| 激情视频一区二区三区| 亚洲一区二区三区精品视频| 日韩视频免费大全中文字幕| 久久欧美肥婆一二区| 国产精品视频久久一区| 99精品欧美一区二区三区 | 亚洲综合欧美日韩| 欧美激情综合色| 亚洲电影欧美电影有声小说| 久久精品国产视频| 久久国产精品一区二区三区四区| 欧美午夜不卡影院在线观看完整版免费 | 亚洲风情在线资源站| 欧美在线播放一区| 久久av老司机精品网站导航| 国产精品久久国产愉拍| 一本一本久久a久久精品综合妖精| 亚洲美女精品一区| 欧美激情按摩在线| 亚洲国产婷婷| 日韩亚洲欧美高清| 国产精品主播| 久久精品天堂| 国产无遮挡一区二区三区毛片日本| 一本色道**综合亚洲精品蜜桃冫| 夜夜嗨一区二区三区| 欧美精品v国产精品v日韩精品| 亚洲人体大胆视频| 一区二区不卡在线视频 午夜欧美不卡'| 欧美国产精品人人做人人爱| 亚洲国产精品激情在线观看| 亚洲乱码国产乱码精品精天堂| 毛片精品免费在线观看| 亚洲国产另类久久久精品极度| 欧美在线播放一区二区| 一本高清dvd不卡在线观看| 欧美色一级片| 亚洲综合第一| 久久精品视频网| 韩国欧美国产1区| 亚洲黄色三级| 欧美日韩国产成人在线| 一本色道久久88综合亚洲精品ⅰ | 亚洲国产另类精品专区 | 久久综合九色综合欧美就去吻| 激情另类综合| 夜色激情一区二区| 国产精品黄页免费高清在线观看| 亚洲午夜在线观看| 久久久久久亚洲精品不卡4k岛国| 在线精品亚洲| 中文一区二区| 国产欧美91| 亚洲国产精品电影在线观看| 欧美人成网站| 亚洲一区国产| 久久影视精品| 亚洲伦理在线免费看| 欧美在线播放视频| 亚洲第一视频| 亚洲欧美高清| 激情六月婷婷久久| 亚洲私人黄色宅男| 国产亚洲精品bv在线观看| 亚洲人成网站999久久久综合| 欧美日韩视频一区二区三区| 午夜精品久久久久久久久久久| 国产精品二区二区三区| 国产精品久久二区二区| 欧美在线综合视频| 欧美激情综合色| 午夜精品短视频| 欧美国产精品v| 亚洲永久精品大片| 蜜桃av一区二区在线观看| 中日韩午夜理伦电影免费| 久久视频在线视频| 99国产精品国产精品久久| 久久精品视频99| 日韩视频精品在线| 久久久99国产精品免费| 亚洲激情另类| 久久国产婷婷国产香蕉| 亚洲日产国产精品| 久久久久www| 一区二区激情视频| 蜜臀av一级做a爰片久久| 亚洲无限乱码一二三四麻| 久久久久欧美| 在线视频欧美一区| 欧美aaa级| 性做久久久久久| 欧美日韩一区自拍| 亚洲黄页一区| 国产午夜精品理论片a级探花| 99综合视频| 红桃视频国产一区| 亚洲砖区区免费| 亚洲国产精品一区制服丝袜| 欧美综合激情网| 亚洲午夜三级在线| 欧美精品v日韩精品v国产精品| 久久精品99国产精品|