当前位置:首页 > 单片机 > 单片机
[导读]摘要:文中介绍了ATMEL公司的高性能AVR单片机ATmega103的主要性能特点,给出了ATmega103在FH跳频系统数字信号处理模块中的应用方法,详细介绍了片内同步串口SPI的使用技巧,同时给出了SPI的通信应用程序。 关键词:

摘要:文中介绍了ATMEL公司的高性能AVR单片机ATmega103的主要性能特点,给出了ATmega103在FH跳频系统数字信号处理模块中的应用方法,详细介绍了片内同步串口SPI的使用技巧,同时给出了SPI的通信应用程序。 关键词:单片机;跳频;SPI;数字信号处理;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因其上述特点使其成为一种适合于多功能、快速,且具有高度灵活性和高性价比的微控制器。 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的发送程序


单片机每次需要把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系列单片机在资源和功能上都有很大的提高,不但控制更加简单、灵活,而且能够节省不少外围电路,因此具有成本和体积上的优势,可完全满足跳频信号处理模块的功能要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭