关键词:可编程外围芯片(PSD) 在线编程(ISP) PSDSOFT开发软件
随着单片机系统的广泛应用,其功能不断加强,集成度日益增高。但是,由于在传统的单片机系统设计中必须使用许多分立器件组成单片机的外围电路,诸如地址锁存器、PLD、RAM、EPROM等,因此使得整个系统变得十分复杂、可靠性降低、功耗费用增高。由于各个系统的要求不尽一致,这样在开发每一个单片机系统时都必须重复设计以上外围分立器件电路,延长了开发时间,工作效率随之大幅度下降,并且还浪费了大量的人力、物力。随着科学技术,尤其是大规模集成电路技术的飞速发展,单片机外围集成芯片也随之产生、发展。WSI公司的可编程单片机通用外围接口芯片(PSD)可将单片机所需的多个外围器件集成在一个芯片中,并能与单片机实现所谓无缝连接(no glue),大大简化了设计、节省了资源,并且显著地提高了系统的可靠性。由于PSD系列产品迎合了单片机应用系统开发的要求,其先进的设计思想给广大的单片机开发者带来了诸多好处,因此用PSD或其他类似器件取代单片机外围分立器件已经成为单片机开发的一大趋势。
1 PSD813系列产品特点
作为PSD系列中的最新成员,PSD813系列器件秉承了以往几代PSD产品的优良特性,同时又采用了新技术、新工艺,完善了以往PSD器件的一些不足之处。PSD813的闪速存储器和可编程逻辑具有在线可编程特性,这对于实现简单、灵活的嵌入式设计方案具有很大的帮助。PSD813器件还集成了优化的“微控制器宏单元”逻辑结构,它允许系统地址/数据总线与PSD内部寄存器直接相连,简化了MCU和其外部器件之间的通信。除此以外,PSD813还具有以下关键特性:
(1)1M位的内部大容量FLASH ROM,256K位的E2PROM(813F1)或FLASH OTP ROM(813F2),16K位SRAM,其中FLASH ROM可配置为128K×8或64K×8,并分为8个大小相同的块,可由用户规定的地址访问,访问时间包括地址锁存和PLD译码。SRAM可配置为2K×8或1K×16。
(2)闪速(FLASH)或E2PROM/OTP ROM闪速存储器的同时编程。在执行来自一个存储器的代码的同时可对另一个编程,EEPROM/闪速引导存储器被分为四个大小相等的块,可由用户规定的地址访问。
(3)带有基于闪速的16个输出宏单元和24个输入宏单元。因此PSD813可有效地实现多种逻辑功能,包括用于内部和外部控制的状态机和地址译码器。这些逻辑功能要求微控制器软件和硬件交互作用。内置PLD提供三种专用的外部芯片选择输出,从而允许多达19个外部芯片选择。
(4)27个可重建的I/O端口可用作MCU I/O、PLD I/O、锁存MCU地址输出或特殊I/O口以提供最多19个外部片选信号,并且其中16个I/O口可配置为漏极输出。
(5)可编程的电源管理支持两种单独的低功耗工作方式,加之零功耗CMOS技术可允许用低至10mA(在5V Vcc时)的电流工作。器件可自动检测微控制器活动的停止并使PSD置入低功耗状态。
(6)内置的JTAG串口使得能在工厂或现场进行器件的在系统编程调试。
由于PSD813具有以上特性,故可以很方便地进行I/O重建、扩展微控制器地址空间等以往较为复杂的工作,并可通过编程进行灵活的设计,以实现与不同类型的微控制器的兼容,使得单片机开发尤其是外围电路设计变得简便。
2 PSD813与单片机的连接
本文应用实例是基于一台全数字化心电图机系统,如图1所示。由于该系统的工作要求,采用了双CPU结构(DSP-80C552),外带160×128LCD显示、串行热敏打印机、4×4键盘等外设,系统总线设计为8位。由于系统要求存储大量的心电数据,故采用了512K的大容量SRAM。其中DSP(TI公司的TMS320F206)主要用于心电波形的滤波计算、分析及控制打印部分。80C552用作主程序及人机界面的控制以及A/D采集,由于51单片机外设较多,为了节省成本、降低功耗,采用了PSD813作为外部程序存储器以及地址译码器,并用于端口扩展。实际使用表明该系统工作正常。
3 PSDsoft软件应用
PSD813是在硬件基础上,采用专用的开发软件PSDsoft进行系统开发的。PSDsoft是一套在Windows环境下运行的软件工具,运用可视化技术进行编程,具有方便的人机交互功能。并且由于该软件集成度较高,各步操作在同一界面下进行,因此使用十分方便。
由图2所示流程图,我们可以看到在PSDsoft软件环境下,PSD813器件的开发,从Abel文件的编写、硬件特性的配置,直至目标文件的写入,都可以很方便地完成。另外,PSDsoft软件还提供PSD器件的实时仿真,并可实现目标文件的C语言反汇编。
由于篇幅有限,现仅写出Abel文件以作参考:module c51_813
title 'WSI PSD813F1 design template for 80C51 fam-
ily microcontroller';
″PIN DECLARATIONS
bhe pin 49;″pin 49,byte high enable or CNTL2
wr pin 47; ″pin 47,write line or CNTL0
rd pin 50; ″pin 50,read line or CNTL1
reset pin 48; ″reset Input,active low
a15,a14,a13,a12,a11,a10,a9,a8,pin 39,40,41,42,43,44,45,46; ″Address bus
a7,a6,a5,a4,a3,a2,a1,a0,pin 30,31,32,33,34,35,36,37, ″Addressbus
″********Port A,B,C,D pin declaration*************
addr_out0..addr_out7 pin; ″address out, Port A pins
″Address output
WSIPSD PROPERTY ′Address_Out Aout[7:0]:addr_out
[7:0] PortA′;
addr_out8..addr_out15 pin; ″address out,Port B pins
″Address output
WSIPSD PROPERTY ′Address Out Aout 《15:8]:addr
out[15:8] PortB′?
a16,a17,a18 pin 18,17,14; ″pc[2:4],a[16:18]
″Extend Address output
LCD_ce pin 11; ″pc7, the signal ce of LCD
SRAM_ce pin 9, ″pd1, the ce of 512K SRAM
ale pin 10; ″pin 10? address latch enable or PD0
csi pin 8; ″pin 8,/csi or pd2
fs7,fs6,fs5,fs4,fs3,fs2,fs1,fs0 node; ″Main Flash
segment chip selects
rs0 node;″PSD SRAM chip select
csiop node;″PSD control and I/O register
jtagsel node; ″Selects JTAG port active using a prod uct term
X = .x.; ″Don′t care symbol
address = [a18..a0]; ″De-muxed microcontroller
address signals
EQUATIONS
jtagsel = 0;
fs0 = (address >=^h2000? & ?address <=^h2FFF);
″Address of ROM
fs1 = (address >=^h3000)&(address <=^h3FFF);
fs2 = (address >=^h4000)&(address <=^h4FFF);
fs3 = (address >=^h5000)&(address <=^h5FFF);
fs4 = (address >=^h6000?)& (address <=^h6FFF);
rs0 = (address >=^h7000?)& (address <=^h77FF);
LCD_ce = (address >=^h7800) &(address <=^h7FFF);
csiop = (address >=^h8000) & (address <=^h80FF);
SRAM_ce=!(!a16&!a17&!a18)#((address >=^h8100? & (address <=^hFFFF)); ″Address
of RAM
end c51_813
由于PSD813具有很高的集成度和很强的在线编程功能,所以其应用对提高单片机的开发速度、系统稳定性及灵活性都比传统的设计方式有了很大的提高,这应该成为单片机应用系统的一个发展方向。
但PSD813内部数据总线为8位,所以虽然PSD813与8位MCU可以很方便地直接相连,但与16位单片机相连时,必须用两片PSD813以构成16位的多路复用和非多路复用总线结构接口。并且由于16位单片机与外部存储器的连接规则,所以当两片PSD813与16位单片机相连时,其地址线连接必须循环移位一次,以保证CPU在工作时同时正确接收两片PSD813 ROM中的高位和低位指令字节。
评论
查看更多