微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
2000　Vol.19　No.4　P.21-23



基于ＰＳＤ芯片的单片机系统的接口与编程
孙国华
摘 要： 新型大规模可编程通用接口芯片ＰＳＤ５ＸＸ的原理、特点及使用方法。
关键词： ＰＳＤ芯片 现场可编程系统器件 单片机 可编程逻辑器件
　　传统的单片机系统设计中，通常需要外扩程序存储器、数据RAM、地址锁存译码逻辑、I／O端口、中断控制器及计数器等。这样设计出的电路不仅复杂、而且电路可靠性降低、产品开发周期延长，实际使用时，还存在调试困难、抗干扰能力差、不具有通用性等问题。随着超大规模集成电路技术的发展，美国WSI公司推出了PSD器件，将系统所需的众多外围器件集成在1片芯片上，这样单片机与PSD芯片就构成了简单方便的2片系统（如图1所示），从而大大简化了系统硬件设计，提高了系统的集成度和可靠性。

图1　使用PSD5XX前、后原理框图比较
　　基于PSD芯片的硬件设计方法采用PSDsoft开发工具，利用其中的PSDabel软件生成符合PSD芯片要求，在电路结构上可行的数字逻辑，再采用PSDconfiguration软件来构造总线接口与I／O端口，借助PSD编程器生成的目标文件对芯片编程，从而完成1次设计。调试时，可以不改变电路板而直接通过软件配置进行现场编程，修改极为方便。本文主要介绍其中功能较强的PSD5XX系列芯片。
1 PSD5XX系列芯片硬件性能及特点
1．1 存储器
　　PSD5XX芯片内含256Kb，或512Kb，或1Mb的EPROM，可以构造成8位或16位数据宽度。EPROM被分成4个相等部分，可以分配给不同的地址空间，存取时间为90ns，包括地址锁存与译码PLD时间。EPROM具有低功耗模式，由软件控制。此外，芯片内部含有16Kb的StandbySRAM，也可以构造成8位或16位数据宽度，存取时间为90ns，包括地址锁存与译码PLD时间。芯片有Vstby引脚，可连接备用电池，当SRAM掉电时实现自动切换，保证SRAM中的数据不丢失，可在调试中作为EEPROM使用。另外，页面逻辑连接到ZPLD零功率PLD，便能够扩展具有有限地址空间的单片机的地址空间，最大可扩展到16个页面。软件控制的加密位可以防止对PSD构造、ZPLD、EPROM内容的读取，保密性好。
1．2 总线控制逻辑
　　经软件构造后，总线控制逻辑能直接译码由8031、80196、68HC11、683XX、16000、Z80等单片机产生的控制信号，不需要附加的连接逻辑，具有广泛的适应性。具有“无连接逻辑”的用户编程接口，能与8位或16位多路复用或非多路复用微控制器接口，扩展地址能力达24位。此外，RESET、ALE信号可由软件编程控制其极性。对于没有复位信号输出的单片机，PSD5XX系列能够以输入的RESET信号产生滞后的复位信号，使得单片机与PSD5XX能够有序复位。
1．3 I／O端口
　　PSD5XX系列具有40根I／O引脚，分为PA、PB、PC、PD、PE5个端口，其中端口A、B、E都能够构造成标准微控制器I／O口，或地址／数据多路复用控制器的锁存地址输出或特殊功能I／O口。端口C、D是标准I／O口，也可构造成ZPLD输入引脚或非多路复用总线单片机的数据总线。
1．4 可编程逻辑PLD
　　PSD5XX系列的核心是能执行以下功能的ZPLD：
　　（1）译码ZPLDDPLD，执行对内部I／O、外围芯片、4个EPROM块、SRAM和端口A外围模式的地址空间译码；
　　（2）通用功能ZPLDGPLD，用来实现状态机和其它一般逻辑，具有多达61个输入，118个乘积项，连接到端口A、B、E的24根I／O引脚。此外，GPLD还能对单片机的地址总线译码，并对外围芯片产生片选信号；
　　（3）外围ZPLDPPLD，能为计数器／定时器单元和中断控制器产生输出。
1．5 中断控制
　　具有8级中断。PPLD产生4个中断，可以由用户定义，从端口D输入；其它4个中断由计数器／定时器终止计数标志产生。每个中断都能单独屏蔽，并可构造为边缘触发或电平触发。
1．6 计数器／定时器
　　PSD5XX有4个16位的计数器／定时器，都有5种操作模式，分别为脉冲、波形、时间捕捉、事件计数和看门狗定时器，由PPLD宏单元控制。其时钟输入具有分频器，分频系数为4～280。
2 PSD5XX与单片机的接口和配置
　　由于INTEL 80C196KC单片机使用广泛，并且能动态配置成8位或16位总线，所以选用80C196KC单片机为例，与PSD5XX构成8位或16位总线的2片系统，如图2所示。图中，80C196KC单片机总线宽度动态配置，PSD5XX配置为16位多路复用总线，控制信号RD、WRL、WRH、RESET极性为低，ALE极性为高。

图2　PSD5XX与80C196的接口
3 PSD5XX与单片机接口的软件构造
3．1 系统存储器的配置
　　程序代码存储在3个32KB EPROM块中，占据了0000H～7FFFH相同的地址空间。这样就要求将EPROM块指定到3个不同的页面中，分配表如表1所示。而且单片机在读SRAM时，采用8位总线宽度，并插入等待状态。
器件存储器空间存储器页面
EPROM块00000H～7FFFH页面0
EPROM块10000H～7FFFH页面1
EPROM块20000H～7FFFH页面2
SRAM8000H～8FFFH所有页面
I/O设备D000H～D0FFH所有页面

3．2 I／O端口的配置
　　PSD5XX的端口具有多种工作模式，某些基本功能为ZPLD和计数器／定时器提供输入／输出，或者用作标准I／O端口，每1根端口引线都可以单独构造。为此要求用户：在应用软件中对某些端口构造寄存器进行初始化；在PSDsoft软件中构造PSD5XX，并把未用的输入引脚拉到VCC或GND。
　　1．标准I／O模式
　　此模式为单片机提供附加的I／O功能，本例中，将端口A、B构造成标准I／O口，构造方法如下：
　　（1）在ABEL文件中命名用作I／O引脚或信号；
　　（2）将控制寄存器相应位置为“1”；
　　（3）如作为输入端口，设置方向寄存器为输入模式，从数据输入寄存器读数据；
　　（4）如作为输出端口，设置方向寄存器为输出模式，将数据写到数据输出寄存器。
　　2．PLD I／O模式此模式使端口能构造为ZPLD输入，或作为GPLD的输出，并能使输出为三态，控制信号由来自GPLD的乘积项定义，构造方法如下：
　　（1）在ABEL文件中命名引脚或信号；
　　（2）在ABEL文件中写逻辑方程；
　　（3）用PSD编译器给PSD配置PLD功能。
　　3．地址输出模式
　　对于多路复用地址／数据总线的单片机，此模式下I／O端口能给外部器件提供锁存的地址输出，构造方法如下：
　　（1）在ABEL文件中命名用作地址输出的引脚；
　　（2）把“0”写到与每个I／O端口有关的控制寄存器的相应位；
　　（3）把方向寄存器设置为输出模式。
　　4．特殊功能输出模式
　　该模式下每个端口引脚都可以单独构造，当使能有效时，指定给特定引脚的特殊功能被驱动输出，特殊功能由定时器和中断输出组成，构造方法如下：
　　（1）在PSDsoft软件中规定输出功能；
　　（2）PSD编译器为选定的功能指定引脚；
　　（3）把“1”写到特殊功能寄存器的相应位。
　　5．替换功能输入模式
　　用户在模式下能定义端口E的引脚，以执行替换功能，主要是计数器／定时器的输入，构造方法如下：
　　（1）在PSDsoft软件中选择输入功能；
　　（2）PSD编译器为选定的功能指定引脚。
　　6．漏极开路输出模式此模式使用户能把端口C、D构造为漏极开路输出，CMOS模式输出是默认构造，只要将“1”写进漏极开路寄存器的相应位即可。除了上述工作模式外，还有在非多路复用下的地址输入模式、数据端口模式、以及用以执行DMA操作外围I／O模式。因本例中未用到不再介绍。4 PSD软件编程本例中，端口A、B为标准I／O模式，端口C为地址输出模式，端口D为漏极开路输出模式，端口E的部分引脚为替换功能输入模式，以便对外部输入信号计数，部分引脚作为PLD I／O及特殊功能输出。各端口及控制寄存器地址由基地址CSIOP＋偏移量确定，其中的基地址由PSD软件配置。具体的ABEL文件如下：MODULE 80C196KCTITLE “example of 80C196KC using PLD5XX”A15，A14，A13，A12，A11，A10，A9，A8 PIN；Pgr3，Pgr1，Pgr2，Pgr0 NODE；CSIOP，RS0，ES0，ES1，ES2 NODE；BUSWIDTH，READY，RESET＿OUT，CSOUT PIN 30，31，33，36；RESET＿IN PIN；X ＝．X．；PE＝Pgr3，Pgr1，Pgr2，Pgr0；ADDRESS＝A15，AAG14，A13，A12，A11，A10，A9，A8，X，X，X，X，X，X，X，X，；EQUATIONSCSIOP＝ADDRESS＞＝＾HD000＆ADDRESS＜＝＾HD0FF；RS0＝ADDRESS＞＝＾H8000＆ADDRESS＜＝＾H87FF；ES0＝ADDRESS＞＝＾H0000＆ADDRESS＜＝＾H7FFF＆PAGE＝＝0；ES1＝ADDRESS＞＝＾H0000＆ADDRESS＜＝＾H7FFF＆PAGE＝＝1；ES2＝ADDRESS＞＝＾H0000＆ADDRESS＜＝＾H7FFF＆PAGE＝＝2；CSOUT＝ADDRESS＞＝＾HC000＆ADDRESS＜＝＾HCFFFBUSWIDTH＝CSIOP＋RS0；READY＝RS0；RESET＿OUT＝RESET＿IN；END 80C196KC；上述文件经过仿真、编译后，即可用PSDsoft软件生成的目标文件对PSD5XX芯片编程，从而完成PSD5XX芯片的最后设计。SRAM单片机程序存储器PLDI／O中断控制器计数器定时器PSD5XX单片机图1 使用PSD5XX前、后原理框图比较图2 PSD5XX与80C196的接口器件EPROM块0EPROM块1EPROM块2SRAMI／O设备存储器空间0000H～7FFFH0000H～7FFFH0000H～7FFFH8000H～8FFFHD000H～D0FFH存储器页面页面0页面1页面2所有页面所有页面表1 系统存储器分配表孙国华（南京船舶雷达研究所210003）
参考文献
１，许少云，李伟鹏．ＰＳＤ原理、开发与应用．北京：电子工业出版社，１９９６
收稿日期：１９９９－１１－３０
