Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 5133|回復: 1

[問題求助] 一个关于 SPI Slave 的问题。

[複製鏈接]
發表於 2012-1-25 22:16:36 | 顯示全部樓層 |閱讀模式
以下这段有啥问题?+ |6 e. R' g# Z, V
我使用 SignalTap II 调试了,nss 常为 Lo,shifter[0] 与 mosi 输入一致,但 shifter 不做任何移位。且 shifter_out 为 0x00, 0xCF 等随机数。
' r. a% ?  m' a8 E  o去掉 or posedge nss 及 if (!reset || nss) 中的 || nss,位移正常,但传输几秒发生不可恢复的数据错位。, c+ L0 e! R% @' @- |) U
将下面的 if (!nss) 也去掉,长时间数据传输无任何异常。
  v. n" S/ R8 {. q3 O通过 SignalTap II 設定 Trigger,nss 未触发,因此证明 nss 常时为 Lo。# B& g+ b9 H$ h9 y- f
未做修改前,时序中所有 Slack 值 > 0,Fmax > 100MHz (工作频率),Fitting 后的結果看上去也正常。不解啊...求助...
8 m9 B) C. \7 y$ o0 M    always @(posedge sclk or negedge reset or posedge nss) begin& {) N7 T7 c3 i. q+ \1 \
        if (!reset || nss) begin8 a7 v# ^$ d& \; M% b8 m/ |% p
            shifter     <= 8'b00000000;
, N0 x8 F" h4 j& p& V            shifter_out <= 8'b10111010;
$ e9 v1 t: D1 z9 Z* D" M- ~( V8 O            cnt         <= 8'b00000000;2 L/ m; |" D; G
        end3 W  R0 y! L7 i; d
        else begin0 I+ g4 r4 g# T
            if (!nss) begin
' q# M5 h* z; m9 g                shifter     <= {shifter[6:0], mosi};- A" O- s  p7 V& i0 R, K1 o
                shifter_out <= {shifter_out[6:1], shifter_out[0], shifter_out[7]};9 ~+ _/ E4 Q1 I

( f6 O. m5 d5 W( x; N' }1 Q. h                if (cnt == 8'h7)2 Q2 H% Z/ X6 Z" Y0 Q. t6 V! j
                    cnt <= 8'b00000000;
* t8 R# J# p0 i; R0 d. X                else: u  n& |; I0 c4 k3 O* l6 L$ V
                    cnt <= cnt + 1'b1;
) B2 ]0 [4 H4 A            end
0 ~8 g) r) o% Q7 n4 N$ I. ]        end
0 t7 O& ^9 O* p  w. ^' E    end7 O5 ^5 ]$ y# o: i" f' m5 ?$ \4 c' W

( X$ C& m" J. [9 O/ A' V; l( [- @

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
 樓主| 發表於 2012-1-31 21:38:59 | 顯示全部樓層
已解决.....................
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-4-19 09:09 AM , Processed in 0.110006 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表