炼狱传奇-并串/串并转换之战

梦翼师兄   2015-9-22 15:39 楼主
并串/串并转换在数字电路的设计,特别是在通信接口方面尤为重要,如uart串口协议,iic串口协议都需要用到并串/串并转换,下面我们首先设计一个简单的并转串的电路。
并转串的设计思想是这样的,首先准备好一组寄存器,把需要发送的数据放到这个寄存器里面,然后通过位拼接的移位方式把数据一位一位地发送出去。设计代码如下:
1.png 2.png
编写测试代码如下:
3.png
仿真波形如下所示:
4.png
由仿真图可以看出,每次counter计够八个数,sda_buf寄存器恢复原始数据,不断循环,sda按照顺序分别为sda_buf的每一位。由此可知我们设计的并串转换逻辑正确。
接下来,我们需要学习串转并的设计实现技巧,由于我们已经有一个并转串的模块,不断输出串行数据,所以我们可以巧妙的利用这个模块。
我们在测试代码中加入一个串并转换模块,修改测试代码如下:
5.png
6.png
当标志信号en有效时,sda_reg通过位拼接的方式依次将并串转换模块输出的串行数据sda移入到sda_reg的每一位,从而实现串并转换。
仿真结果:
7.png
由仿真图可看到,当标志信号en变为低电平,串并转换刚好结束,所得结果sda_buf的值与并串转换模块待发送的并行数据一致,因此说明逻辑设计正确。



回复评论 (1)

我是来学习的。。。。
分享铸就美好未来。。。
点赞  2015-9-22 16:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复