|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
為什么單片機(jī)寫入FPGA的寄存器時(shí)對(duì)時(shí)錯(cuò)????望指教 謝謝! |
| 作者:caozltao 欄目:EDA技術(shù) |
我有兩個(gè)開(kāi)發(fā)板,一個(gè)是微處理器AT91RM9200,一個(gè)是ACEX1K的FPGA 設(shè)計(jì)中FPGA系統(tǒng)大概需要10個(gè)寄存器進(jìn)行控制 這些寄存器的初值由單片機(jī)給 現(xiàn)在通過(guò)9200往FPGA里面寫入控制寄存器,我將控制寄存器拉出到FPGA的IO口上進(jìn)行測(cè)試。 9200進(jìn)行單步運(yùn)行時(shí),發(fā)現(xiàn)寫入到FPGA的寄存器有時(shí)候?qū),有時(shí)候不對(duì),不知道什么原因? 我在兩塊板子之間用導(dǎo)線互相連接(數(shù)據(jù)總線,地址總線,讀寫片選信號(hào)線),9200程序是對(duì)片外SRAM進(jìn)行讀寫(FPGA里面的寄存器相當(dāng)于一個(gè)SRAM) FPGA里面的源程序是: 輸入輸出口定義: entity registorlistJX is PORT( --input interface PART: data:inout std_logic_vector(15 downto 0); addr:in std_logic_vector(7 downto 0); wr:in std_logic; rd:in std_logic; mcu_cs:in std_logic; --registor PART: f_taskrunstartREG:out std_logic_vector(15 downto 0); 。。。。 ) 主體部分: PROCESS(wr,addr,mcu_cs) begin if wr'event and wr='1' then if(conv_integer(addr)=f_taskrunstartREG_ADDR and mcu_cs='0') then--判斷地址和片選信號(hào)是否有效 f_taskrunstartREG<=data;--給一個(gè)寄存器賦值 。。。。 不知道什么原因? 是9200寫入程序不對(duì)? 還是兩個(gè)板子用導(dǎo)線連接的干擾大? 還是時(shí)序不匹配?我在FPGA里面用D觸發(fā)器將wr信號(hào)同步化了(D觸發(fā)器的時(shí)鐘用FPGA的全局時(shí)鐘) 即WR接DFF的輸入端,輸出端接上面定義部分的wr也不對(duì)。 兩個(gè)板子已經(jīng)共地了! 不知道什么原因,正在郁悶中。。。。 有做過(guò)的高手望指教下,多謝多謝了!。! ff |
| 2樓: | >>參與討論 |
| 作者: 雷風(fēng) 于 2006/2/25 10:35:00 發(fā)布:
導(dǎo)線連接? 如果程序不變,那可能就是硬件問(wèn)題 你用示波器的探針看看,輸入到fpga的信號(hào)是不是正確的 |
|
| 3樓: | >>參與討論 |
| 作者: xjg1111 于 2006/2/26 18:27:00 發(fā)布:
先降速讀寫看看是否能正確,再進(jìn)一步找問(wèn)題原因 |
|
| 4樓: | >>參與討論 |
| 作者: chenjj79 于 2006/2/28 10:25:00 發(fā)布:
時(shí)序的問(wèn)題 這個(gè)應(yīng)該是你的時(shí)序的問(wèn)題,你要保證你的寫入,F(xiàn)PGA內(nèi)的邏輯能及時(shí)接受。否則就會(huì)發(fā)生錯(cuò)誤。 |
|
| 5樓: | >>參與討論 |
| 作者: sunhuaiyi 于 2006/3/3 23:01:00 發(fā)布:
看看是不是電平問(wèn)題 邏輯接口電平是否需要加緩沖器 |
|
| 6樓: | >>參與討論 |
| 作者: fengyehong 于 2006/3/4 17:05:00 發(fā)布:
估計(jì)是時(shí)序問(wèn)題 |
|
| 7樓: | >>參與討論 |
| 作者: xhjiang 于 2006/3/9 22:49:00 發(fā)布:
同步 f_taskrunstartREG 不對(duì)WR信號(hào)同步,對(duì) f_taskrunstartREG信號(hào)同步試試看(經(jīng)過(guò)兩過(guò)DFF) |
|
| 8樓: | >>參與討論 |
| 作者: 吳明詩(shī) 于 2006/3/10 10:28:00 發(fā)布:
不對(duì)wr同步試試 除非fpga的頻率很高,不然就會(huì)出錯(cuò) |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |