一种电平转换的方法,使用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;
综合结果:
以上。