为了在我的 R&D 实验室测试产品,我制作了很多通用的数据采集系统,它们通过 RS-232 或 LAN 与 PC 或其它控制器相连接。这些小型系统通常带有多个ADC、DAC 和数字 I/O 通道,用于产品设计与开发期间控制各种硬件功能。几年来,我已建立了覆盖 0 V ~ 5V 范围的简化模拟接口标准。在数字接口方面,很多新型逻辑系列不能再承受 5V 输入,从而使只接受 5V 的数字 I/O 端口面临淘汰。

为解决这个问题,我用Maxim Integrated Products的MAX7301 I/O扩展器和一个可编程线性电源(含有在256位数字可调电位器 MAX5400 控制下的一只 MAX1658 可调线性稳压器),设计了一个灵活的数字接口电路。本电路提供的可编程接口能匹配需要 2.5V、3V、3.3V和5V电源的IC逻辑电平。
两个SPI(串行外设接口)控制着 MAX7301AAI 的所有20个输入与输出脚和电压阈值(图1)。与有些只包含较弱上拉电阻器的 SPI 端口扩展器不同,MAX7301(IC1)具有真正有源的上拉“图腾柱”输出,它可以提供更大的电流。当通过 SPI 可编程线性稳压器上电时,MAX7301 的输出可以产生 2.5V~5 V 的逻辑电平。两款器件的可编程接口包括两个三线(加上接地)SPI 连接,它只使用控制器的六根信号线。
六只 Vishay 的 Si 1012R 低栅压阈值 N 沟道 MOSFET(Q1~Q6)将控制器的固定输出电压电平与 IC1 的可变输入阈值电压隔离开来。尽管任何电平转换器 IC 都可以很好地工作,但廉价的 MOSFET 缓冲器在接口的印制电路板上占据的空间较小。当串行接口时钟速率接近IC1的26 MHz最大值时,优化R1 ~ R6的电阻值可以为选定的时钟速率提供充足的上升时间。这些值足以工作在低功耗微控制器的 1 MHz SPI 时钟速率上。
为改变电路的输出电压电平,256步长数字电位计(Maxim 的 MAX5400)IC2控制IC3(Maxim 的可调电压线性稳压器 MAX1658)。为IC2 编写为零可将IC3 的输出电压置为略高于5V,而 IC2 编写为 1(十进制 255)则能使 IC3 的输出电压降低到略低于2.5V。为补偿元件的公差,电路提供足以覆盖全部2.5V ~ 5V范围的电压。将IC2 编写为 128(十进制)应产生一个标称为 3.25V 的输出。测量 IC3 的实际输出电压,并将该电压从标称电压中减去,即可产生供校正的补偿数。
在应用中,主控制器通过 IC2 设置 IC3 的稳压输出电压,并确定 IC1 逻辑输入、输出的最高电压。其次,控制器根据当时接口任务的需要来配置 IC1 的输入和输出。MAX7301 的标准 CMOS 逻辑阈值电压分别是与其它 CMOS 部件接口的高、低输入供电电压的0.7倍 ~ 0.3倍。 |