DSP-TMS320F2812原理与应用_第1页
DSP-TMS320F2812原理与应用_第2页
DSP-TMS320F2812原理与应用_第3页
DSP-TMS320F2812原理与应用_第4页
DSP-TMS320F2812原理与应用_第5页
已阅读5页,还剩240页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP教程教程 选用教材选用教材:TMS320 x28xxx原理与开发原理与开发作者作者 苏奎峰等苏奎峰等电子工业出版社电子工业出版社书号书号 ISBN 978-7-121-08403-4参考书与相关网址参考书与相关网址 TMS320F2812原理与开发,苏奎峰,电子工业出版社 TMS320C28x系列DSP的CPU与外设(上/下),张卫宁,清华大学出版社,2005 TMS320F2812DSP原理与应用实例,三恒星科技编著,电子工业出版社,2009.2 TMS320LF/LC24系列DSP的CPU与外设,徐科军,清华大学出版社,2004 DSP实验课实验课(16学时学时)预约时间:电工电子实

2、验中心预约时间:电工电子实验中心http:/实验教学实验教学_实验预约实验预约_DSP原理原理及应用及应用1 什么是数字信号处理器什么是数字信号处理器 ? 数字信号处理数字信号处理(Digital Signal Processing)(Digital Signal Processing) 以数字形式对信号进行采集、变换、滤以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理波、估值、增强、压缩、识别等处理 数字信号处理器数字信号处理器(Digital Signal Processor)(Digital Signal Processor) 是一种特别适合于进行数字信号处理运是一种特

3、别适合于进行数字信号处理运算的微处理器算的微处理器芯片芯片,其主要应用是实时快,其主要应用是实时快速地实现各种数字信号处理算法速地实现各种数字信号处理算法1.1 计算机芯片的简单分类计算机芯片的简单分类 微处理器微处理器(P) 例如:例如:DSPs 微控制器微控制器(C) 例如:单片机例如:单片机P/C-总线结构总线结构一个由多IC构成的处理系统的核心器件(芯片)l2种基本的总线结构: Von Neumann- 冯.诺依曼 Harvard 哈弗lVon Neumann: 数据、代码共享内存空间 数据、代码共享内存总线 Example: Intels x86 Pentium Processor

4、familylHarvard: 数据、代码独立存储空间 数据、代码独立存储总线1.2 DSPs-数字信号处理器数字信号处理器l改进的哈佛总线结构:改进的哈佛总线结构:多总线访问机制l流水线操作流水线操作 l专用的硬件乘法器专用的硬件乘法器(MPY)l特殊的特殊的DSP指令指令l快速的指令周期快速的指令周期结论:结论:DSPs追求快速、实时的追求快速、实时的数据处数据处理能力理能力和和数据传输能力数据传输能力。 典型的典型的DSP算法算法1.3 微控制器微控制器 (C) 用来实现实时控制的计算机芯片l 集成CPU以及输入、输出接口l 在嵌入式应用中具有较高的性价比l 传统意义上的C片内没有硬件乘

5、法器l 2种总线结构 (Von Neumann 和Harvard) 广泛应用于 Microcontrollersl 相对而言,运算能力较弱,接口能力较强2 数字信号控制器数字信号控制器 (DSC) DSC:以数字信号处理器(DSPs)为内核,片内集成多种外设外设的单芯片微型计算机 DSPs的高速运算处理能力、微控制器的丰富外设接口、增强的中断管理相结合,获得了高效的嵌入式实时处理和实时控制解决方案 DSC Example: Ti C2000系列DSPs3 数字信号处理的实现方法数字信号处理的实现方法 在通用的计算机在通用的计算机(如如PC机机)上用软件上用软件(如如Fortran、C语言语言)

6、实现实现 :速度中等速度中等 在通用计算机系统中加上专用的加速处理机在通用计算机系统中加上专用的加速处理机实现:实现:应用受限制应用受限制 用通用的单片机用通用的单片机(如如MCS-51、96系列等系列等)实实现现 :仅限于简单算法仅限于简单算法 用通用的可编程用通用的可编程DSP芯片实现芯片实现 :广泛应用:广泛应用 用专用的用专用的DSP芯片实现:芯片实现:应用受限制应用受限制 现场可编程门阵列现场可编程门阵列(FPGA):高速、广泛应用高速、广泛应用 专用集成电路专用集成电路(ASIC):高速、专用、高价格高速、专用、高价格DSPDSP芯片的主要应用领域芯片的主要应用领域(1)信号处理)

7、信号处理 (2)图像处理)图像处理 (3)仪器)仪器 (4)声音)声音/语言语言 (5)控制)控制 (6)军事应用)军事应用 (7)电信)电信 (8)无线电)无线电数字滤波数字滤波卷积卷积相关相关希尔伯特变换希尔伯特变换FFT自适应滤波自适应滤波加窗加窗波形产生波形产生DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理(2)图像处理)图像处理 (3)仪器)仪器 (4)声音)声音/语言语言 (5)控制)控制 (6)军事应用)军事应用 (7)电信)电信 (8)无线电)无线电三维旋转三维旋转机器人视觉机器人视觉图像传输图像传输/压缩压缩同态处理同态处理模式识别模式识别工作站工

8、作站动画动画/数字地图数字地图DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理 (2)图像处理)图像处理(3)仪器)仪器 (4)声音)声音/语言语言 (5)控制)控制 (6)军事应用)军事应用 (7)电信)电信 (8)无线电)无线电频谱分析频谱分析函数发生器函数发生器模式匹配模式匹配地震信号处理地震信号处理数字滤波数字滤波锁相环锁相环DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理 (2)图像处理)图像处理 (3)仪器)仪器(4)声音)声音/语言语言 (5)控制)控制 (6)军事应用)军事应用 (7)电信)电信 (8)无线电)无线电声码器声码

9、器语音识别语音识别语音增强语音增强语音合成语音合成DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理 (2)图像处理)图像处理 (3)仪器)仪器 (4)声音)声音/语言语言(5)控制)控制 (6)军事应用)军事应用 (7)电信)电信 (8)无线电)无线电数值控制数值控制声控声控伺服控制伺服控制机器人控制机器人控制激光打印机激光打印机控制控制发动机控制发动机控制DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理 (2)图像处理)图像处理 (3)仪器)仪器 (4)声音)声音/语言语言 (5)控制)控制(6)军事应用)军事应用 (7)电信)电信 (8)

10、无线电)无线电雷达处理雷达处理声纳处理声纳处理图像处理图像处理导航导航导弹制导导弹制导高频调制高频调制解调器解调器保密通讯保密通讯DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理 (2)图像处理)图像处理 (3)仪器)仪器 (4)声音)声音/语言语言 (5)控制)控制 (6)军事应用)军事应用(7)电信)电信 (8)无线电)无线电数字交换机数字交换机线路转发器解调器线路转发器解调器通道多路复用通道多路复用1200至至19200bps调制调制自适应均衡自适应均衡传真传真扩频通讯扩频通讯DSPDSP芯片的主要应用领域芯片的主要应用领域 (1)信号处理)信号处理 (2)图像

11、处理)图像处理 (3)仪器)仪器 (4)声音)声音/语言语言 (5)控制)控制 (6)军事应用)军事应用 (7)电信)电信(8)无线电)无线电全球定位全球定位导航导航数字无线数字无线电电/TVDSP系统基本构成系统基本构成输入输入DSP系系统统设设计计方方法法DSP系系统统设设计计方方法法DSP总总体体设设计计框框图图硬件系统设计框图硬件系统设计框图需求需求分析分析系统结系统结构选择构选择系统总系统总体构成体构成软硬件软硬件设计设计系统系统调试调试试运试运行行交付交付使用使用 在一个指令周期内可完成一次乘法和一次加法在一个指令周期内可完成一次乘法和一次加法 程序和数据空间分开,可以同时访问指令

12、和数据程序和数据空间分开,可以同时访问指令和数据 片内具有快速片内具有快速 RAMRAM,通常可通过独立的数据总线,通常可通过独立的数据总线在两块中同时访问在两块中同时访问 具有低开销或无开销循环及跳转的硬件支持具有低开销或无开销循环及跳转的硬件支持 快速的中断处理和硬件快速的中断处理和硬件I/OI/O支持支持 具有在单周期内操作的多个硬件地址产生器具有在单周期内操作的多个硬件地址产生器 可以并行执行多个操作可以并行执行多个操作 支持流水线操作,使取指、译码和执行操作可以支持流水线操作,使取指、译码和执行操作可以重叠执行重叠执行 优点:优点:大规模集成性、大规模集成性、 稳定性好稳定性好 精度

13、高精度高 可编程性可编程性 高速性能高速性能 可嵌入性可嵌入性 接口和集成方便接口和集成方便 缺点:缺点:成本较高成本较高 高频时钟的高频干扰高频时钟的高频干扰 功率消耗较大等功率消耗较大等 软件代价较大软件代价较大 完成乘加操作的时间下降到完成乘加操作的时间下降到10ns10ns以下以下 乘法部件占模片区从乘法部件占模片区从4040下降到下降到5 5 引脚数从引脚数从6464增加到增加到200200以上以上 重量和体积大大下降重量和体积大大下降 采用低电压,功耗大大下降采用低电压,功耗大大下降500K50K集成集成晶体管数晶体管数0.45mW/MIPS12.5mW/MIPS250mW/MIP

14、S功耗功耗$5.00$25.00$ 15.00$150.00价格价格16K字字4K字字1.5K字字内部内部ROM32K字字1K字字144字字内部内部RAM100MHz80MHz20MHzMHz100MIPS40MIPS5MIPSMIPS0.3 m CMOS0.8 m CMOS4 m NMOS制造工艺制造工艺1999年年1992年年1982年年年份年份DSPDSP分类分类通用通用专用专用定点(定点(FixedFixed)浮点(浮点(FloatingFloating)一致性(兼容性)一致性(兼容性)静态静态 运算速度运算速度 DSPDSP芯片的价格芯片的价格 DSPDSP芯片的硬件资源芯片的硬件资

15、源 DSPDSP芯片的运算精度芯片的运算精度 DSPDSP芯片的开发工具芯片的开发工具 DSPDSP芯片的功耗芯片的功耗 其它:其它: 一个采用一个采用LMS(Least Mean Square)最)最小均方算法的小均方算法的256 抽头的自适应抽头的自适应FIR(Finite Impulse Response)滤波器)滤波器 假定:假定:3个个MAC/抽头抽头 则:则:2563768个个MAC周期周期 设:采样频率为设:采样频率为8kHz,即样点之间的间隔,即样点之间的间隔为为125s;采样频率为;采样频率为44.1kHz,即样点之,即样点之间的间隔为间的间隔为22.7s用用DSP芯片实现数

16、字滤波芯片实现数字滤波 DSPDSP芯片的基本结构芯片的基本结构 哈佛结构哈佛结构 流水线操作流水线操作 专用的硬件乘法器专用的硬件乘法器 特殊的特殊的DSPDSP指令指令快速的指令周期快速的指令周期 冯冯诺曼(诺曼(Van Neuman) 流水线深度从流水线深度从2 26 6级不等级不等 多个指令重叠进行,理想情况下,多个指令重叠进行,理想情况下,K K 段段流水能在流水能在 K+N-1K+N-1个周期内,处理个周期内,处理 N N 条指条指令令流水线流水线 在通用的微处理器中,乘法指令是在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多由一系列加法来实现的,故需许多个指令周期来完

17、成个指令周期来完成 DSPDSP具有专用的硬件乘法器,乘法可具有专用的硬件乘法器,乘法可在一个指令周期内完成在一个指令周期内完成 TMS320F2812的主要特点的主要特点(1)1)采用高性能静态CMOS制造工艺 -主频达150MHZ(时钟周期6.67ns) -低功耗(150MHz核电压1.9V,135MHz以下核电压1.8V,I/O口电压3.3V) -Flash 编程电压为3.3V2)支持JTAG 边沿扫描3)高性能32位CPU -1616和3232乘积累加操作 -1616双乘积累加器 -程序和数据空间分开寻址(哈佛总线结构)TMS320F2812的主要特点的主要特点(2) -快速中断响应和

18、处理 -统一寄存器编程模式 -可达4M的线性程序地址 -可达4M的线性数据地址 -高效的代码转换能力(支持C/C+和汇编语言)4) 片上存储器 -有多达128K16的FLASH存储器 -或或 有多达128K16的ROM5)外部存储器接口 -有多达1MB的寻址空间 -三个独立的片选端TMS320F2812的主要特点的主要特点(3) 6)时钟与系统控制 -支持动态的改变锁相环(PLL)的频率 -片上振荡器 7)三个外部中断8)外部中断扩展(PIE)模块,支持45个外部中断9)128位的密钥/锁 -保护FLASH/ROM -防止固化在ROM中的程序被盗10)三个32位的CPU定时器TMS320F28

19、12的主要特点的主要特点(4)11)串口外围设备 -串行外部设备接口(SPI) -两个串行通信接口(SCIs)12)12位的ADC,16通道 -2个8通道的输入多路选择器 -两个采样保持器 -单/连续通道转换 -快速转换率80ns/12.5MSPS(兆采样每秒) -可用两个事件管理器顺序触发8对模数转换13)多达56个独立的可编程、多用途通用输入/输出(GPIO)引脚第二部分:第二部分:C2000结构结构C281x Block DiagramC28x CPU CoreC28x Internal Bus StructureC28x Multiplier and ALU / Shifters来至于

20、寄存器来至于寄存器操作码操作码数据存储区数据存储区操作数操作数2乘法器结果乘法器结果操作数操作数1C28x Pointer, DP and Memory DP(16bit) 访问65536个数据页 4M以上的数据存储区DP不能访问XAR15-0=AR7-0XAR31-16C28x PipelineTMS320F2812 Memory MapreservedreservedreservedreservedreservedreservedreservedXINT Zone 0 (8K)XINT Zone 1 (8K)XINT Zone 2 (0.5M)XINT Zone 6 (0.5M)XINT

21、Zone 7 (16K)MP/MC=1XINT Vector-RAM (32)MP/MC=1 ENPIE=0reservedreservedreservedreserved3FF0003FFCC0:数学表和功能3FFCC03FFFC0:引导装载功能3FFFC03FFFFF:复位向量以及CPU向量表唯一能从内部引导ROM操作向量的是位于3FFFC0的复位向量,他是厂家编程的,指向初始化引导函数(InitBoot),该函数用于启动引导操作Code Security Module 保护知识产权 用户自定义密码128bit 映射到存储空间:0 x00 0AE0 0 x00 0AE7 寄存器受到EALL

22、OW保护 128-bits = 2128 = 3.4 x 1038 1次/2cycle 猜测所有的密码需要1.4*10E23 年reservedreservedC28x Fast Interrupt Response ManagerC28x / C24x ModesReset Bootloader第三部分:第三部分:C2000 InterruptC28x 中断源 2个不可屏蔽中断 /RS NMI 14个可屏蔽中断 (INT1 INT14)C28X 复位中断Reset Boot LoaderBootloader 模式Reset 引导过程C28X 中断源可屏蔽中断处理过程中断标志寄存器 (IFR)

23、中断使能寄存器 (IER)中断全局使能 INTM用来做全局的使能/禁止中断: 使能: INTM = 0 禁止: INTM = 1 (reset value) INTM只能被汇编语言修改:Peripheral Interrupt Expansion - PIE101(TINT1 / XINT13)(TINT2)PIE 寄存器reservedreservedreserved#include “DSP28_Device.h” PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; /manually set IFR for XINT1 in PIE group 1 PieCtrlReg

24、s.PIEIER3.bit.INTx5 = 1; /enable CAPINT1 in PIE group 3 PieCtrlRegs.PIEACK.all = 0 x0004; /acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; /enable the PIE884复位时默认中断向量表PIE Vector Mapping (ENPIE = 1)CPU vectors are remapped to 0 x00 0D00 in Data spacePIE vector space - 0 x00 0D00 256 Wo

25、rd memory in Data space RESET and INT1-INT12 vector locations are Re-mappedF2812/10 PIE Interrupt Assignment TableDevice Vector Mapping -Summary中断响应过程第四部分:第四部分:C2000 内存内存映射映射/BOOTROMTMS320F2812 内存映射reservedreservedreservedreservedreservedreservedreservedXINT Zone 0 (8K)XINT Zone 1 (8K)XINT Zone 2 (0

26、.5M)XINT Zone 6 (0.5M)XINT Zone 7 (16K)MP/MC=1XINT Vector-RAM (32)MP/MC=1 ENPIE=0reservedreservedreservedreservedTMS320F2812片内ROM MAPC28x 初始化引导汇编程序Init BootRESET初始化器件:OBJMODE = 1AMODE = 0M0M1MAP = 1DP = 0OVM = 0SPM = 0SP = 0 x00 0400 Dummy Read CSM passwordsCall BootModeSelectExitBootFlash 的启动顺序SCAN

27、 GPIOPasswords (8)C start routine“rts2800_ml.lib”“user” code sectionsF2812 Flash Memory Map加速 Flash 执行速度流水线reservedCCS编程插件Code Security Module (CSM)受CSM保护的存储区:L0、L1、OTP、Flash在受保护区域里面运行的程序才能读写限制区的数据任何其他的数据读写都被拒绝:JTAG 调试, ROM 引导, 运行在片外或者片内非保护区的程序reservedreservedCSM RegistersCSM的安全解锁 上电或者复位的时候CSM被锁的 CS

28、M的解锁: 对FLASH的每个密码执行一次哑读操作(8次) 往8个KEY寄存器写入正确的密码 新的Flash器件 (PWL 都是 0 xFFFF): 对PWL进行一次读写,使得器件工作在非锁定模式volatile int *CSM=0 x000AE0;volatile int *PWL=0 x3F7FF8;volatile int tmp;Int I;/哑读密码位置8次For (i=0;i10的空闲周期=10;10的空闲周期地址帧跟随10bit或更多位空闲周期后第一个数据帧 SPSTAddr空闲周期10地址位唤醒方式 所有帧都包含一个额外的地址位,判决地址/数据 当地址位被检测到的时候唤醒 只

29、要在SCITXBUF写入地址前置位TXWAKE=1,自动设置帧内数据/地址的设定Last DataSTSTDataSCIRXD/SCITXDBlock of Frames SPSPLast DataSTAddr SP空闲周期无特别限制块中首个帧是地址位地址位=1第一个数据帧0100 SPSTAddr1SP在停止位前无额外的空闲位SCI-A 寄存器AddressRegisterName0 x007050SCICCRSCI-A 通信控制寄存器通信控制寄存器0 x007051SCICTL1SCI-A 控制寄存器控制寄存器10 x007052SCIHBAUDSCI-A 波特率寄存器,高位波特率寄存器,

30、高位0 x007053SCILBAUDSCI-A 波特率寄存器,低位波特率寄存器,低位0 x007054SCICTL2SCI-A 控制寄存器控制寄存器20 x007055SCIRXSTSCI-A 接受状态寄存器接受状态寄存器0 x007056SCIRXEMUSCI-A 接受仿真数据寄存器接受仿真数据寄存器0 x007057SCIRXBUFSCI-A 接受数据寄存器接受数据寄存器0 x007059SCITXBUFSCI-A 发送数据寄存器发送数据寄存器0 x00705ASCIFFTXSCI-A FIFO 发送寄存器发送寄存器0 x00705BSCIFFRXSCI-A FIFO 接受寄存器接受寄存

31、器0 x00705CSCIFFCTSCI-A FIFO 控制寄存器控制寄存器0 x00705FSCIPRISCI-A 极性控制极性控制 寄存器寄存器SCI-A 通信控制寄存器 SCICCR0 x007050ADDR/IDLEMODESTOPBITSEVEN/ODDPARITYPARITYENABLELOOP BACKENABLESCICHAR2SCICHAR1SCICHAR00 = 1 Stop bit1 = 2 Stop bits0 = Odd1 = Even0 = Disabled1 = Enabled0 = Disabled1 = Enabled0 = Idle-line mode1 =

32、 Addr-bit mode76543210# of data bits = (binary + 1)e.g. 110b gives 7 data bitsSCI-B Communications Control Register (SCICCR) 0 x007750SCI-A 控制寄存器 1SCICTL1 0 x007051TXWAKEreservedRX ERRINT ENASWRESETreservedSLEEPTXENARXENA0 = Receive Error Interrupt disabled1 = Receive Error Interrupt enabledWrite 0

33、= Reset SCIWrite 1 = release from ResetTransmitter wakeup method select1 = wakeup mode depends on SCICCR.30 = no wakeup mode 765432100 = sleep mode disabled1 = sleep mode enabled0 = transmitter disabled1 = transmitter enabled0 = receiver disabled1 = receiver enabledSCI-A 波特率寄存器BAUD15(MSB)BAUD14Baud-

34、Select MSbyte Register (SCIHBAUD) 0 x00705276543210BAUD13BAUD12BAUD11BAUD10BAUD9BAUD8BAUD6Baud-Select LSbyte Register (SCILBAUD) 0 x00705376543210BAUD5BAUD4BAUD3BAUD2BAUD1BAUD7BAUD0(LSB)SCI baud rate =LSPCLK(BRR + 1) x 8LSPCLK16,BRR = 1 to 65535,BRR = 0SCI-B Baud-Select MSbyte Register (SCIHBAUD) 0

35、x007752SCI-B Baud-Select LSbyte Register (SCILBAUD) 0 x007753TXRDYTX EMPTYRX/BKINT ENASCI-A 控制寄存器 2SCICTL2 0 x0070540TXINT ENA1765 - 2reservedSCI TX READY 0 = SCITXBUF is full 1 = SCITXBUF is emptySCI TX EMPTY0 = TXBUF or shift register are loaded with data1 = Transmit buffer and shift register both

36、 emptyreserved15 - 8SCI-B Control Register 2(SCICTL2) 0 x007754SCI TX INT ENA 0 = Disable TXRDY interrupt 1 = Enable TXRDY interruptSCI RX/BK INT ENA 0 = Disable RXRDY/BRKDT interrupt 1 = Enable RXRDY/BRKDT interruptSCI-A 接受状态寄存器SCIRXST 0 x007055SCI-B Receiver Status Register (SCIRXST) 0 x007755OERX

37、ERRORRXRDYBRKDTFEPERXWAKEreserved0 = No error flags set1 = Error flag(s) set0 = no new character in SCIRXBUF1 = new character in SCIRXBUF1 = Break condition occurred0 = no break condition 765432101 = Framing Error detected1 = Overrun Error detected1 = Parity Error detected1 = Receiver wakeup conditi

38、on detectedSCI-A FIFO 发送寄存器SCIFFTX 0 x00705A0TXFFIL2SCIFFENATXFFST0TXFFST3TXFFIENA123456789101112131415TXFFIL0TXFFIL1TXFFIL4TXFFIL3TXFFST1TXFFINTCLRTXFFST2TXFFINTTXFFST4TXFIFORESETSCIRSTTX FIFO Status (read-only)00000TX FIFO empty00001TX FIFO has 1 word00010TX FIFO has 2 words00011TX FIFO has 3 word

39、s10000TX FIFO has 16 words.TX FIFO Interrupt LevelInterrupt when TXFFST4-0and TXFFIL4-0 matchSCI FIFOEnhancements0 = disable1 = enableTX FIFO Reset0 = reset (pointer to 0)1 = enable operationTX FIFOInterrupt(on match)Enable0 = disable1 = enableTX FIFOInterruptFlag (read-only)0 = not occurred1 = occu

40、rredTX FIFOInterruptFlag Clear0 = no effect1 = clearSCI Reset0 = reset1 = enable operationSCI-A FIFO 接受寄存器SCIFFRX 0 x00705B0RXFFIL2RXFF-OVF CLRRXFFST0RXFFST3RXFFIEN123456789101112131415RXFFIL0RXFFIL1RXFFIL4 RXFFIL3RXFFST1RXFFINTCLRRXFFST2RXFFINTRXFFST4RXFIFORESETRXFF-OVFRX FIFO Status (read-only)000

41、00RX FIFO empty00001RX FIFO has 1 word00010RX FIFO has 2 words00011RX FIFO has 3 words10000RX FIFO has 16 words.RX FIFO Interrupt LevelInterrupt when RXFFST4-0and RXFFIL4-0 matchRX FIFO Reset0 = reset (pointer to 0)1 = enable operationRX FIFOInterrupt(on match)Enable0 = disable1 = enableRX FIFOInter

42、ruptFlag (read-only)0 = not occurred1 = occurredRX FIFOInterruptFlag Clear0 = no effect1 = clearRX FIFOOverflowFlag (read-only)0 = no overflow1 = overflowRX FIFOOverflowFlag Clear0 = no effect1 = clearSCI-A FIFO 控制寄存器SCIFFCT 0 x00705C0ABDCLR123456789101112131415CDCABDFFTXDLYTime delay between every

43、transfer from FIFOto transmit shift register in number of SCI baud clock cycles( 0 to 255 )CDC calibrate A0 = disabled auto-baud alignment1 = enables auto-baud alignmentAuto BauddetectionFlag (read-only)0 = not complete1 = completeAuto BauddetectionFlag Clear0 = no effect1 = clearreserved第五部分:第五部分:F

44、2812增强型增强型区域网络控制器区域网络控制器(CAN)CAN的特征u多主机总线访问u带冲突避免的随机访问(CSMA)u短帧结构,08个字节的数据长度u传输速度从 100KBPS 到 1MBPSu远传输距离u自动重发机制u优化的EMC抗电子干扰干扰特性u可靠的错误处理和检错机制CAN的实现以及分类 Communication is identical for all implementations of CAN. However, there are two principal hardware implementations and two additional versions of d

45、ata formats :CAN-ImplementationFull-CANBASIC-CANBASIC-CAN、FULL-CAN-一个发送缓冲器一个发送缓冲器-2个接受缓冲器个接受缓冲器-一个消息接受过滤器一个消息接受过滤器-软件路由选择软件路由选择-提供一个消息服务器提供一个消息服务器-扩展的消息接受过滤器扩展的消息接受过滤器-可编程邮箱可编程邮箱-高级错误检测高级错误检测 BASIC-CANFull-CANCAN的数据格式 CAN-Version 2.0A11位标识符位标识符CAN-Version 2.0B 29位表示符位表示符Standard-CANExtended-CANCAN的数

46、据帧 Identifier11 bitsstart1 bitEOF + IFS10 bitsACK2 bitsCRC15 bitsdata0.8 byteDLC4 bitsr01 bitr11bitRTR1bitSRR1bitIDE1bitIdentifier18bitDATA-Frame CAN 2.0A ( 11-bit-identifier )DATA-Frame CAN 2.0B ( 29-bit-identifier )CAN 数据帧结构帧起始:帧起始:标志数据帧和远程帧的起始,仅由一个“显性”位组成仲裁场仲裁场 : 标准帧标准帧CAN 2.0A :11 标识符RTR 位组成。识别符

47、位由ID-28ID-18 扩展帧扩展帧CAN 2.0B:29 标识符,、SRR 位、IDE 位、RTR 位。其识别符由ID-28. ID-0。控制场:控制场: 标准格式:标准格式:帧包括数据长度代码、IDE 位(为显性位,见上文)、及保留位r0 扩展格式:扩展格式:的帧包括数据长度代码和两个保留位:r1 和r0。其保留位必须发送为显性,但是接收器认可“显性”和“隐性”位的组合。数据场数据场 :最大8个字节的消息 ;0字节数据也被允许CRC 场场:CRC冗余检查 :包含一个由 CRC多项式产生的校验和应答场:应答场:应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)。当接收器

48、正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT)期间(发送ACK 信号)向发送器发送一“显性”位以示应答。帧结尾帧结尾:包含应答 , 错误信息, 消息结束CAN 帧格式 开始位开始位(1 bit): 只在总线空闲时才允许站开始发送(信号)。所有的站必须同只在总线空闲时才允许站开始发送(信号)。所有的站必须同步于首先开始发送信息的站的帧起始前沿步于首先开始发送信息的站的帧起始前沿标识符标识符 标识消息名称和优先级标识消息名称和优先级 ;数值越低优先级越高。数值越低优先级越高。11bit(ID28-ID18);18bit(ID17-ID0)+11bitRTR (1 bit) : 远

49、程请求发送远程请求发送 ; if RTR=1 (隐性隐性) 帧内无有效数据帧内无有效数据 请求接收请求接收端发送数据端发送数据 (数据帧显性,远程帧隐性)数据帧显性,远程帧隐性)IDE (1 bit) : 扩展标识符扩展标识符 ; if IDE=1 ,扩展帧,扩展帧 r0 (1 bit) :保留保留CDL(4 bit) : 数据长度编码数据长度编码 08data(0.8 byte ) : 数据场数据场CRC(15 bit ) : 冗余校验冗余校验 ; 只检测错误无校正只检测错误无校正 ; 海明距离海明距离 6 ACK (2 bit) : 应答应答; 每个接收到无错信息的接受者每个接收到无错信息

50、的接受者 ( CRC !) 必须先在应答间必须先在应答间隔(隔(ACK SLOT)传输一个应答位)传输一个应答位EOF (7 bit = 1,隐性,隐性) : 帧结束帧结束 ; 5个隐位之后自动一个填充位个隐位之后自动一个填充位IFS( 3 bit = 1 隐性隐性 ) : 帧间空间帧间空间 ; 用于把数据帧或远程帧与当前帧分离用于把数据帧或远程帧与当前帧分离SRR(1 bit = 隐性隐性) : 替代远程帧替代远程帧 ; 它在扩展格式的标准帧它在扩展格式的标准帧RTR 位位置,因位位置,因此代替标准帧的此代替标准帧的RTRr1(1 bit ): 保留保留远程帧远程帧 错误帧错误帧 过载帧过载

51、帧远程帧远程帧:帧起始、仲裁场、控制场、CRC 场、应答场、帧结尾 RTR隐性 没有数据场,数据长度代码的数值是不受制约(0-8任何值)错误帧错误帧 2个不同的场组成:不同站提供的错误标志(ERROR FLAG)和错误界定符 2类错误标志:主动错误标志(6个连续显性)和被动错误标志(6个连续隐性)过载帧过载帧 2个位场:过载标志和过载界定符 3个条件: 接收器的内部情况(此接收器对于下一数据帧或远程帧需要有一延时) 在间歇的第一和第二字节检测到一个“显性”位。 如果CAN 节点在错误界定符或过载界定符的第8 位(最后一位)采样到一个显性位,节点会发送一个过载帧(不是错误帧)。错误计数器不会增加

52、。CAN 数据帧控制场 A-BDLC 数据长度编码CAN 的标准CAN是开放式的系统是开放式的系统 CAN标准来至于标准来至于 ISO-OSI 开放互联系统的开放互联系统的7层层 在汽车通信网络中实现了在汽车通信网络中实现了1、2和和7层(对象层、传输层、物层(对象层、传输层、物理层)理层) 物理层没有被标准化物理层没有被标准化The ISO-Standards : CAN : ISO 11519 - 2 :layer 2 , layer 1 (top) CAN : ISO 11898 : layer 1 (bottom) VAN : ISO 11519 - 3 : layer 2 , lay

53、er 1 J1850 : ISO 11519 - 4 : layer 2 , layer 1ISO-OSI开放互联协议 规定通讯介质的物理特性。如:电气特性和信号交换的解释 消息格式以及传输链路CSMA/CA 访问协议 用户、软件、网络终端CAN 节点的层结构 数据链路层 逻辑链路控制子层(LLC) 为远程数据请求以及数据传输提供服务。 确定由实际要使用的LLC 子层接收哪一个报文。 为恢复管理和过载通知提供手段。 媒体访问控制子层(MAC) 控制帧结构、执行仲裁、错误检测、出错标定、故障界定 总线上什么时候开始发送新报文及什么时候开始接收报文 位定时 物理层 不同节点之间根据所有的电气属性进

54、行位的实际传输。 同一网络的物理层对于所有的节点当然是相同的。总线访问程序Send MessageEndlisten to busbusabhrenbusempty ?transmit &receiveCollisionabort transmittime delaynoyesyesnoCSMA /CD:Carrier SenseMultipleAccess withCollision DetectionNote : This Procedure is NOT used for CAN !Why ?CAN BUS CSMA/CDnode Anode Bbus lineTxRxTxRxstart

55、id10id9id8id7id6CSMA/ CA = 带冲突避免的载波侦听多路访问 如果有冲突则赢者占用总如果有冲突则赢者占用总线线 高优先级的消息不延时高优先级的消息不延时越低的标识符优先级越高越低的标识符优先级越高发送监控电平一致优先级发送监控电平一致优先级高,不一致退出高,不一致退出非破坏性的位判断控制访非破坏性的位判断控制访问问CSMA/CA (cont.) 如果在仲裁长有冲突则低优先级取消发送如果在仲裁长有冲突则低优先级取消发送 高优先级的节点可以继续发送数据高优先级的节点可以继续发送数据 同时多个节点发送同时多个节点发送“线与线与”仲裁仲裁 node 1 node 2 node 3

56、 high : reccessive low : dominant node 1 node 2 node 3 bus high high high high high low high low low low high low Vcc R CAN 物理层node 1node 30120Ohm120OhmCAN_HCAN_LV oltagetim e2,5V3,5V1,5VC A N _HC A N _Lrecessivedom inantrecessicveC A N high-speed , nom inal bus levelsCAN 高速节点DSP with on-chipCAN mod

57、uleCAN TransceiverCAN BUSTxdRxdCAN_LCAN_HSN65HVD23X CAN 错误检测 所发送的位值与所监视的位值不相符合( 仲裁和应答间隙除外 )如果在使用位填充法进行编码的信息中,出现了第6 个连续相同的位电平时,将检测到一个填充错误。( 结束帧除外 )接收到的CRC校验和不匹配当一个固定形式的位场含有1 个或多个非法位,则检测到一个形式错误。(备注:接收器的帧末尾最后一位期间的显性位不被当作帧错误)在应答间隙发送器没有收到显性位: 消息没有被任何节点节接受CAN 错误处理 errorhandlingerrordetectionerrormanaginge

58、rrorlimitation在一个节点检测到一个错误之后, 所有其他的站由此检测到错误条件并与此同时开始发送错误标志。因此,“显性”位的序列导致一个结果,这个结果就是把个别站发送的不同的错误标志叠加在一起。这个序列的总长度最小为6 个位,最大为12 个位。错误检测检测到错误条件的节点都发送错误帧最后收到的消息将被所有节点丢弃错误计数器加1原始的报文重新发送CAN 错误状态 errorhandlingerrordetectionerrormanagingerrorlimitationerroractiveerror passivebusoff* 目的目的: 为了避免错误引起的长期干扰,为了避免错

59、误引起的长期干扰,需要关闭错误的节点需要关闭错误的节点* 错误的三个状态错误的三个状态 :主动错误主动错误 : “错误主动”的单元可以正常地参与总线通讯并在错误被检测到时发出主动错误标志。被动错误被动错误 : “错误被动”的单元不允许发送主动错误标志。“错误被动”的单元参与总线通讯,在错误被检测到总线关闭总线关闭 : 这个节点独立于CAN , 发送和接受都被禁止, 节点不能够发送错误帧,只能通过reset才能脱离总线关闭状态CAN 错误计算器 error passiveerror activebus offREC 127andTEC 127 or127TEC 255 reset or init node 2个错误状态计数器个错误状态计数器 : Possible situations :a) 发送位发送一错误标志发送位发送一错误标志: TEC:=TEC + 8b) 接收器检测到一个错误接收器检测到一个错误: REC:=REC + 1c) 在发送一个错误标志之后接受器接受到一个在发送一个错误标志之后接受器接受到一个错误错误: REC:=REC + 8d) 再发送一个错误帧期间节点检测一个错误再发送一个错误帧期间节点检测一个错误: TEC:=TEC+ 1e) 成功发送成功发送:TEC:=TEC - 1f) 接受成功接受成功 : REC:=REC - 1F281X CAN 特征 完全兼容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论