stm32f103中文资料.
stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32f103中文资料.stm32fSTM32F103XC,STM32F103XD,STM32F103xE数据手册51.2典型数值51.3典型曲线514负载电容51.5引肽输入电压aaa:aaa:aaa:::::a:::::::::29516供电方案1着国国重面国面面面面■5.1.7电流消耗测量3052绝对最大额定值.…53工作条件…3253.1通用工作条件…32532上电和掉电时的工作条件32533内嵌复位和电源控制模块特性32534内置的参照电压535供电电流特性5.3.6外部时钟源特性…405.37内部肘钟源特性11画44538PLL特性5.39存储器特性4553.10FSMC特性∴5311EMC特性605312绝对最大值(电气敏感性)…6153.131O端口特性625314NRsT引脚特性645315TM定时器特性5316通信接口655317CAN(控制器局域网络)接凵53.1812位ADC特性53.19DAC电气参数7553.20温度传感器特性…766封装特性…776.1封装机械数据…重面重重面面国国面面:::62热特性.8362.1参考文档846.2.2选择产品的温度范围847订货代码868版本历史87参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)3/87STM32F103xC,STM32F103XD,STM32F103xE数据手册1介绍本文给出了STM32F103XC、STM32F103xD和STM32F103XE大容量增强型产品的订购信息和器件的机械特性。有关完整的STM32F103XX系列的详细信息,请参考第2.2节。大容量STM32F103X数据手册,必须结合STM32F10XX参考手册一起阅读有关内部闪存存储器的编程、擦除和保护等信息,请参考《STM32F10XXxX闪存编程参考手册》。参考手册和闪存编程参考手册均可在ST网站下载:www.st.com/mcu有关 Cortex-M3核心的相关信息,请参考《 Cortex-M3技术参考手册》,可以在ARM公司的网站下4i:httpinfocenter.arm.com/help/index.isp?topic=/com.arm.doc.ddi0337eisCortexIntellgent Processors by ARM ARME参照209年3月STM32F103XCDE数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)4/87STM32F103XC,STM32F103XD,STM32F103xE数据手册2规格说明STM32F103XC、STM32F103xD和STM32F103XE增强型系列使用高性能的 ARMR CortexTM-M332位的RSC内核,工作频率为72MHz,内置高速存储器(高达512K字节的闪存和64K字节的SRAM丰富的增强O端冂和联接到两条APB总线的外设。所有型号的器件都包含3个12位的ADC、4个通用16位定时器和2个PWM定时器,还包含标准和先进的通信接口:多达2个PC接口、3个SP接口、2个S接口、1个SD接口、5个 USART接口、一个USB接口和一个CAN接口。STM32F103X人容量增强型系列工作于-40°至+105°C的温度范围,供电电压2.0V至36V,一系的省电模式保证低功耗应用的要求STM32F103X大容量增强型系列产品提供包括从64脚至144脚却的6种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。这些丰富的外设置,使得STM32F103XX大容量增强型系列微控制器适合于多种应用场合电机驱动和应用控制医疗和手持设备●PC游戏外设和GPS屮台●工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪警报系统、视频对讲、和暖气通风空调系统等图1给出了该产品系列的框图。21器件一览表2STM32F103XC、STM32F103XD和STM32F103XE器件功能和配置外设STM32F103RXSTM32F103VxSTM32F103Zx闪存(K字节)2563845122563845122563845512SRAM(K字节)4864486464FSMC(静杰存储器控制器)无有(1)有通用4个TM2、TM3、TM4、TM5)定时器高级搾制2个(TM1、TM8)基本2个(TM6、TM7SPI(IS)(2)3个(sP1、SP2、SPB),其中SP2和SP可作为S通信2C2个(C1、PC2)通信 USART/UART5个 USART1、 USART2、 USART3、UART4、UART5)接口USB1个USB20全这)CAN1个(20B主动)SDIOGP|O端口518011212位ADC模块(通道数)3(16)3(16)3(21)12位DAC转換器(通道数)2(2)CPU频率72MHZ1作电压2.0-36V环境温度:40℃~+85℃/-40℃~+105℃(见表10)作温度结温度:-40℃-+125℃(见表10)封装形式LQFP64, WLCSP64LQFP100, BGA100LQFP144, BGA1441.对于LQFP100和BGA100封装,只有FSMc的Bank1和Bank2可以使用。Bank1只能使用NE1片选支持多路复用NOR/PSRAM存储器,Bank2只能使用NCE2片选支持一个16位或8位的NAND闪存存储器。因为没有端口G,不能使用FSMC的中断功能。2.SP2和sP3接口能够灵活地作S門模式和S音频模式间切换。参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)5/87STM32F103XC,STM32F103XD,STM32F103xE数据手册22系列之间的全兼容性STM32F103Xx是·个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考手册中,STM32F103x4和STM32F103X6被归为小容量产品,STM32F103X8和STM32F103XB被归为中等容量产品,STM32F103XC、STM32F103XD和STM32F103E被归为大容量产品。小容量和人容量产品是中等容量产品(STM32F103X8/B)的延伸,分别在对应的数据手册中介绍STM32F103x46数据手册和STM32F103xC/D/E数据手册。小容量产品只有较小的闪存存储器、RAM空间和较少的定时器和外设。而大容量的产品则具有较大的闪存存储器、RAM空间和更多的片上外设,如SDO、FSMC、fS和DAC等,同时保持与其它同系列的产品兼容STM32F103x4、STM32F103X6、STM32F103xC、STM32F103XD和STM32F103XE可直接替换中等容量的STM32F103X8/B产品,为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度表3STM32F103XX系列小容量产品中等容量产品大容量产品脚16K闪存32K闪存)64K闪存128K闪存256K闪存384K闪存512K闪存数6K10K20K20K48K或64K64K(2)64KRAMRAMRAMRAMRAMRAMRAM3个 USART+2个UART1444个16位定时器、2个基本定时器3个SP、2个2S、2个C3个 USARTUSB、CAN、2个PWM定时器3个16位定时器3个ADC、1个DAC、1个SD|O642个 USART2个SP、2个PC、USB2个16位定时器CAN、个PWM定时器FSMC(100和144封装0)481个Pl、1个P、USB、1个ADCCAN、1个PWM定时器362个ADC对于订购代码的温度尾缀(6或7)之后没有代码A的产品,其对应的电气参数部分,请参考STM32F103X8/B中等容量产品数据手册。2.只有CSP封装的带256K闪存的产品,才具有64K的RAM3.100脚封装的产品中没有端口F和端口G。23概述23.1ARM的 CortexTm-Mv3核心并内嵌闪存和SRAMARM的 Cortex TM-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数日、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的 Cortex ti-M3是32位的RsC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。STM32F103XC、STM32F103XD和STM32F103XE增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件耒容。图1是该系列产品的功能框图232内置闪存存储器高达512K字节的内置闪存存储器,用于存放程序和数据参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)6/87STM32F103XC,STM32F103XD,STM32F103xE数据手册23.3cRc(循环冗余校验)计算单元CRc(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产一个CRC码在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/EC60335-1标准的范围内,它提供了一种检测闪存存储器错误的于段,CRC计算单元可以用于实时地计算软件的签名,并与在链接和生成该软件时产生的签名对比234内置SRAM多达64K字节的内置SRAM,CPU能以0等待周期访问(读/写)23.5FSMc(可配置的静态存储器控制器)STM32F103xC、STM32F103x和STM32F103xE增强型系列集成了FSMC模块。它只有4个片选输出,支持PC卡CF卡、SRAM、 PSRAM、NOR和NAND。功能介绍:三个FSMC中断源,经过逻辑或连到NVC单元写入F|FO;代犸可以在除NAND闪存和PC卡外的片外存储器运行;目标频率fctk为HCLK/2,即当系统时钟为72MHz时,外部访问是基于36MHz时钟;系统时钟为48MHz时,外部访问是基于24MHz时钟。23.6LcD并行接口FsMC可以配置成与多数图现LCD控制器的无缝连接,它支持 FIntel8080和 Motorola6800的模式,并能够灵活地与特定的LCD接口。使用这个LCD并行接口可以很方便地构建简易的图形应用环境,或使用专用加速控制器的髙性能方案。237嵌套的向量式中断控制器(NVc)STM32F103XC、STM32F103XD和STM32F103XE增强型产品内置嵌套的向量式中断搾制器,能够处理多达60个可屏蔽中断通道(不包括16个 Cortex Tm-M3的中断线)和16个优先级。●紧耦合的NVC能够达到低延迟的中断响应处理中断向量入口地址直接进入内核紧耦合的NVC接口●允许中断的早期处理●处理娩到的较高优先级中断●支持中断尾部链接功能●自动保存处理器状态●中断返回时自动恢复,无需额外指令开销该模块以最小的中断延迟提供灵活的中断管理功能238外部中断/事件控制器(EXT)外部中断事件控制器包含19个边沿检测器,用于产生中断事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或姒边沿),并能够单独地被屏敞;有个挂起奇仔器维持所有中断请求的状态。EXT可以检测到脉冲宽度小于内部APB2的时钟周期。多达112个通用WO口连接到16个外部中断线。23.9时钟和启动系统时钟的选择是在启动时进行,复位吋内部8MHz的RC振涝器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管玭(如当一个间接使用的外音振荡器失效时)。参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)7/87STM32F103XC,STM32F103XD,STM32F103xE数据手册多个预分频器用于配置AHB频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz参考图2的时钟驱动框图。23.10自举模式在启动时,通过自举引脚可以选择三种自举模式中的和:从程序闪存存储器自举从系统存储器自举●从内部SRAM自举自举加载程序( Bootloader)存放于系统存储器中,可以通过 USART1对闪存重新编程23.11供电方案●VDD=2.0~3.6V:VD引脚为l/O引和内部调压器供电。VεsA,√υA=2.0-~-3.6V:为ADC、复位模块、RC振荡器和PL的模拟部分提供供电。使用ADC时,VDA不得小于24V。VpoA和VssA必须分别连接到VDp和∨ssn●VBAT=18~36V:当关闭VpD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。关于如何连接电源引脚的详细信息,参见图12供电方案。23.12供电监控器本产品內部集成了上电复位(POR掉电复位PDR)电路,该电路始终处于上作状态,保证系统在供电超过2V时工作;当VD低于设定的阀值( VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。器件中还有一个可编程电压监测器(PVD),它监视V/VpA供电并与阀值∨pv比较,当∨DD低于或高于阀值V时产生中新,中断处押程序可以发出警告信息或将微控制器转入安全模式。PVD功能需要通过程序廾启。关」 VapOr/P和V的值参考表1223.13电压调压器调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式●主模式(MR)用于正常的运行操作低功耗模式(LPR)用于CPU的停机模式关断模式用于CPU的待机模式:调压器的输出为咼阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失)该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。23.14低功耗模式STM32F103xC、STM32F103XD和STM32F103xE増强型产品支持三种低功耗模式,可以在要求低功耗、短启动吋间和多种唤醒事件之间达到最佳的平衡。睡眠模式在眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断事件时唤酲CPU。停机模式在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HS的RC振荡器和HSE皛体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。可以通过任一配置成EXT的信号把微控制器从停机模式中唤醒,EXT信号可以是16个外部ⅣO口之一、PVD的输出、RTC闹钟或USB的唤醒信号●待机模式在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI的RC振荡器和HSE晶体振荡器乜被关闭;进入待机模式后,SRAM和寄存器的内容将消尖,但后备寄存器的内容仍然保留,待机电路仍工作,从待杋模式退出的条件是:NRST上的外部复位信号、DG复位、WKUP引脚上的一个上升边沿或RTC的闹钟到时参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)8/87STM32F103XC,STM32F103XD,STM32F103xE数据手册注:在进入停机线待机模式时,和对应的时钟不会数停止2.3.15DMA灵活的12路通用DMA(DMA1上有7个通道,DMA2上有5个通道)可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输:2个DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置DMA可以用于主要的外设:SP、P2C、 USART,通用、基本和高级控制定时器TMx,DAC、P2s、SD|O和ADC2316RTc(实时时钟和后备寄存器RTC和后备寄存器通过一个廾关供电,在V0有效时该廾关选择VD供电,否则由VAT引脚供电。后备寄存器(42个16位的寄存器)可以用于在关闭VD时,保存84个字节的用户应用数据。RTC和后备寄存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位。实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和阶段性中断功能。RTC的驱动时钟可以是一个使用外部晶体的32.768kHz的振荡器、内部低功耗RC振荡器或高速的外部时钟经128分频。内部低功耗RC振荡器的典型频率为40kHz。为补偿大然晶体的偏差,可以通过输岀一个512Hz的信号对RTC的时钟进行校准。RTC具有一个32位的可编程计数器,使用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为32768kHz时,它将产生一个1秒长的时间基准。23.17定时器和看门狗大容量的STM32F103x增强型系列产品包含最多2个高级控制定时器、4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器下表比较了高级控制定时器、普通定时器和基本定时器的功能:表4定时器功能比较匚定时器计数器分辩率计数器类型预分系数产生DMA请求捕获/比纹通道补输出TIM1向上,向下,1-65536之间16位的仁意整数可以TIM向上F下有TIM2TIM316位下,1-65536之间的任意整数可以4TIM4向上/下没有TIM5TIMo16位向上1~65536之间的仁意整数可以TMZ没有高级控制定时器(TIM1和TM8两个高级控制定时器(TM1和TM8)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区插入的互补PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于:输入捕获输出比较●产生PWM(边缘或中心对齐模式)●单脉冲输出阽置为16位标准定时器时,它与TIMx定时器具有相同的功能。置为16位PWM发生器时,它具有全调制能力(0~100%)在调试模式下,计数器可以被冻结,同吋PWM输出被禁止,从而切断由这些输出所控制的开关。很多功能都与标准的TM定时器相同,内部结构也相同,因此高级控制定时器可以通过定时器链接功能与TIM定时器协同操作,提供同步或事件链接功能。参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)9/87STM32F103XC,STM32F103XD,STM32F103xE数据手册通用定时器TMx)STM32F103XC、STM32F103xD和STM32F103XE增强型系列产品中,内置了多达4个可同步运行的标准定时器TM2、TIM3、TM4和TM5)。每个定时器都有一个16位的自动加载递加/递减计数器、个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多16个输入捕获、输出比较或PWM通道。它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式计数器可以被冻结。任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制这些定时器还能够处理增量编码器的信号,也能处理13个霍尔传感器的数字输出。基本定时器TM6和TM7这2个定时器主要是用」产生DAC触发信号,也可当成通用的16位时基计数器独立看门狗独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40kHz的RC振荡器提供时钟;因为这个RC振荡器独立于上时钟,所以它可运行于停机和待机模式。它可以被当成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过选项字节可以軋置成是软件或硬件启动看门狗。在调试模式卜,计数器可以被冻结。窗口看门狗窗凵看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。系统时基定时器这个定时器是专用于实时操作系统,也可当成一个标准的递减计数器。它具有下述特性●24位的递减计数器自动重加载功能●当计数器为0时能产生一个可屏蔽系统中断可编程时钟源2318|C总线多达2个C总线接口,能够工作于多主模式或从模式,支持标准和快速模式。C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持 SMBuS总线20版/ PMBus总线2319通用同步/异步收发器 USART)STM32F103xC、STM32F103XD和STM32F103xE增强型系列产品中,内置了3个通用同步/异步收发器( USART1、 USART2和 USART3),和2个通用异步收发器UART4和UART5)这5个接凵提供异步通信、支持| DA SIR ENDEO传输编解码、多处理器通信模式、单线半双工通信模式和L|N主/从功能。USART1接口通信速率可达4.5兆位秒,其他接口的通信速率可达225兆位秒。USART1、 USART2和 USART3接口具有硬件的CTS和RTS信号管理、兼容|SO7816智能卡模式和类S門通信模式,除了UART5之外所有其他接口都可以使用DMA操作。2320串行外设接口sP)多达3个SP接冂,在从或主模式下,全双L和半双L的通信速率可达18兆位/秒。3位的预分频器可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。所有的S門l接口都可以使用DMA操作。参照209年3月STM32F103XCD数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)10/87
- 2020-12-01下载
- 积分:1
锁相环技术原理及FPGA实现
高清扫描版PDF,含章节书签。本书既有锁相环原理又有工程实现,值得一看。尤其是关注数字锁相环的同学,可以了解一下。内容简介本书全面阐述了典型锁相环技术的工作原理及FPGA设计方法,结合 System View仿真实例,详细分析了锁相环技术的基本概念。按照从理论到实践,再从实践到理论的思路,以 Altera公司的FPGA器件为开发平台,采用 MATLAB及 Verilog HDL语言为开发工具,详细阐述了锁相环技术的FPGA实现原理及仿真测试过程,逐步深入地讲解锁相环技术在工程应用中的技术细节。本书思路清晰、语言流畅、分析透彻,在简明阐述设计原理的基础上,追求对工程实践的指导性,力求使读者在较短的时间内掌握锁相环技术的FPGA设计知识和技能。本书的配套网络光盘收录了完整的 System View、 MATLAB及 Verilog HDL实例工程代码,有利于技术人员参考学习,读者可登录华信教育资源网(www.hxedu.com.cn)免费注册后下载。本书适合从事数字通信和数字信号处理领域的设计工程师、科研人员,以及相关专业的研究生、高年级本科生使用未经许可,不得以任何方式复制或抄袭本书之部分或全部内容版权所有,侵权必究。图书在版编目(C|P)数据锁相环技术原理及FPGA实现/杜勇编著.一北京:电子工业出版社,2016.6ISBN978-7-121-28738-1I.①锁…ⅡI.①杜…Ⅲ①锁相环一研究Ⅳ.①TN9118中国版本图书馆CIP数据核字(2016)第095248号责任编辑:田宏峰印刷:北京京师印务有限公司装订:北京京师印务有限公司出版发行:电子工业出版社北京市海淀区万寿路173信箱邮编10006开本:787×10921/16印张:18.25字数:465千字版次:2016年6月第1版印次:2016年6月第1次印刷印数:3000册定价:6800元凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888质量投诉请发邮件至zs@Dphei.com.cn,盗版侵权举报请发邮件至dbq@phei.com.cn本书咨询联系方式:tianhf@phei.com.cn。前言为什么要写这本书1965年,英特尔联合创始人戈登·摩尔( Gordon moore)预测,计算机芯片的处理能力每两年就会翻一番。尽管已经过去50多年,摩尔定律仍然有效。半导体行业的发展速度,以及摩尔定律的精准性预测一度连摩尔本人都感到无比惊奇!2015年6月1日,英特尔宣布将以每股54美元的价格收购 Altera,以此计算,此交易总价将达到167亿美元,创造了英特尔并购历史上金额最大的纪录。一时间,传闻四起,业内专家和媒体开始讨论,FPGA计算机是否将成为可能?无论你是否愿意,只要从事的是与电子及信息处理相关的行业,FPGA的地位已显得越来越重要,它已成为电子行业的基本设计平台之一!无论多么高大上的技术,工程师要能够熟练应用到自己的工程项目中,都必须深入了解每一个技术实现细节。所谓“九层之台,起于垒土:合抱之木,生于毫末”。对于繁杂的技术实现方法,“各个击破”是有效学习应用的不二法门。自作者于4年前开始陆续出版数字通信技术的FPGA实现相关著作以来,通过邮件或博客的方式收到了广大读者的很多反馈意见。一些读者直接通过邮件告知书中的内容对工作中提供的直接或间接的帮助;一些读者提出了很多中肯的、有建设性的意见和建议;更多的读者通过邮件或博客交流书中的相关设计问题。归纳起来,不少读者的问题集中在数字锁相环技术的设计及实现方面。在前几本著作中,限于书中内容编排,对通信系统中最困难的锁相环技术阐述得还不够系统全面。目前市场上讲解锁相环技术的图书,主要集中在讲解锁相环的基本工作原理,或介绍一些专门的锁相环集成芯片,因此,将锁相环的工作原理与FPGA实现结合起来讨论,显得十分必要作者在写作本书的过程中,兼顾锁相环技术的理论,以及工程设计过程的完整性,重点突出FPGA设计方法、结构、实现细节,以及仿真测试方法。在讲解理论知识的时候,结合 System View、 MATLAB软件仿真实例,重点从工程应用的角度进行介绍,主要介绍工程设计时必须掌握和理解的知识点,便于读者尽快地找到理论与工程实现之间的结合点。在讲解实例的FPGA实现时,不仅对所有实例给出了完整的程序代码,并且从思路和结构上进行了详细的分析和说明。根据作者的理解,针对一些似是而非的概念,结合工程实例的仿真测试加以阐述,希望能对读者提供更多有用的参考。相信读者按照书中讲解的步骤完成一个个工程实例时,会逐步感觉到理论与工程实现之间完美结合的畅快。随着读者掌握的工程实现技能的提高,对锁相环理论知识的理解也必将越来越深刻,当重新阅读以前学过的原理时,头脑里就更容易构建起理论知识与工程实践之间的桥梁。前言Ⅲ本书的内容安排第1章首先介绍了FPGA的基本知识,以及 Altera公司的主要器件。本章在介绍了FPGA的发展历程、结构及工作原理等基本知识后,对本书所用到的设计语言及工具软件进行了简要介绍,主要包括 Verilog ldl语言、 Quartus、 MATLAB和 System View软件。所谓“工欲善其事,必先利其器”。之所以说是简要介绍,因为这些开发工具本身的功能十分强大,每一种工具都有种类繁多的专门著述进行阐述。随着工程师设计经验的积累,设计水平的提高,越能更全面地掌握设计工具的特点,从而更好地发挥设计工具的性能,以最小的代价设计出理想的产品。好比一把宝剑,只有握在高手的手中才能发挥出最大的威力。第2章介绍了FPGA数字信号处理基础知识。数字信号在FPGA等硬件系统中实现时,因受寄存器长度的限制,不可避免地会产生有效字长效应。设计工程师必须了解字长效应对数字系统可能带来的影响,并在实际设计中通过仿真来确定最终的量化位数、寄存器长度等内容。本章在详细分析了字长效应在FPGA设计中的影响后,对几种常用的运算模块P核进行介绍,讨论了各P核控制参数的设置方法。IP核在FPGA设计中的应用十分普遍,尤其是在数字滤波器等信号处理领域,采用设计工具提供的IP核进行设计,不仅可以提高设计效率,而且可以保证设计的性能第3章从锁相环的组成讲起,深入细致地探讨锁相环关注的信号特性,全面阐述VCO和乘法鉴相器的工作方式。随后借用最简单的反馈电路等基础知识,逐步揭开锁相环跟踪信号相位的神秘面纱。最后通过 System View软件工具,详细仿真分析了一阶锁相环的工作过程,全方位地了解锁相环的工作机理。第4章讨论了一阶锁相环的FPGA实现方法。根据作者的学习经验,这个阶段最期望的一定不是再去理解什么原理公式,学习什么方法思路。好比初次接触到羽毛球时,在网上看了一段中规中矩的教学视频,又刚好买回一支炫丽的球拍,走进球场,实在没有心情再听老师讲什么挥拍动作和击球技巧,只想痛痛快快地上球场打上几拍了。这一章,我们将完成一个完整的一阶锁相环电路的FPGA设计及仿真测试过程第5章又回到理论知识上来。学习的过程通常是学习(理论)一实践(工程)一学习理论)一实践(工程)的循环反复过程,每一次循环都会带来一次提高。前几章,我们主要从环路基本概念的角度,对环路进行了分析和仿真,从而初步建立起对锁相环路工作机理的认识。要深入硏究锁相环技术,必须建立环路的系统模型,而后采用数学方法对模型进行精确的分析。这一章我们从最基本的线性时不变系统知识开始,逐步建立起锁相环路的数学模型,为后续的分析打下坚实的基础。在建立模型的过程中,我们会发现,所有的知识,所有的公式其实都是在大学的一些基础课程中学习过的。第δ章深入讨论锁相环中最关键的组成电路——环路滤波器。我们从最简单的环路滤波器——RC低通滤波器开始,逐步理解环路滤波器对锁相环路性能的决定性作用,并引出本书所研究的重点——由有源积分滤波器组成的理想二阶环路。为了直观说明环路滤波器对锁相环路性能的影响,以及锁相环路参数的设计方法,我们再次采用 System View搭建了锁相环路模型,并通过翔实的仿真数据来说明一些看似深奥的理论知识。第7章开始讨论工程上应用最多的理想二阶环路的FPGA实现。前两章讲了一大堆枯燥的锁相环原理,本质是说理想二阶环具有相当优异的性能。我们在第4章已经对一阶锁Ⅳ锁相环技术原理及FPGA实现相环的FPGA实现进行了详细的讨论,有了前面章节的基础,就可以开始设计二阶环的FPGA电路了,并且要通过FPGA设计后的仿真来验证理论的正确性。二阶锁相环路相比一阶环路来讲,仅仅是多了一个环路滤波器。正是这个环路滤波器,尤其是理想环路滤波器,极大地改善了锁相环路的性能。当我们深刻理解了环路的工作原理,并动手设计出传说中的理想二阶锁相环电路时,会发现整个设计过程原来如此!第8章再次回过头来,静心硏究前面设计过程中还没有解决的一些问题。经过第7章的学习,我们己经可以完成一个完整的理想二阶锁相环路的设计。但在设计过程中,仍有一些参数的取值没有明确的依据,例如环路的固有振荡频率ωn该如何取值?环路的捕获带宽与捕获时间如何设计?当环路中存在噪声时(前面章节的设计都还没有涉及这个问题,但噪声又是电子系统中无法避免的),又该如何设计并计算环路的抗干扰性能呢?因此,在完成数字二阶环的FPGA初步设计之后,我们需要再回过头来更深入分析一下锁相环路性能,最终找到锁相环路参数的设计依据。第9章是一个完整的应用锁相环实现信号解调的工程应用实例。经过前面章节的讨论,我们对锁相环的理论知识、仿真、设计及FPGA实现都有了比较充分的认识。在无线通信技术中,在接收端,应用锁相环获取相干载波是最为广泛的应用之一。本章以锁相环解调PSK调制信号为例,应用前面章节讨论得出的结论,完整地给出锁相环的参数设计、仿真测试,以及FPGA实现过程关于FPGA开发环境的说明众所周知,目前两大商 Xilinx和 Altera的产品占据全球90%以上的FPGA市场。可以说,在一定程度上正是由于两家FPGA公司的相互竞争态势,有力地推动了FPGA技术的不断发展。虽然HDL的编译及综合环境可以采用第三方公司所开发的产品,如 Modelsim、Synplify等,但FPGA器件的物理实现必须采用各自公司开发的软件平台,无法通用。 Xilinx公司目前最新的开发工具为 Vivado Design Suite套件, Altera公司目前的主流开发平台是Quartus系列套件。与FPGA开发平台类似,HDL也存两种难以取舍的选择:VHDL和Verilog hdl。如何选择开发平台以及HDL语言呢?其实,对于有志于从事FPGA技术开发的技术人员,选择哪种平台及HDL语言并不重要,因为两种平台具有很多相似的地方,精通一种HDL语言后,再学习另一种HDL语言也不是一件困难的事。通常来讲,可以根据周围同事朋友、同学或公司的主要使用情况进行选择,这样在学习的过程中,可以很方便地找到能够给你指点迷津的专业人士,从而加快学习进度。本书采用的是Aera公司的FPGA器件作为开发平台,采用 QuartusⅡ2.1作为开发环境,采用 Verilog hDl语言作为实现手段。由于 Verilog hdl语言并不依赖于某家公司的FPGA产品,因此本书的 Verilog HDL程序文件可以很方便地移植到 Xilinx公司的FPGA产品上。如果程序中应用了P核资源,两家公司的P核通常是不能通用的,这就需要根据IP核的功能参数,在另外一个平台上重新生成IP核,或编写 Verilog HDl代码来实现。有人曾经说过,“技术只是一个工具,关键在于思想。”将这句话套用过来,对于本书来讲,具体的开发平台以及HDL语言只是实现数字通信技术的工具,关键在于设计的思路和方法。因此,读者完全不必要过于在意开发平台的差别,相信只要掌握本书所讲述的设前言计思路和方法,加上读者已经具备的FPGA开发经验,采用任何一种FPGA平台都可以很快地设计出满足用户需求的产品。如何使用本书木书在讨论锁相环的基木概念及工作原理时,主要用到了 System View5.0版本软件。关于 System View5.0软件的特点及使用方法在本书第1章进行了简要介绍。 System View软件使用起来非常简单,书中的实例也只用到了一些基本功能。如果读者以前没有使用过这款软件的话,建议先用几个小时了解一下其基本用法,这样就可以动手对本书提供的实例程序运行仿真。当然,由于 System View仅用来说明锁相环的工作原理,因此,读者也可以完全不去运行这些实例程序,只要理解书中提供的仿真结果即可。相信大部分工科院校的学生和电子通信的从业人员对 MATLAB软件都会有一个基本的了解。由于它的易用性及强大的功能,已经成为数学分析、信号仿真、数字处理必不可少的工具。由于 MATLAB具有大量专门针对数字信号处理的常用函数,如滤波器函数、傅里叶分析函数等,十分有利于对一些通信的概念及信号进行功能性仿真,因此,在具体讲解某个实例时,通常会采用 MATLAB作为仿真验证工具。虽然书中的 MATLAB程序相对比较简单,主要应用一些数字信号处理函数进行仿真验证,如果读者没有 MATLAB的知识基础,建议最好还是先简单学习一下 MATLAB的编程概念及基本语法。考虑到程序及函数的兼容性,书中所有 MATLAB程序的开发验证平台均为 MATLAB R2014a版软件。在讲解具体的FPGA工程应用实例时,通常会先采用 MATLAB对所需设计的工程进行仿真,一方面仿真算法过程及结果,另一方面生成FPGA仿真所需要的测试数据;然后在QuartusⅡ平台上编写 Verilog hDL程序对实例进行设计实现,为便于讲述,通常会先讨论程序的设计思路,或者先给出程序清单,再对程序代码进行分析说明;完成程序编写后,需要编写 Test Bench测试激励文件,根据所需产生输入信号的种类,可以直接在 TestBench文件中编写代码来产生输入信号,也可以通过读取外部文本文件的方式来产生输入信号;接下来就可以采用 Modelsim工具对 Verilog HDL程序进行仿真,查看 Modelsim仿真波形结果,并根据需要将仿真数据写入外部文本文件中,通常还会对仿真波形进行讨论,分析仿真结果是否满足要求;如果 Modelsim波形不便于精确分析测试结果,则需要再次编写MATLAB程序,对 Modelsim仿真结果数据进行分析处理,最终验证FPGA设计的正确性。本书主要以工程应用实例的方式讲解锁相环技术的原理及FPGA实现方法和步骤。书中所有实例均给出了完整的程序清单,限于篇幅,不同工程实例中的一些重复或相似的代码没有完全列出,随书配套的网络光盘上收录了本书所有实例的源程序及工程设计资源并按章节序号置于光盘根目录下。本书在编写工程实例时,程序文件均放置在“D: PllPrograms”的文件夹下,读者可以先在本地硬盘下建立“D: PllPrograms”文件夹,而后将配套网络光盘中的程序压缩包解压至该文件夹下,大部分程序均可直接运行。需要说明的是,在部分工程实例中,需要由 MATLAB产生FPGA测试所需的文本数据文件,或者由 MATLAB读取外部文件进行数据分析,同时FPGA仿真的 TestBench文件通常也需要从指定的路径下读取外部文件数据,或将仿真结果输出到指定的路径下。对于 Modelsim仿真来讲,作为测试输入的文本文件必须放置在当前FPGA工程目录下的“ simulationmodelsim”路径下。因此,读者在用 MATLAB生成测试数据后,需要将生成的文件复制到指定的路径Ⅵ|锁相环技术原理及FPGA实现下,以获取正确的仿真结果。致谢有人说,每个人都有他存在的使命,如果他的使命迷失了,也就失去了他存在的价值。不只是每个人,每件物品也都有其存在的使命。对于一本书来讲,其存在的使命就是被阅读,并给阅读者带来收获作者在写作本书的过程中查阅了大量的资料,在此对资料的作者及提供者表示衷心的感谢。由于写作本书的缘故,重新阅读一些经典的数字通信理论书籍时,再次深刻感受到前辈们严谨的治学态度和细致的写作作风。在此,感谢父母,多年来一直陪伴在我的身边,由于他们的默默支持,使得我能够在家里专心致志地写作;感谢我的妻子刘帝英女士,她不仅是一位尽心尽职的优秀母亲,也是一位严谨细致的科技工作者,同时也是本书的第一位读者,在工作之余对本书进行了详尽而细致的校对;四年前初次编写数字通信的FPGA设计与实现系列图书时,女儿才刚上小学,转眼她已经上五年级了,她最爱看书和画画,小脑袋里装着越来越多的她自己的想法。FPGA技术博大精深,本书虽尽量详细讨论了锁相环技术的原理及FPGA实现相关内容,仍感觉到难以详尽阐述所有技术细节。相信读者在实际工程应用中经过不断的实践、思考及总结,一定可以快速掌握其工程设计方法,提高应用FPGA进行工程设计的能力。由于作者水平有限,不足之处在所难免,敬请读者批评指正。欢迎大家就相关技术问题进行交流,或对本书提出改进意见及建议为便于读者交流,并及时发布相关资料及信息,本书特开设了交流博客,读者也可以通过邮件与作者进行技术交流。交流空间:http://duyongcn.blog163.com,作者邮箱:duyongcn@sina.cn。杜勇2016年4月前言目录Contents第1章设计环境及开发平台介绍1.1FPGA基础知识····+1.1.基本概念及发展历程……………·,··,,2241.1.2FPGA的结构和工作原理……1.1.3FPGA在数字信号处理中的应用“·““““““………121.2 Altera器件简介…1213 Verilog HDL语言简介………………………………………151.3.1HDL语言简介…………151.3.2 Verilog HDL语言特点161.3.3 Verilog HDL程序结构…卡““为“节“““”““牛……………………1714 QuartusⅡ开发套件…………1814. I Quartus I开发套件简介……………………………………………………1814.2 Quartus II软件的用户界面191.5 Modelsim仿真软件…221.6 MATLAB软件……………………………………………………·241.6.1 MATLAB软件介绍………2416.2 MATLAB工作界面………………………………………241.6.3 MATLAB的特点及优势……251.64 MATLAB与 Quartus的数据交互………2717 System View软件…2817.1 System View简介……281.7.2 System View工作界面……291.8小结——欲善其事先利其器…32第2章FPGA数字信号处理基础……332.1FPGA中数的表示…2.1.1莱布尼兹与二进制……………………………………………………………342.1.2定点数表示352.1.3浮点数表示…………·444,4·,,+3622FPGA中数的运算……02.2.1加/减法运算…………………………………4022.2乘法运算……4322.3除法运算22.4有效数据位的计算目录IX23有限字长效应4723.1字长效应的产生因素4723.2AD转换的字长效应4823.3系统运算中的字长效应………………………………………………4924FPGA中的常用处理模块24.1加法器模块…………………………………………………5124.2乘法器模块……2.4.3除法器模块……4.44444、562.4.4浮点运算模块572.5小结—四个过桥人………59第3章锁相环为什么能够跟踪相位613.1锁相环的组成…………623.1.1关注信号的相位分量……………………………………623.1.2VCO是一个积分器件3.1.3正弦鉴相器还是余弦鉴相器653.1.4环路滤波器的作用…………683.2从负反馈电路理解锁相环…693.2.1反馈电路的概念3.2.2负反馈电路的控制作用703.2.3锁相环与基本负反馈电路的区别…………………………………713.2.4分析锁相环的工作状态…33最简单的锁相环………………………1733.3.1一阶锁相环的 System View模型733.3.2确定VCO输出的同相支路434锁相环的基本性能参数………………………………………………773.4.1捕获及跟踪过程3.4.2环路的基本性能要求..,…………………………783.5分析一阶环的基本参数…3.5.1数学方法求解一阶环…………………………793.5.2图解法分析一阶环工作过程……813.53工程设计与理论分析的差异…3.54遗忘的参数一鉴相滤波器截止频率……………………3.6小结——千条路与磨豆腐87第4章一阶锁相环的FPGA实现4.1一阶环的数字化模型…………4.1.1工程实例需求……………………………………………………………904.1.2数字鉴相器914.1.3数控振荡器…4.1.4计算环路增益…………944.2数字鉴相滤波器设计………………………………X锁相环技术原理及FPGA实现
- 2021-05-06下载
- 积分:1