4 软件设计
模块的软件设计首先是对各部分的通信接口进行初始化,然后对芯片进行校正,接着把实验校正的值写入
ATT7022C的各个寄存器。最后,在主函数的循环语句中渎取芯片各个寄存器的数据进行显示、存储、向上位机传输。
4.1
ATT7022C与LPC2138的SPI接口函数
图5、图6分别为
ATT7022C芯片的SPI接口读、写时序图。图中,CS为芯片的片选信号线;SCLK为时钟信号线;DIN为串行数据输入线,用于把用户的数据、命令、地址传输到
ATT7022C芯片,它与ARM处理器的SPI总线的MOSI连接通信;DOUT为串行数据输出线,用于从
ATT7022C芯片读取数据,它与ARM处理器的SPI总线的MISO连接通信。从图5中可以看出,当向
ATT7022C芯片写一个字节数据时,SCLK高电平时在DIN引脚准备好数据,一个时钟下降沿,就把一位数据写入芯片中。当从
ATT7022C读取一个字节数据时,一个时钟上升沿,芯片会把一位数据传输到DOUT引脚,ARM读取该引脚得到一位数据。使用ARM的SPI总线,数据在SCLK高电平时有效,所以在设置SPI控制寄存器时CPOL位应置0。SPI传输的第一位数据在第二个时钟沿被采样,CPHA位应置1。ARM与
ATT7022C芯片进行数据通信时,需要先向
ATT7022C芯片写入8位的命令字,然后才能通过SPI接口读出或写入24位数据。数据传输时高位在先,LSBF位应置0。在数据传输的过程中CS要保持在低电平的状态,传输完成后应把CS拉高。同时设置SPI总线为主模式、禁止SPl的中断。
SPI的接口函数如下:
上一页 [1] [2] [3] [4] 下一页