DSP HPI口與PC104總線接口的FPGA設計

2021-01-08 電子產品世界

摘 要 通過對TI公司TMS320C5000系列DSP HPI總線和PC104總線時序的分析,以VHDL語言為工具,使用Altera的FPGA晶片EP1K50,設計完成PCI04總線和DSP HPI總線之間的通信接口,並在一款以TMS320VC5409DSP為數據採集處理器、研華嵌入式工控主板PCM-5825為系統主板組成的嵌入式數據採集系統申得到了運用;給出與整個接口設計相關的VHDL原始碼和在PCM-5825上驗證接口設計的X86彙編語言程序。
關鍵詞 DSP HPI PC104總線 FPGA VHDL原始碼

在一款嵌入式數據採集系統的設計中,採用TMS320VC5409 DSP作為對多路信號的採集與預處理,處理後的數據送至12.7 Cm(5in)的工控計算機中進行分析與保存。因為工控機的總線為PC104,因此需要設計PC104與DSP之間的通信接口。系統中以Altera公司的一片FPGA晶片EPlK50來對該接口和數據採集過程中的邏輯控制與FIFO進行設計。下面主要闡述該通信接口的設計。

1 DSP的HP0接口
TMS320VC5409 DSP的HPI是一個8位的並行接口,主要用來與主設備或主處理器接口。DSP內部有一定數量的雙訪問RAM,除了DSP本身可以訪問該RAM區域外,主機也可以通過HPI口實現對雙訪問RAM的訪問,從而實現主機與DSP的通信。

HPI接口通過HPI控制寄存器HPIC、地址寄存器HPIA、數據寄存器HPID等3個HPI寄存器進行控制和實現數據傳輸。這3個寄存器都是16位的,因此主機訪問這些寄存器時需要分兩次操作才能完成。

HPIC只有4位用於控制HPI的操作,這4位分別位於高字節和低字節的低4位,並規定HPIC的高低字節必須相同:
Bit0/8(BOB)一一用於字節順序控制,BOB=1表示第1個字節為低字節,否則第1個字節為高字節;
Bitl/9(SMOD)一一訪問模式控制,SMOD=l表示共享訪問模式(SAM),否則為主機訪問模式(HOM);
Bit2/10(DSPINT)一一主機通過將該位寫l來向DSP發送1次HPI中斷;
Bit3/11(H1NT)一一DSP通過向該位置l,使外部引腳HINT產生一個低電子作為給主機的中斷,中斷的清除必須由主機向該位寫l來清除。

HPID是數據寄存器,主機通過讀寫該寄存器來實現對共享RAM的讀寫,RAM的地址則由HPIA地址寄存器的內容來決定。因此,主機對DSP的訪問過程是,先往HPI地址寄存器HPIA寫入欲訪問的地址,然後再對數據寄存器HPID進行讀或寫訪問。

HPI接口信號包括:
HAS一一輸入,地址鎖存信號,可連接到高電平;
HBIL一一輸入,字節識別信號,用來識別傳輸的是高電平還是低電平;
HCNTL[1..0]一一輸入,HPI寄存器的訪問地址信號,主機用來選擇訪問的HPI寄存器。如表l所列;

HCS一一輸入,HPI片選信號,低電平有效;
HD[7..0]一一雙向三態數據總線;
HDS1/HDS2一一數據輸入選通信號,可將其中一個接低電平,另一個接邏輯控制;
HINT一一輸出,給主機的中斷信號,由HPIC寄存器的HINT位控制;
HRDY一一輸出,HPI準備好,高電子有效;
HR/W一一輸入,讀寫控制信號,高電子表示主機進行讀操作,低電子表示主機進行寫操作。
HPI的訪問時序如圖l所示。如前所述,訪問寄存器時需要分兩次操作才能完成。


2 PC104總線
PC104總線是從ISA總線衍生而來的,主要是為了適應嵌入式系統的需要。在8.89 cm(3.5 in)和12.7cm(5in)工控主板中,大多使用PC104總線作為標準接口總線。PC104總線共有104根引腳,其中絕大多數與ISA總線信號特性完全一致,只有極個別的信號有區別,因此在應用中完全可以按ISA總線使用。PC104總線與ISA總線一樣,是一個16位和8位同時兼容的總線。在本系統中,使用的是8位的方式,將DSP的HPI口作為PC104總線的8位I/O設備。PC104總線的I/O訪問時序如圖2和圖3所示。

根據PC104總線的I/O訪問時序,只需使用以下的總線信號,即可完成8位總線的通信設計:
SD[7..0]一一PC104數據總線;
SA[9..0]一一PC104地址總線;
IOW一一PC104埠寫控制,低電平有效,表示對I/0口寫操作,由OUT指令執行;
IOR一PC104埠讀控制,低電子有效,表示對I/O口讀操作,由IN指令執行;
SYSCLK一一PC104總線時鐘;
ALE一一地址鎖存信號,在此不用作地址鎖存,而是用作總線周期的開始同步,它的下降沿表示總線周期開始;
IOCHRDY一一I/0設備就緒信號,當將該電平為低(無效狀態)時,表示I/0設備要延長總線周期,信號由三態門或集電極開路門驅動;
IRQ一一中斷請求信號,當I/O設備需要向PC機通信或是採集的信號已經準備好後,向PC發起中斷,申請通信,PC將數據讀走。

3 接口設計
根據前面的分析,得出接口原理如圖4所示。

圖4中,FPGA為EPlK50。EPlK50內部擁有2880個邏輯單元,40 960位的RAM。在本系統中,不僅作為HPI和PC104的接口邏輯,還有其他功能,如FIFO、A/D控制等。

EP1K50的內核供電電壓為2.5 V,I/O供電電壓為3.3 V,可以直接與I/O供電電壓也是3.3 V的TMS320VC5409 DSP相連.另外,EPIK50能承受-0.7~5.75V的輸入電子,輸出則與TTL電平兼容,因此EP1K50也可以直接與5 VTTL電平的PC104總線相連,從而在DSP和PC104總線之間起電平轉換的作用,不需再使用其他的電子轉換器件,簡化了電路設計。

對於接口設計來說,最主要的就是時序設計。時序設計正確了,系統就能正確地工作。在綜合了HPI的訪問時序與PC104總線的讀寫時序後,得出以下設計方法:
①對於HPI寄存器的訪問可以通過地址編碼實現,偶地址對應寄存器的低字節,奇地址對應寄存器的高字節,如表2所列。

於是相應信號關係為:
HCNTL[1..0]=SA[2..1]
HBIL=SA[0]
當SA[9..0]=0x350~0x357時,HCS=0,SA[9..0]
為其他值時,HCS=1。
②HD[7..O]和SD[7..0]設計成雙向總線。
③HR/W的產生:當PCI04進行讀操作時,HR/W=1;當PC104進行寫操作時,HR/W=0。於是:
HR/W=0,當IOR=1且IOW=0時;
HR/W=1,當IOR=0且IOW=1時。
④在DSP上將HDS2直接接低電子,HDSl在HBIL為0和HBIL為1時,分別產生一個變化沿,用以選通數據。該信號的產生是接口設計成功的關鍵。在此使用PCI04總線的系統時鐘信號SYSCLK來計數產生。詳細過程可參見VHDL代碼。
⑤PCI04總線的中斷請求信號IRQ=HINT取非。因為PC104設置為上升沿中斷。
⑥PC104總線的外部I/0準備好信號IORDY在地址選通有效過程中接HPI口的HRDY信號,地址選通無效時置為高阻態。

4 代碼設計
代碼包括接口設計的VHDL源碼和驗證的X86彙編語言代碼,代碼內容見本刊網站(WWW.dpj.com.cn)。VHDL代碼在Altera公司的開發工具QuartusII下編譯,經下載電纜下載到FPGA後,可在Debug中用彙編語言對DSP進行讀寫驗證。

結 語
本文使用VHDL語言和FPGA,設計了PC104總線與DSP之間的接口。之所以使用FPGA,是因為在系統中FPGA還包含有其他的功能設計。如果只有PC104總線與DSP之間的接口設計,使用CPLD即可完成,而不必浪費FPGA的資源。


相關焦點

  • 基於DSP和FPGA的機器人聲控系統設計與實現
    系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。tlv320aic23具有可編程特性,dsp可通過控制接口來編輯該器件的控制寄存器,而且能夠編譯spi,i2c兩種規格的接口,tlv320aic23b與dsp5509的電路連接如圖2所示。
  • 第六講 DSP在雷達信號處理中的應用
    為了讓工程師在設計開發中完善和拓展基礎理論與系統知識,豐富應用經驗,《世界電子元器件》和中電網聯合清華大學等知名院校共同創辦了這個欄目,特約知名學者、教授以及著名半導體公司的應用工程師撰寫,以系列講座的方式對熱點ic技術進行全面而系統的介紹,涵蓋最新技術要點。最先開設的講座將圍繞三大課題:dsp、fpga和嵌入式系統,每個課題都將連載6期。
  • 基於小波變換與DSP的實時音頻視頻處理系統
    在該實時系統中,dsp晶片作為控制核心、一方面要管理adv611,ct8021,存儲器和通信接口,另一方面要對adv611的圖像壓縮效果進行調解,對數據速率實時控制。系統實現方案原理圖如圖1所示。
  • 基於DSP的自適應光纖/千兆網接口設計
    系統具有兩個光纖和網絡接口,可以自動識別所插入的設備,在不斷電情況下可以任意交換接口,無須用戶參與。文中詳細介紹了該系統的軟硬體設計方法。本文介紹一種基於高速數位訊號處理器TMS320C6455的嵌入式千兆網接口設計,並通過軟硬體自適應配置網絡或光纖接口。
  • 嵌入式PROFIBUS現場總線通信接口設計
    ,要求系統技術向現場總線技術 發展,同時也要求現場設備向智能化、網絡化方向發展。 基於上述需求,嵌入式PROFIBUS-DP從站通信接口的設計為自主開發具有PROFIBUS-DP通信功能產品的用戶提供了一種快速、高效的解決方案。
  • 基於CPCI總線接口和LVDS接口的接收和傳輸測試數據實驗設計
    2 RS422接口設計 RS422接口用來下發命令字和接收狀態字,由於信號碼率較低,為625 kb/s,因此設計中主要考慮傳輸的穩定性和可靠性。本設計針對此問題首先選擇了抗幹擾性強的差分對信號傳輸數字量,同時對信號採取隔離措施,以防止前後級設備之間的互相干擾。接口電路示意圖如圖2所示。
  • ZYNQ系列FPGA使用,PS與PL接口設計和硬體設計
    PS與PL接口設計和硬體設計 PS與PL交互可以通過ZYNQ系統內的高速總線來完成,ZYNQ內包含AXI4標準總線、AXI-Lite輕型總線和AXI-Stream流式總線。其中AXI4標準總線支持有地址、猝發和連續的傳輸,可以用於大容量數據的傳輸;而AXI-Lite總線則是一個輕量級的地址映射單次傳輸接口,佔用更少的邏輯資源;AXI4-Stream是面向數據流的無地址的傳輸,更適合承載視頻流等流式數據。綜上,因為本次實驗硬體設計較為簡單,數據傳輸量較小,因此選用AXI輕型總線作為PS單元與PL單元交互接口。
  • 基於FPGA的RCN226絕對式編碼器通信接口設計
    本文研製了一種用於交流伺服系統中的基於FPGA的絕對式編碼器智能接口,實現與絕對式編碼器的雙工通信,接收高速數據流,同時在FPGA內部開闢RAM空間,將收到的編碼器數據存入RAM中,DSP可以以訪問內存的方式讀取數據,提高了工作速度。同時,該接口還具有奇偶校驗等糾錯功能,完全可以替代廠家提供的接收晶片,大幅度降低了產品成本。
  • 如何在 FPGA 上實現雙線性插值的計算?
    在FPGA上,乘法是一件非常消耗資源的事,雖然Xilinx和Altera這樣的FPGA廠商會在每塊FPGA板上設計dsp來專門應對乘法、除法等複雜運算。但dsp的數量是十分有限的,dsp的使用水平很大程度上決定了整個FPGA的計算速度。一個dsp可以當作一個乘法器使用,而一個除法器則需要多個DSP級聯組成。
  • 通用串行總線(USB)原理及接口設計
    通用串行總線USB (Universal SerialBus)是Intel、Microsoft等大廠商為解決計算機外設種類的日益增加與有限的主板插槽和埠之間的矛盾而於1995年提出制定的。它是一種用於將適用USB的外圍設備連接到主機的外部總線結構,主要用在中速和低速的外設。
  • 嵌入式中常用的總線與接口有哪一些
    為了簡化硬體電路設計、簡化系統結構,常用一組線路,配置以適當的接口電路,與各部件和外圍設備連接,這組共用的連接線路被稱為總線。採用總線結構便於部件和設備的擴充,尤其制定了統一的總線標準則容易使不同設備間實現互連。 微機中總線一般有內部總線、系統總線和外部總線。
  • FPGA的機載合成孔徑雷達數位訊號處理機接口板卡的設計與實現
    ,以自己的速度傳輸數據②輸入輸出數據流的信息格式不匹配數據採集設備輸入的原始回波數據和監控設備輸入的雷達和載機的參數數據採用FPDP協議傳輸,接口板卡輸出到處理機的數據採用Link口傳輸協議進行傳輸考慮到進出接口板卡數據流的特點和雷達系統對接口板卡的控制要求,接口板卡要具有如下功能:(1)設置數據的緩衝存儲邏輯,以適應不同設備之間的速度差異和時序差異;(2)
  • 基於單片機和CPLD的PLC背板總線協議接口晶片設計(一)
    摘要:設計了一組基於CPLD的PLC背板總線協議接口晶片,協議晶片可以區分PLC的背板總線的周期性數據和非周期性數據。詳細介紹了通過Verilog HDL語言設計狀態機、協議幀控制器、FIFO控制器的過程,25MHz下背板總線工作穩定的試驗結果驗證了協議晶片設計的可行性。  可編程邏輯控制器(PLC)主機是通過背板總線支持擴展模塊的連接, 背板總線是PLC 主機同I/O擴展模塊之間的高速數據通路,支持主機和擴展模塊之間的I/O 數據刷新。
  • 基於DSP的數字掃描探針顯微鏡的硬體解決方案研究
    系統設計思想 為了解決上述缺點,筆者給出了一種基於dsp的新型數字式spm系統的設計方案,新方案的系統框圖如圖2所示。 tms320vc5416是ti公司的16位定點dsp,其時鐘頻率為160mhz,能夠實現高速運算(160mips)和大容量存儲,片上有128×16位的sram和16k×16位rom。tms320vc5416晶片內核和i/o口分別採用1.5v和3.3v供電,故可有效降低功耗。
  • 基於SPC3的PROFIBUS現場總線智能從站的設計
    總線接口是個可參數化的同步/異步8位接口,適合於Motorola 和Intel 微控制器/ 處理器。SPC3內部集成了1.5kB的雙口RAM,整個RAM 採用8字節的段結構方式,共分成192段,所有需要分配地址的BUF指針必須指向段的開頭。DP通信的服務存取點由SPC3自動建立,呈現在用戶面前的各種報文信息就是不同BUF的內部數據。用戶可以通過總線接口訪問SPC3的內部RAM。
  • CAN總線—PROFIBUS-DP總線網關的實現方法
    本文主要研究PROFIBUS-DP[2]與CAN[3]兩種總線的協議轉換的原理,並設計出了一種網關實現了這兩種總線的互聯。2  方案設計對於兩個異構的現場總線,其數據鏈路層和應用層協議是截然不同的,要實現它們的互聯,需要採用網關進行協議轉換。
  • FPGA開發外設子板模塊電路設計詳解
    FM信號由FPGA的I/O口控制。當FM為高電平時,Q1的BE導通,則CE導通,蜂鳴器的5V和GND形成迴路,發出聲音。當FM為低電平時,Q1的BE斷開,則CE斷開,蜂鳴器的5V和GND斷開,因此沒有電流流過蜂鳴器,蜂鳴器便不發聲。在後面的實驗中,我們可以使用PWM信號,即以固定的時高時低的電平控制Q1的導通與否,然後達到蜂鳴器的時斷時開,人耳聽到的便是不同頻率的聲響。
  • 採用PDIUSBD12晶片和ADuC812晶片實現串行總線接口設計
    採用PDIUSBD12晶片和ADuC812晶片實現串行總線接口設計 王澤兵 齊和平 發表於 2020-04-04 10:45:00 隨著計算機技術和信息技術的飛速發展