新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM與射頻芯片TRF796x的SPI通信研究

        ARM與射頻芯片TRF796x的SPI通信研究

        作者: 時間:2011-01-17 來源:網絡 收藏

        3 與TRF796x通信的實現
        S3C2440A的SPI接口傳輸方式有查詢、中斷、DMA三種,由于TRF796x有專門的IRQ中斷引腳,所以本文選擇芯片 SPI接口的查詢方式。S3C2440A作為Master,時鐘頻率通過SPPREn寄存器設置,其頻率f=PCLK/[2(SPPREn的值+1)],f≤25 MHz??刂萍拇嫫鱏PCONn應該根據具體的通信要求來設置。
        對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

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

        整個讀操作流程是:
        ①初始化操作,置EN腳為高電平使能TRF796x工作,將GPE11~GPE13配置成SPI功能,配置S3C2440A作為Master,且選擇查詢工作方式,寫SPPREN0寄存器來配置通信時鐘頻率。


        關鍵詞: ARM 德州儀器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 福安市| 扎赉特旗| 昭通市| 清新县| 昭平县| 银川市| 安化县| 闵行区| 余干县| 雅安市| 巴林左旗| 金堂县| 仁怀市| 铜梁县| 阜新| 澎湖县| 西充县| 资中县| 泸溪县| 屯昌县| 阳朔县| 渑池县| 平果县| 普安县| 建宁县| 许昌县| 普兰店市| 尼勒克县| 万州区| 句容市| 宜兰县| 沅陵县| 山阳县| 吉首市| 宕昌县| 兰州市| 南投市| 娱乐| 汪清县| 济源市| 延津县|