datasheet
超过460,000+ 应用技术资源下载
pdf

TMS320F28335

  • 1星
  • 日期: 2017-02-07
  • 大小: 2.77MB
  • 所需积分:1分
  • 下载次数:3
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: TMS320F28335

TMS320F28335

SEED-DEC28335 用户指南 2008 DSP Development Systems SEED-DEC28335 用户指南 TMS320C28335 嵌入式 DSP 控制模板 版本号:B 2008.8 http://www.seeddsp.com i 声明 北京合众达电子技术有限责任公司保留随时对其产品进行修正、改进和完善的权利,同时 也保留在不作任何通告的情况下,终止其任何一款产品的供应和服务的权利。用户在下订单前应 获取相关信息的最新版本,并验证这些信息是当前的和完整的。 版权© 2008,北京合众达电子技术有限责任公司 ii 前言 阅前必读 简介: 本用户指南是 TMS320F28335 嵌入式 DSP 控制模板硬件使用说明书,详细描述了 SEED-DEC28335 的硬件构成、原理,以及它的使用方法和编程指导。 保修: 所有由北京合众达电子技术有限责任公司生产制造的硬件和软件产品,保修期为从发货 之日起壹年。在保修期内由于产品质量原因引起的损坏,北京合众达电子技术有限责任公司 负责免费维修或更换。当在保修期内软件进行了升级,北京合众达电子技术有限责任公司将 免费提供。 参考资料: TMS320F28x DSP CPU and Instruction Set Reference Guide(文献号 SPRU430): 介绍 TMS320F28x 系列 DSP 的 CPU 结构、指令组、流水线及中断。 TMS320C28x Floating Point Unit and Instruction Set Reference Guide (文献号 SPRUEO2)介绍浮点单元和FPU指令集。 TMS320x28xx, 28xxx Peripheral Reference Guide(文献号 SPRU566):介绍 TMS320F28x 系列 DSP 的外设。 TMS320x2833x System Control and Interrupts Reference Guide ( 文 献 号 SPRUFB0):介绍 TMS320F2833x 系列 DSP 的系统控制和中断。 TMS320x2833x Analog-to-Digital Converter (ADC) Reference Guide(文献号 SPRU812):介绍如何使用 TMS320F2833x 系列 DSP 片内 12 位流水线 AD 模块。 TMS320x2833x External Interface (XINTF) User's Guide(文献号 SPRU949):介 绍 TMS320F2833x 系列 DSP 的外部存储器接口。 TMS320x2833x Boot ROM User's Guide(文献号 SPRU963):描述 TMS320F2833x 片上 ROM 中的 Bootloader 程序的特点和操作。 iii TMS320x2833x Multichannel Buffered Serial Port (McBSP) User's Guide(文献号 SPRUFB7):介绍 TMS320F2833x 系列 DSP 片上的多通道缓冲型同步串口(McBSP)。 TMS320x2833x Direct Memory Access (DMA) Reference Guide ( 文 献 号 SPRUFB8):介绍 TMS320F2833x 系列 DSP 片上的 DMA。 TMS320x28xx, 28xxx Enhanced Pulse Width Modulator (ePWM) Module Reference Guide(文献号 SPRU791):介绍 DSP 片上的增强型脉宽调制模块(ePWM)。 TMS320x28xx, 28xxx High-Resolution Pulse Width Modulator (HRPWM)(文献号 SPRU924):介绍高分辨率的脉宽调制模块(HRPWM)。 TMS320x28xx, 28xxx Enhanced Capture (eCAP) Module Reference Guide(文献 号 SPRU807):介绍增强型捕获模块的操作(eCAP)。 TMS320x28xx, 28xxx Enhanced Controller Area Network (eCAN) Reference Guide(文献号 SPRU074):介绍 DSP 片上的增强型 CAN 总线控制器。 TMS320x28xx, 28xxx Serial Communication Interface (SCI) Reference Guide(文 献号 SPRU051):介绍 TMS320F28x 系列 DSP 片上的异步串口(SCI)。 TMS320x28xx, 28xxx Serial Peripheral Interface (SPI) Reference Guide(文献号 SPRU059):介绍 TMS320F28x 系列 DSP 片上的高速同步串行输入/输出口(SPI)。 TMS320x28xx, 28xxx Inter-Integrated Circuit (I2C) Reference Guide(文献号 SPRU721):介绍 TMS320x28xxx 系列 DSP 片上的 I2C 模块(I2C)。 TMS320F28335, TMS320F28334, TMS320F28332 Digital Signal Controllers (DSCs) Data Manual(文献号 SPRS439):描述 TMS320F2833x 32-位浮点 DSP 特点、 电气指标、时序,以及引脚封装等。 TMS320F28x Assembly Language Tools User’s Guide(文献号 SPRU513):描 述 TMS320F28x 系列 DSP 的汇编语言工具(汇编器、链接器和其他开发汇编语言程序的 工具),汇编器命令、宏命令、通用目标文件格式(COFF)和符号调试命令等。 TMS320F28x Optimizing C/C++ Compiler User’s Guide(文献号 SPRU514): 描述 TMS320F28x 系列 DSP 的 C/C++编译器和汇编优化器。此 C/C++编译器将标准的 ANSI C/C++源程序编译为 TMS320F28x 系列 DSP 的汇编源程序,汇编优化器则帮助你 优化你的汇编源程序。 SP202EEN:描述 SP202EEN RS232 协议收发器芯片的特点、电气指标、时序,以及 引脚封装等。 iv SN65HVD230:描述 SN65HVD230 CAN 总线收发器芯片的特点、电气指标、时序, 以及引脚封装等。 SN65HVD08:描述 SN65HVD08 RS485 协议收发器芯片的特点、电气指标、时序, 以及引脚封装等。 CY7C68001:描述 CY7C68001 智能 USB2.0 引擎芯片的特点、电气指标、时序,以 及引脚封装等。 AD5725:描述 AD5725 单片 4 通道 12-位 D/A 芯片的特点、电气指标、时序,以及引 脚封装等。 ISL12026:描述 ISL12026 实时时钟 + 512×8-位 EEPROM 芯片的特点、电气指标、 时序,以及引脚封装等。 商标: SEED 是北京合众达电子技术有限责任公司的注册商标。 TI、XDS510 是 Texas Instruments 的注册商标。 v 更多帮助: … 网址: http://www.seeddsp.com … 合众达总公司 地址: 北京市海淀区中关村南大街 12 号寰太大厦 1201 号 邮编: 100081 电话: 010-59796855 传真: 010-62161218 … 北京分公司 地址: 北京市海淀区中关村南大街 12 号寰太大厦 1201 号 邮编: 100081 电话: 010-59796855 传真: 010-51518866 E-mail: beijing@seeddsp.com … 天津办事处 地址: 天津市河西区气象台路 48 号增 1 号先特写字楼 506 室 邮编: 300074 电话: 022-23556617 传真: 022-23556617 E-mail: tianjin@seeddsp.com … 哈尔滨办事处 地址: 哈尔滨市南岗区文君街 69 号文君花园 E 栋 5 单元 301 邮编: 150001 电话: 0451-86203773 手机: 13796604918 E-mail: leon@seeddsp.com … 上海分公司 地址: 上海市黄浦区成都北路 500 号峻岭广场 2208 室 邮编: 200003 电话: 021-63276977 传真: 021-63270962 E-mail: shanghai@seeddsp.com vi … 杭州办事处 地址: 杭州市西湖区文二路 207 号耀江文欣大厦 1209 室 邮编: 310012 电话: 0571-88259367 传真: 0571-88259357 E-mail: hangzhou@seeddsp.com … 深圳分公司 地址: 深圳市福田区泰然工贸园苍松大厦北座 3A02 室 邮编: 518027 电话: 0755-33981828 传真: 0755-33981838 E-mail: shenzhen@seeddsp.com … 广州办事处 地址: 广州市天河区天河北路 615 号鸿翔大厦天麟第 1808 室 邮编: 510630 电话: 020-38473795 020-38473796 传真: 020-38473798 E-mail: guangzhou@seeddsp.com … 香港分公司 地址: 香港九龍觀塘開源道 48 號威利廣场 22 楼 2208 室 电话: +852-34268098 34268099 传真: +852-34264806 E-mail: seedhk@seeddsp.com … 南京分公司 地址: 南京市中山东路 218 号长安国际中心 2601 室 电话: 025-84650405 84650406 传真: 025-84650557 邮编: 210002 E-mail: nanjing@seeddsp.com … 合肥办事处 地址: 合肥市金寨路 93 号鸿基广场 504 室(中科大东区正大门对面) 电话: 0551-3668853 3668854 传真: 0551-3668853-808 邮编: 230026 E-mail: hefei@seeddsp.com vii … 成都办事处 地址: 人民南路 3 段林荫街华西大厦 A 座 602 室 电话: 028-85441353 85431123 传真: 028-85458130 邮编: 610041 E-mail: chengdu@seeddsp.com … 武汉办事处 地址: 湖北省武汉市武昌街道口珞珈山路一号珞珈山大厦 B 座 1511 室 电话: 027-87660475 87660480 传真: 027-87660480-8809 邮编: 430070 E-mail: wuhan@seeddsp.com … 长沙办事处 地址: 湖南长沙河西岳麓区银盆南路 357-3 号威胜大厦 B 座 602 室 电话: 0731-8906758 传真: 0731-8906758 邮编: 410018 E-mail: xusong@seeddsp.com … 西安办事处 地址: 陕西西安市长安中路 239 号通瑞大厦 466 室 电话: 029-85248062 88562762 85361239 传真: 029-85248062 邮编: 710061 E-mail: xian@seeddsp.com viii 目录 入门................................................................................................................................... 1 1.1 特点 ............................................................................................................. 1 1.2 功能框图 ...................................................................................................... 2 1.3 概述 ............................................................................................................. 2 1.4 技术指标 ...................................................................................................... 3 TMS320F28335 基本系统 ................................................................................................. 4 2.1 TMS320F28335 时钟................................................................................... 4 2.1.1 CPU 时钟.............................................................................................. 4 2.1.2 片上外设时钟 ........................................................................................ 5 2.2 TMS320F28335 存贮空间的配置 ................................................................. 8 2.2.1 2.2.2 ‘F28335 片上 SARAM......................................................................... 10 ‘F28335 片上 FLASH 和 OTP ............................................................. 11 2.2.3 ‘F28335 外部存储器接口..................................................................... 11 2.2.4 外扩的控制/状态寄存器 .................................................................... 12 2.2.5 扩展总线存储空间映射........................................................................ 13 2.2.6 SRAM 的存储空间映射 ....................................................................... 13 2.3 McBSP....................................................................................................... 13 2.3.1 2.3.2 McBSP 的操作.................................................................................... 13 McBSP 引脚和信号............................................................................. 15 2.4 I2C ............................................................................................................. 15 2.4.1 IIC 概述............................................................................................... 16 2.4.2 I2C 特点.............................................................................................. 16 2.5 SCI............................................................................................................. 17 2.5.1 SCI 概述 ............................................................................................. 17 2.5.2 2.5.3 SCI 特点 ............................................................................................. 17 SCI 引脚和信号................................................................................... 17 2.6 CAN ........................................................................................................... 18 2.6.1 CAN 概述............................................................................................ 18 2.6.2 CAN 特点............................................................................................ 19 2.6.3 CAN 引脚和信号 ................................................................................. 19 2.7 ADC ........................................................................................................... 19 2.7.1 2.7.2 ADC 特点............................................................................................ 20 ADC 的管脚和信号 ............................................................................. 20 2.7.3 ADC 转换步骤..................................................................................... 21 2.8 DMA........................................................................................................... 21 2.8.1 DMA 概述 ........................................................................................... 21 ix 2.9 定时器........................................................................................................ 22 2.10 增强型脉宽调制模块 .................................................................................. 23 2.10.1 PWM 概述........................................................................................... 23 2.10.2 PWM 的管脚和信号 ............................................................................ 24 2.11 高分辨率脉宽调制模块(HRPWM).......................................................... 25 2.12 增强型捕获模块 ......................................................................................... 25 2.12.1 CAP 概述 ............................................................................................ 25 2.12.2 CAP 的管脚和信号.............................................................................. 26 2.13 增强型正交编码脉冲模块 ........................................................................... 27 2.13.1 正交编码脉冲概述........................................................................ 27 2.13.2 QEP 的管脚和信号 ............................................................................. 28 2.14 复位与中断................................................................................................. 28 2.14.1 ‘F28335 中断的概述............................................................................ 28 2.14.2 ‘F28335 复位操作 ............................................................................... 37 2.14.3 SEED-DEC28335 的复位与中断的实际使用....................................... 43 2.15 JTAG ......................................................................................................... 44 2.16 ‘F28335 工作方式的配置............................................................................ 44 UART 接口 ...................................................................................................................... 45 3.1 异步串口接口电平 ...................................................................................... 45 USB 接口 ........................................................................................................................ 46 4.1 CY7C68001 概述 ....................................................................................... 46 4.2 CY7C68001 命令口的读/写操作 .............................................................. 46 4.2.1 命令口的命令字 .................................................................................. 47 4.2.2 CY7C68001 寄存器写操作.................................................................. 48 4.2.3 CY7C68001 寄存器读操作.................................................................. 48 4.2.4 CY7C68001 寄存器 ............................................................................ 49 4.3 ‘F28335 接口 CY7C68001 ......................................................................... 50 4.3.1 USB 状态/命令口.............................................................................. 51 4.4 USB 的初始化 ............................................................................................ 52 4.5 USB 的编程: ............................................................................................ 52 4.5.1 HOST 端 ............................................................................................. 52 4.5.2 ’F28335 端 .......................................................................................... 53 电机控制接口 .................................................................................................................. 54 D/A 输出.......................................................................................................................... 56 6.1 AD5725 概述.............................................................................................. 56 6.2 ‘F28335 接口 AD5725................................................................................ 57 实时时钟.......................................................................................................................... 58 7.1 ISL12026 概述 ......................................................................................... 58 7.1.1 IIC 总线............................................................................................... 58 x 7.1.2 7.1.3 对 ISL12026 的寻址 ............................................................................ 59 ISL12026 片内 CCR 寄存器的映射 ..................................................... 61 扩展总线.......................................................................................................................... 63 8.1 存储器扩展总线 ......................................................................................... 63 8.2 外设扩展总线 ............................................................................................. 65 8.3 SEED-DEC28335 扩展总线 ....................................................................... 65 测试程序.......................................................................................................................... 71 9.1 存贮器系统的测试 ...................................................................................... 72 9.1.1 SRAM 测试过程.................................................................................. 72 9.2 A/D 的测试 ................................................................................................. 73 9.2.1 A/D 的测试过程................................................................................... 73 9.3 UART 的测试 ............................................................................................. 74 9.3.1 UART 的测试过程............................................................................... 75 9.4 McBSP 的测试 ........................................................................................... 76 9.4.1 McBSP 的测试过程............................................................................. 76 9.5 PWM 及 EQEP 的测试............................................................................... 77 9.5.1 PWM 的测试过程................................................................................ 77 9.6 D/A 的测试 ................................................................................................. 78 9.6.1 D/A 的测试过程................................................................................... 79 9.7 I2C 的测试 ................................................................................................. 80 9.7.1 RTC 的测试过程 ................................................................................. 80 9.8 CAN 的测试 ............................................................................................... 81 9.8.1 CAN 的测试过程 ................................................................................. 81 9.9 USB 的测试................................................................................................ 82 9.9.1 USB 的测试过程 ................................................................................. 83 9.10 FLASH BOOT 的测试 ................................................................................ 85 9.10.1 FLASH BOOT 的测试过程 .................................................................. 85 连接器、跳针、机械尺寸 ................................................................................................ 88 10.1 物理布局 .................................................................................................... 88 10.2 连接器与跳针 ............................................................................................. 89 10.2.1 J1:A 组电机控制驱动接口................................................................. 90 10.2.2 J2:B 组电机编码盘接口 .................................................................... 90 10.2.3 J3:B 组电机控制驱动接口................................................................. 91 10.2.4 J4:A 组电机编码盘接口 .................................................................... 91 10.2.5 J5:4 通道 D/A 输出口 ................................................................ 91 10.2.6 J6:存储器扩展总线(正面)............................................................. 92 10.2.7 J7:CAN 总线接口 ............................................................................. 93 10.2.8 J8:B 通道异步串口 CMOS 电平接口 ................................................ 93 10.2.9 J9:B 通道异步串行接口 .................................................................... 93 10.2.10 J10-12:选择 SCI-C 工作模式..................................................... 94 xi 10.2.11 10.2.12 10.2.13 10.2.14 10.2.15 10.2.16 10.2.17 10.2.18 10.2.19 10.2.20 10.2.21 J13:C 通道异步串行接口........................................................... 94 J14:USB 接口 ........................................................................... 95 J16:外设扩展总线(正面) ....................................................... 95 J17:复位按钮............................................................................. 96 J18:JTAG 仿真器接口 ............................................................... 96 J19:+5V 电源输入口.................................................................. 97 J20:外部手动复位接口 .............................................................. 97 J21:+5V、±15V/12V 电源输入口............................................. 97 J22:存储器扩展总线(反面).................................................... 98 J23:外设扩展总线(反面) ....................................................... 99 J24:选择 DAC 低参考电压....................................................... 100 寄存器 ........................................................................................................................... 101 A.1 USB 唤醒输出口(SUB_WAKEUP) ...................................................... 101 A.2 USB 状态寄存器(USB_STS) ............................................................... 101 A.3 MCBSP2/EQEP2 功能切换..................................................................... 102 A.4 扩展总线控制口(XBUS_CTRL) ........................................................... 102 A.5 扩展总线状态口(XBUS_STS).............................................................. 103 A.6 扩展总线页地址寄存器(XBUS_PAGE) ................................................ 103 A.7 LED2、LED1 输出口(LED_OUT)........................................................ 103 工程调试环境的建立...................................................................................................... 104 TMS320F28335 浮点库的使用 ...................................................................................... 110 xii 第1章 入门 1.1 特点: … 采用 32-位浮点 DSP TMS320F28335@150MHz,方便实现电机控制 ‹ 片上存储器: ¾ FLASH: 256K×16-位 ¾ SRAM: 34K×16-位 ¾ Boot ROM: 8K×16-位 ¾ OTP ROM: 1K×16-位 其中 FLASH、OTP ROM 和 16K×16-位 SRAM 受密码保护,保护用户程序。 ‹ 片上外设: ¾ ePWM: 12 路 ¾ HRPWM: 6路 ¾ QEP: 2 通道 ¾ ADC: 2×8 通道、12-位、80ns 转换时间、0~3V 量程 ¾ SCI 异步串口: 3 通道 ¾ McBSP 同步串口: 2 通道 ¾ SPI 同步串口: 1 通道 ¾ eCAN 总线: 2 通道 ¾ I2C 总线: 1 通道 ¾ DMA: 6 通道 ¾ 看门狗 … 外扩 SRAM,最大容量为 512K x 16 位,基本配置为 64K x 16 位 … 外扩 RTC 实时时钟 + 512×8-位 EEPROM … 外扩 4 通道、12-位分辩率、10μs 建立时间、±10V 量程的 DAC 输出 … 外扩符合 USB2.0 标准的高速客户端接口 … 2 路 SCI 进行收发驱动,接口标准一路为 RS232,另一路 RS232/RS422/RS485 可配置 … 1 路 eCAN 进行收发驱动,符合 CAN2.0 协议 … 提供电源监视、上电复位、手动复位,系统可靠、稳定 … 标准的 JTAG 接口,方便调试 … 标准化的扩展总线 … 模板尺寸为 3U 工业标准(160mm×100mm) 1 1.2 功能框图 1.3 概述 SEED-DEC28335 系统主要包含两部分,分别为 SEED-DEC28335 的硬件系统与相应 的测试软件。 在 SEED-DEC28335 中主要集成了 150M 系统时钟的 DSP、64K x 16 位的片外 SRAM、 16 路片内 12 位 A/D、12 路 PWM、2 路 UART、1 路 CAN、一路高速 USB、片外 4 通道 12-位 D/A 和串行 EEPROM+RTC 实时时钟等外设。这样使其能够应用在电机、电力等工 业控制领域。 相应的测试软件包括以下几个部分: … DSP 对片外 SRAM 及 DMA 操作示例; … DSP 片内外设 A/D 的操作示例; … DSP 片内外设 SCI 的操作示例; … DSP 片内外设 MCBSP 的操作示例; … DSP 片内外设 PWM 及 EQEP 的操作示例; … DSP 片内外设 CAN 的操作示例; … D/A 输出的操作示例; … DSP 片内外设 I2C 的操作示例; … USB 通讯的操作示例; 2 … 烧写 DSP FLASH 实现 FLASH BOOT 的操作示例; 1.4 技术指标 … 主处理器: … SRAM: … FLASH: … ROM: … A/D: … D/A: … 异步串口: … CAN 总线: … USB: … 扩展总线: … 工作温度: TMS320F28335,主频 150MHz; 片内:34K×16-位,0 等待; 片外:64K x 16 位,12ns(可扩展至 512K x 16 位); 片内:256K x16 位,36ns; 片内 Boot ROM:8K×16-位 片内 OTP ROM:1K×16-位,36ns; 片内 2×8 通道、12-位分辩率(实际测得有效位数为 8 位)、 80ns 转换时间、0~3V 量程; 片外 4 通道、12-位分辩率、10μs 建立时间、±10V 量程 一路为:RS232,另一路为 RS232/RS422/RS485 可配置 传输率:RS232:1Mbaud;RS422/RS485:9.375Mbaud 1 通道,符合 CAN2.0B 规范,最高传输率:1Mbps 1 通道,符合 USB2.0 规范,最高传输率:480Mb/s; 接口电平兼容+3.3V/+5V; 0~70℃。 3 第2章 TMS320F28335 基本系统 2.1 TMS320F28335 时钟 TMS320F28335 上有多个部件需要时钟,CPU、ADC、事件管理器等片上外设。 2.1.1 CPU 时钟 ‘F28335 的 CPU 时钟电路如下图所示: SEED-DEC28335 用 30MHz 外部晶体给’F28335 提供时钟,并使能’F28335 片上 PLL 电路。PLL 倍频系数由 PLL 控制寄存器 PLLCR 的低 4 位控制,可由软件动态地修改,外 部复位信号(XRS)将此 4 位控制位被清为 0(CCS 中的复位命令将不对此 4 位控制位作 清 0 操作),’F28335 的 CPU 最高可工作在 150MHz 主频下,也即对 30MHz 输入频率进 行 5 倍频。PLLCR 控制位与倍频系数的关系如下图所示: 4 2.1.2 片上外设时钟 需要时钟信号的片上外设有:看门狗电路 WatchDog、CPU 定时器、eCAN 总线控制 器、SCI、McBSP、I2C、EPWM、ECAP、EQEP、ADC。片上外设按输入时钟分为 4 个 组: … SYSOUTCLK 组: … OSCCLK 组: … 低速组: … 高速组: CPU 定时器、eCAN 总线 看门狗电路 SCI、SPI、McBSP,它们的输入时钟信号由 SYSOUTCLK 经低速外设分频器分频得到。 EVA/B、ADC,它们的输入时钟信号由 SYSOUTCLK 经高 速外设分频器分频得到。 各片上外设输入时钟配置如下图所示: 5 6 与 PLL、时钟配置相关的寄存器有: … PLLCR: … HISPCP: … LOSPCP: … PCLKCR: PLL 控制寄存器,用于设置 PLL 倍频系数 高速片上外设分频器,用于设置 HSPCLK 的分频系数 低速片上外设分频器,用于设置 LSPCLK 的分频系数 外设时钟控制寄存器,用于对高速、低速片上外设的运行进 行启/停控制。 7 2.2 TMS320F28335 存贮空间的配置 TMS320F28335 为哈佛结构的 DSP,存储空间的映射如下图所示: 8 ’F28335 片上有 256K×16-位的 FLASH、34K×16-位的 SRAM、8K×16-位的 Boot ROM 和 1K×16-位的 OTP ROM。 在 SEED-DEC28335 模板上还外扩了 SRAM(基本配置为 64K x 16 位,最大可配 512K x 16 位)、扩展总线(对于 SEED-DEC28335 来说,扩展总线有 4 个独立的储存空间 CE0~ CE3,每个 CEx 空间为 1M×16-位,只支持异步存储器读/写访问)和若干个控制/状态 寄存器(如 USB 接口、D/A 输出寄存器等)。 这些存储体在存储空间中的映射如下表所示: 地址范围 0x00,0000 0x00,03FF 0x00,0400 0x00,07FF 0x00,0800 0x00,1FFF 0x00,2000 0x00,3FFF 0x00,4000 0x00,4FFF 0x00,5000 0x00,5FFF 0x00,6000 0x00,6FFF 0x00,7000 0x00,7FFF 0x00,8000 0x00,8FFF 0x00,9000 0x00,9FFF 0x00,A000 0x00,AFFF 0x00,B000 0x00,BFFF 0x00,C000 0x00,CFFF 0x00,D000 数据空间 1K×16-位 片上 M0 SARAM 1K×16-位 片上 M1 SARAM 6K×16-位 片上外设寄存器块 0 保留 4K×16-位 外扩控制/状态寄存器 4K×16-位 片上外设寄存器块 3 4K×16-位 片上外设寄存器块 1 4K×16-位 片上外设寄存器块 2 4K×16-位 片上 L0 SARAM 4K×16-位 片上 L1 SARAM 4K×16-位 片上 L2 SARAM 4K×16-位 片上 L3 SARAM 4K×16-位 片上 L4 SARAM 4K×16-位 程序空间 1K×16-位 片上 M0 SARAM 1K×16-位 片上 M1 SARAM 保留 保留 16K×16-位 外扩控制/状态寄存器 保留 保留 保留 4K×16-位 片上 L0 SARAM 4K×16-位 片上 L1 SARAM 4K×16-位 片上 L2 SARAM 4K×16-位 片上 L3 SARAM 4K×16-位 片上 L4 SARAM 4K×16-位 备注 片上外设寄存器块 0 的 具体定义参见’F28335 的 Data Sheet 占 Zone 0 扩展总线总 共有 4M 空间,用分页 技术实现 片上外设寄存器块 3 的 具体定义参见’F28335 的 Data Sheet 片上外设寄存器块 1 的 具体定义参见’F28335 的 Data Sheet 片上外设寄存器块 2 的 具体定义参见’F28335 的 Data Sheet 受密码保护 受密码保护 受密码保护 受密码保护 DMA 可访问 DMA 可访问 9 0x00,DFFF 0x00,E000 0x00,EFFF 0x00,F000 0x00,FFFF 0x10,0000 0x1F,FFFF 0x20,0000 0x2F,FFFF 0x30,0000 0x33,FFF7 0x33,FFF8 0x33,FFFF 0x34,0000 0x37,FFFF 0x38,0000 0x38,03FF 0x38,0400 0x38,07FF 0x3F,8000 0x3F,8FFF 0x3F,9000 0x3F,9FFF 0x3F,A000 0x3F,AFFF 0x3F,B000 0x3F,BFFF 0x3F,E000 0x3F,FFFF 片上 L5 SARAM 4K×16-位 片上 L6 SARAM 4K×16-位 片上 L7 SARAM 1M×16-位 外扩 SRAM 1M×16-位 扩展总线 256K×16-位 片上 FLASH 128 位 片上密码区 保留 1K×16-位 TI OTP 保留 1K×16-位 用户 OTP 4K×16-位 片上 L0 SARAM 4K×16-位 片上 L1 SARAM 4K×16-位 片上 L2 SARAM 4K×16-位 片上 L3 SARAM 8K×16-位 片上 Boot ROM 片上 L5 SARAM 4K×16-位 片上 L6 SARAM 4K×16-位 片上 L7 SARAM 1M×16-位 外扩 SRAM 1M×16-位 扩展总线 256K×16-位 片上 FLASH 128 位 片上密码区 保留 11K×16-位 TI OTP 保留 1K×16-位 用户 OTP 4K×16-位 片上 L0 SARAM 4K×16-位 片上 L1 SARAM 4K×16-位 片上 L2 SARAM 4K×16-位 片上 L3 SARAM 8K×16-位 片上 Boot ROM DMA 可访问 DMA 可访问 占 Zone 6 基本配置为 64K×16-位 占 Zone 7 受密码保护 受密码保护 受密码保护 受密码保护 受密码保护 受密码保护 2.2.1 ‘F28335 片上 SARAM TMS320F28335 片内共有 34K×16-位单周期单次访问随机存储器 SARAM,分成 10 个块,它们分别称为 M0、M1、L0—L7。 M0 和 M1 块 SARAM 的大小均为 1K×16-位,当复位后,堆栈指针指向 M1 块的起始 地址,堆栈指针向上生长。M0 和 M1 段都可以映射到程序区和数据区。 10 L0—L7 块 SARAM 的大小均为 4K×16-位,既可映射到’F28335 的程序存储空间,也 可映射到’F28335 的数据存储空间,其中 L0—L3 可映射到两块不同的地址空间并且受片上 FLASH 中的密码保护,以免存放在 L0—L3 中的程序或数据,被他人非法拷贝。 2.2.2 ‘F28335 片上 FLASH 和 OTP TMS320F28335 片上有 256K×16-位嵌入式 FLASH 存储器和 1K×16-位一次可编程 EPROM(OTP)存储器,它们均受片上 FLASH 中的密码保护。FLASH 存储器由 8 个 32K ×16-位扇区组成,用户可以对其中任何一个扇区进行擦除、编程和校验,而其它扇区不变。 但是,不能在其中 1 个扇区上执行程序来擦除和编程其他的扇区。 地址 0x300000~0x307FFF 0x308000~0x30FFFF 0x310000~0x317FFF 0x318000~0x31FFFF 0x320000~0x327FFF 0x328000~0x32FFFF 0x330000~0x337FFF 0x338000~0x33FF7F 0x33FF80~0x33FFF5 0x33FFF6~0x33FFF7 0x33FFF8~0x33FFFF 程序和数据空间 SECTOR H,32K×16 位 SECTOR G,32K×16 位 SECTOR F,32K×16 位 SECTOR E,32K×16 位 SECTOR D,32K×16 位 SECTOR C,32K×16 位 SECTOR B,32K×16 位 SECTOR A,32K×16 位 当使用 CSM 后,写为 0 跳转到程序入口 128-位密码 2.2.3 ‘F28335 外部存储器接口 TMS320F28335 的外部存储器接口包括:20-位地址线,16-位数据线(或 19-位地址线, 32-位数据线)、3 个片选线及读/写控制线。这 3 个片选线映射到 3 个外部存储区域,Zone 0、6 和 7。这 3 个存储区域可以分别设置为不同的等待周期。 Zone 0 存储区域: Zone 6 存储区域: Zone 7 存储区域: 0x004000~0x004FFF,4K×16-位 0x100000~0x1FFFFF,1M×16-位 0x200000~0x2FFFFF,1M×16-位 ‘F28335 的外部存储器接口 XINTF 的详细说明和编程操作请参考《TMS320x2833x External Interface (XINTF) User's Guide》。 11 2.2.4 外扩的控制/状态寄存器 SEED-DEC28335 上配置有 USB、D/A、UART 协议和工作方式控制、扩展总线的控 制/状态信息等外设,它们被映射到’F28335 的 Zone 0 存储空间中,具体的定义如下表所 示: 功能/名字 USB FIFO2 口 USB_FIFO2 USB FIFO4 口 USB_FIFO4 USB FIFO6 口 USB_FIFO6 USB FIFO8 口 USB_FIFO8 USB 控制口 USB_CTRL USB 唤醒输出口 USB_WAKEUP USB 状态口 USB_STS 扩展总线控制口 XBUS_CTRL 扩展总线状态口 XBUS_STS 扩展总线页地址寄存器 XBUS_PAGE LED2、LED1 输出口 LED_OUT MCBSP2/EQEP2 功能切换 板卡外设复位 第 0 通道 D/A 数据口 DA_PORT0 第 1 通道 D/A 数据口 DA_PORT1 第 2 通道 D/A 数据口 DA_PORT2 第 3 通道 D/A 数据口 DA_PORT3 地址/区域 0x00,4120 Zone 0 0x00,4121 Zone 0 0x00,4122 Zone 0 0x00,4123 Zone 0 0x00,4124 Zone 0 0x00,4100 Zone 0 0x00,4100 Zone 0 0x00,40A0 Zone 0 0x00,40A0 Zone 0 0x00,4060 Zone 0 0x00,4080 Zone 0 0x00,40C0 Zone 0 0x00,4140 Zone 0 0x00,4040 Zone 0 0x00,4041 Zone 0 0x00,4042 Zone 0 0x00,4043 Zone 0 操作 16-位 读/写 16-位 读/写 16-位 读/写 16-位 读/写 16-位 读/写 1-位 只写 5-位 只读 2-位 只写 7-位 只读 2-位 只写 2-位 只写 1-位 只写 1-位 只写 12-位 读/写 12-位 读/写 12-位 读/写 12-位 读/写 访问周期 Ts = 10ns Tw = 50ns Th = 70ns Ts = 0ns Tw = 2.5ns Th = 7.5ns Ts = 0ns Tw = 50ns Th = 0ns 12 D/A 同时输出口 DA_OUT 0x00,40e0 Zone 0 - 只写 注:表中 Ts 表示建立时间,Tw 表示读/写宽度,Th 表示保持时间 上表中个外设寄存器的具体定义和说明见后面的相关章节。 2.2.5 扩展总线存储空间映射 SEED-DEC28335 的扩展总线有 3 个独立的储存空间 Zone 0、Zone6、Zone7,Zone0 空间为 4K×16-位,Zone6 和 Zone7 空间为 1M×16-位,各空间都只支持异步存储器读/ 写访问。SEED-DEC28335 的扩展总线的 4M×16-位存储空间被映射到’F28335 的 Zone 7 存储空间中,我们采用分页技术将 4M×16-位的扩展总线存储空间映射到’F28335 的 1M× 16-位 Zone 7 存储空间中。扩展总线页地址寄存器的具体定义见第 8 章。 2.2.6 SRAM 的存储空间映射 SEED-DEC28335 上外扩有单片高速(12ns)、16-位 SRAM,基本配置位 64K×16位,最大可配置为 512K×16-位。SRAM 被映射到’F28335 的 Zone 6 存储空间中,’F28335 的 Zone 6 存储空间的大小为 1M×16-位,当配置的 SRAM 的容量小于 512K×16-位时, 则逻辑上将以 SRAM 的容量在 Zone 6 存储空间中反复映射,而物理上只有 SRAM 的容量 大小。 2.3 McBSP TMS320F28335 上有两个多通道缓冲型同步串口 McBSP,在 SEED-DEC28335 板内 没有使用,经电平变换器件直接连至扩展总线的 McBSP 接口上,提供外部使用,其接口电 平兼容+3.3V 与+5V 信号。 2.3.1 McBSP 的操作 2.3.1.1 McBSP 概述 McBSP 是 Multichannel Buffered Serial Port 的缩写,即多通道缓冲型串行接口,是一 种多功能的同步串行接口,它具有很强的可编程能力,可以配置为多种同步串口标准,直接 与各种器件高速接口: 13 … T1/E1 标准:通信器件 … MVIP 和 ST-BUS 标准:通信器件 … IOM-2 标准:ISDN 器件 … AC97 标准:PC Audio Codec 器件 … IIS 标准:Codec 器件 … SPI:串行 A/D、D/A,串行存储器等器件 ‘F28335 的 McBSP 的内部原理图如下图所示: 2.3.1.2 McBSP 的引脚与信号 McBSP 由发送器和接收器构成,各有 3 个信号:位-时钟、帧同步和串行数据,所以一 个 McBSP 有下列信号:FSR、CLKR、DR 和 FSX、CLKX、DX … 帧同步信号:FSR、FSX … 位-时钟:CLKR、CLKX … 串行数据流:DR、DX 14 2.3.1.3 McBSP 通信协议 McBSP 为一同步串行通信接口,同步串行通信协议包含: … 串行数据流起始时刻称为帧同步事件。帧同步事件由位-时钟采样帧同步信号给出。 … 串行数据流长度:串行传输的数据流位数达到设定的长度后,结束本次传输,等下 一个帧同步信号达到,再发起另一次串行传输。 … 串行数据流传输速度:即每一个串行位的持续时间,由位-时钟决定 … FSR(FSX)、CLKR(CLKX)、DR(DX)三者之间的关系即如何取得帧同步 事件、何时采样串行数据位流、或何时输出串行数据位流,是可以通过 McBSP 的 寄存器进行配置的。 2.3.2 McBSP 引脚和信号 CLKX2(CLKXB) FSX2(FSXB) DX2(DXB) CLKX1(CLKXA) FSX1(FSXA) DX1(DXA) J16-9 J16-11 J16-13 J16-17 J16-19 J16-21 J16-10 J16-12 J16-14 J16-18 J16-20 J16-22 CLKR2(CLKRB) FSR2(CLKRB) DR2(CLKRB) CLKR1(CLKRA) FSR1(CLKRA) DR1(CLKRA) CLKR2 FSR2 DR2 CLKR1 FSR1 DR1 J23-9 J23-11 J23-13 J23-17 J23-19 J23-21 J23-10 J23-12 J23-14 J23-18 J23-20 J23-22 CLKX2 FSX2 DX2 CLKX1 FSX1 DX1 ‘F28335 的 McBSP 的详细说明和编程操作请参考《TMS320x2833x Multichannel Buffered Serial Port (McBSP) User's Guide》。 2.4 I2C TMS320F28335 上有一个 I2C 同步串口,连接到 ISL12026 实时时钟芯片。 15 2.4.1 IIC 概述 I2C(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用 于连接微控制器及其外围设备。它由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接 收数据。‘F28335 包含一个 I2C 主从兼容的串行接口模块。 2.4.2 I2C 特点 每个 IIC 模块都提供以下功能: … 兼容 Philips IIC Specification Revision 2.1(2000 年 1 月) … 最大传输速率可达 400Kbps … 噪音滤波,可以滤除 50ns 的噪音 … 7 位和 10 位地址模式 … 一个 16bit 接收 FIFO 和一个 16bit 发送 FIFO … 主从功能 IIC 引脚描述: SCL:IIC 时钟 SDA:IIC 数据 ‘F28335 的 I2C 的详细说明和编程操作请参考《TMS320x28xx, 28xxx Inter-Integrated Circuit (I2C) Reference Guide》。 16 2.5 SCI TMS320F28335 上有二个 SCI 异步串口,一路经 RS232 收发器驱动后连至 MINI DIN 型连接器 J9,另一路连至 MINI DIN 型连接器 J13 由跳线 J10-J12 配置为 RS232 或 RS485 模式。具体见第 4 章。 2.5.1 SCI 概述 SCI 模块支持在 CPU 和其他异步外设之间的数字通讯。SCI 的串口接收和发送均为双 缓冲,接收和发送都有独立的使能和中断位。在全双工模式下,两者可以独立或同步运行。 为了确保数据的完整性,SCI 模块检查接收数据的断点,校验位和帧错误。 2.5.2 SCI 特点 … 外部引脚: 2个 SCI 发送引脚: SCITXD SCI 接收引脚: SCIRXD … 波特率可编程: 有 64K 种设置 当 BRR≠0 时: 波特率=LSRCLK÷((BRR+1)×8) 当 BRR=0 时 波特率=LSPCLK÷16 … 数据格式: 1 个开始位,1~8 个数据位,奇校验/偶检验/无校验可 选,1 或 2 个停止位 … 4 个错误检测标志: 校验,溢出,帧和断点检测 … 全双工和半双工模式 … 双缓冲接收和发送 … 串口数据发送和接收过程可以通过中断方式或查寻方式 2.5.3 SCI 引脚和信号 SCIB 连至 J9(RS232),SCIC 连至 J13(RS232/RS485 可选)。 ‘F28335 的 SCI 的 详 细 说 明 和 编 程 操 作 请 参 考 《 TMS320x28xx, 28xxx Serial Communication Interface (SCI) Reference Guide》。 17 2.6 CAN TMS320F28335 上 有 两 个 增 强 型 CAN 总 线 控 制 器 , 符 合 CAN2.0B 协 议 。 SEED-DEC28335 板卡只用一路 CANB,将 CANB 驱动后连至 2.0mm 间距单排 2-芯连接 器 J7,提供外部使用。连接器 J7 的定义如下: CANL 1 2 CANH 2.6.1 CAN 概述 CAN 是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达 1MBPS。CAN 总线通信接口中集成了 CAN 协议的物理层和数据链路层功能,可完成对通 信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。 18 2.6.2 CAN 特点 … 符合 CAN2.0 协议 … 数据传输率高达 1MBPS … 32 个邮箱,每个支持以下特点: ‹ 可配置的接收和发送 ‹ 可配置成标准或扩展的标识 ‹ 可编程的接收屏蔽 ‹ 支持数据和远帧 ‹ 数据长度 0 到 8 个字节 ‹ 在接收或发送信息时,使用 32 位的时间标志 ‹ 新信息的接收保护 ‹ 发送信息的动态优先级 ‹ 带有两级中断的中断配置 ‹ 发送和接收操作时,可发出超时警报 … 低功耗模式 … 可编程设定的总线激活 … 远方请求信息的自动答复 … 无裁决或错误时,数据帧自动重新发送 … 32 位的本地网络时间计数器同步于指定的信息 … 自测模式 2.6.3 CAN 引脚和信号 ‘F28335 的 CAN 总线控制器有两个引脚,接收引脚 CANRx 和发送引脚 CANTx。 ‘F28335 的 CAN 控 制 器 的 详 细 说 明 和 编 程 操 作 请 参 考 《 TMS320x28xx, 28xxx Enhanced Controller Area Network (eCAN) Reference Guide》。 2.7 ADC TMS320F28335 片上有 1 个 12-位 A/D 转换器,其前端为 2 个 8 选 1 多路切换器和 2 路同时采样/保持器,构成 16 个模拟输入通道,模拟通道的切换由硬件自动控制,并将各 模拟通道的转换结果顺序存入 16 个结果寄存器中。ADC 模块如下图所示: 19 2.7.1 ADC 特点 … 带 2 个 8 选 1 多路切换器和双采样/保持器的 12-位的 ADC,共有 16 个模拟输入 通道; … 模拟量输入范围:0.0V~3.0V; … 转换率:在 25MHz 的 ADC 时钟下为 80ns; … 自动排序功能可以提供一次触发顺序转换 16 通道模拟输入,每次转换能够编程选 择 16 通道的任何 1 个; … 排序可以选择 2 个独立的 8 通道排序或者是 1 个大的 16 通道排序; … 转换结果存储在 16 个结果寄存器中; … 转换结果=4095×(输入的模拟信号-ADCLO)÷3; … 多种 A/D 触发方式:软件启动、EVA 和 EVB; … 中灵活断方式:可以在每次转换结束或每隔一次转换结束触发中断; 2.7.2 ADC 的管脚和信号 ADC 引脚由模拟量输入部分、ADC 设置部分和 ADC 电源三部分构成。 … 模拟量输入部分: A 通道输入: ADCINA0~ADCINA7 20 B 通道输入: … ADC 设置部分: ADC 电压参考输出(2V): ADC 电压参考输出(1V): ADC 外部电流旁路电阻: 测试管脚: ADC 模拟地: ADC 模拟电源: ADC 公共地: … ADC 电源: ADC 模拟地: ADC 模拟电源: ADC 模拟 I/O 地: ADC 模拟 I/O 电源: ADCINB0~ADCINB7 ADCREFP ADCREFM ADCRESEXT ADCBGREFIN AVSSREFBG AVDDREFBG ADCLO VSSA1、VSSA2、VSS1AGND、VSS2AGND VDDA1、VDDA2、VDD1A18、VDD2A18 VDDAIO VSSAIO 2.7.3 ADC 转换步骤 … 初始化 DSP 系统; … 设置 PIE 中断矢量表, … 初始化 ADC 模块; … 将 ADC 中断的入口地址装入 PIE 中断矢量表中,开中断; … 软件启动 ADC 转换; … 等待 ADC 中断; … 在 ADC 中断中读取 ADC 转换结果,软件启动下一次 ADC 中断。 ‘F28335 的 A/D 转 换 器 的 详 细 说 明 和 编 程 操 作 请 参 考 《 TMS320x2833x Analog-to-Digital Converter (ADC) Reference Guide》。 2.8 DMA 2.8.1 DMA 概述 DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。 DMA 技术的重要性在于,利用它进行数据传送时不需要 CPU 的参与。一旦控制器初始化 完成,数据开始传送,DMA 就可以脱离 CPU,独立完成数据传送。 21 TMS320F28335 有六通道 DMA。可由 ADC、MCBSPs、外部中断、CPU 定时器和软 件触发并可配置为 16bit 或 32bit 工作方式(MCBSPs 限制为 16bit),吞吐量为 4 时钟/字 (MCBSP 读操作是为 5 时钟/字)。 DMA 的功能框图如下图所示: ‘F28335DMA 的详细说明和编程操作请参考《TMS320x2833x Direct Memory Access (DMA) Reference Guide》。 2.9 定时器 TMS320F28335 片上有 3 个 32-位 CPU 定时器,分别被称为 CPU 定时器 0、1 和 2。 每个定时器中均有一个 32-位减计数器,当计数器减到 0 时,产生一个中断。其中,CPU 定时器 0 的中断 TINT0 为 PIE 中断,CPU 定时器 1 的中断 TINT1 直接连到 CPU 中断的 INT13,CPU 定时器 2 的中断 TINT2 直接连到 CPU 中断的 INT14。CPU 定时器 2 保留为 实时操作系统(如 DSP BIOS)使用,而 CPU 定时器 0、1 则可被用户使用,SEED-DEC28335 未使用 CPU 定时器 0,用户可以根据应用的需要灵活使用。 CPU 定时器的原理框图和定时中断如下图所示: 22 ‘F28335 的 CPU 定时器的详细说明和编程操作请参考《TMS320F28x DSP CPU and Instruction Set Reference Guide》。 2.10 增强型脉宽调制模块 2.10.1 PWM 概述 脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的 技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM是一种对模拟信号 电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具 体模拟信号的电平进行编码。 ‘F28335 有六个增强型脉宽调制模块,原理框图如下图所示: 23 2.10.2 PWM 的管脚和信号 EPWM1A(O) EPWM2A(O) EPWM3A(O) EPWM4A(O) EPWM5A(O) EPWM6A(O) J1-1 J1-2 J1-3 J1-4 J1-5 J1-6 J3-1 J3-2 J3-3 J3-4 J3-5 J3-6 EPWM1B(O) EPWM2B(O) EPWM3B(O) EPWM4B(O) EPWM5B(O) EPWM6B(O) ‘F28335的脉宽调制模块的详细说明和编程操作请参考《TMS320x28xx, 28xxx Enhanced Pulse Width Modulator (ePWM) Module Reference Guide》。 24 2.11 高分辨率脉宽调制模块(HRPWM) 高分辨率脉宽调制模块可以提供更好的时间间隔控制,主要特点如下: … 提高时间分辨率 … 典型应用在 PWM 分辨率低于 9-10bit 时,比如需要用 100MHz CPU/系统时钟产 生大于 200KHz 频率的 PWM 波的时候。 … 也可用于占空比和移相控制 … HRPWM 只能用于 ePWM 模块的 A 通道 ‘F28335的高分辨率脉宽调制模块的详细说明和编程操作请参考《TMS320x28xx, 28xxx High-Resolution Pulse Width Modulator (HRPWM)》。 2.12 增强型捕获模块 2.12.1 CAP 概述 CAP模块是应用定时器来实现事件捕获功能,主要应用在速度测量,脉冲序列周期等 方面。‘F28335共有六个增强型捕获模块。 增强型捕获模块的原理框图如下图所示: 25 2.12.2 CAP 的管脚和信号 J2-2 J2-3 J2-4 ECAP1(I/O) ECAP2(I/O) ECAP3(I/O) J2-5 ECAP4(I/O) J1-5 ECAP5(I/O) J1-6 ECAP5(I/O) ‘F28335的增强型捕获模块的详细说明和编程操作请参考《TMS320x28xx, 28xxx Enhanced Capture (eCAP) Module Reference Guide》。 26 2.13 增强型正交编码脉冲模块 2.13.1 正交编码脉冲概述 正交编码脉冲是两个频率变化且正交(即相位相差 90o)的脉冲。当它由电机轴上的 光电编码器产生时,电机的旋转方向可通过检测两个脉冲序列中的那一列先到达来确定,角 位置和转速可由脉冲频率(即齿脉冲或圈脉冲)来决定。‘F28335 有两个增强型正交编码脉 冲模块。 增强型正交编码脉冲模块的原理框图如下图所示: 27 2.13.2 QEP 的管脚和信号 J2-2 J2-3 J2-4 J2-5 EQEP2A(I) EQEP2B(I) EQEP2(I I/O) EQEP2S(I/O) J4-2 J4-3 J4-4 J4-5 EQEP1A(I) EQEP1B(I) EQEP1(I I/O) EQEP1S(I/O) ‘F28335的增强型增强型正交调制模块的详细说明和编程操作请参考《TMS320x28xx, 28xxx Enhanced Quadrature Encoder (eQEP) Module Reference Guide》。 2.14 复位与中断 2.14.1 ‘F28335 中断的概述 由于 TMS320F2833x 系列 DSP 片上有非常丰富的外设,每个片上外设均可产生 1 个 或多个中断请求,所以 TMS320F2833x 系列 DSP 的复位和中断要比其他系列 DSP 复杂。 TMS320F2833x 系列 DSP 的中断由 2 级组成,一级是 PIE 中断,另一级是 CPU 中断, 它们的构成如下图所示: 28 29 F2833x 有 32 个 CPU 中断源,包括复位 RESET、MNI、EMUINT、ILLEGAL、12 个 用户定义的软件中断 USER1~USER12 和 16 个可屏蔽中断(INT1~INT14、RTOSINT 和 DLOGINT),RTOSINT 和 DLOGINT 由 CPU 内部的仿真逻辑产生。所有的软件中断属于 非屏蔽中断。 而 F2833x 系列 DSP 上有很多片上外设,每个片上外设可能产生 1 个或多个中断请求, 以响应众多的片上外设事件。 CPU 没有足够的中断源来管理所有的片上外设中断请求,所以在 F28x 系列 DSP 中设 置了一个外设中断扩展控制器(PIE)来管理片上外设和外部引脚引起的中断请求。 F2833x 系列 DSP 的片上外设中断共有 96 个,被分为 12 个组,每组内有 8 个片上外 设中断请求,因此 96 个片上外设中断请求信号可记为 INTx.y(x = 1,2,……,12;y = 1, 2,……,8)。每个组输出一个中断请求信号给 CPU,也即是 PIE 的输出 INTx(x = 1,2,……, 12)对应于 CPU 中断输入的 INT1~INT12。 30 每个中断源对应一个中断向量(对应的中断服务程序 ISR 的入口地址),无论此中断 源是否与别的中断源复用一个 CPU 中断输入。F28x 在片上外设结构 0 中开辟了一块大小 为 256×16-位(128×32-位,对应 128 个中断向量)的储存空间,专门用作 PIE 的中断向 量表,用于存放每个中断源所对应的中断服务程序的入口地址。 在复位时,F2833x 的 PIE 被禁止,所以只有 32 个 CPU 中断,所以也只需 32 个中断 向量,而当 PIE 被使能后,除了 32 个 CPU 中断外,还有 96 个 PIE 中断,所以需要 32 + 96 = 128 个中断向量。从而使得 CPU 的中断向量表与 PIE 的中断向量表不同,它们在存储空 间的定位也不同,CPU 中断向量表的定位有 4 种形式,而 PIE 中断向量表只有 1 种定位形 式,如下表所示: 向量映射 向量取自 地址范围 VMAP M0M1MAP ENPIE M1 向量 0x00,0000 M1 SARAM 0 0 X 0x00,003F M0 向量 0x00,0000 M0 SARAM 0 1 X 0x00,003F BROM 向量 Boot ROM 0x3F,FFC0 1 X 0 0x3F,FFFF PIE 向量 0x00,0D00 PIE 1 X 1 0x00,0DFF 注: † 当’F28335 复位时,VMAP、M0M1MAP 被置为“1”,而 ENPIE 被清为“0” CPU 中断向量表如下图所示: 中断源 RESET INT1 INT2 INT3 INT4 INT5 INT6 INT7 INT8 INT9 INT10 INT11 INT12 INT13 INT14 DLOGINT 中断向量地址 VMAP = 0 VMAP = 1 0x00 0000 0x3F FFC0 0x00 0002 0x3F FFC2 0x00 0004 0x3F FFC4 0x00 0006 0x3F FFC6 0x00 0008 0x3F FFC8 0x00 000A 0x3F FFCA 0x00 000C 0x3F FFCC 0x00 000E 0x3F FFCE 0x00 0010 0x3F FFD0 0x00 0012 0x3F FFD2 0x00 0014 0x3F FFD4 0x00 0016 0x3F FFD6 0x00 0018 0x3F FFD8 0x00 001A 0x3F FFDA 0x00 001C 0x3F FFDC 0X00 001E 0X3F FFDE 优先级 1(最高) 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19(最低) 说明 复位 可屏蔽中断 1 可屏蔽中断 2 可屏蔽中断 3 可屏蔽中断 4 可屏蔽中断 5 可屏蔽中断 6 可屏蔽中断 7 可屏蔽中断 8 可屏蔽中断 9 可屏蔽中断 10 可屏蔽中断 11 可屏蔽中断 12 可屏蔽中断 13 可屏蔽中断 14 可屏蔽数据记录中断 31 RTOSINT EMUINT MNI ILLEGAL USER1 USER2 USER3 USER4 USER5 USER6 USER7 USER8 USER9 USER10 USER11 USER12 0x00 0020 0x00 0022 0x00 0024 0x00 0026 0x00 0028 0x00 002A 0x00 002C 0X00 002E 0x00 0030 0x00 0032 0x00 0034 0X00 0036 0x00 0038 0x00 003A 0x00 003C 0X00 003E 0x3F FFE0 0x3F FFE2 0x3F FFE4 0x3F FFE6 0x3F FFE8 0x3F FFEA 0x3F FFEC 0X3F FFEE 0x3F FFF0 0x3F FFF2 0x3F FFF4 0X3F FFF6 0x3F FFF8 0x3F FFFA 0x3F FFFC 0X3F FFFE 4 可屏蔽实时操作系统中断 2 仿真中断 3 不可屏蔽中断 - 非法指令陷阱 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 - 用户定义的软件中断 PIE 中断向量表如下图所示: 中断名 中断号 CPU 中断向量 RESET 0 INT1 1 INT2 2 INT3 3 INT4 4 INT5 5 INT6 6 INT7 7 INT8 8 INT9 9 INT10 10 INT11 11 INT12 12 INT13 13 INT14 14 地址 0x00 0D00 0x00 0D02 0x00 0D04 0x00 0D06 0x00 0D08 0x00 0D0A 0x00 0D0C 0x00 0D0E 0x00 0D10 0x00 0D12 0x00 0D14 0x00 0D16 0x00 0D18 0x00 0D1A 0x00 0D1C CPU PIE 组内 优先级 优先级 1(最高) - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 说明 复位时,总是从 Boot ROM 或 XINTF 的 Zone 7 的 0x3F FFC0 处取指 未用,见 PIE 组 1 未用,见 PIE 组 2 未用,见 PIE 组 3 未用,见 PIE 组 4 未用,见 PIE 组 5 未用,见 PIE 组 6 未用,见 PIE 组 7 未用,见 PIE 组 8 未用,见 PIE 组 9 未用,见 PIE 组 10 未用,见 PIE 组 11 未用,见 PIE 组 12 外部引脚 XNMI_XINT13 或片上 CPU 定时器 1 引起的中断 片上 CPU 定时器 2 引起的中断 32 DLOGINT 15 0x00 0D1E 19(最低) - RTOSINT 16 0x00 0D20 4 - EMUINT 17 0x00 0D22 2 - MNI 18 0x00 0D24 3 - ILLEGAL 19 0x00 0D26 - - USER1 20 0x00 0D28 - - USER2 21 0x00 0D2A - - USER3 22 0x00 0D2C - - USER4 23 0x00 0D2E - - USER5 24 0x00 0D30 - - USER6 25 0x00 0D32 - - USER7 26 0x00 0D34 - - USER8 27 0x00 0D36 - - USER9 28 0x00 0D38 - - USER10 29 0x00 0D3A - - USER11 30 0x00 0D3C - - USER12 31 0x00 0D3E - - PIE 组 1 中断向量-使用 CPU 的 INT1 中断 INT1.1 32 0x00 0D40 5 1(最高) INT1.2 33 0x00 0D42 5 2 INT1.3 34 0x00 0D44 5 3 INT1.4 35 0x00 0D46 5 4 INT1.5 36 0x00 0D48 5 5 INT1.6 37 0x00 0D4A 5 6 INT1.7 38 0x00 0D4C 5 7 INT1.8 39 0x00 0D4E 5 PIE 组 2 中断向量-使用 CPU 的 INT2 中断 INT2.1 40 0x00 0D50 6 8(最低) 1(最高) INT2.2 41 0x00 0D52 6 2 INT2.3 42 0x00 0D54 6 3 INT2.4 43 0x00 0D56 6 4 可屏蔽数据记录中断 可屏蔽实时操作系统中断 仿真中断 不可屏蔽中断 非法指令陷阱 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 用户定义的软件中断 SEQ1INT ADC SEQ2INT ADC 保留 XINT1 外部引脚 XINT1 XINT2 外部引脚 XINT2 ADCINT 片上 ADC 引起的中断 TINT0 片上定时器 0 引起的中断 WAKEINT 片上低功耗/看门狗电路 引起的中断 EPWM1_TZINT EPWM1 EPWM2_TZINT EPWM2 EPWM3_TZINT EPWM3 EPWM4_TZINT 33 INT2.5 44 0x00 0D58 6 5 INT2.6 45 0x00 0D5A 6 INT2.7 46 0x00 0D5C 6 INT2.8 47 0x00 0D5E 6 PIE 组 3 中断向量-使用 CPU 的 INT3 中断 INT3.1 48 0x00 0D60 7 6 7 8(最低) 1(最高) INT3.2 49 0x00 0D62 7 2 INT3.3 50 0x00 0D64 7 3 INT3.4 51 0x00 0D66 7 4 INT3.5 52 0x00 0D68 7 5 INT3.6 53 0x00 0D6A 7 INT3.7 54 0x00 0D6C 7 INT3.8 55 0x00 0D6E 7 PIE 组 4 中断向量-使用 CPU 的 INT4 中断 INT4.1 56 0x00 0D70 8 6 7 8(最低) 1(最高) INT4.2 57 0x00 0D72 8 2 INT4.3 58 0x00 0D74 8 3 INT4.4 59 0x00 0D76 8 4 INT4.5 60 0x00 0D78 8 5 INT4.6 61 0x00 0D7A 8 INT4.7 62 0x00 0D7C 8 INT4.8 63 0x00 0D7E 8 PIE 组 5 中断向量-使用 CPU 的 INT5 中断 INT5.1 64 0x00 0D80 9 6 7 8(最低) 1(最高) INT5.2 65 0x00 0D82 9 2 EPWM4 EPWM5_TZINT EPWM5 EPWM6_TZINT EPWM6 保留 保留 EPWM1_INT EPWM1 EPWM2_INT EPWM2 EPWM3_INT EPWM3 EPWM4_INT EPWM4 EPWM5_INT EPWM5 EPWM6_INT EPWM6 保留 保留 ECMP1_INT ECAP1 ECMP2_INT ECAP2 ECMP3_INT ECAP3 ECMP4_INT ECAP4 ECMP5_INT ECAP5 ECMP6_INT ECAP6 保留 保留 EQEP1_INT EQEP1 EQEP2_INT EQEP2 34 INT5.3 66 0x00 0D84 9 INT5.4 67 0x00 0D86 9 INT5.5 68 0x00 0D88 9 INT5.6 69 0x00 0D8A 9 INT5.7 70 0x00 0D8C 9 INT5.8 71 0x00 0D8E 9 PIE 组 6 中断向量-使用 CPU 的 INT6 中断 INT6.1 72 0x00 0D90 10 3 4 5 6 7 8(最低) 1(最高) INT6.2 73 0x00 0D92 10 2 INT6.3 74 0x00 0D94 10 3 INT6.4 75 0x00 0D96 10 4 INT6.5 76 0x00 0D98 10 5 INT6.6 77 0x00 0D9A 10 INT6.7 78 0x00 0D9C 10 INT6.8 79 0x00 0D9E 10 PIE 组 7 中断向量-使用 CPU 的 INT7 中断 INT7.1 80 0x00 0DA0 11 6 7 8(最低) 1(最高) INT7.2 81 0x00 0DA2 11 2 INT7.3 82 0x00 0DA4 11 3 INT7.4 83 0x00 0DA6 11 4 INT7.5 84 0x00 0DA8 11 5 INT7.6 85 0x00 0DAA 11 INT7.7 86 0x00 0DAC 11 INT7.8 87 0x00 0DAE 11 PIE 组 8 中断向量-使用 CPU 的 INT8 中断 INT8.1 88 0x00 0DB0 12 6 7 8(最低) 1(最高) INT8.2 89 0x00 0DB2 12 2 INT8.3 90 0x00 0DB4 12 3 保留 保留 保留 保留 保留 保留 SPIRXINTA SPI-A SPITXINTA SPI-A MRINTB McBSP-B MXINTB McBSP-B MRINTA McBSP-A MXINTA McBSP-A 保留 保留 DINTCH1 DMA 通道 1 DINTCH2 DMA 通道 2 DINTCH3 DMA 通道 3 DINTCH4 DMA 通道 4 DINTCH5 DMA 通道 5 DINTCH6 DMA 通道 6 保留 保留 I2CINT1A I2C-A I2CINT2A I2C-A 保留 35 INT8.4 91 0x00 0DB6 12 4 INT8.5 92 0x00 0DB8 12 5 INT8.6 93 0x00 0DBA 12 INT8.7 94 0x00 0DBC 12 INT8.8 95 0x00 0DBE 12 PIE 组 9 中断向量-使用 CPU 的 INT9 中断 INT9.1 96 0x00 0DC0 13 6 7 8(最低) 1(最高) INT9.2 97 0x00 0DC2 13 2 INT9.3 98 0x00 0DC4 13 3 INT9.4 99 0x00 0DC6 13 4 INT9.5 100 0x00 0DC8 13 5 INT9.6 101 0x00 0DCA 13 6 INT9.7 102 0x00 0DCC 13 7 INT9.8 103 0x00 0DCE 13 8(最低) PIE 组 10 中断向量-使用 CPU 的 INT10 中断 INT10.1 104 0x00 0DD0 14 INT10.2 105 0x00 0DD2 14 INT10.3 106 0x00 0DD4 14 INT10.4 107 0x00 0DD6 14 INT10.5 108 0x00 0DD8 14 INT10.6 109 0x00 0DDA 14 INT10.7 110 0x00 0DDC 14 INT10.8 111 0x00 0DDE 14 PIE 组 11 中断向量-使用 CPU 的 INT11 中断 INT11.1 112 0x00 0DE0 15 INT11.2 113 0x00 0DE2 15 INT11.3 114 0x00 0DE4 15 INT11.4 115 0x00 0DE6 15 INT11.5 116 0x00 0DE8 15 INT11.6 117 0x00 0DEA 15 INT11.7 118 0x00 0DEC 15 INT11.8 119 0x00 0DEE 15 1(最高) 2 3 4 5 6 7 8(最低) 1(最高) 2 3 4 5 6 7 8(最低) 保留 SCIRXINTC SCI-C SCITXINTC SCI-C 保留 保留 SCIRXINTA SCI-A SCITXINTA SCI-A SCIRXINTB SCI-B SCITXINTB SCI-B ECAN0INTA eCAN-A ECAN1INTA eCAN-A ECAN0INTB eCAN-B ECAN1INTB eCAN-B 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 36 PIE 组 12 中断向量-使用 CPU 的 INT12 中断 INT12.1 120 0x00 0DF0 16 INT12.2 121 0x00 0DF2 16 INT12.3 122 0x00 0DF4 16 INT12.4 123 0x00 0DF6 16 INT12.5 124 0x00 0DF8 16 INT12.6 125 0x00 0DFA 16 1(最高) 2 3 4 5 6 INT12.7 126 0x00 0DFC 16 7 INT12.8 127 0x00 0DFE 16 8(最低) XINT3 XINT4 XINT5 XINT6 XINT7 保留 LVF FPU LUF FPU F28x 系列 DSP 的 CPU 在响应中断时,由硬件自动将多达 12 个 16-位 CPU 寄存器保 存到堆栈中,这 12 个 CPU 寄存器是:ST0、T、AL、AH、PL、PH、AR0、AR1、ST1、 DP、IER、DBGSTAT,紧接着保存返回地址(先低后高)。同样,在中断返回时,由硬件 自动退栈,并恢复上述这些 CPU 寄存器。 2.14.2 ‘F28335 复位操作 ‘F28335 复位时,终止所有的当前操作,使 CPU 进入已知的初始状态,刷新流水线操 作,复位所有的 CPU 寄存器,复位相关的信号的状态。复位完成后,CPU 从 0x3F,FFC0H 处取复位向量到 PC 寄存器中,然后开始执行程序。程序将从片上 Boot ROM 的 0x3F,FC00H 处开始执行,片上 Boot ROM 中 0x3F,FC00H 起始的空间中存放的是 BootLoader 程序。 ‘F28x 片上 Boot ROM 中存放的内容如下图所示: 37 Boot ROM 中 BootLoader 函数的功能如下图所示: 38 有 16 种 BootLoader 方式,由 4 个 GPIO 引脚来选择,如下图所示: TMS320F28335 复位工作过程: 上电从片内 Boot ROM 中执行程序,选择 Jump to Flash Boot 方式,GPIO84-87 片内 已上拉,程序将跳转到片内 Flash 的 0x33,7FF6H 处,在 0x33,7FF6H 存放跳转指令,跳转 到实际的应用程序中,应用程序首先初始化 PIE 中断向量表,然后使能 PIE。注意用 Jump to Flash Boot 方式时,没有停止片内看门狗电路,所以应在规定的时间内刷新看门狗电路, 否则将导致看门狗溢出,产生复位。 CPU 寄存器的复位状态如下表: 39 40 41 42 2.14.3 SEED-DEC28335 的复位与中断的实际使用 2.14.3.1 SEED-DEC28335 的复位 在 SEED-DEC28335 板上有三个复位源:上电复位、手动复位与看门狗。任何一个复 位有效,将导致整个系统复位。 SEED-DEC28335 的看门狗电路直接采用 TMS320F28335 片上自带看门狗电路,其原 理框图如下图所示: ‘F28335 片上的看门狗电路为一 8-位加计数器,当其加计数到最大值,并溢出翻转时, 将产生复位脉冲或中断请求输出。加计数器的输入时钟可由 WDCR 寄存器选择,从而使看 门狗电路作用周期在一定范围內可编程设定;另外,通过对 WDKEY 寄存器顺序写入 0x55+0xAA,使加计数器清为 0,所以只要在溢出周期內周期性地对 WDKEY 寄存器写入 0x55+0xAA,可使看门狗电路不发生溢出;另外,通过 WDCR 还可以禁止看门狗电路工作。 2.14.3.2 SEED-DEC28335 的中断 SEED-DEC28335 板卡通过 GPIO54-57 和 GPIO13 分别映射到外部中断源 XINT3-6 和 XNMI,每个中断可以设置为上升沿或下降沿触发,也可以被使能或禁止。 在 SEED-DEC28335 板上有 6 个外部中断源: … USBINT: … XNMI: … XINT[3:0]: USB 产生的中断请求 扩展总线不可屏蔽中断请求 扩展总线可屏蔽中断请求 43 它们之间的逻辑关系如下所示: CPU 的 XINT3(GPIO54) = USBINT CPU 的 XINT4(GPIO55) = XINT0 CPU 的 XINT5(GPIO56) = XINT1 CPU 的 XINT6(GPIO57) = XINT2 and XINT3 CPU 的 XNMI(GPIO13) = 扩展总线的 XNMI 扩展总线的 XINT2、XINT3 的状态可以通过查询扩展总线的状态寄存器获得。 2.15 JTAG ‘F28335 的仿真接口为 JTAG 形式,它能与各种形式的 JTAG 仿真器相连接,实现 对’F28335 的仿真与调试。 2.16 ‘F28335 工作方式的配置 SEED-DEC28335 将 GPIO84-87 上拉为“1”,即’F28335 工作在“Jump to Flash” 上电自举方式。 44 第3章 UART 接口 在 SEED-DEC28335 模板上配置有二个通用异步串口:SCI-B 和 SCI-C,SCI-B 接口 标准为 RS232,SCI-C 接口可通过跳线 J10-12 切换 RS232 或 RS485 标准,用它可以与计 算机及其它设备进行串行通信。 SEED-DEC28335 直接采用’F28335 片上 3 通道 SCI 中的 B、C 两通道作为异步收发 器 UART,有关‘F28335 的 SCI 的详细说明和编程操作请参考《TMS320x28xx, 28xxx Serial Communication Interface (SCI) Reference Guide》,在此不再赘述。 3.1 异步串口接口电平 SEED-DEC28335 采用 SP202EEN 双路 RS232 电平转换芯片,SCI-B 路直接连到 SP202EEN 一通道并通过 J9 构成标准 RS232 接口。当跳线 J10-12 跳到 RS232 一侧,SCI-C 通过 SP202EEN 二通道和 J13 构成标准 RS232 接口。若跳线 J10-12 跳到 RS485 一侧, SCI-C 通过 SN65HVD08 和 J13 构成标准 RS485 接口。 45 第4章 USB 接口 在 SEED-DEC28335 模板上采用 Cypress 公司的 CY7C68001 芯片实现 USB 2.0 接口。 CY7C68001 上集成了 USB 2.0 收发器(物理层)、USB 2.0 串行接口引擎 SIE(链路层, 实现底层通信协议)。CY7C68001 则作为‘F28335 的外设,USB 的应用层协议由’F28335 编程实现。CY7C68001 采用并行异步存储器接口与’F28335 相连接,主机可以唤醒’F28335, 亦可以配置 USB。 4.1 CY7C68001 概述 CY7C68001 芯片具有如下特点: … 符合 USB2.0 标准,最高速度可达 480Mbps; … 支持控制节点 0,用于处理 USB 传输的申请; … 内部有 4K 字节的 FIFO 资源; … 具有内部的锁相环; … 具有同步与异步的 FIFO 接口。 CY7C68001 有两个外部接口: … 命令接口:用来访问 CY7C68001 寄存器、Endpoint 0 缓冲器、及描述表。 … FIFO 数据接口:用来访问 4 个 1K 字节的 FIFO 中的数据。 这两个外部接口均可以通过同步或是异步的方式进行访问。在 SEED-DEC28335 模板 中均采用异步的方式进行访问的。 4.2 CY7C68001 命令口的读/写操作 在 SEED-DEC28335 模板中 CY7C68001 作为’F28335 的外设,占用’F28335 的 Zone 0 空间,地址为 0x00 4120~0x00 4124。地址分配如下表: 访问空间类型 FIFOADR[2:0] ‘F28335 地址 46 FIFO2 FIFO4 FIFO6 FIFO8 命令口 000 0x00 4120 001 0x00 4121 010 0x00 4122 011 0x00 4123 100 0x00 4124 CY7C68001 的地址线 FIFOADR[2:0]为 1 0 0B 时,选中 CY7C68001 的命令口。通过 CY7C68001 的命令口,可以访问 37 个寄存器、Endpoint 0 缓冲器(64 个字节 FIFO)和 描述表(500 个字节 FIFO)等,如果将 Endpoint 0 缓冲器和描述表也看成是寄存器的话, 那么单个命令口下内含了众多的寄存器,对这些寄存器进行读/写访问采用二次寻址方式, 即首先通过命令口将要寻址的寄存器的子地址和操作类型(读操作还是写操作)写入,然后 再通过命令口将数据读出或写入相应的寄存器。 写入命令口的内容称为命令字,命令字包含要寻址的寄存器的子地址,或要写入寄存器 的数据的高 4 位或低 4 位。读命令口必须是跟在给命令口写读命令字之后,读出的为相应 寄存器的 8-位数据。 所以,寄存器的写操作由 3 个步骤组成: 1. 将写命令字写入命令口 2. 将数据高 4 位命令字写入命令口 3. 将数据低 4 位命令字写入命令口 寄存器的读操作由 2 个步骤组成: 4. 将读命令字写入命令口 5. 读命令口 注意:对寄存器的操作均以 8-位数据宽度进行。 4.2.1 命令口的命令字 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 A/D R/W D5 D4 D3 D2 D1 D0 A/D: 0 1 地址/数据选择 表示本操作为数据读或写 表示本操作为地址写 R/W: 0 1 读/写操作选择 写操作 读操作 47 D[5:0]: 地址/数据 当 A/D = 0 时,D[3:0]为数据半字节,D[5:4]未用,命令字为 8-位, 故命令字数据分二次读出或写入 当 A/D = 1 时,D[5:0]包含将要寻址的命令寄存器的地址 4.2.2 CY7C68001 寄存器写操作 ‘F28335 对 CY7C68001 寄存器的写操作过程如下: 1. 将’F28335 对 Zone 0 读/写访问的等待周期设置为 2. 通过检查 SEED-DEC28335 模板的 USB/UART 状态寄存器(USB_STS)中的 USBRDY 位,等待 CY7C68001 的 Ready 线变高 3. 寻址 CY7C68001 命令口(最低 3 位地址必须为 100B),将 10xx,xxxxB 写命令字 写入命令寄存器(xx,xxxxB 代表需寻址的寄存器的子地址) 4. 通过检查 SEED-DEC28335 模板的 USB/UART 状态寄存器(USB_STS)中的 USBRDY 位,等待 CY7C68001 的 Ready 线变高 5. 寻址 CY7C68001 命令口(最低 3 位地址必须为 100B),将 0xxx,D7D6D5D4B 数 据高 4 位命令字写入命令寄存器(D7D6D5D4B 代表要写入的数据的高 4 位) 6. 通过检查 SEED-DEC28335 模板的 USB/UART 状态寄存器(USB_STS)中的 USBRDY 位,等待 CY7C68001 的 Ready 线变高 7. 寻址 CY7C68001 命令口(最低 3 位地址必须为 100B),将 0xxx,D3D2D1D0B 数 据低 4 位命令字写入命令寄存器(D3D2D1D0B 代表要写入的数据的低 4 位) 4.2.3 CY7C68001 寄存器读操作 ‘F28335 对 CY7C68001 寄存器的读操作过程如下: 1. ’F28335 对 I/O 空间访问的等待周期设为 7 2. 通过检查 SEED-DEC28335 模板的 USB/UART 状态寄存器(USB_STS)中的 USBRDY 位,等待 CY7C68001 的 Ready 线变高 3. 寻址 CY7C68001 命令口(最低 3 位地址必须为 100B),将 11xx,xxxxB 读命令字 写入命令寄存器(xx,xxxxB 代表需寻址的寄存器的子地址) 4. 等 CY7C68001 申请‘F28335 的外部中断 XINT3 5. 寻址 CY7C68001 命令口(最低 3 位地址必须为 100B),读 CY7C68001 命令口。 48 4.2.4 CY7C68001 寄存器 4.2.4.1 CY7C68001 配置寄存器 USB 的配置寄存器主要有 IFCONFIG、FLAGSAB、FLAGSCD、POLAR、REVID, 其功能如下: … IFCONFIG 配置 USB 的接口的方式 … FLAGSAB 与 FLAGSCD 确定 FLAGX 所代表的状态 … POLAR 确定 FIFO 接口信号的极性 … REVID 读版本号 4.2.4.2 ENDPOINT 配置寄存器 配置 USB 四个节点,主要有 EPxCFG、EPxPKTLENH 与 EPxPKTLENL、EPxPFH 与 EPxPFL、EPxISOINPKTS 几类寄存器(x 的值为 2、4、6、8),其功能如下: … EPxCFG 配置每一个 Endpoint 的类型 … EPxPKTLENH 与 EPxPKTLENL 设置每个节点包的大小 … EPxPFH 与 EPxPFL 确定每个节点的可编程的标志位 … EPxISOINPKTS 确定等时同步传输时,每一帧的数据包个数 4.2.4.3 状态寄存器 状态寄存器有 EP24FLAGS 与 EP68FLAGS。 … EP24FLAGS 确定节点 2 与 4 的 FIFO 的状态 … EP68FLAGS 确定节点 6 与 8 的 FIFO 的状态 4.2.4.4 USB 帧状态寄存器 USB 总 线 配 置 寄 存 器 主 要 有 USBFRAMEH 、 USBFRAMEL 、 MICROFRAME 、 FNADDR。来确定 USB 每一帧的状态。 … USBFRAMEH/L 寄存器确定每一帧的数据长度 … MICROFRAME 寄存器确定每一个微帧的数据个数 … FNADDR 寄存器保存自举时的 7 位地址 4.2.4.5 节点 0(Endpoint0)操作寄存器 节点 0(Endpoint0)操作寄存器主要包括 EP0BUF、SETUP、EP0BC 三个寄存器 … EP0BUF 寄存器是节点 0 的缓冲寄存器,通过它可以完成对节点 0 数据的访问。 49 … SETUP 寄存器从计算机接收 set-up 数据包 … EP0BC,节点 0 中的数据的个数。 4.2.4.6 其它寄存器: … INPKTEND/FLUSH 寄存器强制数据包结束或清空 FIFO … INTERRUPTS 寄存器为中断使能寄存器 … DESC 寄存器可以完成对描述表的操作 4.3 ‘F28335 接口 CY7C68001 SEED-DEC28335 将 CY7C68001 配置在’F28335 的 Zone 0 空间,采用 CY7C68001 的异步读写方式完成二者之间数据和命令的交换。其原理框图如下: CY7C68001 除了存储器接口外,还有 1 个中断信号 USBINT 和 4 个状态信号(READY、 FLAGA、FLAGB 和 FLAGC)。中断信号 USBINT 占用’F28335 的外部中断 XINT3,状态 信号 READY 、FLAGA、FLAGB 和 FLAGC 配置在 DEC28335 的 USB/UART 状态寄存 器(USB_STS)中,可由’F28335 查询。 50 4.3.1 USB 状态/命令口 CY7C68001 有 4 个状态信号(READY、FLAGA、FLAGB、FLAGC)可以通过 SEED-DEC28335 上的 USB/UART 状态寄存器(USB_STS)读取,其口地址为 0x00 4100, 只读,状态位定义如下: D7 保留 D6 保留 D5 保留 D4 D3 D2 D1 D0 VCC READY FLAGC FLAGB FLAGA VCC: 0: 1: READY: 0: 1: USB 外部电源 USB 电缆未连接 USB 电缆已连接 USB 的 READY 的状态 USB 未就绪 USB 已就绪 FLAGC: 0: 1: USB 的 FLAGC 的状态 有效 无效 FLAGB: 0: 1: USB 的 FLAGB 的状态 有效 无效 FLAGA: 0: 1: USB 的 FLAGA 的状态 有效 无效 CY7C68001 还可以通过 USB 唤醒寄存器(USB_WAKEUP)由’F28335 唤醒,其口 地址为 0x00 4100,只写,控制位定义如下: D7~D1 保留 D0 WAKEUP WAKEUP: 0: 1: CY7C68001 唤醒,复位为 1 CY7C68001 处于休眠状态 唤醒 CY7C68001,使其正常工作 51 4.4 USB 的初始化 CY7C68001 的有两种自举方式: … EEPROM 自举; … 通过 DSP 自举; 在 SEED-DEC28335 中这两种方式均可以,一般采用 EEPROM 来进行 USB 的初始化。 在 EEPROM 中初始化的顺序如下: 0xC4 IFCONFIG POLAR Descriptor Descriptor Length Descriptor Data 通知 EZ_USB SX2 有一个有效的 EEPROM 存在 设置 IFCONFIG 寄存器 设置各个信号的极性 是否从 EEPROM 中装入初始化表。当值为 0xc4 时,装入,反之等 待 Master 装入。 这是两个字节的空间,指示 EERPOM 中 Descriptor 的长度。 描述表的内容。 4.5 USB 的编程: USB 的编程主要分为两个部分,一是 HOST 方面的驱动程序的编写,一是有关 DSP 与 USB 的数据与命令的交换。 4.5.1 HOST 端 HOST 端需要编写 USB 设备驱动程序和应用程序。 USB 设备驱动程序主要是通过调用微软的 USBD.SYS 来实现 PC 机与 USB 总线的数 据交换。因而 USB 设备驱动程序主要完成的功能如下: … 对相应的 USB 设备建立设备驱动对象并完成对 USB 设备的初始化; … 完成 USB 设备的即插即用功能; … 完成 USB 设备电源的管理; … 实现对 USBD.SYS 的调用,完成对 USB 设备的控制与数据的交换; … 实现对 USB 通讯错误的处理。 其详细说明请参看文档:《SEED-DECxxxx 的 USB 驱动程序的接口及使用说明》。 52 4.5.2 ’F28335 端 USB 与 ’F28335 的数据与命令的交换的编程 ’F28335 是通过其 Zone 0 来完成 CY7C68001 的数据交换的。在这部分程序中主要完 成以下功能: … 完成对命令接口的读与写; … 完成对 FIFO 接口的读与写; … 完成’F28335 对 USB 的自举; … 完成’F28335 与 USB 的控制命令的传输; … 完成’F28335 与 USB 的各种方式的数据传输。 其详细说明请参看以上对 USB 控制器 CY7C68001 的说明及相关的源程序。 53 第5章 电机控制接口 SEED-DEC28335 模板根据电机控制的特点,将’F28335 上的有关电机控制的信号进 行分组,信号被分成二个组,每组用二个连接器,一个接电机控制功率驱动板以实现 PWM 输出和状态反馈,另一个接编码盘以实现电机测速、测角等。 ‘F28335 上 的 PWM1 ~ PWM6 、 T1PWM_T1CMP 、 T2PWM_T2CMP 、 T1CTRIP_PDPINTA 、 T2CTRIP/EVASOC 、 TDIRA 、 TCLKINA 、 C1TRIP ~ C3TRIP 、 ADCINA0~ADCINA7、ADCLO 组成一个接插件 J17,CAP1_QEP1、CAP2_QEP2、 CAP3_QEPI1、5V、GND 组成另一个接插件 J18,二者为一组,用来控制一台 3 相电机。 ‘F28335 上 的 PWM7 ~ PWM12 、 T3PWM_T3CMP 、 T4PWM_T3CMP 、 T3CTRIP_PDPINTA 、 T4CTRIP/EVBSOC 、 TDIRB 、 TCLKINB 、 C4TRIP ~ C6TRIP 、 ADCINB0 ~ ADCINB7 、 ADCLO 组 成 一 个接 插件 J6 , CAP4_QEP3 、CAP5_QEP4 、 CAP6_QEPI2、5V、GND 组成另一个接插件 J19,二者为一组,用来控制另一台 3 相电机。 连接器 J1 采用 2.54mm 间距、26-芯双排插针连接器,其定义如下: EPWM1A(O) EPWM2A(O) EPWM3A(O) 保留 TZ1(I) ECAP5(I/O) CPLDIO 保留 ADCLO(I) ADCINA7(I) ADCINA5(I) ADCINA3(I) ADCINA1(I) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 EPWM1B(O) EPWM2B(O) EPWM3B(O) 保留 保留 ECAP6(I/O) 保留 GND ADCLO(I) ADCINA6(I) ADCINA4(I) ADCINA2(I) ADCINA0(I) 注:ADCLO 为模拟地,GND 为数字地。 连接器 J4 采用 2mm 间距、6-芯单排插针连接器,其定义如下: 1 2 3 4 5 6 54 +5V EQEP1A(I) EQEP1B(I) EQEP1(I I/O) EQEP1S(I/O) GND 连接器 J3 采用 2.54mm 间距、26-芯双排插针连接器,其定义如下: EPWM4A(O) EPWM5A(O) EPWM6A(O) 保留 保留 保留 保留 保留 ADCLO(I) ADCINB7(I) ADCINB5(I) ADCINB3(I) ADCINB1(I) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 EPWM4B(O) EPWM5B(O) EPWM6B(O) 保留 保留 保留 保留 GND ADCLO(I) ADCINB6(I) ADCINB4(I) ADCINB2(I) ADCINB0(I) 连接器 J2 采用 2mm 间距、6-芯单排插针连接器,其定义如下: 1 2 3 4 5 6 EQEP2A(I) EQEP2B(I) EQEP2(I I/O) EQEP2S(I/O) +5V GND ECAP1(I/O) ECAP2(I/O) ECAP3(I/O) ECAP4(I/O) EQEP2 四根信号线与 McBSPB 复用,通过向 Zone 0 空间地址 0x00,40C0 写 0x1 则 开启 EQEP2 接口,写 0x0 则切换为 McBSPB 接口。 注意:引至连接器上的电机控制/状态信号均已在板内作了电平转换,所以外部能兼容 +5V/+3.3V 电平。 55 第6章 D/A 输出 SEED-DEC28335 模板上使用了一片 AD5725 做模拟量输出,AD5725 有 4 路 D/A 输 出。因此,SEED-DEC28335 共有 4 路 D/A 输出,输出的模拟信号范围为±10V。 6.1 AD5725 概述 AD5725 为 4 通道、12 位分辨率、±10V 信号量程、建立时间 10us、±15V 供电的 D/A 转换器。它内部有 2 级锁存,先将数据锁存到缓冲器中,然后再锁存到输出寄存器,实 现多通道同时输出。其原理框图如下图所示: AD5725 采用直接二进制编码,理想的输入数字量与输出模拟量之间的关系如下式所 示: VOUT = VREFL + (VREFH – VREFL) x N÷4096 其中: 56 N: VOUT: VREFL: VREFH: 数字输入 模拟输出 低参考电压,可以为-10V 或 0V,缺省为-10V 高参考电压,可以为+10V 或+5V,缺省为+10V 复位时,输出锁存器中的数值为 800H,所以当配置为±10V 输出时,模拟输出的复位 值为 0V。 6.2 ‘F28335 接口 AD5725 AD5725 采用 2 级缓冲方案,第 1 级缓冲只分别缓存各通道 D/A 的数字输入,并不将 此数字输入转换为模拟输出;第 2 级缓冲则将第 1 级缓存的数字输入打入相应的输出寄存 器中,并将数字输入转换为模拟输出,从而实现多通道 D/A 同时输出。 所以,对于每个通道 D/A 输出的第 1 级,均映射到’F28335 的一个存储单元,而所有 通道 D/A 输出的第 2 级,公用’F28335 的一个存储单元,共占用 5 个存储单元。 SEED-DEC28335 将 5 个 D/A 输出缓冲器映射到’F28335 的 Zone 0 中,它们的映射关系如 下表所示: 功能/名字 第 0 通道 D/A 数据口 DA_PORT0 第 1 通道 D/A 数据口 DA_PORT1 第 2 通道 D/A 数据口 DA_PORT2 第 3 通道 D/A 数据口 DA_PORT3 D/A 同时输出口 DA_OUT 地址/区域 0x00,4040 Zone 0 0x00,4041 Zone 0 0x00,4042 Zone 0x00,4043 Zone 0 0x00,40E0 Zone 0 操作 12-位 读/写 12-位 读/写 12-位 读/写 12-位 读/写 - 只写 访问周期 第 0~3 通道 D/A 输出的数据口只用 16-位数据的低 12-位,12 位以上的数字被忽略。 而 D/A 同时输出口,只利用写脉冲信号,16-位数据全被忽略。 57 第7章 实时时钟 SEED-DEC28335 模板上配置有 ISL12026 实时时钟 + 串行 EEPROM,可以产生年、 月、日、星期、时、分、秒等实时时间信息,还有 512×8-位 EEPROM,可以用来存储定 值。非常适合于工业控制场合。‘F28335 通过 I2C 接口与 ISL12026 进行连接。 7.1 ISL12026 概述 ISL12026 为实时时钟 RTC + 串行 EEPROM,采用串行 IIC 与微处理器接口,其原理 框图如下图所示: 7.1.1 IIC 总线 ‘F28335 通过 IIC 总线对 ISL12026 进行操作,IIC 总线有 2 个信号 SDA 和 SCL,其时 序如下列几个图所示: SDA 信号线上数据变化时序如下图所示: 58 IIC 开始和结束时序如下图所示: IIC 确认时序如下图所示: 7.1.2 对 ISL12026 的寻址 通过 IIC 总线,’F28335 可以访问 ISL12026 内部 2 个部分,一部分为 CCR(时钟/控 制寄存器),另一部分为 EEPROM 的 512×8-位存储单元。这二部分被作为 2 个 IIC 总线 从设备对待,对应二个 IIC 从设备地址。CCR 包含 29 个 8-位寄存器,以 0x00~0x3F 地址 进行寻址;EEPROM 则有 512×8-位存储单元,以 0x000~0x1FF 地址进行寻址。ISL12026 的寻址时序如下图所示: 59 对 ISL12026 的读/写访问均有二种方式:单字节随机读/写和多字节顺序读/写。 ISL12026 的读/写时序如下 4 图所示: 单字节随机写操作时序如下图所示: 多字节顺序写操作时序如下图所示: 60 单字节随机读操作时序如下图所示: 多字节顺序读操作时序图如下: 7.1.3 ISL12026 片内 CCR 寄存器的映射 ISL12026 片内 CCR 寄存器的映射如下图所示: 61 62 第8章 扩展总线 合众达公司在总结了以往产品的基础上,设计、开发了系列化的嵌入式 DSP 控制模板 SEED-DECxxxx,SEED-DEC28335 是其中的一种。该系列产品本着模块化、总线型、开 放式、系列化的设计思想,采用统一的:系统结构、模块结构和机械结构,设计、开发一系 列具有基本一致的 DSP 基本系统、标准的扩展总线和相同的物理尺寸的嵌入式 DSP 控制 模板。使本系列产品具有良好的继承性和扩展性,开放的扩展总线使用户更加灵活、快速地 构建自己的应用系统。 标准化的扩展总线是模块结构的关键,为此我们仔细研究和总结了 TI 各系列 DSP 的外 部存储器接口和片上外设接口的特点,设计、开发了一组能适应各系列 DSP 的标准化的扩 展总线。此标准化的扩展总线分成二个部分:一为存储器扩展总线,一为外设扩展总线。为 了方便外部扩展,标准化的扩展总线接口电平兼容+3.3V/+5V。 SEED-DEC28335 则根据自身的特点实现此标准化的扩展总线。 8.1 存储器扩展总线 存储器扩展总线包含: … 存储器接口(32-位数据线、20-位地址线、4-个存储空间、4-个字节使能支持 8/ 16/32-位访问,支持异步存储器访问/同步静态随机存储 SBSRAM 或 ZBTSRAM 访问/同步动态存储器 SDRAM 访问/同步 FIFO 访问,支持外部 DMA 请求) … 系统接口(2-个时钟输出、1-个复位输出、1-个不可屏蔽中断输入、4-个可屏蔽中 断输入) … 主电源(+3.3V、+5V 和 GND) 存 储 器 扩 展 总 线 用 90 芯 的 1.27mm × 1.27mm 高 密 度 表 贴 插 座 实 现 , 其 在 SEED-DECxxxx 模板上的位置固定不变,存储器扩展总线插座在 PCB 板上正、反面均可安 装,方便实现叠层扩展,其引脚定义如下: +5V 1 2 +5V D31 3 4 D30 D29 5 6 D28 63 D27 D25 D23 D21 D19 D17 GND D15 D13 D11 D09 D07 D05 D03 D01 +3.3V A21 A19 A17 A15 A13 A11 A09 A07 GND A05 A03 BE3 BE1 ARE/SADS/SDCAS/SRE AWE/SWE/SDWE ECLKOUT1 SDCKE GND CE3 CE1 HOLD CLKOUT1 RESET INT3 INT1 GND 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 64 D26 D24 D22 D20 D18 D16 GND D14 D12 D10 D08 D06 D04 D02 D00 +3.3V A20 A18 A16 A14 A12 A10 A08 A06 GND A04 A02 BE2 BE0 AOE/SOE/SDRAS ARDY ECLKOUT1 SOE3 GND CE2 CE0 HOLDA CLKOUT0 NMI INT2 INT0 GND 8.2 外设扩展总线 外设扩展总线选择各系列均包含的片上外设,如 McBSP、定时器等,它包含: … 片上外设接口(2-个 McBSP、2-个定时器) … 握手接口(2-个控制输出、2-个状态输入) … 备用接口 … 辅助电源(+3.3V、+5V、±15V/12V 和 GND) 外设扩展总线用 40 芯的 1.27mm×1.27mm 高密度表贴插座实现,在 SEED-DECxxxx 模板上的位置固定不变,外设扩展总线插座在 PCB 板上也正、反面均可安装,方便实现叠 层扩展,其引脚定义如下: -12V/-15V GND +12V/+15V +5V CLKX2 FSX2 DX2 CLKS2 CLKX1 FSX1 DX1 CLKS1 GND TOUT2 TOUT1 CNTL1 STAT1 备用 备用 +3.3V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 -12V/-15V GND +12V/+15V +5V CLKR2 FSR2 DR2 备用 CLKR1 FSR1 DR1 备用 GND TINP2 TINP1 CNTL0 STAT0 备用 备用 +3.3V 8.3 SEED-DEC28335 扩展总线 ‘F28335 为 32-位浮点 DSP,其外部存储器接口只支持 16-位、异步存储器访问,所以 SEED-DEC28335 上的存储器扩展总线只实现 16-位、异步存储器接口,其 4-个存储空间 CE0~CE3 映射到’F28335 外部存储空间 Zone 7 上,而’F28335 的 Zone 7 存储空间的大 小只有 1M×16-位。在此,我们采用分页技术将 4 个 1M×16-位的扩展总线存储空间 CE0~ 65 CE3 映射到’F28335 的 Zone 7 存储空间中。也即将 4M×16-位的扩展总线存储空间分为 4 个 1M×16-位的存储空间页,2 位页地址由扩展总线存储器空间页地址寄存器(映射在 Zone 0 的 0x00,4060,只写)产生,其控制位的定义如下: D7~D2 保留 D1 PA21 D0 PA20 PA[21:20]: 00: 01: 10: 11: 2 位页地址,用于选择 4 个 1M×16-位扩展总线存储空间 选择扩展总线的 CE0 空间 选择扩展总线的 CE1 空间 选择扩展总线的 CE2 空间 选择扩展总线的 CE3 空间 外设扩展总线上有 2-位控制位,SEED-DEC28335 用扩展总线控制寄存器实现,其被 映射到’F28335 的 Zone 0 存储空间,地址为 0x00 40A0,只写,其各位的定义如下: D7~D2 保留 D1 CNTL1 D0 CNTL0 CNTL1: 0: 1: 外设扩展总线控制位 1 输出,复位值为 0 CNTL1 输出低电平 CNTL1 输出高电平 CNTL0: 0: 1: 外设扩展总线控制位 0 输出,复位值为 0 CNTL0 输出低电平 CNTL0 输出高电平 存储器扩展总线上有 5 个中断信号,其中 CPU 的 XINT6(GPIO57)复用外部 XINT2 和 XINT3 两个中断,所以扩展总线上的 XINT2 和 XINT3 两个中断信号必须被作为状态信号, 由’F28335 读取,以知道究竟是哪一个引起的中断。另外,外设扩展总线上还有 2-位状态位。 这些状态信号在 SEED-DEC28335 上用扩展总线状态寄存器实现,其被映射到’F28335 的 Zone 0 存储空间,地址为 0x00 40A0,只读,其各位的定义如下: D7 保留 D6 D5 STAT1 STAT0 D4 XMNI D3 XINT3 D2 XINT2 D1 XINT1 D0 XINT0 STAT[1:0]: 外设扩展总线状态位输入 XMNI: 存储器扩展总线不可屏蔽中断状态,低电平有效 XINT[3:0]: 存储器扩展总线可屏蔽中断状态,低电平有效 SEED-DEC28335 存储器扩展总线通过连接器 J6(正面)和 J22(反面)引出,连接 器 J6 的定义如下: 66 +5V NC NC NC NC NC NC NC NC GND D15 D13 D11 D09 D07 D05 D03 D01 +3.3V A19 A17 A15 A13 A11 A09 A07 A05 GND A03 A01 +3.3V GND RD WE NC NC GND CE3 CE1 HOLD CLKOUT RESET 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 +5V NC NC NC NC NC NC NC NC GND D14 D12 D10 D08 D06 D04 D02 D00 +3.3V A18 A16 A14 A12 A10 A08 A06 A04 GND A02 A00 +3.3V GND OE RDY NC NC GND CE2 CE0 HOLDA NC XNMI 67 XINT3 XINT1 GND 连接器 J22 的定义如下: +5V NC NC NC NC NC NC NC NC GND D14 D12 D10 D08 D06 D04 D02 D00 +3.3V A18 A16 A14 A12 A10 A08 A06 A04 GND A02 A00 +3.3V GND OE RDY NC NC 68 85 86 87 88 89 90 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 XINT2 XINT0 GND +5V NC NC NC NC NC NC NC NC GND D15 D13 D11 D09 D07 D05 D03 D01 +3.3V A19 A17 A15 A13 A11 A09 A07 A05 GND A03 A01 +3.3V GND RD WE NC NC GND CE2 CE0 HOLDA NC XNMI XINT2 XINT0 GND 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 GND CE3 CE1 HOLD CLKOUT RESET XINT3 XINT1 GND ‘F28335 上的 CPU 定时器没有外部引脚,所以 SEED-DEC28335 的外设扩展总线没有 实现定时器输入/输出。 SEED-DEC28335 的外设扩展总线通过连接器 J16(正面)和 J23(反面)引出,连接 器 J16 的定义如下: -15V GND +15V +5V CLKX2 FSX2 DX2 NC CLKX1 FSX1 DX1 NC GND NC NC CNTL1 STAT1 NC NC +3.3V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 -15V GND +15V +5V CLKR2 FSR2 DR2 NC CLKR1 FSR1 DR1 NC GND NC NC CNTL0 STAT0 NC NC +3.3V 连接器 J23 的定义如下: -15V GND +15V 1 2 3 4 5 6 -15V GND +15V 69 +5V CLKR2 FSR2 DR2 NC CLKR1 FSR1 DR1 NC GND NC NC CNTL0 STAT0 NC NC +3.3V 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 +5V CLKX2 FSX2 DX2 NC CLKX1 FSX1 DX1 NC GND NC NC CNTL1 STAT1 NC NC +3.3V 70 第9章 测试程序 注 1 : 本 测 试 包 含 三 个 文 件 夹 : DSP2833x_common 、 DSP2833x_examples 、 DSP2833x_headers,这三个文件夹需放在同一目录下。另,所有测试工程均在 CCS3.3 环 境下调试,CCS3.3 升级文件在 CCS3.3 Update 目录下。浮点库的安装见附录 C。 注 2:测试程序的工程调试环境是以合众达公司的 USB 仿真器建立的,为了方便起见, 推荐用户使用合众达公司 USB 仿真器进行测试。如果使用其它类型的仿真器,请参考附录 C 创建相应的工程调试环境。 SEED-DEC28335 模板的测试程序包括以下几个方面: … DSP 对片外 SRAM 及 DMA 操作示例; … DSP 片内外设 A/D 的操作示例; … DSP 片内外设 SCI 的操作示例; … DSP 片内外设 MCBSP 的操作示例; … DSP 片内外设 PWM 及 EQEP 的操作示例; … DSP 片内外设 CAN 的操作示例; … D/A 输出的操作示例; … DSP 片内外设 I2C 的操作示例; … USB 通讯的操作示例; … 烧写 DSP FLASH 实现 FLASH BOOT 的操作示例; 71 9.1 存贮器系统的测试 SEED-DEC28335 模板上的 SRAM 标准配置为 64K×16 位;本程序主要是用来通过 DMA 功能测试外部 SRAM 的读/写操作。 SRAM 的测试过程是对外部 SRAM 的 DMABuf2 空间进行从 0-1023 共 1024 字的写操 作,然后通过 DMA 读回到片内 L4 SARAM 的 DMABuf1 空间,并在 DMA 完成中断的中断 服务函数中判断是否正确; 9.1.1 SRAM 测试过程 SRAM 的测试过程如下: … 在 CCS 中 用 Project → Open… 命 令 , 加 载 DSP2833x_examples\dma_xintf_to_ram 目 录 下 的 Example_2833xDMA_xintf_to_ram.pjt; … 在 CCS 中 用 File → Load GEL… 命 令 , 加 载 DSP2833x_examples\dma_xintf_to_ram 目 录 下 的 Example_2833xDMA_xintf_to_ram.gel; … 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\dma_xintf_to_ram\Debug 目录下的 Example_2833xDMA_xintf_to_ram.out; … 在 CCS 中用 Debug→Go Main 命令执行程序到 C 的 main()函数处; … 按 F5 运行; … 测 试 结 束 , 程 序 会 自 动 停 止 , 如 果 测 试 失 败 程 序 将 停 在 asm (" ESTOP0");//error 处,测试成功将停在 asm (" ESTOP0");//ok 处。 72 9.2 A/D 的测试 SEED-DEC28335 模板上的有 16 路 A/D 信号输入通路,信号范围是 0V~3V。本程序 主要是对外部模拟量输入信号进行 A/D 转换。 A/D 测试首先对 A/D 模块的进行初始化操作,当 A/D 模块非忙时,启动 16 个 A/D 通道 进行转换,主程序进入死循环,A/D 转换完毕后,产生 AD 中断,中断服务程序将 16 个 A/D 转换结果读入数组 a1[16]中,并再次启动 16 个 A/D 通道进行转换,循环往复。 9.2.1 A/D 的测试过程 本测试程序共采集 10 次数据,每次采集 16 路 AD 通道,因此共有 10*16=160 个采样 点,并通过 DMA 方式存储到 DSP 内部 SRAM。 A/D 的测试过程如下: 73 1. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\adc_dma 目录下 的 Example_2833xAdcToDMA.pjt; 2. 在 CCS 中用 File→Load GEL…命令,加载..\01. DSP\DSP2833x_common\gel 文件夹中的 f28335.gel 3. 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\adc_dma\Debug 目 录 下 的 Example_2833xAdcToDMA.out; 4. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 5. 在 CCS 中用 View→Watch Window 命令,打开变量观察窗,点击 Watch 1 页面, 在 Name 项中键入变量名 ADC_Result。 6. 按 F5 运行程序,直至程序自动停止。 7. 观察 Watch 窗中变量 ADC_Result 的变化。ADC_Result [0]~ADC_Result [9]对 应第一个 A/D 通道模拟输入值,ADC_Result [10]~ADC_Result [19]对应第二个 A/D 通道模拟输入值,依此类推。 9.3 UART 的测试 SEED-DEC28335 模板上有 2 个 UART 串口,本程序是对 SCI-B(J9),SCI-C(J13)进行 操作,首先,打开 PC 机上的串口测试软件,设置波特率为 9600BPS,8 个数据位,None 校验,1 个停止位,设置如下图,然后用串口线连接 PC 机和 SEED-DEC28335 模块,开 74 始运行程序,先由 PC 机上的串口测试软件给 SEED-DEC28335 发数据,SEED-DEC28335 收到数据后,把收到的数据发回 PC 机,在串口测试软件的接收 BUFFER 处看见收到的数 据,看发送和接收的数据是否一致,来判断 SEED-DEC28335 的 SCI-B,SCI-C 是否正常。 9.3.1 UART 的测试过程 UART 的测试过程如下: 1. 用串口电缆连接 PC 机与 SEED_DEC28335 的 SCI-B(J9)。 2. 运行目录 Serial 下的“串口调试器”的软件,设置串口参数,如下 3. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\sci_loopback 目 录下的 Example_2833xScia_FFDLB.pjt; 4. 在 CCS 中用 File→Load GEL…命令,加载 DSP2833x_examples\sci_loopback 目录下的 Example_2833xScia_FFDLB.gel; 5. 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\sci_loopback\Debug 目 录 下 的 Example_2833xScia_FFDLB.out; 6. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 7. 按 F5 运行程序; 75 关于更多串口的操作,请参看测试程序的源代码及相关的文档。 在测试程序的 DEFINE 定义中,SCIB 定义 1 时,SCIC 定义 0 时,测试 SCIB,连接 串口 J9,SCIB 定义 0 时,SCIC 定义 1 时,测试 SCIC,连接串口 J13。 9.4 McBSP 的测试 ‘F28335 片上有 2 个 McBSP 多通道同步串口,本程序同时对两路 McBSPs 进行操作, McBSPA 进行内部闭环测试,McBSPB 进行外部闭环测试。首先将 MCLKXB 和 MCLKRB, MFSXB 和 MFSRB,MDXB 和 MDRB 短接上,形成自发自收模式。 9.4.1 McBSP 的测试过程 McBSP 的测试过程如下: 1. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\mcbsp_loopback 目录下的 Example_2833xMcBSP_DLB.pjt; 76 2. 在 CCS 中 用 File → Load GEL… 命 令 , 加 载 DSP2833x_examples\mcbsp_loopback 目 录 下 的 Example_2833xMcBSP_DLB.gel; 3. 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\mcbsp_loopback\Debug 目录下的 Example_2833xMcBSP_DLB.out; 4. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 5. 在如图所示的位置设置断点(注意测试例子中 WORD_SIZE == 32),按 F5 运行 程序。 6. 按 F5 运行程序。 7. 如果数据发送或接收失败,程序会停在 while(McbspaRegs.SPCR1.bit.RRDY == 0 ) { } // Check for receive 或 while(McbspbRegs.SPCR1.bit.RRDY == 0 ) { } // Check for receive 处;如果数据校验失败,程序会自动停止在 asm(" ESTOP0"); // test failed!! Stop!处 9.5 PWM 及 EQEP 的测试 本测试程序通过对 EPWM1 进行操作,产生 5K 方波,并连至 EQEP1A 口进行频率捕 获。 9.5.1 PWM 的测试过程 PWM 的测试过程如下: 1. 将 XEPWM1A(J1 的 1 脚)与 XEQEP1A(J4 的 2 脚)短接; 77 2. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\eqep_freqcal 目 录下的 Example_2833xEqep_freqcal.pjt; 3. 在 CCS 中用 File→Load GEL…命令,加载..\01. DSP\DSP2833x_common\gel 文件夹中的 f28335.gel 4. 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\eqep_freqcal\Debug 目 录 下 的 Example_2833xEqep_freqcal.out; 5. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 6. 将 freq.freqhz_fr(通过定时器计算输出方波频率)、freq.freqhz_pr(通过捕获口 计算出方波频率)两变量加至 CCS 观察窗口; 7. 按 F5 运行程序。 8. 用示波器观察 XEPWM1A(J1 的 1 脚)引脚上的波形是 3.3V,5KHZ 的方波。 9. 从 CCS 观察窗口读出频率值是 5000; 9.6 D/A 的测试 SEED-DEC28335 模板上有 1 个 D/A 芯片 AD5725。AD5725 包括 4 路 D/A 信号,输 出 40Hz~10000Hz,最大±10V 量程的波形。测试 DA 需要连接 J21 电源。 78 波形输出包括正弦波、方波、三角波和锯齿波。 9.6.1 D/A 的测试过程 D/A 的测试过程如下: 1. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\dac 目录下的 Example_2833xDA.pjt; 2. 在 CCS 中用 File→Load GEL…命令,加载..\01. DSP\DSP2833x_common\gel 文件夹中的 f28335.gel 3. 在 CCS 中用 File→Load Program…命令,加载 DSP2833x_examples\dac\Debug 目录下的 Example_2833xDA.out; 4. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 5. 按 F5 运行程序。 6. 用示波器观察 J5 的各管脚波形,管脚 1,2,3,4 的输出波形分别是幅度为 10V, 频率为 250HZ 的锯齿波,正旋波,三角波,方波。 79 9.7 I2C 的测试 ‘F28335 内部具有 I2C 模块,本测试程序就是通过 I2C 接口设置 SEED-DEC28335 模 板上的 RTC 芯片 ISL12026。 本测试程序对 EEPROM 进行读写操作,对 RTC 实时时钟设置,然后通过对 RTC 的读 操作,得到 RTC 实时时钟值。 9.7.1 RTC 的测试过程 I2C 的测试过程如下: 1. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\i2c_rtc 目录下的 Example_2833xI2C_rtc.pjt; 2. 在 CCS 中用 File→Load GEL…命令,加载..\01. DSP\DSP2833x_common\gel 文件夹中的 f28335.gel 3. 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\i2c_rtc\Debug 目录下的 Example_2833xI2C_rtc.out; 4. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 5. 将 YEAR、MONTH、DAY、WEEK、HOUR、MINUTE、SECOND 变量加到观察 窗; 6. 按下图设置断点,按 F5 运行程序。 80 9.8 CAN 的测试 SEED-DEC28335 模板上有 1 个增强型 CAN 模块:eCANB,包括 32 个发送/接收可 以设置的邮箱,通讯协议完全符合 CAN2.0 协议。通讯速率最高可达 1M,最小不能低于 23.4K。 本测试程序采用 eCAN 模块本身提供的 SELF-TEST 功能,将 32 个邮箱设置为 16 个 发送,16 个接收模式,采用自发自收的方式,循环发送,可以通过将接收邮箱里的接收数 据读出,来判断 CAN 是否正常。 9.8.1 CAN 的测试过程 CAN 的测试过程如下: 1. 在 CCS 中用 Project→Open…命令,加载 DSP2833x_examples\ecan_back2back 目录下的 Example_2833xECanBack2Back.pjt; 81 2. 在 CCS 中 用 File → Load GEL… 命 令 , 加 载 DSP2833x_examples\ecan_back2back 目 录 下 的 Example_2833xECanBack2Back.gel; 3. 在 CCS 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\ecan_back2back\Debug 目 录 下 的 Example_2833xECanBack2Back.out; 4. 在 CCS 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 5. 按 F5 运行程序。 6. 程序自动停止到 asm(" ESTOP0"); // OK,表示测试通过,若停止到 asm(" ESTOP0"); // ERROR,表示测试失败。 9.9 USB 的测试 SEED-DEC28335 模板上扩展有 1 个 USB2.0 接口,支持 USB2.0 协议,传输率在 HIGH SPEED 时,为 12M;FULL SPEED 时,为 480M。 82 本测试程序采用 SEED-DEC28335 和 Host 主机通讯,来测试 USB 模块工作,通过在 Host 主机上的演示程序 02. Host PC\USB\SEEDDEC2XXX.exe,来读取 USB 的自举值, FIFO 值。 9.9.1 USB 的测试过程 USB 的测试过程如下: 1. 在 CCS3.3 中用 Project→Open…命令,加载 DSP2833x_examples\usb 目录下的 usb.pjt; 2. 在 CCS3.3 中用 File→Load GEL…命令,加载 DSP2833x_examples\usb 目录下 的 Example_2833x_usb.gel; 3. 在 CCS3.3 中 用 File → Load Program… 命 令 , 加 载 DSP2833x_examples\usb\Debug 目录下的 Example_2833x_usb.out; 4. 在 CCS3.3 中用 Debug→Go Main 命令,将程序执行到 C 的入口函数 Main()处; 5. 按下图设置断点,按 F5 运行程序。 6. 首先进行 USB 自举,自举成功后,DSP 在断点处停止,表明 USB 自举成功,如 图 1 所示。 7. 按 F5 继 续 运 行 程 序 , 然 后 打 开 Host 主 机 上 的 USB 测 试 程 序 02. Host PC\USB\SEEDDEC2XXX.exe,如图 2 所示,对 SEED-DEC28335 的 USB 进行 测试,来完成 USB 的自举系数调用,FIFO 的读写,如图 3 所示。 图1 83 在下面的 PC 机测试程序中,打开工具栏中的 USB 测试选项,可以显示相应的测试数据, 如图 3 所示。 图2 图3 84 9.10 FLASH BOOT 的测试 本示例将演示如何将用户应用程序烧入‘F28335 内部 FLASH 并实现 FLASH BOOT 。 此示例是将 DSP2833x_examples\flash\Debug\Example_28335_Flash.out 烧写到 FLASH。 有 关 Example_28335_Flash.out 的 功 能 及 其 实 现 请 参 考 工 程 文 件 DSP2833x_examples\flash 目录下的 Example_28335_Flash.pjt。 在烧写 FLASH 前,请确认您的 CCS3.3 的升级包 “CCS_v3.3_SR8_3.3.77.exe” 已 安装。 9.10.1 FLASH BOOT 的测试过程 FLASH BOOT 的测试过程如下: 1. 进入 CCS,打开 F28xx On-Chip Flash Programmer。 2. 设置参数。 85 3. 选取.out 文件 86 4. 点击 ‘Execute Operation’ 等待烧写完成。 87 第 10 章 连接器、跳针、机械尺寸 本章描述 SEED-DEC28335 模板的物理布局,说明各连接器的定义、跳针的设置,以 及它们在模板上的位置。 10.1 物理布局 SEED-DEC28335 为工业标准的 3U 板,长 160mm×宽 100mm,采用表面贴装元器 件,元器件双面安装。 SEED-DEC28335 模板正面布局如下图所示: 88 SEED-DEC28335 模板的反面布局如下图所示: 10.2 连接器与跳针 SEED-DEC28335 模板上有 20 个连接器和 4 个跳针,如下表所示: 连接器 J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 J11 J12 J13 J14 J15 J16 J17 引脚数 26 6 26 6 5 90 2 3 8 3 3 3 8 5 6 40 4 功能 A 组电机控制驱动接口,2.54mm×2.54 双排连接器 B 组电机编码盘接口,6-芯 2mm 单排连接器 B 组电机控制驱动接口,2.54mm×2.54 双排连接器 A 组电机编码盘接口,6-芯 2mm 单排连接器 4 通道 D/A 输出口,5-芯 2mm 单排连接器 存储器扩展总线(正面),1.27mm×1.27mm 高密度表贴连接器 CAN 总线接口,2-芯 2mm 单排连接器 B 通道异步串口 CMOS 电平接口,3-芯 2mm 单排连接器 B 通道异步串行接口,RS232 C 通道异步串行接口模式配置 C 通道异步串行接口模式配置 C 通道异步串行接口模式配置 C 通道异步串行接口,RS232/RS485 可设置 USB 接口,Mini USB B 型连接器 CPLD JTAG 外设扩展总线(正面),1.27mm×1.27mm 高密度表贴连接器 复位按钮 89 J18 14 JTAG 仿真器接口 J19 2 +5V 电源输入口 J20 2 外部手动复位接口 J21 4 +5V、±15 电源输入口 J22 90 存储器扩展总线(反面),1.27mm×1.27mm 高密度表贴连接器 J23 40 外设扩展总线(反面),1.27mm×1.27mm 高密度表贴连接器 J24 3 选择 DAC 低参考电压 10.2.1 J1:A 组电机控制驱动接口 EPWM1A(O) EPWM2A(O) EPWM3A(O) 保留 TZ1(I) ECAP5(I/O) CPLDIO 保留 ADCLO(I) ADCINA7(I) ADCINA5(I) ADCINA3(I) ADCINA1(I) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 EPWM1B(O) EPWM2B(O) EPWM3B(O) 保留 保留 ECAP6(I/O) 保留 GND ADCLO(I) ADCINA6(I) ADCINA4(I) ADCINA2(I) ADCINA0(I) A 组电机控制驱动接口 J1 采用 2.54mm 间距、26-芯双排直插针式连接器,其引脚定义 如下: 10.2.2 J2:B 组电机编码盘接口 B 组电机控制驱动接口 J2 采用 2mm 间距、6-芯单排直插针式连接器,其引脚定义如 下: 1 2 3 4 5 6 EQEP2A(I) EQEP2B(I) EQEP2(I I/O) EQEP2S(I/O) +5V GND ECAP1(I/O) ECAP2(I/O) ECAP3(I/O) ECAP4(I/O) 90 10.2.3 J3:B 组电机控制驱动接口 B 组电机控制驱动接口 J3 采用 2.54mm 间距、26-芯双排直插针式连接器,其引脚定义 如下: EPWM4A(O) EPWM5A(O) EPWM6A(O) 保留 保留 保留 保留 保留 ADCLO(I) ADCINB7(I) ADCINB5(I) ADCINB3(I) ADCINB1(I) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 EPWM4B(O) EPWM5B(O) EPWM6B(O) 保留 保留 保留 保留 GND ADCLO(I) ADCINB6(I) ADCINB4(I) ADCINB2(I) ADCINB0(I) 10.2.4 J4:A 组电机编码盘接口 A 组电机控制驱动接口 J4 采用 2mm 间距、6-芯单排直插针式连接器,其引脚定义如 下: 1 2 3 4 5 6 +5V EQEP1A(I) EQEP1B(I) EQEP1(I I/O) EQEP1S(I/O) GND 10.2.5 J5:4 通道 D/A 输出口 4 通道 D/A 输出口采用 5-芯 2.0mm 间距的单排插针,其管脚排列定义如下: 引脚号 1 2 3 4 5 信号 VOUT2 VOUT3 VOUT0 VOUT1 AGND 方向 输出 输出 输出 输出 输出 91 10.2.6 J6:存储器扩展总线(正面) 存储器扩展总线(正面)J6 采用 90-芯的 1.27mm×1.27mm 高密度表贴双列直插型插 座,其管脚排列及定义如下: +5V NC NC NC NC NC NC NC NC GND D15 D13 D11 D09 D07 D05 D03 D01 +3.3V A19 A17 A15 A13 A11 A09 A07 A05 GND A03 A01 +3.3V GND RD WE NC NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 +5V NC NC NC NC NC NC NC NC GND D14 D12 D10 D08 D06 D04 D02 D00 +3.3V A18 A16 A14 A12 A10 A08 A06 A04 GND A02 A00 +3.3V GND OE RDY NC NC 92 GND CE3 CE1 HOLD CLKOUT RESET XINT3 XINT1 GND 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 GND CE2 CE0 HOLDA NC XNMI XINT2 XINT0 GND 10.2.7 J7:CAN 总线接口 CAN 总线接口 J7 采用 2-芯、2.0mm 间距的单排插针,其引脚定义如下: 1 CANL 2 CANH 10.2.8 J8:B 通道异步串口 CMOS 电平接口 B 通道异步串口还可以 CMOS 电平与外部接口,J8 采用 3-芯 2.0mm 间距的单排插针, 其引脚定义如下: 1 SCITxDB 2 SCIRxDB 3 GND 10.2.9 J9:B 通道异步串行接口 它是一个 8-芯的 Mini Din 连接器,’F28335 的 SCI B 经过 SP202EEN 进行电平转换后 直接接到 J9 上,其管脚排列及定义如下: 93 引脚号 1 2 3 4 5 6 7 8 RS232 TxD NC GND CTS RxD RTS 与8连 与7连 方向 输出 - - 输入 输入 输出 - - 10.2.10 J10-12:选择 SCI-C 工作模式 当 JP10-12 的 1-2 短路(上)时,SCI-C 工作在 RS232 模式(缺省状态); 当 JP10-12 的 2-3 短路(下)时,SCI-C 工作在 RS485 模式。 10.2.11 J13:C 通道异步串行接口 它是一个 8-芯的 Mini Din 连接器,’F28335 的 SCI C 通过 J10-12 跳线选择工作模式后, 经过 SP202EEN(RS232)或 SN65HVD08(RS485)进行电平转换后直接接到 J13 上, 其管脚排列及定义如下: 94 引脚号 1 2 3 4 5 6 7 8 RS232 TxD NC GND CTS RxD RTS 与8连 与7连 RS422 Z NC GND B A Y 与8连 与7连 RS485 Z(B) NC GND - - Y(A) 与8连 与7连 注: † 当配置为 RS485 标准时,发送时为输出,接收时为输入。 方向 输出† - - 输入 输入 输出† - - 10.2.12 J14:USB 接口 采用标准的 Mini USB B 型插座,SEED-DEC28335 用 USB 接口提供的电源,作为 USB 电缆是否正常连接的检测信号,其管脚排列及定义如下: 引脚号 1 2 3 4 5 信号 +5V USB DUSB D+ GND NC 方向 输入 输入/输出 输入/输出 - - 10.2.13 J16:外设扩展总线(正面) 外设扩展总线(正面)J16 采用 40-芯的 1.27mm×1.27mm 高密度表贴双列直插型插 座,其管脚排列及定义如下: -15V GND +15V +5V 1 2 3 4 5 6 7 8 -15V GND +15V +5V 95 CLKX2 FSX2 DX2 NC CLKX1 FSX1 DX1 NC GND NC NC CNTL1 STAT1 NC NC +3.3V 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 CLKR2 FSR2 DR2 NC CLKR1 FSR1 DR1 NC GND NC NC CNTL0 STAT0 NC NC +3.3V 10.2.14 J17:复位按钮 SEED-DEC28335 板上提供复位按钮,方便调试。 10.2.15 J18:JTAG 仿真器接口 SEED-DEC28335 板上有一个 14-芯、间距为 100mil 的双排插针 J1,它是一个 JTAG 仿真器标准接口,通过此接口对’F28335 进行硬件仿真调试。其定义如下: 96 10.2.16 J19:+5V 电源输入口 +5V 电源输入口 J19 采用 Mini 型直流电源插座,其示意图如下: 10.2.17 J20:外部手动复位接口 SEED-DEC28335 提供外部手动复位输入,J20 采用 2-芯、2.0mm 间距的单排插针, 其引脚定义如下: 1 XMRST 2 GND 10.2.18 J21:+5V、±15V/12V 电源输入口 +5V、±15V 电源输入口 J21 采用硬盘驱动器电源插座,其示意图及引脚定义如下: 1 +15V 2 -15V 3 GND 4 +5V 97 10.2.19 J22:存储器扩展总线(反面) 存储器扩展总线(反面)J22 采用 90-芯的 1.27mm×1.27mm 高密度表贴双列直插型 插座,其管脚排列及定义如下: +5V NC NC NC NC NC NC NC NC GND D14 D12 D10 D08 D06 D04 D02 D00 +3.3V A18 A16 A14 A12 A10 A08 A06 A04 GND A02 A00 +3.3V GND OE RDY NC NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 +5V NC NC NC NC NC NC NC NC GND D15 D13 D11 D09 D07 D05 D03 D01 +3.3V A19 A17 A15 A13 A11 A09 A07 A05 GND A03 A01 +3.3V GND RD WE NC NC 98 GND CE2 CE0 HOLDA NC XNMI XINT2 XINT0 GND 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 GND CE3 CE1 HOLD CLKOUT RESET XINT3 XINT1 GND 10.2.20 J23:外设扩展总线(反面) 外设扩展总线(反面)J23 采用 40-芯的 1.27mm×1.27mm 高密度表贴双列直插型插 座,其管脚排列及定义如下: -15V GND +15V +5V CLKR2 FSR2 DR2 NC CLKR1 FSR1 DR1 NC GND NC NC CNTL0 STAT0 NC NC +3.3V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 -15V GND +15V +5V CLKX2 FSX2 DX2 NC CLKX1 FSX1 DX1 NC GND NC NC CNTL1 STAT1 NC NC +3.3V 99 10.2.21 J24:选择 DAC 低参考电压 当 JP24 的 1-2 短路(左)时,DAC 低参考电压为-10V(缺省状态); 当 JP24 的 2-3 短路(右)时,DAC 低参考电压为 0V。 100 附录 A 寄存器 SEED-DEC28335 模板上总共有十八个寄存器,用于设置各自方式和反馈状态信息。 它们均在 CPLD 中实现,读写时需要插 1 个等待周期。 A.1 USB 唤醒输出口(SUB_WAKEUP) 地址:0x00 4100(Zone 0 空间)只写 D15~D1 保留 WAKEUP: 0: 1: CY7C68001 唤醒,复位为 1 CY7C68001 处于休眠状态 唤醒 CY7C68001,使其正常工作 D0 WAKEUP A.2 USB 状态寄存器(USB_STS) 地址:0x00 4100(Zone 0 空间)只读 D15~D7 保留 D6 保留 D5 保留 D4 D3 D2 D1 D0 VCC READY FLAGC FLAGB FLAGA VCC: 0: 1: USB 外部电源 USB 电缆未连接 USB 电缆已连接 READY: 0: 1: USB 的 READY 的状态 USB 未就绪 USB 已就绪 FLAGC: 0: USB 的 FLAGC 的状态 有效 101 1: FLAGB: 0: 1: FLAGA: 0: 1: 无效 USB 的 FLAGB 的状态 有效 无效 USB 的 FLAGA 的状态 有效 无效 A.3 MCBSP2/EQEP2 功能切换 地址:0x00 40C0(Zone 0 空间)只写 D15~D1 保留 MCBSP2/EQEP2: 0: 1: MCBSP2 和 EQEP2 选择,复位值为 1 选择 MCBSP2 接口 选择 EQEP2 接口 D0 MCBSP2/EQEP2 A.4 扩展总线控制口(XBUS_CTRL) 地址:0x00 40A0(Zone 0 空间)只写 D7~D2 保留 D1 CNTL1 CNTL1: 0: 1: 外设扩展总线控制位 1 输出,复位值为 0 CNTL1 输出低电平 CNTL1 输出高电平 CNTL0: 0: 1: 外设扩展总线控制位 0 输出,复位值为 0 CNTL0 输出低电平 CNTL0 输出高电平 D0 CNTL0 102 A.5 扩展总线状态口(XBUS_STS) 地址:0x00 40A0(Zone 0 空间)只读 D7 保留 D6 D5 STAT1 STAT0 D4 XNMI D3 XINT3 D2 XINT2 D1 XINT1 D0 XINT0 STAT[1:0]: XMNI: 外设扩展总线状态位输入 存储器扩展总线不可屏蔽中断状态,低电平有效 XINT[3:0]: 存储器扩展总线可屏蔽中断状态,低电平有效 A.6 扩展总线页地址寄存器(XBUS_PAGE) 地址:0x00 4060(Zone 0 空间)只写 D7~D2 保留 D1 PA21 D0 PA20 PA[21:20]: 00: 01: 10: 11: 页地址高 2 位,用于选择 4 个 1M×16-位扩展总线存储空间 选择扩展总线的 CE0 空间 选择扩展总线的 CE1 空间 选择扩展总线的 CE2 空间 选择扩展总线的 CE3 空间 A.7 LED2、LED1 输出口(LED_OUT) 地址:0x00 4080(Zone 0 空间)只写 D7~D2 保留 DX: 0: 1: 发光二极管控制,复位值为 0 LED 熄灭 LED 点亮 D1 D0 D4 D3 103 附录 B 工程调试环境的建立 这里以 SEED-DEC28335 的 D/A 测试程序为例说明,如何建立调试工程环境。 1. 打开 DSP2833x_examples\dac\Example_2833xDA.pjt 工程 104 2. 装入 Example_2833xDA.gel 文件 105 3. 装入可执行的 Example_2833xDA.out 106 4. 运行 Debug\Go Main 命令,使程序运行到 C 程序的入口 main()。 107 5. 然后即可设置观察窗与断点等调试信息。 108 6. 保存这些设置为 Example_2833xDA.wks,下次直接 Load Workspace 就可见到与 这次相同的调试环境了。 109 附录 C TMS320F28335 浮点库的使用 TMS320F28335 为浮点 DSP,这里将说明如何使用 DSP 的浮点库。 1、 安 装 03.Example Program\02. Host PC\CCS3.3 Update 目 录 下 的 setup_C28XFPU_CSP_v3.3.1207.exe 和 CCS_v3.3_SR3_3.3.49.1.exe, 程序会自动装到 CCS3.3 的安装目录。 2、 安 装 03.Example Program\02. Host PC\CCS3.3 Update 目 录 下 的 C2000CodeGenerationTools5.0.0Beta3.exe , 将 程 序 安 装 到 CCStudio_v3.3\C2000\cgtools\下。 3、 打 开 CCS3.3 并 加 载 用 户 工 程 ( 以 03.Example Program\01. DSP\DSP2833x_examples\adc_dma\ 下 Example_2833xAdcToDMA 为 例),选中工程,并打开 Build Options 选项,如下图: 110 4、 如下图所示,将 Floating Point Support 改为 fpu32 或 fpu64(决定以 32 位 浮点还是 64 位浮点运算)。 5、 如下图所示,将 rts2800_fpu32.lib 添加到 Incl. Libraries 空白处,并点击确 定 111 6、 重新编译程序,并运行,即可。 112
更多简介内容

评论


个人中心

意见反馈

求资源

回顶部

下载专区


TI 参考设计资源库

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })