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

发布者:Xinmei最新更新时间:2017-12-19 来源: eefocus关键字:ATmega103  单片机  跳频系统  数字信号处理 手机看文章 扫描二维码
随时随地手机看文章

atmega103 单片机 是atmel公司推出的精简指令集(risc)avr(advance risc)系列单片机产品,这是一种增强型risc结构,采用了cmos技术的8位微控制器该结构能有效支持高级语言以及密集度极大的汇编器代码程序。

 

跳频系统(fh)是指载波频率按某种跳频图案(跳频序列)在很宽的频带范围内跳变的通信系统,由于该系统具有抗干扰、抗多径和抗衰落性等能力,故在军用和民用领域都得到了广泛的应用。本系统方案中,信号处理模块主要完成跳频模式(fh)下有关数字信号的处理,包括话音编解码、话音组织及与同步有关的操作等,这些技术目前是跳频系统的关键技术之一。

本文介绍atmega103 单片机 的特点及其在fh系统数字信号处理模块中的使用方法,同时详细介绍spi(serial peripheral interface)的特点和应用。

1 atmega103 单片机 概述

atmega103是基于avr risc结构的8-bit低功耗cmos微处理器,它吸取了pic系列及8051系列 单片机 的优点,并作了重大改进,其特点如下:

●供电电压为2.7~6v,主频最高可达12mhz;

●具有120条指令,大多数指令执行时间为单个时钟周期

●带有128k字节片内可下载的flash存储器(spi串行下载1000次寿命)和4k字节的片内ram以及4k字节的片内eeprom;

●有32条可编程i/o线、8条输入线和8条输出线;

●具有32个8位通用寄存器;

●内含2个8位定时器和1个16位定时器;

●带有可编程串行uart+spi接口;

●具有内部中断源和8个外部中断源;

●带有8通道10位a/d转换器、片内模拟比较器以及看门狗等电路

●可在线编程。
ATmega103单片机在跳频系统数字信号处理中的应用
atmega103因其上述特点使其成为一种适合于多功能、快速,且具有高度灵活性和高性价比的微控制器。

2 跳频信号处理对 单片机 的要求

跳频信号处理模块是fh电台的关键部分之一,主要用于完成电台的同步及有关数据处理组织等任务。 单片机 是该模块的核心,模块的许多功能都是在单片机的直接或间接参与下完成的。综合考虑,单片机在该模块中的作用大致如下:

(1)完成大量数据交换,因为电台在工作时需要接收或传送大量其它 单片机 以及模块内部的有关参数数据;

(2)完成快速实时处理功能,因为模块对许多信息要求立即处理,例如tod(time of day)信息、话音数据、实时工作频率计算等。

(3)用于数据交换,包括 单片机 接口、tod、同步信息、控制状态参数数据接口等。

(4)完成大量运算。一般电台在fh工作方式时,每跳都需要计算tod、工作频率、接收或发送数据的重新组织。

(5)通过足够的i/o口来提供多种控制状态线,以供电台及模块内部使用。

(6)通过片内大量数据来存储区存取运算过程中产生的大量中间数据。

3 设计思路

根据电台fh信号处理模块对 单片机 的要求,如果选用89c5x系列单片机,不但在实现功能上比较困难(如运算速度、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缓冲区的输入地址存入spififoi

ldi rx,$0aa ;将发相关码的标志$aa通过spi

out spdr,rx ;送给fpga

sei ;开中断

ret

(3) spi的中断程序

每次spi发送完一字节,都要产生一个中断,以使程序跳转到spi的中断程序。由于spi主从机的移位寄存器可以看成是一个分布式的16 位循环移位寄存器,而且在当数据从主机移向从机的同时,数据也从从机移向主机,故在中断程序中,应首先判断spdr中的数据是否是需要接收的数据(相关值),然后判断spi缓冲区中的数据(相关码)是否发完,如没有,则继续发送,直到发完为止。具体程序如下:

spi_int:push xl ;保存寄存器的值

push xh

in xl,sreg

push xl

lds xl, rcormark ;判断是否为有效数据,“0”为有效

brne spi_2 不等于0,跳

in xl, spdr

sts incorbuf, xl ;将相关值存入incorbuf

spi_2: lds xl, spififoo ;比较缓冲区的输入,输出指针

lds sprx, spififoi

cp xl. sprx ;

breq spiend ;相等,则数据发完,跳

ldi xh,$9 ;不等,则取下一个字节送入spdr

ld sprx, x+

out spdr, sprx

cpi xl, $0e0 ;调整spififoo指针

brlo spi_0 ;未超过缓冲区范围,跳

ldi xl, $0c2 ;超过,将缓冲区开始地

址给spififoo

spi_0: sts spififoo,xl;

spiend:pop xl

out sreg,xl

pop xh

pop xl

reti

5 结束语

本设计方案已通过软硬件调试,结果表明:at-mega103 单片机 较89c5x系列单片机在资源和功能上都有很大的提高,不但控制更加简单、灵活,而且能够节省不少外围电路,因此具有成本和体积上的优势,可完全满足跳频信号处理模块的功能要求。


关键字:ATmega103  单片机  跳频系统  数字信号处理 引用地址:ATmega103单片机在跳频系统数字信号处理中的应用

上一篇:AVR入门介绍
下一篇:一个非常好的串口程序(Mega128)

推荐阅读最新更新时间:2024-03-16 15:49

AVR单片机的RTOS-AVRX应用
引 言   随着技术的发展,嵌入式系统的设计及应用对人们的生活产生了很大的影响,并将逐渐改变人们未来的生活方式。在特定的操作系统上开发应用程序,可以使开发人员忽略掉很多底层硬件细节,使得应用程序调试更方便、易于维护、开发周期缩短并且降低开发成本,因而嵌入式操作系统深得开发人员的青睐。   AVR微处理器是Atmel公司开发的8位嵌入式RISC处理器,它具有高性能、高保密性、低功耗、非易失性等优点,而且程序存储器和数据存储器可独立编址,并具有独立访问的哈佛结构。AVR单片机内核有丰富的指令集,通过32个通用寄存器直接与逻辑运算单元相连接,允许在一个周期内一条单一指令访问两个独立的寄存器,这样的结构使代码的执行效率比传统的复杂指令集
[单片机]
51单片机对LCD1602液晶显示的驱动控制设计
利用串行A/D转换器TLC549对输入信号电压源进行采集转换成数字信号给51单片机,经单片机进行数据处理后给1602液晶显示。 误差小于1%. #include #include #define uint unsigned int #define uchar unsigned char uchar LCD[6]; //电压数据转换成LCD1602液晶字符显示 uint Volt; sbit DO= P1^0; //时钟 sbit CS= P1^1; //片选 sbit CLK = P1^2; //数据输出 sbit RS = P2^0; //1602液晶数据/命令选择端 sbit RW = P2^1; //1602液晶读写端
[单片机]
51<font color='red'>单片机</font>对LCD1602液晶显示的驱动控制设计
飞思卡尔推出8位 MC9S08JS16 MCU
飞思卡尔半导体近日推出8位 MC9S08JS16 MCU,继续提高其 USB 微控制器(MCU)系列产品的可购性。JS16 器件是业界最经济高效的USB控制8位解决方案之一,壮大了飞思卡尔入门级通用串行总线(USB)系列产品的阵容。 JS16 MCU 内置全速USB 2.0 控制器和高达16 KB的闪存。JS16器件还具有多种系统保护功能,例如低压检测和计算机正确操作(COP)模块。JS16 器件非常适合于各类消费电子和工业控制应用,例如PC外设、无线键盘和鼠标接收器、无线适配器、USB加密狗、SD读卡器、RS-232至USB网桥、远程控制和不间断电源 。 JS16 MCU 与飞思卡尔JM16系列软件兼容,从而提供了一条通往更
[单片机]
基于MCS-51单片机的数码管显示自加1功能的实现
 本文主要介绍基于MCS-51单片机的数码管显示实现自加1功能,从1一直显示到999.以下是硬件电路图、功能实现图以及源代码。(电路:使用74HC573锁存器控制段选,74H138控制位选;) 实现数码管自加的代码:   #include reg52.h   #define uchar unsigned char   #define uint unsigned int   uchar code table = {0x3f,0x06,0x5b,0x4f,   0x66,0x6d,0x7d,0x07,0x7f,   0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //
[单片机]
基于MCS-51<font color='red'>单片机</font>的数码管显示自加1功能的实现
MCS-51单片机定时系统
定时/计数器和中断源的多少直接决定单片机的性能。MCS-51单片机内部有两个可编程的16位定时/计数器和5个中断源,具有较强的实时处理能力和对外部应急事件的处理能力。要充分发挥单片机的功能,必须充分利用定时和中断。 定时器/计数器 一、定时和延时的区别 在单片机程序清单中,经常看到延时子程序和定时(中断)子程序。它们都能使单片机间隔一段时间后再做另一件事。例如,控制两组灯的交替闪亮。以1999年第38期九版图13为例,下面分别是用延时和定时方法的源程序。 程序1: ORG 0000H AJMP MAIN ORG 50H MAIN:MOV P1,#0AAH;第一组灯亮 ACALL DELAY ;调延时子程序 MOV P1,#55H
[单片机]
MCS-51<font color='red'>单片机</font>定时<font color='red'>系统</font>
基于使用STM32F103单片机,实现64Mbit单对单通信
简单的一种应用,ARM芯片作为master,flash为slaver,实现单对单通信。ARM主控芯片STM32F103,flash芯片为MACRONIX INTERNATIONAL的MX25L6465E,64Mbit。 SPI应该是嵌入式外围中最简单的一种应用了吧!一般SPI应用有两种方法:软件仿真,手动模拟产生时序和应用主控芯片的SPI控制器。 一般采用第二种方法比较好,比较稳定。应用主控芯片的SPI控制器,要点:正确的初始化SPI、操作SPI各寄存器和正确理解flash的时序。下面是过程,采用的是STM32F10X自带的库函数 1、初始化:void SpiFlashIniTIalzaTIon(void); 要知道硬件是
[单片机]
基于使用STM32F103<font color='red'>单片机</font>,实现64Mbit单对单通信
基于C8051F021型单片机与PCI接口实现数据采集卡的设计
1、引言 国家电力公司陆延昌副总经理在第26届中国电网调度运行全闭幕式上的讲话中指出了今后一段时期内的电网技术的发展上应重点研究和解决的问题,其中,在电网安全、稳定、经济运动领域,互联电力系统实时功角测量受到越来越的关注。特别是在以监控中目的的电力调度自动化系统中,如何快速、准确地采集处理各种电气参数显得尤为重要。而在实现自动化的过程中,首要环节就是数据采集。为此我们研究开发了电力系统功角广域测控系统,其中,用C8051F021型单片机实现的数据采集卡不仅可以准确、高效、实时地进行AD数据采集并通过双口RAM和PCI接口与上位机交换数据,还可以通过与GPS接收通信接收秒脉冲实现采集数据异地同步 2、功角及其测量 2.1 发电机
[单片机]
基于C8051F021型<font color='red'>单片机</font>与PCI接口实现数据采集卡的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved