<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > SEP3203處理器與FPGA數據通信接口設計

SEP3203處理器與FPGA數據通信接口設計

作者: 時(shí)間:2008-01-09 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要 是東南大學(xué)自主研發(fā)的基于A(yíng)RM7TDMI的一款微。系統在該的控制下通過(guò)實(shí)現對信號的A/D采樣和采樣后的數據存儲。采樣數據經(jīng)過(guò)的算法處理后,通過(guò)DMA方式將運算結果存儲到片外SDRAM,的數據通信遵循SRAM時(shí)序。通過(guò)兩組FIFO存儲A/D數據,系統實(shí)現了信號的不間斷采集和信號處理的流水線(xiàn)操作。
關(guān)鍵詞 SEP3203處理器 FPGA FIFO接口設計


SEP3203處理器是由東南大學(xué)國家專(zhuān)用集成電路系統工程技術(shù)研究中心設計的16/32位RISC微控制器,面向低成本手持設備和其他通用嵌入式設備。該處理器內嵌ARM7TDMI處理器內核,為用戶(hù)提供了面向移動(dòng)終端應用的豐富外設、低功耗管理和低成本的外存配置,整個(gè)芯片可以運行在75 MHz。數據通信系統使用的主要功能模塊如下:20 KB片上零等待靜態(tài)存儲器(eSRAM);外部存儲器接口控制器(EMI);中斷控制器(INTC);DMA控制器(DMAC)。
系統中使用的FPGA為Altera公司的Cyclone系列中的EPlC6Q240C8,擁有豐富的I/O資源和邏輯資源,外部接口遵循SRAM時(shí)序。它主要負責提供信號的A/D采樣頻率,并將A/D轉換后的數據存儲到一組FIFO中,待FIFO的FF(Full Flag)端u有效后,將FIFO中的數據讀回,同時(shí)使能另一組FTFO的寫(xiě)時(shí)序,實(shí)現了信號不間斷的采樣和存儲。
FPGA將一組數據處理完畢后,以中斷的方式通知SEP3203,處理器以DMA方式將運算后的結果存儲到片外的SDRAM中。由于數據寫(xiě)滿(mǎn)FIFO的時(shí)間大于FPGA處理數據的時(shí)間,所以整個(gè)系統實(shí)現了流水線(xiàn)操作。


1 系統的總體設計
系統硬件主要由信號采集模塊、FIFO、FPGA和SEP3203處理器組成。信號采集模塊主要包括信號接收器和A/D轉換模塊。接收到的信號首先要通過(guò)NE5534進(jìn)行放大,NE5534采用士5V供電。圖1為系統總體框圖。

系統中的A/D轉換芯片使用了ADI公司的ADl672,它采用4級流水線(xiàn)結構,在3 Msps采樣速度下精度為12位。FIFO選用了IDT公司的IDT7202。它具有輸入和輸出兩套數據線(xiàn),獨立的讀/寫(xiě)地址指針在讀/寫(xiě)脈沖的控制下順序地從雙口FIFO讀/寫(xiě)數據,讀/寫(xiě)地址指針均從第一個(gè)存儲單元開(kāi)始,直到最后一個(gè)存儲單元,然后又回到第一個(gè)存儲單元。為了支持9位數據寬度的存儲,系統采用了2片IDT7202將數據寬度擴展為16位,共使用了4片IDT7202實(shí)現了FIFO的協(xié)同工作。在系統工作時(shí),IDT7202內部的仲裁電路通過(guò)對讀指針和寫(xiě)指針的比較,相應給出FIFO的空(EF)和滿(mǎn)(FF)狀態(tài)指示;FPGA可以根據所獲得的FIFO狀態(tài)標志控制FIFO的讀/寫(xiě)時(shí)序,實(shí)現對FIFO的讀/寫(xiě)操作。
Cyclonc系列的FPGA支持多種I/O電平標準,包括3.3 V、2.5 V和l.8 V的LVTTL和LVCMOS電平。SEP3203處理器的I/O電平為3.3 V,與工作在3.3 V的FPGA電平兼容,可以直接相連。由于FIFO必須是5 V供電,所以FPGA將數據從FIFO讀入內部存儲器時(shí),需要經(jīng)過(guò)一個(gè)電平轉換芯片。系統選用了IDT公司的IDT74LVCl6245,它支持8/16位數據的雙向傳輸。


2 SEP3203與FPGA的接口電路設計
2.1 硬件設計
系統中的FPGA輸入時(shí)鐘由外部晶振提供,為20MHz。FPGA的復位信號通過(guò)SEP3203的I/O口實(shí)現。本系統有2個(gè)觸發(fā)信號:硬件觸發(fā)信號和軟件觸發(fā)信號。硬件觸發(fā)信號低電平有效,軟件觸發(fā)信號高電平有效。首先,SEP3203處理器產(chǎn)生復位信號復位FPGA內部的邏輯電路;當FPGA檢測到任何一個(gè)有效觸發(fā)信號后,會(huì )按照SEP3203處理器配置的分頻因子,將in_clk分頻后輸出div_clk給A/D采樣電路。硬件實(shí)現框圖如圖2所示。

A/D采樣數據在采樣時(shí)鐘有效后短時(shí)間內可能會(huì )是無(wú)效的,所以SEP3203耍配置一定的延時(shí)值給FPGA。當延時(shí)滿(mǎn)足后,FPGA才將FIFO的寫(xiě)時(shí)序輸出到IDT7202的寫(xiě)端口。確保采集到的數據為有效數據。
圖3是SEP3203處理器輸入到FPGA內部的控制信號的仿真波形罔。in_rst_n_a是復位信號,in_we_n和in_cs_n是SEP3203的寫(xiě)信號和片選信號。系統中FPGA接到了處理器的CSB片選上,該片選的地址映射默認為0x24000000~0x27FFFFFF,in_addr是地址線(xiàn),in_data為輸入數據。這里將延時(shí)設為2,分頻因子設為10,之后通過(guò)往地址0x24000804寫(xiě)l,用軟件使能系統。in_trig為硬件觸發(fā)信號。

2.2 軟件設計


一旦軟件使能系統,FPGA就會(huì )輸出div_clk給A/D采樣電路。div_clk可以通過(guò)軟件靈活配置,這里Div_clk為1MHz。

3 FPGA與FIFO的數據通信接口設計
在FPGA與FIFO數據通信接口設計中,FPGA主要輸出控制時(shí)序到IDT7202的復位、寫(xiě)和讀端口,實(shí)現A/D轉換數據到FIFO的存儲,并將數據從FIFO讀入FPGA的內部存儲器。 一旦延時(shí)滿(mǎn)足,FPGA就輸出寫(xiě)時(shí)序給FIFO的寫(xiě)端口(nW),同時(shí)檢測FIFO的nFF(Full Flag)信號。若該信號為低,則說(shuō)明FIFO已經(jīng)寫(xiě)滿(mǎn)1024個(gè)半字(16位)。此時(shí),FPGA輸出讀時(shí)序給該組FIFO,同時(shí)輸出寫(xiě)時(shí)序給另一組FIFO,以不間斷地存儲A/D采樣數據。
這部分電路在硬件實(shí)現上比較簡(jiǎn)單,IDT7202的輸出數據通過(guò)電平轉換芯片IDT74LVCl6245輸出給FPGA,FPGA輸出控制時(shí)序到FIFO。由于FPGA輸出邏輯“l(fā)”時(shí)的最低電壓Voh為2.4 V,輸出邏輯“O”時(shí)的最高電壓Vo1為0.4 V,而IDT7202輸入邏輯“1”時(shí)的最低電壓為2.2 V,輸入邏輯“O”時(shí)的最高電壓為O.8V,所以FPGA到FIFO的控制時(shí)序無(wú)須進(jìn)行電平轉換,控制端口可以直接相連。
系統中FPGA輸出完爭符合FIFO讀寫(xiě)時(shí)序的脈沖,控制FIFO的讀寫(xiě)操作。圖4是仿真波形圖。

IDT7202的異步讀寫(xiě)操作時(shí)序如圖5所示。

表l是IDT7202異步讀寫(xiě)操作時(shí)序的參數及說(shuō)明。

當FPGA檢測到in_ff_n_l為低時(shí),fifn_ff_pulse就產(chǎn)生一個(gè)50 ns的高脈沖;檢測到該脈沖后,out_wr_n_1持續高電平,out_rd_n_1輸出有效讀時(shí)序;同時(shí)out_wr_n_1輸出有效寫(xiě)時(shí)序。寫(xiě)時(shí)序以1 MHz的頻率輸出持續100ns低電平的脈沖;讀時(shí)序低電平持續100 ns,高電平持續50ns。FPGA根據out_FPGA_rd信號來(lái)采集FIFO輸出的數據。

4 SEP3203與FPGA的數據通信接口設計
數據經(jīng)FPGA做算法處理后,由SEl33203處理器將結果存儲到片外SDRAM中,SDRAM使用的是Winbond公司的W981216BH。硬件實(shí)現框圖如圖6所示。

SEP3203對FPGA的訪(fǎng)問(wèn)遵循SRAM時(shí)序,圖7為SEP3203讀數據時(shí)的信號仿真波形圖。

通過(guò)DMA方式傳輸數據時(shí),in_cs_n和in_rd_n信號一直為低,所以只有通過(guò)in_addt信號來(lái)控制FPGA的內部存儲器地址。處理后的A/D數據擴展為32位。
SEP3203處理器默認的AHB總線(xiàn)寬度是32位。當使用DMA傳輸時(shí),源和目的數據可以是不同的寬度,可以等于或小于總線(xiàn)的物理寬度。DMAC會(huì )對數據進(jìn)行適當的打包和解包,以滿(mǎn)足AHB總線(xiàn)寬度。由于FPGA與SEP3202處理器之間只有16位數據總線(xiàn),所以設計中源地址數據寬度設為16位,目的地址數據寬度設為32位。程序如下:


5 性能分析
為了實(shí)現系統的流水線(xiàn)操作,使用了EPlC6Q240C8中的PLL模塊。FPGA的外部晶振頻率為20 MHz,PLL提供70 MHz的時(shí)鐘,主要用于A(yíng)/D數據的處理和結果輸出。采集1 024個(gè)16位數據的時(shí)間為(1/div_clk)l 024,數據從FIFO讀入到結果輸出的時(shí)間為580μs左右,所以當用l.7 MHz以下的頻率采樣A/D數據時(shí),系統工作正常。若需要更高的A/D采樣頻率,則可通過(guò)優(yōu)化數據處理過(guò)程來(lái)實(shí)現。
另外,為了提高軟件的執行速度,將代碼放在SEP3203處理器的eSRAM中執行。它是片上SRAM,實(shí)現了單周期數據讀/寫(xiě),可以提供比外存高得多的性能(O.89 MIPS/MHz),極大地縮短了軟件執行時(shí)間,提高了系統性能。

6 總 結
本文給出了SEP3203處理器的FPGA數據通信接口設計,限于篇幅,具體的硬件電路和軟件源代碼未能詳細列出。目前,該系統已在東南大學(xué)ASIC中心GE02實(shí)驗板上調試通過(guò),可以正常工作。



關(guān)鍵詞: 3203 FPGA SEP 處理器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>