一种电平转换的方法,使用CPLD

参考应用笔记

http://www.doc88.com/p-0197252336968.html

前言

在原理图设计初期,可能涉及到引脚电平的转换操作,比如主FPGA的某BANK电平为1.5V,但外围芯片的引脚操作电平为1.8V。

则需要使用电平转换芯片。

我们都知道CPLD或者FPGA,一般多BANK间的电平不一样,那么这个功能就跟电平转换芯片的工程类似了。

CPLD相较于电平转换芯片而言,单BANK内可提供的引脚数更多,但注意单BANK内引脚的电平必须一致。

适合场合:

多个引脚需要进行电平转换,且价格敏感。低端CPLD比只有几个脚的电平转换芯片便宜不少。

当然前提是有使用CPLD的工程师。

操作流程

对于最低端的CPLD,比如ALTERA的MAX5系列,最便宜的一款CPLD只需9块钱,却多达54个IO,2个BANK。

无论是输入,还是输出,还是双向,只需简单的编程分配管脚即可。

注意双向需要多添加一个引脚对两个不同BANK的IO方向进行控制。

代码示意:

module  demo (
    input i_en,
    inout io_1p5,
    inout io_1p8
);
assign io_1p5 = ~i_en ? io_1p8 : 1'bz;
assign io_1p8 = i_en ? io_1p5 : 1'bz;


endmodule //end the demo model;

综合结果:

 

以上。

原文地址:https://www.cnblogs.com/kingstacker/p/11231357.html