-5

我有 6 个气体传感器,它们连接到我用作 ADC 的 Arduino uno 板。每个传感器的输出将是一个介于 0 和 1023 之间的数字。数据从 Arduino 传输到 Altera FPGA 进行处理。

我将数字的二进制形式发送到 Arduino 的输出引脚(串行数据),并通过接收来自 FPGA 的“写入”信号,该数据将以大约 10kHz(0.1ms 周期)串行传输到 FPGA 的输入端口。

串行传输后如何在FPGA中重建原始数字?

4

1 回答 1

0

要将串行转换为并行,您需要一些方法来识别序列的结束或开始。像下面这样的东西应该让你开始:

input            clk;
input            end_of_sequence;
input            sdata;
output reg [9:0] result;
//10 bit transmission

reg [9:0] pdata;

always @(posedge clk) begin
  // Shift serial data in
  pdata <= {pdata[8:0, sdata};
end

always @(posedge clk) begin
  if (end_of_sequence ) begin
    // at end of shifted data store the full parallel word
    result <= pdata;
  end
end
于 2014-08-18T17:41:13.180 回答