运用PSD系列器件进行单片机外围电路扩展
扫描二维码
随时随地手机看文章
1 引言
典型的微控制器(MCS51系列,MCS98系列,M68000系列,PIC系列等)片的内部都集成了少量的RAM、ROM及计数器,具有有限的 I/O能力,这在构成一般小型应用系统时,或许可以满足开发者的需求。但对于大型的单片机应用系统,仅单片机内的这一点资源是远远不够的。为了扩展单片机系统,设计者不得不外加EPROM、RAM、IO端口、存储器空间译码逻辑和各类外围芯片片选译码逻辑。因此,设计者就必须根据需求加入各类芯片,并在电路设计完成以后就不能再更改电路。1990年美国的WSI公司引入了可编程系统器件PSD(Pro-grammable System Device),PSD是世界上第一个把EPROM、SRAM、可编程逻辑器件(PLD)以及众多IO端口集成到一块硅片上的芯片。WSI公司免费提供集成开发环境PSDsoft,在这个环境下设计者可以自己运用软件进行单片机外围电路的设计,在完成设计并通过仿真以后,可以编程且配置到一片PSD器件上。因此PSD器件易于使用,又可以大大减少元件数、功耗和电路板空间,从而相对显著地降低了系统的成本,提高了系统的可靠性。
2 芯片结构及功能简介
PSD器件有多个系列,主要包括2XX、3XX、4XX、5XX、8XX、9XX及目前最新推出的4000系列,其中在国内应用较多的为3XX系列。
2.1 典型的PSD3XX系列芯片逻辑结构和主要特征
典型的PSD3XX系列芯片逻辑结构见图1,其主要特征有:
·数据总线可以配置为8位或16位,地址总线最多可以有20位,支持绝大多数的MCU。
·256kb至1Mb EPROM,可以配置为8位或16位方式。为了优化地址译码,EPROM分为8个相同大小的块,由内部地址译码逻辑PAD A输出(ES0-ES7)进行选择,通过对PAD A的编程可以把每一块EPROM放入任何地址空间。另外,PSD3XX系列芯片的EPROM采用零功耗技术,即仅在EPROM的地址输入发生改变时, EPROM才有功耗,这非常适用于有严格功耗要求的场合。
·可选择的16k SRAM,可以配置为8位或16位方式,由内部地址译码逻辑PADA输出(RS0)进行选择,内部的SRAM同样采用零功耗技术。
·两个可编程地址译码阵列PAD A和PADB,可产生片选逻辑、控制逻辑和锁存的地址信号等。这两个阵列属可编程逻辑阵列,可以由用户以软件进行配置,最多可以有18个输入,24项输出,总共40个乘积项。PAD A和PAD B的输入信号可以有:MCU地址输入信号,PSD本身端口C的输入信号,内部页面寄存器输入信号,MCU各控制信号等。其中PAD A输出最多可以有13项,用于PSD芯片内部8个EPROM块的选择(ES0~ES7)、SRAM基地址的确定(RSO)及IO缓冲器、页面寄存器、控制寄存器基地址(C SIOPORT)的确定。PAD B输出到IO口B和C上,最多可以输出11项(CS0~CS10),供片外使用。PSD芯片的这种配置方式,极大地提高了PSD芯片的使用灵活性,使它能适应各种不同类型的MCU。
·扩展MCU可寻址空间,最大可以至原来寻址空间的16倍,这由内部的页面寄存器(4位)实现。
·可编程IO,共有A(8位)、B(8位)和C(3位)三个端口,可重构MCU由于数据/地址复用而失去的IO端口。其中A口可以根据不同的MCU进行不同的配置,可配置为通用IO、数据总线或地址总线等。B口可以配置为通用IO或内部PAD B译码输出(CS0~CS7,作为片选,控制逻辑),注意,B口的每根线可以单独配置。C口可以配置为地址输入(A16~A18:用于有多于16条地址总线的MCU)或内部PAD B译码输出(CS8~CS10),同样,C口的每根线也可以单独配置。具体配置情况在下面的工作模式中阐述。
·可编程的安全特性,在设置安全特性位的情况下,可以防止内部PADA和PAD B的配置方式及EPROM内容被非法读出。
2.2 根据不同的MCU,PSD3XX系列芯片有四种不同的工作方式
(1)方式1:8位数据总线、地址/数据总线多路复用方式。
如图2所示,这种方式为绝大多数的8位MCU所用,如MCS51系列等。在这种方式下,MCU的8位低阶地址/数据复用线接PSD器件的 AD0~AD8,高阶地址线接AD8~AD15。当ALE/AS信号有效时,PSD芯片在内部锁存地址信号,然后在下一个时钟周期,复用总线上出现的8位数据是写入器件还是读出器件由控制信号决定。因此,在这种方式下A口可以配置为通用IO,低阶地址线(A0~A7),低阶的8位地址/数据复用总线(AD0~AD7),即原来的MCU复用总线的功能。B口的每根线可以配置为通用IO,或内部PADB输出(CS0~CS7)。端口C可配置为地址输入(A16~A18:有的MCU有多于16条的地址总线)也可配置为PAD B的输出(CS8~CS10),注意,C口可能的配置在四种方式下都是一样的。
(2)方式2:16位数据总线、地址/数据总线多路复用方式。
如图3所示,这种方式下的MCU的16位数据/地址复用线和PSD器件的16位数据/地址复用线直接相连,和方式1电路连接形式完全相同,工作原理也类似,只不过其数据总线变为16位。此时端口A,可能的配置如方式1,即通用IO,低阶地址线,低阶的8位地址/数据复用总线。B口可能的配置也如方式 1。
(3)方式3:8位数据总线、地址/数据总线独立方式。
如图4所示,在这种方式下,MCU输出的16位地址总线和PSD器件的AD0~AD8相连作为地址总线。MCU的8位数据总线连到PSD器件的A口。在这种方式下A口只能配置为数据总线。B口可能的配置如方式1和方式2。
(4)方式4:16位数据总线、地址/数据总线独立方式。
如图5所示,在这种方式下,MCU输出的16位地址总线和PSD器件的AD0~AD8相连作为地址总线,MCU的16位数据总线中的低8位接到A口,高8 位接到B口。此时A口只能配置为低8位数据总线,B口只能配置为高8位数据总线。C口可能的配置在各种方式下都是一样的。所以此时PSD3XX系列器件可用的片外控制逻辑最少(最多只能有CS8~CS10)。
其余系列的PSD芯片在功能上大抵和PSD3XX系列差不多,但有各自的特点,主要体现在:内部RAM容量的增大、EPROM和内部译码逻辑改为编程更加方便的Flash Mem ory、IO引脚的增多、引入其余功能(定时器/计数器,中断系统等)、内部PLD输入/输出及乘积项的增多,以及引入ISP(在系统可编程中)功能等,这使得PSD系列芯片的使用更加方便,灵活。例如,PSD5XX系列,最多可以有1Mbit EPROM和16kbit RAM(可带后配电池),IO引脚数为40,内部的PLD最多可以有61个输入、140个输出乘积项和4个16位定时器/计数器(可用作 WATCHDOG)。PSD8XX只用于与8位MCU的接口,其内部的EPROM改为FLASH MEMORY,分成二级(主FLASH,二级FLASH),可以在使系统执行程序的同时实现擦写FLASH的功能,这在程序经常需要变更的场合显得犹为有用;在芯片上集成基于JTAG标准的ISP端口,从而引入系统可编程功能,即无需专门的编程器,只需插在PC机上的下载电缆(Flash LINK)即可实现整个空白芯片的完全编程。PSD9XX在功能及结构上与PSD8XX系列基本相同。最新的PSD4000系列用于与16位MCU的接口,内部有更大的FLASH MEMORY(4Mbit主,256kbit二级)、更大的RAM(64kbit),52个可单独配置的IO引脚和超过3000有效门的闪烁可编程逻辑,因而可以组成更大规模的系统。
3 开发步骤及应用实例
对PSD系列器件的开发,可以在WSI公司提供的开发环境PSDsoft下进行。PSDsoft包括五个不同的部分:PSDabbl(定义ZPLD译码功能),PS-Dconfiguration(配置总线类型,IO引脚分配),PS-Dcomplier(用于文件的编译及地址空间的转换), PSDsimulator(可对PSD配置进行仿真),PSDpro-grammer(进行目标文件的下载与上传)。不同系列的芯片又有不同的开发方法,其中PSD9XX系列之前的芯片,还需开发者熟悉PSDabel高级硬件定义语言,用于定义内部PLD的译码逻辑,开发过程一般可遵循以下步骤:
(1)确定PSD在整个系统中所要完成的功能,以选择相应的型号;
(2)确定PSD所需的与MCU接口的信号,这些信号通常根据特定型号的MCU确定;
(3)确定内部功能块和外扩器件所需的地址空间,在确定地址空间时,应记住PSD3XX系列PLD引入的地址信号只有A11~A19,它所能区分的地址空间是2kb;
(4)确定PSD内PLD的输入和输出信号,确定PLD配置:
·给内部EPROM、RAM和CSIOPORT分配存储空间,
·PSDabel定义段中说明PLD的输入/输出信号,
·在PSDabel中书写相应的逻辑方程,注意,3XX系列的PLD的输出只能为端口B或C;
(5)确定PSD其余配置(总线类型,IO引脚分配等);
(6)使用PSDsoft编译器,形成复合目标文件(包括PSDabel、PSD芯片配置和MCU代码);
(7)将目标文件通过编程器写入PSD器件。
对于PSD9XX以上系列的芯片,开发更加方便,开发者无需运用高级硬件描述语言去定义管脚,而只要在PSDsoft中进行简单的选择便可以实现芯片的配置,编译结束后可以通过WSI公司提供的下载电缆FlashLINK经器件的ISP端口直接配置到芯片中。
图6是PSD3XX系列芯片与国内应用较为广泛的80C31接口的一个实例。80C31利用PSEN信号有效地访问PSD3XX中的程序存储器。用 WR与RD信号有效地读写PSD3XX中的数据存储器的数据。因此,可以将PSD3XX配置成地址/数据复用方式(8位数据总线),指令存储器与数据存储器分开,端口A、B可配置为IO口,端口C配置为内部PAD B输出。
4 结束语
综上所述,用PSD器件来扩展单片机外围电路是很方便的,但PSD器件目前国内应用得并不多,其优点尚未被广大开发人员所认识,很多人还习惯于用通用器件来设计单片机外围电路,因此PSD系列器件的应用急需普及。
参考文献
1 PSD3XX Family Datasheet.WSICorp.February,19992 PSD913F2/80C32 Design Guide.WSICorp.January,2000
3 许少云,李伟鹏编著.PSD原理、开发与应用.北京:电子工业出版社.1996