1、TMS320F240 简介 TMS320F240 为 TI 公司所出品的定点式数字信号处理器芯片, 具有强大的外围 (64k I/O space、 10 bit A/D Converter、 Digital I/O peripheral) ,芯片内部采用了加强型哈佛架构 (Enhanced Harvard Architecture),由三个平行处理的总线 程序地址总线 (PAB)、 数据读出地址总线 (DRAB)及数据写入地址总线 (DWAB),使其能 进入多个内存空间。由于总线之操作各自独立,因此可同时进入 程序及数据存储器空间,而两内存间的数据亦可互相交换,使得其 具有快速的运算速度,几乎
2、所有的指令皆可在 50ns 周期时间内执行 完毕,内部的程控以管线式的方式操作 (Pipeline operation),且使 用内存映像的方式,使其整体的效能可达到 20MIPS,因此非常适 用于实时运转控制,而对于速度较慢的外围亦提供了 wait-states 的功 能。 TMS320F240 单芯片硬件架构上的一些特性对于高速信号处理及 数字控制上的应用是必须且重要的,其使用次微米 CMOS 技术制程 使其功率散逸降至最低。其与传 统的微处理机单芯片相较之下其具有 下列的优点: (1)执行速度快,整体效能佳,可达到真正的实时控制。 (2)特殊的硬件及指令设计,适用于高性能的控制。 (3)
3、容易增加附属功能,很容易扩展外围。 (4)具有实时中断的看门狗定时器模块,可监控程序之运作。 (5)使用 4 层的 Pipeline 的程序运作及设计有指令延迟之功能。 TMS302F240 架构介绍 TMS302F240 单芯片的硬件架构是以 16 位为基本数据处理单 元,采用 16 位的数据与地址总线,其指令集设计成可大范围且 复杂的计算及高速处理,属于 Memory Mapping 的模式,主要架构如 下表所示: 项目 说明 中央处理单元 .32 位的算数逻辑单元 .32 位的累积器 .16 位 16 位的乘法器 .16 位的倍率位移器 .8 个 16 位的辅助缓存器 内存单元 .16K
4、 word 芯片上的程序内存 .64K 的程序内存与数据存储器 .64K word 的 I/O 空间内存 .32K word 的共同内存 程控单元 .4 个管线式的操作 .8 层硬件堆栈 .6 个外部中断 指令设计 .采用定点式运算 .1 个机器周期 (50ns)内执行完毕 .计算时以 2 的补码做运算 事件处理器 .12 个脉波宽度调变信号的输出 .3 个 16 位一般用途的定时器 .3 个 16 位全比较单元 .3 个 16 位取样比较单元 .4 个捕捉单元 外部外围 .2 个相位编码电路 .2 个 10 位的模拟 /数字转换器 .28 个可规划 I/O 接脚 .锁相回路模块 .看门狗定时
5、器 .串行通讯接口 .串行外围模块 中央处理器 TMS320F240 单芯片之中央处理器因为其平行结构之设计,使得 在单一指令周期内可执行高速运算。中央处理器之内部主要可分为三 单元:输入倍率区段、乘法区段、中央运算逻辑区段。 1. 输入倍率区段 TMS320F240 芯片上共有三个硬件 16 位的倍率位移器,这些 倍率位移器具有将数据放大 (左移 )或缩小 (右移 )的功能,第一个倍率 位移器可以称为数据倍率位移器 (Input Data-Scaling Shifter),位于输 入倍率区段内,它的输入端是直接连至 16 位的数据总线,而输 出端则是接到 32 位的中央运算逻辑单元 (CAL
6、U)。 2. 乘法区段 在 TMS320F240 单芯片中央处理器的硬件结构中,有一个能在一 个指令周期时序内 完成 32 位乘法的 1616 位硬件乘法器及二个 相关缓存器,其功能如下: (1)16 位暂时缓存器 (TREG):可加载被乘数之空间。 (2)32 位乘积缓存器 (PREG):可接收乘法运算结果之空间。 47 3. 中央运算逻辑区段 TMS320F240 芯片内部如同其它微处理器一样,有专门在做算数 运算及逻辑运算的地方,其即为中央运算逻辑单元。 (1)中央运算逻辑单元 执行算术及逻辑运算功能,且在一个频率周期内可完成。这些 功能可大致分为:加法、减法、逻辑运算及位的测试、位移、
7、 旋转。 (2)累积器 为 32 位结构,一般的数据存取都要透过累积器,而由于记 忆体的宽度多为 16 位的宽度所以我们可以将 32 位的累积 器视为高阶位 (ACCH)及低阶位 (ACCL),其接受中央运算 逻辑单元的输出数据,并利用进位位对数据内容执行位移位。 (3)输出数据倍率位移器 其功能为当累积器的高阶位要存入到指定的数据存储器 时,可以用此移位器来做数据的处理。 内存结构 在设计单芯片微处理机系统时,首先必须要了解该单芯片的硬件 架构,才能充分且适切地发挥单芯片的完全功能。单芯片硬件结构中 最重要的部分就当属于内存结构了。内存的大小、配置 方式,往 往决定了该单芯片是否适用的主要因
8、素。 TMS320F240 控制芯片为了 增进执行速度,在芯片上设计有快速的 Flash EEPROM 来搭配内部或 外部内存的执行,使处理器在程序的执行上更快速更有效率。 1. 程序内存 在 TMS320F240 中其程序内存即是存放程序本体的地方,由 MP/MC 此接脚信号可将其区分为使用微处理模式 (Microprocessor)或 微电脑模式 (Microcomputer),若使用微电脑模式则 MP/MC 接脚应为 低电位,此时 TMS320F240 使用内部程序内存,于 TMS320F240 中,其内部具有 Flash EEPROM 可以烧录程序;而当使用微处理模式 时其 MP/MC
9、 接脚应为高电位,此时其芯片内部的程序内存将会被 禁能,微处理器就只执行外部内存内的程序。 2. 数据存储器 在 TMS320F240 内的数据存储器有为每一个处理器单独使用的 内存,即所谓的区域性的数据存储器。另外当有多个处理器时,所 共享的数据存储器则称为共同区域数据存储器 (Global Data Memory),数据存储器主要是作为数据的存取以及作为外围控制、 I/O 内存地址的映像内存,其根据状态缓 存器理的数据页与地址来做 分页。 3. I/O 空间 (I/O space) 在 TMS320F240 内定义了 64K 的 I/O 空间,用来与外面的一些 装置做沟通用的,这些外围视场
10、合而定可以是 LED 灯、控制器,或 控制电路等,也是透过 16 位的地址总线 (A0A15)、数据总线 (D0D15),与外部的触发信号 IS 来作为触发之动作。当使用这些指 令时, IS 的触发信号会变成低电位,使我们可以藉由对这些信号的解 码处理而来对外部的外围进行控制。 事件管理者模块 事件管理者模块提供广泛的功能及特性,主要功能 如下: (1)三组通用定时器 (General Purpose timers, GP)。 (2)三组完全比较单元 (Full Compare Units)。 (3)三组简易比较单元 (Simple Compare Units)。 (4)脉波宽度调变 (PWM
11、)电路:包括空间向量 PWM 电路、停滞 带 (dead-band)产生单元及输出逻辑。 (5)四组捕捉单元 (Capture Units)及中断逻辑 (Interrupt Logic)。 (6)方形编码器脉波 (Quadrature Encoder Pulse, QEP) 电路。 1. 比较单元 在事件管理者模块中总共有三组完全比较单元及三组简易比较 单元,每一组完全比较单元皆可工作在二种模式:比较模式与 PWM 输出模式。完全比较单元的时间基底是由第一通用定时器提供,简易 比较单元的时间基底则是由第一或第二通用定时器提供。这些比较单 元的主要用途是作为脉宽调变的输出,通常在做脉宽调变时需要
12、做一 些参数的设定,来决定所比较出来的脉宽是要何种型式并可由通用计 时器的设定来决定比较所需要的周期,以达到控制目的。 2. 脉波宽度调变 (PWM)产生器 TMS320F240 拥有三组独立 的脉波宽度调变产生器:完全比较 / 脉波宽度调变产生器、简易比较 /脉波宽度调变产生器及通用定时器 比较 /脉波宽度调变产生器。每一组脉波宽度调变产生器皆可各别产 生三组独立之脉波宽度调变信号。其中,完全比较 /脉波宽度调变产 生器可同时产生三组相依之脉波宽度调变信号,可符合本文之切换式 磁阻电动机之控制需求,故本文使用此三组完全比较 /脉波宽度调变 产生器来驱动六颗功率开关组件。图 2 为脉波宽度调变
13、电路方块 图,包含下列几个单元:非对称 /对称波形产生器、可程序停滞带单 元 (Programmable Dead-Band Unit)、输出逻辑,及空间向量 (Space Vector)脉波宽度调变信号单元。其中非对称 /对称波形的产生,可藉 由规划通用计数器为连续上数的模式或连续上 /下数的模式而决定, 本系统所使用之非对称脉波宽度调变信号波形如图 3 所示。为了产 生 PWM 信号,一组合适的定时器是必须的,它可以重复计数与 PWM 周期一样的周期数。比较缓存器 (CMPRx , x = 1,2,3)存有其调变值, 其值将不断与定时器之计数值 (T1CNT)作比较,当比较符合时,相对 应
14、之输出脚位将发生转态。为了要让脉宽调变信号的宽度达到 所要求 的输出,需要设定下列的控制缓存器: (1)通用定时器 1 的周期缓存器 (GP Timer 1 Period Register)。 (2)完全比较动作控制缓存器 (ACTR)。 (3)比较控制缓存器 (COMCON)。 (4)通用定时器 1 控制缓存器 (T1CON)。 (5)停滞带 (dead-band)时间控制缓存器 (DBTCON)。 图 1 引脚 功能图 图 2 脉波宽度调变电路方块图 图 3 非对称脉波宽度调变信号波形 3. 模拟 /数字转换器模块 模拟 /数字转换器模块,为一个有内部取样保持器设计的 10 位 转换器,图
15、 4 为模拟 /数字转换器模块方块图。 TMS320F240 内所提 供的模拟 /数字转换器模块共有 2 组,总计共有 16 个模拟输入通道 (Channel),而每 8 个模拟输入信号藉由一组 8 对 1 的多任务器,选择 其中之一个信道进行模拟 /数字转换的工作。每一个 ADC 总转换时间 约为 6s,而 ADC 的参考电压必须由外部电源供应 (须低于 +5V)。其 特性如下: (1)每组 ADC 有 8 个模拟输入通道,合计共有 16 个模拟输入。 (2)转换动作可采用单一转换 (Single conversion)或连续转换 (Continuous conversion)方式操作。 (
16、3)可由程序软件、内部事件或外部事件来启动转换。 (4)高参考电压 (VREFHI)或低参考电压 (VREFLO)输入。 (5)提供二层深的数字缓存器,用来储存转换完成后的数字值。 (6)提供二个可程序 ADC 模块控制缓存器,可令两组 ADC 独立工作。 (7)可选用可程序频率比率器 (prescaler),调整其转换的时间,以 保持最佳之转换性能。 (8)可选用中断或轮询模式操作。 图 4 模拟 /数字转 换器模组方块图 由于 ADC 模块的内部结构,为了确保一个准确转换动作,转换 时间必须大于或等于 5.5s,而在任何系统频率频率可能设计在破坏 此关系下,因此在 ADC 模块中,提供一个比率器 (prescaler),以允许 当 DSP 频率在应用上需要改变时,仍能维持最佳之转换性能。使用 者可选择 ADC 比率器之内含值使得整个 ADC 取样 /转换时间可以大 于或等于 5.5s。此比率器 (prescaler)之内含值必须满足下式: 系统频率周期 (SYSCLK)比率值 5.55.5s