PSD813F1及其接口编程技术
由WSI公司研制的新一代可编程微控制器系统外围器件PSD813F1芯片,具备完整的在系统可编程(In System Programmable)特性。其在系统可编程不仅仅是对程序存储器而言,而是指整个芯片内的所有功能块的配置,而且可对器件的逻辑和功能进行随时组态或重组。该芯片采用模块化设计技术,可集成一个单片机应用系统所需的多个外围模块,如将FLASH MEM、EEPROM、SRAM、PLD等集成到单一硅片上,为简化微控制器应用系统的设计、缩短产品的开发周期、提高系统的可靠性、降低系统的成本、缩小产品尺寸、增强系统保密性提供了一条捷径。
1 PSD813F1PSD813F1芯片的性能特点
PSD813F1的内部结构如图1所示。
PSD813F1内部集成了可分区段保护的128K字节FLASH MEM(闪速存储器)和32K字节EEPROM,以及掉电时通过切换到备用电源以保持数据的2K字节SRAM。每一个存储器块可以被用户通过配置定位在不同地址空间。FLASH MEM分成8个大小相同的块,EEPROM分成4个大小相同的块,以上各块均可被设定成程序空间或数据空间;2K字节的SRAM存储器可完成数据缓存的功能。
芯片包括4个可编程I/O端口,共27个允许独立配置的端口引脚,端口A、B和C为8位,端口D为3位,端口可设置为MCU I/O、PLD I/O、外设I/O、地址输入输出、数据端口等不同的配置,而且其中的16个I/O引脚可以设定为CMOS电平或漏极开路工作方式。这些端口的工作方式由数据输入、数据输出、方向、控制、驱动选择等寄存器决定,这些寄存器位于以CSIOP为基地址的256字节空间里,CSIOP基地址由配置软件决定,不同寄存器具有唯一的相对于CSIOP基地址的偏移地址,对寄存器的操作可在程序中完成。
PSD813F1psd813f1的译码逻辑由内部FLASH PLD(包括FDPLD和FGPLD)实现,具体结构由与阵列组成。FDPLD为内部功能部件提供地址译码,例如内部的FLASH MEM、EEPROM、SRAM、寄存器,以及I/O端口的选择。FGPLD用于实现系统逻辑,如状态机功能块和组合逻辑的实现。
PSD813F1的加密技术为系统的加密提供了便捷的实现方法,当PSD配置寄存器中的保密位被置位时,不允许在器件编程器或通过JTAG端口读器件,当使用JTAG端口时,只有全芯片擦除命令允许,其他命令被阻断。
2 JTAG编程
PSD813F1为真正的现场可编程器件,包括芯片的PSD配置、PLD阵列、EEPROM和FLASH MEM均能在系统中编程。
基于PSD技术的硬件设计方法是采用硬件描述语言来设计复杂的数字逻辑系统,生成符合PSD芯片要求、在电路上可行的数字逻辑,通过WSI公司提供的PSDSOFT软件包,可生成编程器所需的目标文件(包括程序及系统配置文件),经JTAG接口可下载到芯片中。
端口C是可复用的端口,可配置成JTAG编程端口,在现场对空白器件进行在系统编程或对已编程器件进行重新编程,而无需使用微控制器。另外,也可以通过微控制器执行来自EEPROM的编程算法,FLASH MEM也可在系统内被编程。通过执行来自FLASH MEM的算法,EEPROM也可用同样的方法进行编程。PLD逻辑或其他PSD813F1配置同样也可通过JTAG口或器件编程器编程。
PSD813F1遵守IEEE1149.1 JTAGJoint Test Action Group联合测试行动小组)技术规范的基本内容,支持JTAT接口的ISC(In System Configurition在系统配置)规范,允许PSD813F1与其他工作于边界扫描方式的器件一起存在于JTAG链中,但不支持该技术规范内定义的边界扫描功能。
标准JTAG采用4个基本信号:TCK,TMS,TDI,TDO。其中,TCK为同步时钟,TMS为JTAG方式选择,TDI、TDO分别为串行数据输入和串行数据输出。WSI公司的JTAG接口除以上4个基本信号外,还附加提供了用于增强功能的TSTAT和/TERR信号,其中TSTAT代表正在进行的当前动作的瞬时状态,/TERR指示对字节或扇区的编程/擦除是否超时。此外的附加信号为:/JEN提供低电平有效的使能输入信号,以便使PSD813F1的JTAG功能在端口C引脚上有效; /RST复位目标系统,/TRST复位目标板上的JTAG,CNTL是由用户定义的信号。
3 PSD813F1在数据采集系统中的应用
PSD813F1可与8位或16位MCU构成一应用系统,本文在此介绍了采用PSD813F1与80C196KC[2]构成的现场数据采集电路。
3.1 硬件结构
系统硬件结构如图2所示,核心器件为80C196KC和PSD813F1,图中简化了复位等电路。
- Matlab与C/C++混合编程接口及应用方法(08-03)
- 采用PCM编码原理及FPGA编程技术(06-06)
- 嵌入式开发技巧:利用编程技术发挥多内核架构优势(09-12)
- STM32F103系列微控制器在应用编程技术研究(10-29)
- Flash单片机自编程技术的探讨(10-16)
- 基于CAN总线的在线更新机制的设计与实现(07-31)