用cpld检测信号下降沿,有时候检测不到,求指点
本帖最后由 yxm433 于 2012-12-18 17:20 编辑用epm570检测1个片选信号cs的下降沿,输入电平IO是1.8V的,用示波器测量到cs是1.32V。
emp570内部使用50MHz时钟进行检测,当检测到cs下降沿到来时,neg信号就高电平。
cs信号进来cpld后,我是当它异步复位信号来用,所以先经过“异步复位、同步释放”(参考特权同学的)的方法
如图
信号进来后,用2个触发器+判断,输出neg高电平的
但是现在问题是:大概99%的情况下都能检测到cs低电平的到来,1%检测不到,
会是哪里出问题了呢?是IO电平??请大家指点 输入电平IO是1.8V的,用示波器测量到cs是1.32V 80%都不到不太靠谱吧 cs信号是由arm提供的,io电平也是1.8v,测量是1.32v,之间直接连,这样的话是哪出问题 你这个是这么检测的?neg在哪里? 就是图中的c信号进入进入两级触发器,再判断两个触发器的值来产生neg
分享個人淺見:
1. 內部Clock 50MHz, 必須確認速度要快於外部cs訊號兩倍以上; 也就是說如果ARM的cs操作頻率高於25MHz, CPLD可能會無法正確sampling.
2. 外部低速訊號 (Asychronized ) to 內部同步訊號方法, 就是需要透過 Over-Sampling 這個機製. 內部Clock一定要夠快,最低要超過外部的訊號兩倍以上的頻率.
3. IO 1.8V 可是您測量到只剩下 1.32 V, 這說明有訊號相互打架; 如果訊號沒有衝突, 只會有1.8V 和 0V的狀況, 1.32V 幾乎是你推我搶的狀況. 再確認看看pin assignment到底對不對 !!! chenshengyang 发表于 2012-12-18 21:39
分享個人淺見:
1. 內部Clock 50MHz, 必須確認速度要快於外部cs訊號兩倍以上; 也就是說如果ARM的cs操作頻 ...
cs频率大概是1k级别的,这个频率肯定,符合你说的要求。
你3说到,我实际就一个arm输出给cpld,不存在打架的情况,还是你说其它意思? 今天换了块板,重新测,测到电平电压是1.8v的,但问题依旧 跟1k频率没关系吧,跟下降时间有关系。如果下降时间为10ns,换成平率是100M,50M够用么。换个思路,always @(posedge cs)直接可以响应沿的变化,跟50M无关。 不接cpld看看输出波形对不对? tangfree 发表于 2012-12-19 13:09
跟1k频率没关系吧,跟下降时间有关系。如果下降时间为10ns,换成平率是100M,50M够用么。换个思路,always...
这个下降得越快对检测下降沿越有利吧, 为什么不用同步电路呢,从FF的D端采样CS信号,通过连续n级采样值判断是否来临下降沿,一般FF的SR端的setup time是D端的至少几十倍吧,还有如果一定要用CLR端口异步信号采样的话,降低系统时钟可能会降低检测失败的概率 yxm433 发表于 2012-12-19 07:38 static/image/common/back.gif
cs频率大概是1k级别的,这个频率肯定,符合你说的要求。
你3说到,我实际就一个arm输出给cpld,不存在打 ...
我如果要取樣異步訊號, 作法如下:
`timescale 1ps / 1ps
module asynctosync
(
clk_i,
rstn_i,
async_i
sync_o
);
input clk_i;
input rstn_i;
input async_i;
output sync_o;
reg async_r1, async_r2;
wire async_falling;
always @(posedge clk_i or negedge rstn_i)
begin
if(~rstn_i) begin
async_r1 <= #1 1'b1;
async_r2 <= #1 1'b1;
end else begin
async_r1 <= #1 async_i;
async_r2 <= #1 async_r1;
end
end
assign async_falling = (~async_r1) && (async_r2);
assign sync_o = async_falling;
endmodule hejc06 发表于 2012-12-19 16:24 static/image/common/back.gif
为什么不用同步电路呢,从FF的D端采样CS信号,通过连续n级采样值判断是否来临下降沿,一般FF的SR端的setup...
谢谢啦,明天回去试试用D端采样,看看效果怎样 还第一次见拿cs去异步复位再采集啊、
异步复位本来问题就多
直接采cs吧,多打几拍 yxm433 发表于 2012-12-19 20:37
谢谢啦,明天回去试试用D端采样,看看效果怎样
就按照这样,问题解决了,谢谢大家的指点
页:
[1]