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

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

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

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

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


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

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

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

f.JPG

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

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

    下面通過(guò)非連續(xù)寄存器讀操作來(lái)具體說(shuō)明ARM與TRF796x是如何進(jìn)行SPI通信的。圖5是對(duì)TRF796x的非連續(xù)寄存器讀操作的流程。
i.JPG

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

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

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

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲日本欧美日韩高观看| 亚洲欧美一区二区三区久久| 一区二区三区四区五区精品| 狠狠干狠狠久久| 国产欧美日本一区视频| 欧美午夜在线一二页| 欧美激情女人20p| 久久综合九色综合网站| 欧美在线不卡视频| 午夜在线不卡| 亚洲一区二区毛片| 一区二区欧美精品| 夜夜嗨av一区二区三区四区| 亚洲区一区二区三区| 亚洲国产精品尤物yw在线观看| 欧美一区二区免费| 午夜日韩在线观看| 亚洲综合日韩中文字幕v在线| 亚洲无限av看| 亚洲中字黄色| 亚洲欧美日韩一区二区三区在线观看 | 亚洲性人人天天夜夜摸| 日韩一级网站| 99re国产精品| 99精品欧美一区二区蜜桃免费| 99pao成人国产永久免费视频| 日韩一级大片在线| 一本高清dvd不卡在线观看| 一本色道婷婷久久欧美| 亚洲视频一区在线| 亚洲小说欧美另类婷婷| 亚洲欧美日韩中文在线制服| 欧美一区二区三区免费看| 欧美中日韩免费视频| 久久精品在线免费观看| 久久亚洲国产精品日日av夜夜| 久久亚洲欧美国产精品乐播| 巨乳诱惑日韩免费av| 欧美成人一区二区三区片免费| 欧美激情一区二区在线| 欧美日一区二区在线观看 | 欧美一区二区三区视频免费播放| 香蕉久久夜色精品国产| 欧美中文在线视频| 久久人人97超碰精品888| 免费看黄裸体一级大秀欧美| 欧美电影在线免费观看网站| 欧美女激情福利| 国产精品超碰97尤物18| 国产日韩欧美不卡| 1000部精品久久久久久久久| 日韩性生活视频| 午夜老司机精品| 亚洲国产成人av在线| 日韩小视频在线观看专区| 国产精品影音先锋| 在线看片第一页欧美| 伊人久久大香线| 亚洲国产精品久久久久| 日韩视频在线一区二区| 亚洲免费视频一区二区| 亚洲国产精品va| 在线一区免费观看| 欧美在线视频观看| 欧美成人精品激情在线观看| 欧美日韩在线不卡一区| 国产三区二区一区久久| 亚洲成人在线观看视频| 99视频超级精品| 久久成人综合视频| 一本色道久久综合一区| 久久大香伊蕉在人线观看热2| 免费在线亚洲欧美| 国产精品国产成人国产三级| 国精品一区二区三区| aa国产精品| 久久国产直播| 亚洲中午字幕| 免费久久99精品国产自在现线| 欧美日韩影院| 怡红院精品视频| 亚洲午夜高清视频| 91久久久一线二线三线品牌| 欧美一级一区| 欧美日韩91| 欧美日韩国产经典色站一区二区三区| 国产精品视频久久久| 亚洲国产日韩一区| 欧美在线啊v一区| 亚洲少妇最新在线视频| 免费短视频成人日韩| 国产区亚洲区欧美区| 亚洲精品国产精品国产自| 日韩网站免费观看| 亚洲欧美日韩综合aⅴ视频| 巨胸喷奶水www久久久免费动漫| 国产精品黄视频| 亚洲精品美女久久久久| 性刺激综合网| 亚洲欧美日韩在线一区| 欧美日韩国产综合视频在线观看| 一区二区在线观看视频在线观看| 午夜亚洲影视| 小黄鸭视频精品导航| 欧美日韩精品中文字幕| 亚洲国产美女精品久久久久∴| 亚洲欧美日韩天堂一区二区| 亚洲综合日韩中文字幕v在线| 欧美激情一区二区三区高清视频 | 久久婷婷av| 国产精品一区免费视频| 一区二区三区精品在线| 999在线观看精品免费不卡网站| 麻豆精品在线视频| 好看的亚洲午夜视频在线| 亚洲免费中文| 香蕉av777xxx色综合一区| 国产精品久久久久久户外露出 | 亚洲国内自拍| 久久精品一区四区| 国产午夜亚洲精品理论片色戒| 国产手机视频一区二区| 一本久久知道综合久久| 亚洲人体大胆视频| 久久久99国产精品免费| 国内成人精品一区| 亚洲一区二区三区在线看 | 你懂的一区二区| 狠狠色综合色综合网络| 欧美亚洲网站| 亚洲欧美综合v| 欧美日韩中文字幕日韩欧美| 亚洲国产精品一区在线观看不卡| 午夜精品亚洲| 久久蜜桃精品| 国产亚洲观看| 亚洲欧美日韩久久精品| 亚洲欧美激情精品一区二区| 欧美日韩精品高清| 在线中文字幕不卡| 亚洲午夜视频在线观看| 欧美日韩国产在线播放网站| 亚洲电影在线播放| 亚洲国产一区二区视频| 欧美连裤袜在线视频| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品日韩精品欧美精品| 一区二区三区国产| 亚洲视频精选在线| 国产精品久久久久久久久久直播| 日韩网站在线| 99精品国产高清一区二区| 欧美激情欧美激情在线五月| 亚洲第一页在线| 亚洲国产福利在线| 欧美理论视频| 亚洲精品一区在线观看| 一区二区欧美在线观看| 欧美日韩国产片| 日韩视频中文字幕| 性视频1819p久久| 国产欧美在线观看一区| 影音先锋欧美精品| 一本大道久久a久久精品综合 | 在线亚洲精品| 国产精品二区影院| 亚洲色图在线视频| 先锋影音久久| 国产日产欧美一区| 久久精品欧美| 欧美电影免费观看网站| 亚洲精品一区二区三区福利 | 91久久久一线二线三线品牌| 欧美日韩一区三区| 亚洲一区欧美| 久久久久久网| 亚洲国产成人精品女人久久久| 亚洲午夜久久久久久久久电影院| 国产精品区一区二区三| 亚洲欧美视频在线| 久久久久九九九九| 亚洲高清中文字幕| 亚洲神马久久| 国产区二精品视| 亚洲欧洲一区二区在线观看| 欧美欧美全黄| 日韩一二三在线视频播| 香港久久久电影| 在线播放中文字幕一区| 99视频精品全国免费| 国产精品成人在线| 销魂美女一区二区三区视频在线| 欧美理论视频| 午夜精品在线看| 欧美国产免费| 亚洲一级黄色av| 欧美精品18| 亚洲欧美激情精品一区二区| 久久夜色精品国产亚洲aⅴ| 亚洲激情在线观看视频免费|