精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于半雙工機制實現3線制雙向SPI模塊的設計與應用

電子設計 ? 來源:半導體技術 ? 作者:汪永琳, 丁一 ? 2021-06-10 14:58 ? 次閱讀

串行外圍設備接口SPI(serial peripheralinterface)總線技術是Motorola公司推出的一種微處理器微控制器及其外設間的一種全/半雙工同步串行數據接口標準,具有連接線少、傳輸效率高等特點,因其硬件功能很強,與SPI有關的軟件就相當簡單,使CPU有更多的時間處理其他事務。

SPI接口一般采用4條連接線:串行時鐘線(SCK)、主機輸出/從機輸入數據線(MOSI)、主機輸入/從機輸出數據線(MISO)和低電平使能的從機選擇線(SS),有的還帶有中斷信號線(INT),半雙工或單向模式則不需要主機輸出/從機輸入數據線(MOSI)。為了在減少引腳的基礎上完成主從機的雙向通訊,本文采用半雙工機制實現了一種3線制雙向SPI總線模塊,即通過使能信號實現數據傳輸的方向控制,因此將主機輸出/從機輸入(MOSI)線和主機輸入/從機輸出線(MISO)線合并為一條雙向信號線。該模塊是某射頻芯片中的接口模塊,其作用是實現基帶芯片對射頻芯片的控制以及數據交換,而且為了便于和射頻電路集成,該模塊最終以硬IP形式實現。

1 SPI總線協議

射頻芯片的SPI接口具有兩個主要特征:Slave工作模式和半雙工方式通訊。

SPI接口信號描述如表1。

接口時序要求如下:

1)輸出時序

當SEN為高電平時,SPI接口處于輸出狀態。每次數據傳輸開始于SCK信號的上升沿。數據傳輸過程中,數據由SCK信號控制,并遵循下列規則:數據傳輸時,低位在前,高位在后;每個輸出數據位在SCK下降沿采樣;當本幀數據輸出達到24 bit時,結束數據輸出;當本幀數據輸出超過24 bit時,則多余位數全為高電平。

2)輸入時序

當SEN為低電平時,SPI接口處于輸入狀態。每次數據傳輸開始于SEN信號的下降沿,結束于其上升沿。數據傳輸過程中命令和數據有SCK和SEN信號控制,并遵循下列規則:數據傳輸時,低位在前,高位在后;每個輸入數據在SCK下降沿移入MOSI;當本幀數據輸入為24 bit時,當SEN轉為高電平時,將已輸入的24 bit數據寫入RF IC內部寄存器;當本幀數據輸入不足24 bit或多于24 bit時,放棄本幀輸入,等待下一幀。

射頻SPI接口的最大特點就是采用半雙工通訊機制,串行數據的輸入/輸出共用一條數據線,因此SPI接口數據通路的設計和普通的4線制SPI接口完全不同。

2 實現方案

2.1 總體結構

SPI接口電路主要由讀/寫控制器、串行寄存器組、輸出寄存器組和內部定時器四部分構成,如圖1所示。

在SPI接口模塊中,數據交換的核心是串行寄存器組,讀、寫控制器根據外部方向選擇信號SEN交替控制串行寄存器組的輸人和輸出。

2.2 串行寄存器組

串行寄存器的作用是接收射頻芯片內部狀態信息并轉換成24 bit串行數據輸出,以及接收外部串行控制字輸入并轉換成30 bit并行數據輸入射頻芯片,其基本結構如圖2所示。串行寄存器組是半雙工方式SPI接口設計的核心,輸入和輸出數據共享此數據通路,必須保證數據傳輸方向的正確切換。本文采用串行寄存器鏈+輸入選擇器方式實現輸入和輸出數據間的切換。

2.3 讀控制器

讀控制器的作用是在SEN為高電平的周期內,控制串行寄存器組在第一個SCK上升沿到來時接收指定的24 bit射頻芯片內部信號,并將最低位串行輸出,然后在剩下的23個時鐘周期內將余下的23 bit數據串行輸出,讀控制器結構如圖3所示。

2.4 寫入寄存器組

寫入寄存器的作用是在SEN信號的上升沿接收串行寄存器組的輸出,并將結果寫入射頻芯片的內部模塊。其中射頻芯片比較特殊的要求是根據寫入控制字第7位選擇將串行輸入數據的第0~6 bit數據寫入兩個不同的控制寄存器中的一個,這樣,寫入寄存器組的輸出位數就變成了30 bit,輸入為23 bit。輸出寄存器的結構如圖4所示。

2.5 寫控制器

寫控制器的作用是在SEN信號的低電平周期內,判斷寫入數據是否恰好滿足24 bit以使能輸出寄存器組,另外根據寫入數據的第8位控制低7位數據的寫入方向(寄存器A或寄存器B)。寫控制器的結構如圖5所示。

3 實現結果

圖6是采用Verilos實現的SPI接口的部分功能仿真波形,測試激勵首先將SPI接口置于發送模式下(SEN為高電平),SPI接口將從內部獲得的信息碼“24’hFFFFFE”正確地串行發出;測試激勵再將SPI接口置于接收模式下(SEN為低電平),SPI接口正確接收外部發送的“24’hFFFFF8”,并轉換成內部的“30’h3FFC078”。為了保證收發方向切換在一個時鐘周期內完成,SEN信號的轉換在接口時鐘的下降沿完成。通過NC-Verilog仿真,SPI接口功能正確,工作時序符合設計要求。

4 結論

本SPI接口模塊已成功應用在一個射頻芯片中,以硬IP的形式集成進射頻模塊中。SPI接口電路在0.18 μm工藝下實現后的版圖總尺寸約為240 μm×460 μm,最高工作頻率原高于10 MHz的設計上限,相應在10 MHz下的功耗約為2 mW。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 射頻
    +關注

    關注

    102

    文章

    5471

    瀏覽量

    166944
  • 微處理器
    +關注

    關注

    11

    文章

    2221

    瀏覽量

    81982
  • 總線
    +關注

    關注

    10

    文章

    2817

    瀏覽量

    87707
收藏 人收藏

    評論

    相關推薦

    SPI一根時鐘一根單向數據可以實現讀寫從機數據嗎?

    和一根雙向數據,在基本結構上是一樣的,I2C可以實現半雙工通信,SPI是否也能只使用兩跟
    發表于 05-06 06:04

    SPI半雙工主從通信

    SPI半雙工主從通信
    發表于 08-20 22:59

    nrf24L01 半雙工雙向傳輸

    各位大俠,有誰能提供基于nrf24L01的數據半雙工雙向傳輸的代碼,單向傳輸我已寫好,謝謝!
    發表于 05-19 22:03

    如何采用半雙工機制設計3雙向SPI總線模塊

    串行外圍設備接口SPI(serial peripheralinterface)總線技術是Motorola公司推出的一種微處理器、微控制器及其外設間的一種全/半雙工同步串行數據接口標準,具有連接線少、傳輸效率高等特點,因其硬件功能很強,與
    發表于 07-31 07:06

    請問半雙工的485板子怎么下載程序?

    使能的,也支四雙工,我的設計是將RX+和 TX+短接,RX-和TX-短接,實現半雙工
    發表于 09-27 07:16

    請教SPI半雙工模式是如何工作的?

    請教SPI半雙工模式是如何工作的?
    發表于 05-31 06:47

    CH573啟動半雙工模式是否支持硬件單線雙向通訊模式?

    單線雙向通訊模式?(TX一個引腳同時扮演發送和接收引腳,只用接一根)還是僅僅內部硬件移位寄存器設置為半雙工模式,收和發都還要分別接TX和RX引腳?
    發表于 08-24 07:41

    STM32F746如何實現半雙工通信的SPI函數?

    如STM32F746的參考手冊所述,發現利用SPI功能進行半雙工通信,可以實現圖中使用一根數據(SDA信號)的雙向通信。請告訴我具體的控制
    發表于 01-05 08:29

    SPI半雙工模式有沒有什么特別的技巧?

    我想知道SPI半雙工模式有沒有什么特別的技巧。據我所知,配置是正常完成的,只有 1 行的方向。誰能給我指出某種形式的示例,以半雙工方式設置 SPI,然后通過所述端口
    發表于 01-30 08:06

    可以在Processor Expert上使用LPSPI組件進行半雙工SPI嗎?

    我需要 S32K142 處理器的 3 SPI 配置,我使用 S32 Design Studio v2.2 當前的 SDK(RTM 3.0.0) 是否適用于半雙工通信? 我可以在 P
    發表于 05-09 08:46

    AT32F4xx SPI使用半雙工模式通訊

    AT32F4xx SPI使用半雙工模式通訊演示AT32F403Axx SPI使用半雙工模式通訊,其余系列的使用方式與此類似
    發表于 10-27 06:22

    半雙工,半雙工是什么意思

    半雙工,半雙工是什么意思 概念及實例: 單工即Simplex Communication,指在通信過程的任意時刻,信息只能由一方A傳
    發表于 03-17 16:19 ?3380次閱讀
    <b class='flag-5'>半雙工</b>,<b class='flag-5'>半雙工</b>是什么意思

    基于MCP200x設計的LIN雙向半雙工通信方案

    基于MCP200x設計的LIN雙向半雙工通信方案 This device provides a bidirectional, half-duplex communication physical
    發表于 05-26 16:28 ?1214次閱讀
    基于MCP200x設計的LIN<b class='flag-5'>雙向</b><b class='flag-5'>半雙工</b>通信方案

    3半雙工SPI接口解決方案

    SPI接口一般采用4條連接線:串行時鐘(SCK)、主機輸出/從機輸入數據(MOSI)、主機輸入/從機輸出數據(MISO)和低電平使能的從機選擇
    發表于 06-08 15:32 ?1.2w次閱讀
    <b class='flag-5'>3</b><b class='flag-5'>線</b>制<b class='flag-5'>半雙工</b><b class='flag-5'>SPI</b>接口解決方案

    單工、雙工半雙工、全雙工通信常識

    根據通信雙方的分工和信號傳輸方向可將通信分為三種方式:單工、半雙工與全雙工。單工通信指通信雙方設備中發送器與接收器分工明確,只能在由發送器向接收器的單一固定方向上傳送數據,并且不能實現雙向
    的頭像 發表于 03-31 17:57 ?6639次閱讀