0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

PCB線路板打樣 ? 來(lái)源:LONG ? 2019-08-07 10:45 ? 次閱讀

許多FPGA設(shè)計(jì)使用嵌入式處理器進(jìn)行控制。典型的解決方案涉及使用諸如Nios的軟處理器,盡管具有內(nèi)置硬處理器的FPGA SoC也變得流行。圖1顯示了典型的Altera FPGA系統(tǒng),其中包含處理器和通過(guò)Altera的 Avalon 存儲(chǔ)器映射(MM)總線連接的外設(shè)組合。這些處理器極大地簡(jiǎn)化了最終應(yīng)用程序,但需要強(qiáng)大的編程背景和復(fù)雜工具鏈的知識(shí)。這可能會(huì)妨礙調(diào)試,特別是如果硬件工程師需要一種簡(jiǎn)單的方法來(lái)讀取和寫入外設(shè)而不會(huì)影響軟件工程師。

圖1使用Avalon內(nèi)存映射總線連接的典型Altera FPGA系統(tǒng)

本設(shè)計(jì)方案使用Altera的 SPI Slave to Avalon MM Bridge 提供了一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法。這種技術(shù)有兩個(gè)優(yōu)點(diǎn):它不會(huì)損害原始系統(tǒng)設(shè)計(jì),并且橋接器可以與嵌入式處理器共存。對(duì)于圖1中所示的系統(tǒng),SPI橋允許工程師直接控制LTC6948小數(shù)N分頻PLL的頻率,設(shè)置LTC1668 DAC電壓,讀取LTC2498 ADC的電壓或讀取來(lái)自LTC2983的溫度,就像處理器一樣。

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

圖2熒光筆+示例代碼+反向工程= Python腳本(可縮放圖像)

Altera為SPI-Avalon MM橋提供參考設(shè)計(jì)。不幸的是,文檔最多是稀疏的,并使用Nios處理器作為SPI主控制器。這有效地破壞了SPI橋的目的,因?yàn)?/p>

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

Nios可以直接連接到Avalon MM總線。實(shí)用的SPI主控制器是凌力爾特公司微控制器,它是一個(gè)Arduino克隆,具有與LT演示板接口的額外功能。一個(gè)額外的功能是電平轉(zhuǎn)換的SPI端口。當(dāng)電壓低至1.2V的FPGA I/O bank接口時(shí),這種電平轉(zhuǎn)換功能特別有用。 Linduino固件可用于通過(guò)虛擬COM端口接受命令,并將命令轉(zhuǎn)換為SPI事務(wù)。

對(duì)Altera示例設(shè)計(jì)進(jìn)行逆向工程后(圖2的左側(cè)),開發(fā)了一個(gè)Python庫(kù)來(lái)創(chuàng)建橋接器可以接受的數(shù)據(jù)包。然后將這些數(shù)據(jù)包轉(zhuǎn)換為L(zhǎng)induino命令。然后,Python腳本允許硬件工程師完全控制項(xiàng)目,而無(wú)需重新構(gòu)建接口協(xié)議。 LinearLabTools Python文件夾中提供了一個(gè)示例Python腳本,用于控制LTC1668 DAC的數(shù)字碼型發(fā)生器的頻率。圖3顯示演示設(shè)置。

圖3DC2459 DAC演示板(R)插入FPGA板(L)

圖4顯示系統(tǒng)框圖。注意,數(shù)控振蕩器(NCO)可以由移位寄存器PIO內(nèi)核控制。包含移位寄存器用于調(diào)試,因?yàn)樗试S直接控制NCO。將GPIO線設(shè)置為高電平可啟用SPI-Avalon橋,后者又控制Avalon總線上的32位PIO端口。然后,PIO輸出控制NCO頻率。

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

圖4FPGA系統(tǒng)框圖

在基本系統(tǒng)運(yùn)行的情況下,可以將額外的外圍核心連接到總線。為了設(shè)計(jì)系統(tǒng),Altera提供了一個(gè)名為Qsys的工具,它提供了一個(gè)GUI來(lái)連接IP。 Qsys將GUI設(shè)計(jì)的系統(tǒng)(圖5)轉(zhuǎn)換為HDL。外設(shè)地址是完全可配置的。在這種情況下,PIO設(shè)置為0x0的基數(shù)。

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

圖5Qsys GUI

一旦設(shè)計(jì)在FPGA中實(shí)現(xiàn),LinearLabTools中提供的Python庫(kù)包含兩個(gè)與設(shè)計(jì)接口的函數(shù):

transaction_write(dc2026,base,write_size,data)

transaction_read(dc2026,base,read_size)

這些函數(shù)的第一個(gè)參數(shù)是Linduino串口實(shí)例。第二個(gè)參數(shù)是Avalon總線上的外設(shè)地址。函數(shù)分別接受和返回字節(jié)列表。編寫這兩個(gè)函數(shù)是為了在寫入和讀取IP時(shí)具有靈活性。要為所提供的示例設(shè)置NCO,需要transaction_write功能。公式1用于確定調(diào)諧字。

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

將NCO設(shè)置為1kHz使用50MSPS采樣率時(shí),調(diào)整值為85899或0x00014F8B,它作為四個(gè)字節(jié)的列表傳遞。因此,將DAC設(shè)置為1kHz的python代碼是:

transaction_write(linduino_serial_instance,0,0,[0x0,0x01,0x4F,0x8B ])

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法

圖6Python Avalon總線示例

圖6中的Python腳本說(shuō)明了簡(jiǎn)單文本配置NCO的接口。一個(gè)重要的注意事項(xiàng):橋接器使用SPI模式3.通過(guò)反復(fù)試驗(yàn)確定了正確的模式,并通過(guò)分析Altera示例中的Nios處理器的SPI接口進(jìn)行了驗(yàn)證。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Avalon總線
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    10117
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2968

    瀏覽量

    21608
  • 華強(qiáng)PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    27682
  • 華強(qiáng)pcb線路板打樣

    關(guān)注

    5

    文章

    14629

    瀏覽量

    42904
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用MAXI接口的最簡(jiǎn)單方法是什么?

    我的塊設(shè)計(jì)中有個(gè)XADC,我能夠從我的arm / xmd使用“axi_lite總線”進(jìn)行訪問(wèn)是否有一種簡(jiǎn)單方法可以從FPGA內(nèi)部發(fā)出“相
    發(fā)表于 11-02 11:32

    一種節(jié)省能源的簡(jiǎn)單方法

    一種節(jié)省能源的簡(jiǎn)單方法是在晚上關(guān)閉Mac。與不活動(dòng),空閑或睡眠的Mac相比,關(guān)機(jī)的Mac所消耗的能源更少。對(duì)于運(yùn)行大量Mac的組織,應(yīng)優(yōu)先考慮整夜關(guān)機(jī)。反對(duì)在夜間關(guān)閉的個(gè)常見論點(diǎn)是關(guān)閉和啟動(dòng)所花
    發(fā)表于 12-29 08:20

    從用戶代碼跳轉(zhuǎn)到系統(tǒng)bootloader

    從用戶代碼跳轉(zhuǎn)到系統(tǒng)bootloader提供一種直接從用戶代碼直接跳轉(zhuǎn)到系統(tǒng)Bootloader 的方法
    發(fā)表于 10-19 06:10

    一種寬范圍微弱直流信號(hào)測(cè)量的簡(jiǎn)單方法

    一種寬范圍微弱直流信號(hào)測(cè)量的簡(jiǎn)單方法 介紹一種采用對(duì)數(shù)運(yùn)算功放大器MAX4206的測(cè)量方法,可實(shí)現(xiàn)1nA~1mA直流電流的測(cè)量,電路設(shè)計(jì)簡(jiǎn)單
    發(fā)表于 04-24 09:46 ?19次下載

    Avalon總線規(guī)范(中文版)

    Avalon 總線一種將片上處理器和外設(shè)連接成片上可編程系統(tǒng)(SOPC)的一種簡(jiǎn)單總線結(jié)構(gòu)。Avalo
    發(fā)表于 07-09 18:39 ?0次下載

    應(yīng)用Matlab仿單相PWM整流器的一種簡(jiǎn)單方法

    應(yīng)用Matlab仿真單相PWM整流器的一種簡(jiǎn)單方法 葉齊峰,金新民 (北方交通大學(xué)電氣工程學(xué)院,北
    發(fā)表于 07-15 09:16 ?3153次閱讀
    應(yīng)用Matlab仿單相PWM整流器的<b class='flag-5'>一種</b><b class='flag-5'>簡(jiǎn)單方法</b>

    avalon總線框架

    Avalon 總線一種將片上處理器和外設(shè)連接成片上可編程系統(tǒng)(SOPC)的一種簡(jiǎn)單總線結(jié)構(gòu)。Avalo
    發(fā)表于 11-21 09:10 ?3897次閱讀
    <b class='flag-5'>avalon</b><b class='flag-5'>總線</b>框架

    基于Nios系統(tǒng)的Avalon總線概述

    Nios系統(tǒng)的所有外設(shè)都是通過(guò)Avalon總線與Nios CPU相接的,Avalon總線一種協(xié)議較為簡(jiǎn)
    的頭像 發(fā)表于 01-27 22:03 ?4824次閱讀

    淺談AVALON總線的應(yīng)用及要求

     AVALON總線,其實(shí)是一種交換架構(gòu)的協(xié)議,在自定義外設(shè)掛在AVALON總線上時(shí),定要注意地
    發(fā)表于 02-11 17:15 ?1713次閱讀
    淺談<b class='flag-5'>AVALON</b><b class='flag-5'>總線</b>的應(yīng)用及要求

    鋯石FPGA A4_Nano開發(fā)板視頻:Avalon總線規(guī)范的講解(2)

    Nios系統(tǒng)的所有外設(shè)都是通過(guò)Avalon總線與Nios CPU相接的,Avalon總線一種協(xié)議較為簡(jiǎn)
    的頭像 發(fā)表于 10-08 07:05 ?1439次閱讀

    鋯石FPGA A4_Nano開發(fā)板視頻:Avalon總線規(guī)范的講解

    Nios系統(tǒng)的所有外設(shè)都是通過(guò)Avalon總線與Nios CPU相接的,Avalon總線一種協(xié)議較為簡(jiǎn)
    的頭像 發(fā)表于 09-30 07:04 ?1401次閱讀
    鋯石FPGA A4_Nano開發(fā)板視頻:<b class='flag-5'>Avalon</b><b class='flag-5'>總線</b>規(guī)范的講解

    教你一種抑制EMI的簡(jiǎn)單方法資料下載

    電子發(fā)燒友網(wǎng)為你提供教你一種抑制EMI的簡(jiǎn)單方法資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-17 08:51 ?16次下載
    教你<b class='flag-5'>一種</b>抑制EMI的<b class='flag-5'>簡(jiǎn)單方法</b>資料下載

    AN143-一種準(zhǔn)確預(yù)測(cè)泄漏電流引起的PLL參考雜散電平的簡(jiǎn)單方法

    AN143-一種準(zhǔn)確預(yù)測(cè)泄漏電流引起的PLL參考雜散電平的簡(jiǎn)單方法
    發(fā)表于 05-11 10:00 ?7次下載
    AN143-<b class='flag-5'>一種</b>準(zhǔn)確預(yù)測(cè)泄漏電流引起的PLL參考雜散電平的<b class='flag-5'>簡(jiǎn)單方法</b>

    STM32 IAP - Boot跳轉(zhuǎn)到APP

    簡(jiǎn)單IAP設(shè)計(jì)思路:?jiǎn)纹瑱C(jī)上電首先運(yùn)行BootLoader程序; Bootloader如果檢測(cè)到需要更新APP,則首先進(jìn)行更新,更新完成后跳轉(zhuǎn)到APP并運(yùn)行; Bootloader如果檢測(cè)到不需要
    發(fā)表于 12-03 14:21 ?9次下載
    STM32 IAP - Boot<b class='flag-5'>跳轉(zhuǎn)到</b>APP

    一種在電路板的銅走線上鍍錫的簡(jiǎn)單方法

    當(dāng)你剛剛完成項(xiàng)目中電路板的刻蝕環(huán)節(jié),看起來(lái)很成功。但你也定知道,隨著時(shí)間的推移,電路板上的銅走線會(huì)慢慢變黑、變綠。本問(wèn)將介紹一種在電路板的銅走線上鍍錫的簡(jiǎn)單方法。
    的頭像 發(fā)表于 02-26 12:09 ?5016次閱讀