您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

ATmega103单片机在跳频系统数字信号处理中的应用

时间:2007-1-20栏目:电子通信论文

能上比较困难(如运算速度、I/O口数量等),而且所需的外围扩展电路也必须增加(如RAM,通信口等)。而选用ATmega103单片机则能较好地满足设计要求,因此,本设计选用ATmega103单片机来实现信号处理模块的功能。图1所示是其硬件原理图。

此外,在实际使用中,还需注意软件设计。为了便于调试、维护及功能扩展,该系统采用模块化程序设计方案;而且考虑到软件的可靠性,还增加了容错和冗余设计;同时,针对数据接口多的特点,程序中还设计了简明、通用性的接口通信协议。

4 Atmega103的SPI在FH中的应用

由上述描述可知,SPI在设计中占有重要的地位,模块内

部的主要控制和数据交换都由其完成,下面详细介绍SPI在模块中的设计方法。

4.1 SPI的工作原理

ATmega103和外设之间可通过SPI进行高速同步数据传输。主从CPU的SPI连接见图2所示。其中,SCK为主机的时钟输出和从机的时钟输入。把数据写入主机SPI数据寄存器的操作将启动SPI时钟产生器,此时,数据将从主机的MOSI移出,并从从机的MOSI移入,移完一个字节后,SPI时钟停止,并设置发送结束标志。此时如果SPCR的SPIE(SPI中断使能)置位,则引发中断。选择某器件为从机时,可将从机选择输入端SS拉低。主从机的移位寄存器可以看成是一个分布式的16 位循环移位寄存器。当数据从主机移向从机的同时,数据也将从从机移向主机,从而在移位过程中实现主从机的数据交换。

SPI的主要寄存器包括控制寄存器SPCR、状态寄存器SPSR、数据寄存器SPDR。其中SPCR用于设置SPI的中断使能、数据传输顺序、主从机选择、时钟相位和时钟速率等;SPSR为SPI中断标志,用于标志写冲突。SPDR寄存器用于在寄存器文件和SPI移位寄存器之间传递数据。写该寄存器时,将先对数据传送进行初始化,读该寄存器时,读到的将是移位寄存器接收缓冲区的值。

4.2 SPI的程序设计

在该FH信号处理模块中,单片机通过SPI与FPGA交换数据。FPGA选用Xinlix公司的XCV100。下面具体介绍几个主要的子程序:

(1)SPI的初始化

程序在复位时,通常都要对SPI口进行初始化。单片机设置若为主机。SPI的数据顺序为LSB低位在前。SCK时钟空闲时为低电平,在SCK的下降沿采样数据;时钟为系统时钟的1/128。那么,具体的初始化程序如下:

reset:ldi rx,$0

out spsr,rx ;清SPI中断标志,写冲突标志

ldi rx,$0f7;

out spcr, rx ;设置SPI的传输参数

(2) SPI的发送程序ATmega103单片机在跳频系统数字信号处理中的应用

单片机每次需要把10byte的相关码送给FPGA,因此应将SRAM区的$09c2-$09df段设定为SPI的数据缓冲区,然后由SPI从该缓冲区中取数据直到发送完毕。SPI的发送函数如下:

spi_send:ldi xh,$9

ldi xl,$0c2;

sts spififoo,xl ;将SPI缓冲区的输出地址设为$c2

ldi ry, 10 ;将10byte相关码存入$9c2开始的地址

s67_2: ld rx, y+ ;y为相关码存放的地址

st x+, rx

s67_3: dec ry

brne s67_2

sts spififoi,xl ;将SPI缓冲区的输入地址

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页