芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

FAGA+ADS1118+异步FIFO+串口源程序芯片解密

  1.  文件名                :        ADS1118_module.v
  2. //--        作者                :     芯片解密
  3. //--        描述                :        ADS1118模/数转换芯片驱动时序
  4. //--        修订历史        :       芯片解密
  5. //---------------------------------------------------------------------------

  6. `define SCLK_TIME                        11'd2000                        //0.025M=25khz, 40us,40 / (1 / 50M) = 2000
  7. `define SCLK_TIME_HALF        10'd1000                        //40us / 2 = 20us  10 / 2 = 1000

  8. module ADS1118_module(CLK_50M,RST,CS,DIN,DOUT,SCLK,fifo_wclk,ADC_result);

  9. /*parameter ADS_config_AIN0=16'h458A;        //ADS1118配置数据(模拟通道0)0100_0101_1000_1010
  10. parameter ADS_config_AIN1=16'h558A;        //ADS1118配置数据(模拟通道1)0101_0101_1000_1010
  11. parameter ADS_config_AIN2=16'h658A;        //ADS1118配置数据(模拟通道2)0110_0101_1000_1010
  12. parameter ADS_config_AIN3=16'h758A;        //ADS1118配置数据(模拟通道3)0111_0101_1000_1010*/
  13. /*parameter ADS_config_AIN0=16'h448A;        //ADS1118配置数据(模拟通道0)0100_0100_1000_1010
  14. parameter ADS_config_AIN1=16'h548A;        //ADS1118配置数据(模拟通道1)0101_0100_1000_1010
  15. parameter ADS_config_AIN2=16'h648A;        //ADS1118配置数据(模拟通道2)0110_0100_1000_1010
  16. parameter ADS_config_AIN3=16'h748A;        //ADS1118配置数据(模拟通道3)0111_0100_1000_1010*/

  17. parameter ADS_config_AIN0=16'hC2E3;        //ADS1118配置数据(模拟通道0)1100_0010_1110_0011
  18. parameter ADS_config_AIN1=16'hC2E3;        //ADS1118配置数据(模拟通道1)0101_0100_1000_1010
  19. parameter ADS_config_AIN2=16'hE2E3;        //ADS1118配置数据(模拟通道2)1110_0010_1110_0011
  20. parameter ADS_config_AIN3=16'hE2E3;        //ADS1118配置数据(模拟通道3)0111_0100_1000_1010

  21. //---------------------------------------------------------------------------
  22. //--        外部端口声明
  23. //---------------------------------------------------------------------------
  24. input  CLK_50M,RST;
  25. input  DOUT;                                                                //The result of ADC
  26. output CS;                                                                        //The signal of starting converting
  27. output DIN;                                                                        //The signal of serial input       
  28. output SCLK;                                                                //The clock siganl of ADC chip
  29. output fifo_wclk;                                                        //The write clk of fifo module
  30. output [ 7:0]ADC_result;                                //The 8bit data of ADC

  31. //---------------------------------------------------------------------------
  32. //--        内部端口声明
  33. //---------------------------------------------------------------------------
  34. wire                                         DIN;                                        //AD串行数据输入
  35. reg                                        DIN_N;                                //DIN的下一个状态
  36. reg                                        CS;                                        //AD片选信号
  37. reg                                        CS_N;                                        //CS的下一个状态
  38. reg                                        SCLK;                                        //AD时钟,最大不超过4MHz,最小为35.71Hz,这里设置为2.5MHz
  39. reg                                        SCLK_N;                                //SCLK的下一个状态

  40. reg                [ 2:0]        fsm_cs;                                //状态机的当前状态
  41. reg                [ 2:0]        fsm_ns;                                //状态机的下一个状态


  42. reg                [ 11:0]        time_cnt;                        //用于记录一个时钟所用时间的定时器
  43. reg                [ 11:0]        time_cnt_n;                        //time_cnt的下一个状态
  44. reg                [ 4:0]        bit_cnt;                                //用来记录时钟周期个数的计数器
  45. reg                [ 4:0]        bit_cnt_n;                        //bit_cnt的下一个状态

  46. reg                 [ 1:0]        flag;                                        //用来标记四个通道采样的顺序
  47. reg                 [ 1:0]        flag_n;                                //flag的下一个状态

  48. reg                [15:0]        ADC_DATA;                        //用来保存稳定的16bit AD数据
  49. reg                [15:0]        ADC_DATA_n;                        //ADC_DATA的下一个状态
  50. reg                [15:0]        ad_data_reg;                //用于保存数据的移位寄存器
  51. reg                [15:0]        ad_data_reg_n;                //ad_data_reg的下一个状态

  52. reg                [15:0]        ADS_config_data;        //ADS1118配置寄存器

  53. reg                                        wfifo_clk_n1;                //fifo_wclk_n的下一个状态
  54. reg                                        wfifo_clk_n2;                //fifo_wclk_n的下一个状态
  55. reg                [15:0]        wfifo_clk_cnt;                //用于计数ADC_DATA的脉宽
  56. reg                [15:0]        wfifo_clk_cnt_n;        //wfifo_clk_cnt的下一个状态

  57. reg                                        data_flag;                        //16bit ADC数据拆分为8bit的标志
  58.                                                                                                 //1:发送低8位
  59.                                                                                                 //0:发送高八位
  60. reg                [ 7:0]        ADC_result;                        //拆分ADS芯片16bit的采样结果(便于串口传输)

  61. //---------------------------------------------------------------------------



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信