微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助:如何串行转并行

求助:如何串行转并行

时间:10-02 整理:3721RD 点击:
系统内部一模块需要15位输入,系统顶层只能提供1位输入。请问如何用这1根线产生15位的并行输入信号?
    注:顶层只能提供一个pin使用,没有时钟和复位,系统内部有时钟和复位,但外部看不到,我觉得不能用I2S等方法。
    哪位牛人有好的方法或知道经典的处理方法,请赐教,不胜感激。

如何速率够快的话,可以先做一个起始信号,比如检测到3'b101就认为信号的开始,然后开始接收数据,然后结束

可参考UART协议

写一个 uart 就好了

学习…………

移位寄存器实现串并转换

定义一个REG  然后存储15个in  到了十五之后输出 不知道这样行不行

系统找的是什么?逻辑的顶层吗?还是分立与不同地点的设备

可以参考UART,普通的移位寄存器是不行的,因为收发双方必须使用同相时钟,而UART不需要。

15位并行输入是包括地址,数据以及控制信号在内的多个信号,之间还需满足时序关系。

一般的串口UART协议中就可以解决吧

呵呵,方法不少啊,学习了.

我觉得如果用移位寄存器实现你所说的串并转换,条件就是要加上一条时钟线,这样就能保证时钟的相位不产生偏差。

可以参考Dallas 1-wire 协议

用一个15位的移位寄存器最简单就可实现

关键现在外面只有一条线进。

可否把这个协议发上来让我学习一下?
我现在是用状态机实现的。代码也不多。

路过!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top