引 言
MPC82XX是Freescale公司继MPC860之后推出的一系列高性能通信处理器中性能价格比十分出色的一款,它具有独立的64位数据总线和32位地址总线,独立的32位PCI2.2总线接口,丰富的外设接口(MII、I2C、SP、USB、UART等),足够的用户可自定义的GPI0。MPC82XX的这些技术特点使它非常适合于应用在某些既具有多样通信接口又具有一定计算和控制功能的自动化智能设备中。新型涉及能方便的嵌入到其它装置中的带控制功能的低压电力载波通讯处理器,提供了与外界联系的信号采集接口、控制输出接口、通讯接口等多种接口,自身就可以完成对外部信号的采集、计量、控制、通讯转发等功能,既可以是一个独立的用低压电力线作通讯信道的数据采集、计量、控制、通讯转发产品,又可以作为电力载波通讯调制解调单元嵌入到其它产品中,线路简单,性能稳定,抗干扰能力强,信息传输,没有可调元件,易于批量生产。
在此类自动化智能设备的开发设计过程中经常遇到的一个问题是总线器件的扩展。对于地址总线和数据总线分开的器件,例如常见的STl6C554、NOR Flash等,MPC82XX提供了8路用户可自定义地址区间的片选信号,采用GPCM(General—Purpose Chip—Select Machine)模式可以非常方便地进行挂接。
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。
但是当遇到某些数据总线与地址总线复用的器件,如CAN总线驱动器SJAl000等,或者某些控制时序比较特殊的器件,在这些情况下一般的做法是通过增加CPLD进行数据总线、地址总线和控制总线的时序和逻辑转换,以满足特定的要求。但是它的缺点也是显然的:首先,增加了CPLD这种占PCB面积较大的芯片,同时还需要提供烧写CPLD的JTAG接口;其次,增加了CPLD软件的开发和维护工作。
1 UPM的特点
1.1 接口信号及时序控制
MPC82XX的UPM接口信号线如表1所列。
其中,GPLx、CSx的时序用户可以自定义,它们可调整时序间隔为1/4个总线时钟周期。同时地址总线和数据总线的时序也可作一定程度的修改,以适应各种不同的应用场合。
MPC82XX具有3个UPM,GPLx信号为各UPM所共用,每一个UPM对应一个由64个字(32位)组成的RAM阵列,RAM阵列中每个字对应一个时钟周期内总线上各信号的状态,同时可以通过设置LOOP位或者RE—D0位进行时间上的扩展,以适应某些慢速设备。UPM每个状态序列的结束由LAST位确定。
1.2 划分基本操作
根据要挂接的芯片的基本操作,对UPM的RAM阵列进行分割,即在适当的位置设置LAST位,以形成几个基本微操作,如读写等。每次需要UPM进行某项操作时,先将该操作在RAM阵列中的起始地址写入UPM控制寄存器MxMR,RAM(随机存取存储器)RAM -random access memory 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。接下来的操作对于用户来说相当于是透明的,只需要进行简单的赋值操作即可,总线时序将由UPM来控制。
下文将以利用UPM挂接两种常见的芯片为例进行详细说明。
2 扩展CAN总线驱动器
在工业控制领域,CAN总线应用相当广泛,SJAl000是常见的CAN总线驱动器,利于MPC827X的UPM模式可以很好的挂接总线复用的SJAl000芯片。
2.1 硬件连接
MPC82XX利用UPM挂接SJAl000的连接如图l所示。
在该应用实例中,SJAl000的读写信号和地址有效信号均由GPL提供,74LVC245用于完成5 V逻辑和3.3 V逻辑的转换。
2.2 设计要点
对SJAl000的操作可以分为读数据和写数据两个基本操作,同时SJAl000是总线复用器件,待读写数据的地址必须先行给出,还需加上一个写地址的操作,因此可以将微操作定义为三个。不论是数据还是地址,都由MPC82XX的数据总线给出,通过分别使能ALE、RD和WR信号以区分以上三类操作,ALE、RD和WR功能由UPM的GPL信号线来模拟实现。
3 扩展NAND Flash存储器
闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本输入输出程序)、PDA(个人数字助理)、数码相机中保存资料等。闪存存取比较快速,无噪音,散热小。你买的话其实可以不考虑那么多,同样存储空间买闪存。如果硬盘空间大就买硬盘,也可以满足你应用的需求。
3.1 硬件连接
该应用中,NAND Flash的读写信号、地址有效信号、命令有效信号均由GPL提供,NAND Flash的Ready/Busyr信号则由MPC82XX的通用I/O引脚读取。
3.2 设计要点
NAND Flash的操作具有以下特点:其一,地址是通过I/0口串行写入的,即写入8位或者16位(视具体芯片IO总线宽度而定);其二,Flash在非空白区写入时需先进行擦除操作,擦除和写入的速度相对于CPU的速度来说是比较长的,因此CPU需等待一个操作完成后才能进行下一步操作;其三,对NAND Flash的读写操作之前必须先写入相应的命令字。
值得注意的是,写入了地址的一个字段后不能立即进行数据操作,必须等待几μs的时间,这个等待时间可以通过设置UPM的LOOP和REDO实现。经测试,该方案读数据的速度达到2 MB/s,写数据的速度达到1.5MB/s,可以满足应用需求。
结 语
PowerPC UPM方式配置灵活,适应力强,能有效地减少应用系统软硬件的复杂程度,提高系统可靠性,降低设备的研发成本和制造成本,使得PowerPC更加适合用在空间、成本等方面有诸多限制而接口要求又丰富多样的嵌入式应用系统中。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。