470Ω排阻阻值测量

51单片机的架构常用A472J这种排阻来做上拉,在8路流水灯电路中也常用A471J排阻做限流。这种排阻相当于8个电阻并联,闲来无事测试了一下470欧排阻中每个电阻的阻值,然后就用上了高大上的FLUKE万用表。
测试公共端与相邻的脚电阻如下:
在这里插入图片描述
实验发现虽然是排阻,但是阻值也是有差别的,最大的有476.5欧,最小的有469.4欧,但是平均下来差不多在1%的误差范围内。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果要用 FPGA 控制 16 的实现 256 种不同的阻值,我们可以考虑使用二进制编码对每个阻值进行编码。具体地,我们可以将 16 个电器的阻值分别编码为一个 16 位的二进制数,其中每一位表示对应电器是否接入电路中: - 对于某个二进制数的第 $i$ 位,如果是 1,表示将第 $i$ 个电器接入电路中;如果是 0,表示将第 $i$ 个电器从电路中断开。 这样,对于 16 个电器,一共有 $2^{16}=65536$ 种不同的组合方式,每种组合方式对应一个不同的阻值。为了实现 256 种不同的阻值,我们需要从这 65536 种组合方式中选择其中的 256 种。 具体的选择方法可以是,从 65536 种组合方式中随机选择 256 种,并将这 256 种组合方式对应的阻值作为可选的阻值。当需要某个阻值时,我们从这 256 个可选的阻值中选择一个。 下面是一个示例性的 FPGA 程序,实现了上述的功能: ```verilog module resistor_controller( input clk, // 时钟信号 input [7:0] ctrl, // 控制信号,用于选择阻值 output reg [3:0] res, // 输出阻值 output reg [15:0] ctrl_out // 输出电器控制信号 ); reg [15:0] res_values[0:255]; // 256 种可选的阻值 reg [15:0] ctrl_values[0:255]; // 对应的 256 种控制信号 reg [15:0] current_ctrl; // 当前使用的控制信号 // 初始化 256 种可选的阻值和对应的控制信号 initial begin for (int i = 0; i < 256; i = i + 1) begin int index = $random % 65536; res_values[i] = index; ctrl_values[i] = {16'hFFFF ^ index}; // 对于每个阻值,计算其对应的控制信号 end end // 根据控制信号选择阻值和对应的控制信号 always @(posedge clk) begin res = res_values[ctrl]; current_ctrl = ctrl_values[ctrl]; ctrl_out = current_ctrl; end endmodule ``` 在这个程序中,我们使用了一个 $256 \times 16$ 的数组 `res_values` 来存储每个可选阻值对应的二进制编码,以及一个 `ctrl_values` 数组来存储对应的控制信号。在初始化时,我们随机选择 256 种不同的二进制编码,并计算出对应的控制信号,存储到数组中。 在时钟信号上升沿时,根据输入的控制信号 `ctrl`,从数组中读取对应的阻值控制信号,输出到 `res` 和 `ctrl_out` 信号中。 这样,我们就完成了一个能够实现 256 种不同阻值的 FPGA 程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值