---文章目录---
#基于FPGA Verilog HDL语言驱动ADS7883的模数转换*---------小白
一、ADS7883是什么和应用领域及工作原理?
1)ADS7883是一块12位较高精度,低功耗,3M赫兹采样率,零延迟的ADC。
2)现在主要应用于医疗设备和光学传感器以及无线电这一块。
3)是一种逐次比较型ADC(即SAR型ADC),它是当ADS7883引脚CS为低电平的时候,在SCLK时钟的高电平的时候采集数据;
二、代码实现过程如下
1.输入输出端口定义
FPGA作主机,ADS7883作从机代码实现过程如下:
module ADS_SEVEN(
input wire clk ,//系统时钟50M
input wire rst_n ,//系统复位,低电平有效
input wire ADS7883_OUT ,//数据输入12.5M(以芯片资料为准)
output reg ADS7883_SCLK ,//输出给ADS7883的系统时钟
output reg ADS7883_CS //输出给ADS7883的片选信号
);
2.寄存器定义和数据寄存实现过程
代码如下:
reg [11:0] ADS7883_RDATA;//用来寄存从ADS7883_OUT输出的数据给ADS7883_DATA
reg [11:0] ADS7883_DATA;
reg [6:0] LSM_REG;//序列计数器
//计数70个周期
`always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
LSM_REG<=1'd0;
end
else if(LSM_REG==69)begin
LSM_REG<='d0;
end
else begin
LSM_REG<=LSM_REG+'d1;
end
end