|
PSD813F2具有大容量Flash ROM、16个输出宏单元和24个输入宏单元,因而在与单片机组成系统时很少需要外围分立器件,多数通过PSD813F2中的宏单元逻辑组合产生与单片机连接的地址总线、数据总线、控制总线;同时,通过内部的逻辑译码产生对3块独立存储区片选信号。另外,单片机与PSD813F2D内部宏单元的D触发器直通,使得设计计数器、外围逻辑控制极为方便。 PSD813F2内部包含3块并行、相互独立的存储器区,独立或并行的单片机在任何时候都可以从一块存储器执行擦写另一块存储器的操作。这使得单片机能够在执行程序期间,通过改变PSD内控制器的内容,而动态改变程序和数据空间的地址范围;同时,系统也能对逻辑资源、扩展输入和输出端口进行编程,使系统具有实时ISP的能力。 4 PSD813F2与FPGA接口设计 PSD813F2可以配置Altera或Xilinx的FPGA(本文以Altera的为例)。Altera公司的EPF10K10/20是其万门级FPGA的代表,原来需要外置存储器,且配置存储器EPC1441是OTP型,价格较高;而PSD813F2具有很好的在线编程功能,并且擦写次数10万次,同时,1片PSD813F2可以配置10片EPF10K10,因而其具有良好的性价比。 用PSD813F2配置Altera公司的EPF10K系列FPGA,主要有以下信号: DCLK——输入移位时钟; DATA——数据; nSTATUS——状态信号; CONF_DONE——配置是否成功信号; nCONFIG——开始配置信号。 在实际配置电路中采用FPGA的被动串行方式,因而EPF10K系列FPGA的MSE0、MSE1均接地;同时nSTATUS、CONF_DONE、nCONFIG均需通过上拉电阻接电源。配置接口的信号线只需由PSD813F2的PA或PB口配置即可,如图3所示。 5 软件设计 PSD813F2编程是在硬件基础上,利用专用开发软件PSDsoft进行系统开发的;而PSDsoft是一套在Windows环境下运行的软件工具,运用可视化界面进行编程,具有人机交互功能,其一般开发流程如图4所示。 然而对于单片机系统,更熟悉的是采用C51或汇编进行编程。利用单片机对PSD813F2进行配置时,所使用的C51程序中最主要的是对PSD813F2进行初始化的子程序: void InitPSD813F2(void){ ;初始化程序 //PA0 LCD_R/W ;定义PA0为LCD读写 //PA1 LCD_RS ;定义PA1为LCD复位 //PA2 FPGA_DCLK ;定义PA2为FPGA时钟 PSDPACtrlReg=0x03 ;//设定PA口的读写模式 PSDPADir=0xff; PSDPADri=0x00; //PB0 FPGA-CON_DONE //PB1 FPGA-nSTATUS //PB2 FPGA-DATA //PB3 FPGA-nCONFIG //PB4 LCD-CS_LCD PSDPBCtrlReg=0x00 ;//设定PB为MCU的读写 PSDPBDir=0x0fc ;//设定PB读写模式 PSDPBDri=0x00; } 完整的PSD源程序请见
|