热线电话:

厦门莫格电气自动化有限公司

主营:PLC可编程控制器模块,DCS卡件,ES...

商铺首页 > 新闻动态 > CC-PAIX01
厦门莫格电气自动化有限公司
7
企业等级: 普通会员
经营模式:
所在地区: 福建 厦门
联系卖家:    QQ在线咨询1982497648
手机号码:
公司官网:
公司地址:

CC-PAIX01

发布时间:2019-08-28 07:15:07        

CC-PAIX01  Honeywell

引言
    MC9S08QG8(以下简称QG8)是Freeseale公司于2006年推出的一款HCS08系列MCU。HCS08系列MCU是HC08系列的升级,具有更高的总线频率和更低的工作电压。QG8总线频率可以达到10MHz,工作电压可以低至1.8V,尤其是QG系列MCU采用了新型的Flash存储器(HCS08系列MCU的典型型号为MC9S08GB/GT系列MCU,Flash编程擦除可使用2.7V电压,QG系列MCU工作在1.8V时即可以对Flash进行操作)。同时低功耗也是QG系列MCU的一大特点。通过降低主频,在总线频率为1MHz、供电电压2V、温度125℃的情况下正常工作,典型的芯片电流仅有370μA。而如果进入待机模式,典型的芯片电流则低于1μA,这些特点使得QG8非常适合使用在电池供电的设备中。
    EEPROM是Flash存储技术成熟之前常用的存储器,它与Flash均可作为程序存储器和数据存储器。但由于EEPROM本身容量和成本的限制,目前大多数MCU都采用Flash作为存储器。用户可以在Flash中存储设置参数、校准参数、保密数据等信息。由于Flash存储区的***小擦除单位是页(QG8一页为512字节),若存储数据长度小于一页,则每次写入或修改数据都必须进行一次页擦除操作,该页中没有用到的空间就浪费了。相对而言,EEPROM就不存在这个问题,它可以基于字节进行写入和擦除。部分HC08系列MCU(如MC68HC908JL8)为了解决这个问题,在其监控ROM中提供了虚拟EEP一ROM的例程供用户使用。但是QG8不具有监控ROM,也就无法提供类似的功能,本文在QG8擦除/写入Flash的基础上,给出虚拟EEPROM的实现机制和用户接口,实现按字节“写”Flash存储区的功能,提高Flash存储器的使用效率及寿命。
    1设计思路
    使用Flash模拟EEPROM实现按字节读写,其思路是将Flash的一页依据写入数据的长度分为若干相等的部分。为了方便起见,每一部分称为一块,假设划分为N块。在写入前,此页Flash已擦除完毕,第1次写入时将数据写入第1块,当用户对数据修改后重新进行写入时,数据被写入第2块,依次类推,如果进行第N+1次写入,由于该页***多划分为N块,则先执行页擦除,然后将数据写入第1块中。读操作相对于写入操作要简单得多,因为Flash本身支持按字节读操作。
    上述操作是在底层实现的,对于上层开发人员是透明的,上层开发人员只需要调用接口函数EEE_PROG和EEE_READ即可。
    2具体实现
    虚拟EEPROM功能的实现以Flash的擦除/写入为基础。Flash页中包含2部分,一部分是虚拟EEPROM的参数和状态信息,称之为信息区,另外一部分是实际用来存储数据的存储区。信息区中包含EEPROM***写入的数据长度和控制写入的位置信息;存储区根据数据长度可以划分为N个Flash块,写入第x个块时(x≤N),同时修改信息区的位置信息。进行擦除和写入操作时分别将Flash操作代码放置于RAM中运行。
    2.1FIash擦除/写入的实现
    由于HCS08系列MCU中没有固化ROM,因此也就不具有HC08系列固化的虚拟EEPROM函数或Flash擦除/写入函数,而直接在Flash中执行同一Flash区的操作会引起不稳定的情况。所以借鉴MC68HC908GP32芯片在线编程系统功能的实现机制,将Flash的擦除和写入函数***行编译,将编译后的二进制代码文件(即S19文件)写入Flash区域。在调用该函数时,先将代码***到RAM区,然后调用并在RAM区的入口执行相应的Flash操作。为了减少代码量,使用同一函数实现了擦除和写入功能。具体代码如下:
 
    使用C语言而不是汇编语言编写这个函数是因为C语言表达更清晰,另外目前的C编译器能够产生***的汇编代码。函数的入口参数cmd为Flash操作命令,具体命令内容及其命令字节如表1所列;ProgAddr为待操作的Flash的地址,若是擦除操作则为Flash页内或者整个Flash内的任意地址;buff-erAddr为缓冲区首地址;buff-ersize为待写入的数据长度。
    Flash操作命令
    2.2存储信息区的设计
    存储信息区由5个字节构成。其中***个字节为长度信息,记录的是空白Flash***次被写入的数据大小。另外四个字节为写入控制信息,用来记录Flash的写入情况。每次写入成功后,将该信息区按从低到高的顺序将对应的位由1变为0。这里需要提到的一点是:Flash被擦除后,每个字节的数据都变为0FF,对Flash编程,其实是将Flash中每一位由“1”状态变为“O”状态,或者保持“1”状态。正是利用这一点,控制信息可以记录当前Flash数据的写入情况。例如,若长度信息为16,则会用到控制信息的31位;若长度信息为63,则仅用到低8位,写入8次后,若要进行下一次写入操作,由于该页剩余的长度仅有3字节(512—5—63×8),小于63,所以需要擦除后才能进行。为了减少擦除次数,这里规定每次写入的数组长度不能超过63,同时由于控制信息位数的限制,数字长度至少为16字节。存储信息区的结构如下:
    2.3虚拟EEPROM的实现流程
    使用Flash虚拟EEPROM特性存储数据的接口子例程有2个,分别是写入例程EE_PROG和读出例程EE_READ。相对而言,读出例程的实现较为简单,只需要根据存储信息区的长度信息和位置信息通过简单的计算就可以获得。
    EE_PROG函数的流程如图1所示。其中,需要调用擦除/写入函数ProgEraseFlash,以及确定下次向Flash写入的具体位置的GetNextPos函数,该函数也是虚拟EEP—ROM的重要模块。
    点击看原图
    GetNextPos函数的流程如图2所示,该函数返回下次写入地址信息。

 

    TMS320F2812是德州仪器(TI)公司专门为工业应用而设计的新一代DSP处理器,它的性能大大优于当前广泛使用的TMS320LF240x系列。该芯片为32位定点DSP,***高主频150MHz,***小指令周期6.67ns,外部采用低频时钟,通过片内锁相环倍频;相对于TMS320LF2407只能寻址192KB地址空间,该芯片的外部接口***多可寻址4MB的空间;有3个***的片选信号,并且读/写时序可编程,兼容不同速率的外设扩展;通过配置外部接口寄存器,在访问外部设备时不必额外增加***等待,既提高了程序的实时性又减少了代码量。因此,灵活掌握和使用外部接口,对于DSP系统开发有很大帮助。本文结合实际系统,分析TMS320F2812外部接口的时序,设计了外部存储器扩展电路,根据所用的存储器芯片设置了接口时序,并提供了相关的电路原理图和外部接口时序配置的程序。
    1TMS320F2812外部接口的特点
    TMS320F2812外部接口(XINTF)采用异步非复用模式总线,与C240x外部接口类似,但也作了改进:
    ①TMS320LF240x系列,程序空间、数据空间和I/O空间都映射在相同的地址(0000~FFFF),***大可寻址192KB,对它们的访问是通过不同的指令来区分的,例如可用IN或OUT指令访问外部I/O空间;而在TMS320F2812中,外部接口被映射到5个***的存储空间XZCS0、XZCS1、XZCS2、XZCS6、XZCS7,每个存储空间具有***的地址,***多可寻址4MB。
    ②TMS320F2812中,有的存储空间共用1个片选信号,如Zone0和Zone1共用XZCS0AND1,Zone6和Zone7共用XZCS6AND7。各空间均可***设置读、写信号的建立时间、***时间及保持时间。
    对任何外部空间读/写操作的时序都可以分成3部分:建立、***和保持,时序如图1和图2所示。在建立(lead)阶段,访问存储空间的片选信号变为低电平并且地址被送到地址总线(XA)上。默认情况下该阶段的时间设置为***大,为6个XTIMCLK周期。在***(active)阶段,对外部设备进行读写,相应的读写信号(XRD和XWD)变为低电平,同时数据被送到数据总线(XD)上。默认情况下读写该阶段的时间均设置为14个XTIMCLK周期。跟踪(trail)阶段是指读写信号变为高电平,但片选信号仍保持低电平的一段时间周期,默认情况下该阶段时间设置为6个XTIMCLK周期。因此,在编程时要根据外部设备的接口时序来设置XINTF的时序,从而正确地对外设读写。
    时序图
    2扩展存储器硬件设计
    2.1外部存储器与TMS320F2812的接口电路设计
    TMS320F2812内置18KBRAM。为了使用方便,本系统又扩展了256KBSARAM,芯片选用IS61LV25616(256K×16位),其数据访问时间为10ns。由于TMS320F2812采用统一寻址方式,因此扩展的SARAM既可以作程序存储器也可以作数据存储器。同时,为了保存掉电不丢失的数据,扩展了32KBEEPROM,选用AT28LV256,32K×8位,用2片组成32K×16位。外扩存储器与TMS320F2812的接口电路如图3所示,将SARAM分配在ZONE2,地址范围为080000~0BFFFF,片选信号与TMS320F2812的XZCS2相连。EEPROM分配在ZONE6,地址范围为010000~0107FFF,片选信号XZCS6AND7。
    2.2时序控制寄存器设置
    TMS320F2812的外部接口(XINTF)可根据系统设计的要求,分别配置每个空间的建立、***和跟踪周期时间,以适应对不同速率外设接口的访问。配置过程中需要考虑外设器件的时序特性,必须使XINTF信号的时序与外设器件的时序一致才能正常工作。首先,必须设定XINTF模块的时钟,所有扩展外设的访问都是以XINTF时钟为参考的。本设计中,设定DSP内核频率(SYSCLK)为120MHz,设定XINTF频率为SYSCLK/2,即60MHz。根据器件手册,IS61LV25616的读/写周期为10ns,因此ZONE2配置为***小的等待时间,建立、***和跟踪时间分别为16ns、16ns、0ns,写信号周期为16ns、16ns、0ns(对应寄存器设置为1,1,0)。AT28LV256的读写时序如图4、图5所示。
    读信号周期:建立时间为tCE与tOE之差,***大值为120ns;***时间为tOE,***大值为80ns;跟踪时间为tOH,***大值为0,因此配置为33ns、50ns、0ns(对应寄存器设置为1,2,0)。写信号周期:建立时间为tCS,***小值为0;***时间为tWP,***小值为200ns;跟踪时间为tCH,***小值为0ns。因此配置为33ns、217ns、33ns(对应寄存器设置为1,6,1)。外部接口寄存器设置的C语言程序如下:




 
    结语
    TMS320F2812的外部接口十分灵活、方便,通过***的配置,能和各种快、慢速外设接口而不必在程序中额外添加***等待。本文分析了TMS320F2812的外部接口及扩展外设时应注意的问题,以扩展RAM和EEPROM为例,给出了硬件电路设计并分析了接口时序;同时给出了接口时序设置的DSP程序,有助于工程人员更方便地进行基于TMS320F2812的开发和设计。
免责声明
• 本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 304108043@qq.com
  • QQ在线咨询1982497648
  • 手机:
  • 联系我时务必告知是在产品网上看到的!

厦门莫格电气自动化有限公司

商铺|诚信档案

地址:

电话:传真:

免责声明:以上信息由会员自行提供,内容的真实性、准确性和合法性由发布会员负责,产品网对此不承担任何责任。产品网不涉及用户间因交易而产生的法律关系及法律纠纷, 纠纷由您自行协商解决。

风险提醒:本网站仅作为用户寻找交易对象,就货物和服务的交易进行协商,以及获取各类与贸易相关的服务信息的平台。为避免产生购买风险,建议您在购买相关产品前务必 确认供应商资质及产品质量。过低的价格、夸张的描述、私人银行账户等都有可能是虚假信息,请采购商谨慎对待,谨防欺诈,对于任何付款行为请您慎重抉择!如您遇到欺诈 等不诚信行为,请您立即与产品网联系,如查证属实,产品网会对该企业商铺做注销处理,但产品网不对您因此造成的损失承担责任!

联系:304108043@qq.com是处理侵权投诉的专用邮箱,在您的合法权益受到侵害时,欢迎您向该邮箱发送邮件,我们会在3个工作日内给您答复,感谢您对我们的关注与支持!

商铺首页 | 公司概况 | 供应信息 | 新闻动态 | 诚信档案 | 联系我们 |

厦门莫格电气自动化有限公司 电话: 传真: 联系人:

地址: 主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机备件

Copyright © 2024 版权所有: 产品网

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。

商盟客服

您好,欢迎莅临,欢迎咨询...