搜索
bottom↓
回复: 15

用cpld检测信号下降沿,有时候检测不到,求指点

[复制链接]

出0入0汤圆

发表于 2012-12-18 17:16:09 | 显示全部楼层 |阅读模式
本帖最后由 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电平??请大家指点

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-12-18 17:37:49 | 显示全部楼层
输入电平IO是1.8V的,用示波器测量到cs是1.32V    80%都不到  不太靠谱吧

出0入0汤圆

 楼主| 发表于 2012-12-18 18:28:30 来自手机 | 显示全部楼层
cs信号是由arm提供的,io电平也是1.8v,测量是1.32v,之间直接连,这样的话是哪出问题

出0入0汤圆

发表于 2012-12-18 18:53:16 | 显示全部楼层
你这个是这么检测的?neg在哪里?

出0入0汤圆

 楼主| 发表于 2012-12-18 20:32:49 来自手机 | 显示全部楼层
就是图中的c信号进入进入两级触发器,再判断两个触发器的值来产生neg

出0入0汤圆

发表于 2012-12-18 21:39:22 | 显示全部楼层

分享個人淺見:

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到底對不對 !!!

出0入0汤圆

 楼主| 发表于 2012-12-19 07:38:12 来自手机 | 显示全部楼层
chenshengyang 发表于 2012-12-18 21:39
分享個人淺見:

1. 內部Clock 50MHz, 必須確認速度要快於外部cs訊號兩倍以上; 也就是說如果ARM的cs操作頻 ...

cs频率大概是1k级别的,这个频率肯定,符合你说的要求。

你3说到,我实际就一个arm输出给cpld,不存在打架的情况,还是你说其它意思?

出0入0汤圆

 楼主| 发表于 2012-12-19 12:47:00 来自手机 | 显示全部楼层
今天换了块板,重新测,测到电平电压是1.8v的,但问题依旧

出0入0汤圆

发表于 2012-12-19 13:09:04 | 显示全部楼层
跟1k频率没关系吧,跟下降时间有关系。如果下降时间为10ns,换成平率是100M,50M够用么。换个思路,always @(posedge cs)直接可以响应沿的变化,跟50M无关。

出0入22汤圆

发表于 2012-12-19 13:17:02 来自手机 | 显示全部楼层
不接cpld看看输出波形对不对?

出0入0汤圆

 楼主| 发表于 2012-12-19 14:55:12 来自手机 | 显示全部楼层
tangfree 发表于 2012-12-19 13:09
跟1k频率没关系吧,跟下降时间有关系。如果下降时间为10ns,换成平率是100M,50M够用么。换个思路,always  ...

这个下降得越快对检测下降沿越有利吧,

出0入0汤圆

发表于 2012-12-19 16:24:37 | 显示全部楼层
为什么不用同步电路呢,从FF的D端采样CS信号,通过连续n级采样值判断是否来临下降沿,一般FF的SR端的setup time是D端的至少几十倍吧,还有如果一定要用CLR端口异步信号采样的话,降低系统时钟可能会降低检测失败的概率

出0入0汤圆

发表于 2012-12-19 19:38:41 | 显示全部楼层
yxm433 发表于 2012-12-19 07:38
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

出0入0汤圆

 楼主| 发表于 2012-12-19 20:37:35 | 显示全部楼层
hejc06 发表于 2012-12-19 16:24
为什么不用同步电路呢,从FF的D端采样CS信号,通过连续n级采样值判断是否来临下降沿,一般FF的SR端的setup  ...

谢谢啦,明天回去试试用D端采样,看看效果怎样

出0入0汤圆

发表于 2012-12-19 22:58:42 | 显示全部楼层
还第一次见拿cs去异步复位再采集啊、
异步复位本来问题就多
直接采cs吧,多打几拍

出0入0汤圆

 楼主| 发表于 2012-12-20 12:48:33 来自手机 | 显示全部楼层
yxm433 发表于 2012-12-19 20:37
谢谢啦,明天回去试试用D端采样,看看效果怎样

就按照这样,问题解决了,谢谢大家的指点
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表