日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 通信技術 > 通信技術
[導讀]摘要:給出了一個可用于SoC設計的SPI接口IP核的RTL設計與功能仿真。采用AMBA 2.0總線標準來實現(xiàn)SPI接口在外部設備和內部系統(tǒng)之間進行通信,在數(shù)據(jù)傳輸部分,摒棄傳統(tǒng)的需要一個專門的移位傳輸寄存器實現(xiàn)串/并轉換的

摘要:給出了一個可用于SoC設計的SPI接口IP核的RTL設計與功能仿真。采用AMBA 2.0總線標準來實現(xiàn)SPI接口在外部設備和內部系統(tǒng)之間進行通信,在數(shù)據(jù)傳輸部分,摒棄傳統(tǒng)的需要一個專門的移位傳輸寄存器實現(xiàn)串/并轉換的設計方法,采用復用寄存器的方法,把移位傳輸寄存器和發(fā)送寄存器結合在一起,提高了傳輸速度,也節(jié)約了硬件資源。采用SoC驗證平臺進行SoC環(huán)境下對IP的驗證,在100 MHz時鐘頻率下的仿真和驗證結果表明,SPI接口實現(xiàn)了數(shù)據(jù)傳輸,且滿足時序設計要求。

0 引言

SPI(Serial Peripheral Interface)是一種同步串行總線接口,很多器件如E2PROM、FLASH、實時時鐘、A/D轉換器等都用到了SPI接口,它也是SoC中的一個常用外圍功能模塊。AMBA總線是由ARM公司開發(fā)的一種高性能、開放性SoC系統(tǒng)總線,它主要包括AHB,ASB和APB三種總線類型。AHB總線主要用于連接高性能、高速度的系統(tǒng)模塊,如CPU,DSP,SRAM等;APB總線主要用于連接低速外圍模塊,如UART,I2C等,接口簡單,效率高,功耗低;ASB總線通過連接系統(tǒng)高速部件來實現(xiàn)高速通信,一般較少用到。

本文設計一個可作為IP核用于SoC設計的SPI接口,采用AMBA2.0總線標準來實現(xiàn)SPI接口在外部設備和內部系統(tǒng)之間進行通信,SPI接口作為低速外圍模塊掛載在APB總線上。

1 SPI接口的定義

1.1 接口信號

SPI的接口信號為同步串行時鐘SCLK、主機輸入/從機輸出MISO、主機輸出/從機輸入MOSI、從機選擇

(低電平有效),由于只用到四根線工作,與其他接口相比具有結構簡單、速度快的優(yōu)點。SPI有主/從兩種工作模式,SPI總線的串行時鐘SCLK用來同步數(shù)據(jù)傳輸,在主模式下由主機產(chǎn)生,從機選擇信號

用來決定外部設備是否被選作SPI的從設備。主從設備連接方式如圖1所示。

1.2 內部寄存器

SPI的內部寄存器如表1所示。

1.3 傳輸時序

在本設計中,SPI的傳輸時序由控制寄存器CTRL來決定。CTRL[9]定義為RX_NEGE,置1表示數(shù)據(jù)在時鐘下降沿接收,置0為上升沿接收;CTRL[10]定義為TX_NEGE,置1表示數(shù)據(jù)在下降沿發(fā)送,置0為上升沿發(fā)送;CTRL[11]定義為LSB,置1表示數(shù)據(jù)從最低位開始傳輸,置0從最高位開始傳輸。CTRL[6:0]定義為CHAR_LEN,為數(shù)據(jù)傳輸長度,最長可為128 b。以其中一種傳輸時序為例說明,如圖2所示。

2 SPI接口的RTL設計

本設計是針對SoC系統(tǒng)的,目標是實現(xiàn)適用于SoC設計并且符合SPI通信協(xié)議的IP核,實現(xiàn)SoC通過此SPI接口和外設通信。所以,本設計分成SPI主機模塊spi_master的設計和SPI從機模塊spi_slave的設計,采用Verilog HDL進行RTL設計。

2.1 spi_master模塊設計

spi_master的功能主要包括:

(1)實現(xiàn)主機通過APB總線初始化spi_master的寄存器;

(2)實現(xiàn)spi_master和spi_slave之間的數(shù)據(jù)交換。

因此,spi_master模塊主要就是實現(xiàn)分頻和串并轉換,主要包含時鐘產(chǎn)生子模塊spi_clgen和數(shù)據(jù)傳輸子模塊spi_shift,其設計結構如圖3所示。

2.1.1 時鐘產(chǎn)生子模塊設計

該子模塊主要作用是產(chǎn)生SPI主/從設備通信所需的同步串行時鐘sclk。在主模式下,sclk由系統(tǒng)提供的時鐘信號pclk分頻產(chǎn)生,產(chǎn)生的串行時鐘的時鐘頻率由式(1)計算得來:

傳輸開始前,cnt載人DIVIDER值,滿足傳輸條件下cnt減1計數(shù),減為0時,輸出時鐘clk_out翻轉,并且在clk_out的上升沿和下降沿分別產(chǎn)生pos_edge和neg_edge信號。

2.1.2 數(shù)據(jù)傳輸子模塊設計

該子模塊的主要功能是完成數(shù)據(jù)的串/并轉換。在本設計中,該子模塊負責把內部APB總線并行傳輸進來的數(shù)據(jù)轉化成串行數(shù)據(jù)傳輸給SPI從設備,并且把外部SPI從設備串行傳輸進來的數(shù)據(jù)轉化成并行數(shù)據(jù)傳入到APB總線上。

傳統(tǒng)的串/并轉換設計方法需要一個專門的移位傳輸寄存器,本設計采用了復用寄存器的方法,把移位傳輸寄存器和發(fā)送寄存器結合在一起。當傳輸停止且總線鎖存使能時,數(shù)據(jù)從APB總線并行傳輸?shù)絪pi_shift移位傳輸寄存器即發(fā)送寄存器TxX,然后在傳輸時鐘使能情況下串行輸出到MOSI;而在主機接收使能的情況下,由從機MISO串行輸人數(shù)據(jù)至spi_shift移位傳輸寄存器。傳輸結構如圖4所示,從圖4可以看出,數(shù)據(jù)傳輸位寬最大可達128 b/s。

2.1.3 RTL代碼設計

spi_master模塊代碼設計劃分如下:

(1)寄存器選擇使能信號的地址譯碼電路;

(2)讀寄存器部分,將并行數(shù)據(jù)輸出到APB總線上;

(3)控制寄存器ctrl、時鐘分頻寄存器divider、從機選擇寄存器ss初始化部分;

(4)例化時鐘分頻子模塊和數(shù)據(jù)傳輸子模塊。

為了提高代碼的復用性,特別設計了一個宏定義模塊,主要定義了傳輸最大位數(shù)SPI_MAX_CHAR,分頻寄存器位數(shù)SPI_DIVIDER_LEN,從機選擇數(shù)目SPI_SS_NB等相關數(shù)據(jù)。

2.2 spi_slave模塊設計

這部分設計作為SPI的從設備與主機進行數(shù)據(jù)交換,與spi_shift模塊時鐘同步。通信開始后,從機數(shù)據(jù)最高位開始串行輸入到MISO,主機發(fā)出的數(shù)據(jù)從最低位串行輸出到MOSI。

3 SPI接口的功能仿真

本設計采用Verilog HDL編寫Testbench,使用ModelSim軟件進行功能仿真,并用Debussy軟件聯(lián)合調試并觀察波形。為了實現(xiàn)主從設備通信的仿真,編寫了一個p_master模塊并例化到測試代碼里面來模擬主機SoC對spi_master的操作,主要包括一個數(shù)據(jù)寫task、一個數(shù)據(jù)讀task、一個數(shù)據(jù)比較task。分別測試了1 b,8 b,16 b,32 b,64 b,128 b的數(shù)據(jù)。仿真全部通過,局部仿真波形如圖5所示。

以第一次傳輸為例進行分析,傳輸時調用寫任務,分別向寄存器DIVIDER、TX_0、CTRL寫入32’h01、32’h5a、32’h308,設定spi_sla ve.data為32’ha5967e5a。由波形看出,數(shù)據(jù)在ss[0]有效傳輸,傳輸完成后MIS0=8’b10100101(即32’ha5),MOSI=8’b01011010(即32’h5a),滿足了上升沿發(fā)送下降沿接收及高位先開始的數(shù)據(jù)傳輸時序。在100 MHz的主時鐘頻率下,得到串行時鐘頻率25 MHz,為4分頻,符合式(1)的計算。

4 SPI接口的SoC平臺驗證

驗證用SoC平臺具有良好的可重用性和通用性,可以方便的掛接帶有AHB/APB總線接口的IP核,并通過內部寄存器對其進行配置和驗證,避免了對不同IP設計需要不同的Testbench平臺,提高了IP驗證的效率。本設計用到的SoC驗證平臺如圖6所示,驗證環(huán)境為Linux操作系統(tǒng),仿真工具為VCS。

在SoC驗證平臺中,SPI接口作為外設連接在APB總線的Slave4端口上,地址空間為0xA400_0000~0XA4FF_FFFF。用C測試程序向Tx0寫32’h67,spi_slave.data=32’h0,局部仿真波形如圖7所示,MOSI=8’b01100111(即32’h67),MISO=8’b0,結果表明符合要求。

5 結語

本文實現(xiàn)了基于AMBA 2.0總線的、可作為IP核用于SoC設計的SPI接口的設計,并且經(jīng)過全面的仿真驗證,可以看出本設計滿足性能要求。

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

毋須依賴實時操作系統(tǒng)(RTOS)的全新低功耗藍牙開發(fā)軟件解決方案面世,旨在幫助開發(fā)者從傳統(tǒng)nRF5 SDK和nRF52系列輕松遷移至新一代nRF54L系列

關鍵字: 低功耗藍牙 SoC SDK

Puttshack 的 Trackaball 以 Nordic nRF54L15 系統(tǒng)級芯片 (SoC) 監(jiān)控傳感器并實現(xiàn)低功耗藍牙連接,并以nPM2100 電源管理集成電路(PMIC)節(jié)省耗電

關鍵字: SoC 傳感器 集成電路

2025年8月21日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Silicon Labs全新xG26系列無線SoC和MCU。xG26片上系統(tǒng)...

關鍵字: SoC 微控制器 物聯(lián)網(wǎng)

3系列Secure Vault在第三代無線開發(fā)平臺產(chǎn)品組合中的SiXG301 SoC上首次亮相,獲得了先進物聯(lián)網(wǎng)保護的最高級別認證

關鍵字: 物聯(lián)網(wǎng) SoC 無線電

基于智能體的新型安全服務通過自主AI智能體降低運營成本,同時加快響應并擴大覆蓋范圍 2025年,7AI平臺已為各安全團隊節(jié)省22.4萬個分析師工時——相當于約112位分析師全年工作量,價值1120萬美元 拉斯維加斯2...

關鍵字: AI 智能體 SoC AGENT

隨著高解析度音頻應用的不斷發(fā)展和廣泛部署,諸如USB與I2S之間等不同專業(yè)接口之間的高品質音頻轉換需求日益增長,由此帶來了實現(xiàn)高性能、高實時性與高靈活性的新挑戰(zhàn)。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷...

關鍵字: SoC USB 處理器

控制寄存器(Control Register)是中央處理器(CPU)中用于管理系統(tǒng)級操作的特殊寄存器,它為操作系統(tǒng)和硬件提供對處理器行為的精細控制。本文從計算機體系結構角度系統(tǒng)闡述控制寄存器的設計原理、功能分類、操作機制...

關鍵字: 寄存器 處理器

顛覆設計領域的倫敦創(chuàng)新企業(yè)與Ceva合作,為Nothing和CMF子品牌音頻產(chǎn)品線增強聽覺體驗,包括最新發(fā)布的Nothing Headphone (1)

關鍵字: 傳感器 藍牙 SoC

nPM1304 PMIC 是對 Nordic 屢獲殊榮的 nPM1300 PMIC 的補充,為智能戒指、人體傳感器和其他小尺寸電池應用提供了高度集成的超低功耗解決方案和精密電量計

關鍵字: 電源管理 傳感器 SoC

能量收集(Energy Harvesting)并不是一個時興的名詞,但是物聯(lián)網(wǎng)技術的進步以及諸如Silicon Labs(芯科科技)的物聯(lián)網(wǎng)產(chǎn)品以及開發(fā)套件,使能量收集技術的應用也變得更加的實際和廣闊。例如非常便于應用的...

關鍵字: 物聯(lián)網(wǎng) SoC 傳感器
關閉