【原创】基于NIOS II SPI的ads8321驱动

1、环境说明

器件:EP2C8Q208C8N

系统环境:WINDOWS XP SP3QUARTUS 8.1NIOS II IDE 8.1

本文为笔者实验日志,记录ads8321的基本驱动方式。

2、配置说明

NIOS II高性能版。

系统时钟:75MHz

SPI配置如附图所示。

连接方式:

                            Ads8321                                        NIOS II SPI                           

                            DCLK                  ß--------à        SPI_CLK

                            DOUT                 ß--------à        SPI_MISO

                            CS_N                  ß--------à        SPI_SS[1]                    (注:本实验有两个spi外设,ads8321为第二个外设)
      关于NIOS II SPI的详细分析见:http://www.cnblogs.com/lwpo2008/archive/2009/08/11/1543909.html

3、程序    

     头文件包含:

1#include "altera_avalon_spi_regs.h"
2#include "altera_avalon_spi.h"
3

 

     测试函数:

alt_16 ReadAds8321(void)
{
  alt_16 adResult;
  alt_u8 receiveData[
3];

  
//注意这里依据笔者实验连接选择从设备1(第二个参数)
  
//最后一个参数flag不能取ALT_AVALON_SPI_COMMAND_MERGE(非0)。
   //本实验取0,是考虑到ads8321需要将CS_N拉高才能更新采样的时序要求
  alt_avalon_spi_command(SPI_BASE, 1,0,NULL,3,receiveData,0);

  
//依据数据表说明,取出有用数据
  adResult = receiveData[0]<<6;
  adResult 
= (adResult<<2| receiveData[1];
  adResult 
= (adResult<<6| receiveData[2]>>2;

  
return adResult;
}

 

4、附图

原文地址:https://www.cnblogs.com/oneseven/p/1550046.html