微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 8031+PSD813实现在线编程

8031+PSD813实现在线编程

时间:01-30 来源:互联网 点击:

PSDpro)对PSD813进行编程。

  将按上述方法编程好的PSD813芯片装到用户电路板(包含RS-232接口通信电路)上,用串行电缆与PC机串口相连,在PC机上运行 PSDload程序或Windows通信附件“超级终端”。加电复位用户板,IAP系统启动,与PC机连接成功后,就能通过PC机下载或升级PSD中的用户程序。如果没有PC连接或没有下载要求时,系统会自动进入用户程序运行。

  PSD813中主Flash存储器和第二个存储器阵列EEPROM在物理上是独立的,不存在任何逻辑上的区别。也就是说,可以用Flash存放用户系统,也可以用EEPROM。如果用户程序很小(EEPROM的空间就够用),而用到的数据空间又很大,可以把上述方案中的Flash和EEPROM 交换使用。并且,我们举出的Flash、EEPROM、SRAM的地址映射也仅是PSD813F1的多种地址映射方案中的一个,使用页寄存器可以灵活设计用户自己的地址映射方案。

  这里用的是UART通信,用户同样可以选择其他通信方式,如IR、RF、CAN、LAN、WAN,甚至是Internet。从一般性考虑,本方案同样可适用于其他单片机系统中,只要通过简单修改提供的程序即可使用。另外,本方案中的PSD813F1可以用WSI公司其他PSD8XX产品或最新的 PSD9XX系列产品替换,仅需要在附录文件中稍加修改。

附录 Abel硬件描述语言文件

//定义‘swap’位至页寄存器位pgr7,
//定义‘enabledatahalf’位至页寄存器位pgr7:
swap node 117; (pgr7)
enable_data_half node 116; (pgr6)
//Flash片选方程如下:
fs0=((address>=^h8000) (address=^hBFFF) (page==3) !swap ) #((address>=^h0000) (address=^h3FFF) (page==X) swap );
fs1=(address>=^h4000) (address=^h7FFF) (page==X);
fs2=(address>=^h8000) (address=^hBFFF) (page==0);
fs3=(address>=^hC000) (address=^hFFFF) (page==0);
fs4=(address>=^h8000) (address=^hBFFF) (page==1);
fs5=(address>=^hC000) (address=^hFFFF) (page==1);
fs6=(address>=^h8000) (address=^hBFFF) (page==2);
fs7=(address>=^hC000) (address=^hFFFF) (page==2);
//EEPROM片选方程如下:
ees0=((address>=^h0000) (address=^h1FFF) (page==X) !swap) #((address>=^h8000) (address=^h9FFF) (page==X) swap !enabledatahalf);
ees1=((address>=^h2000) (address=^h3FFF) (page==X) !swap) #((address>=^hA000) (address=^hBFFF) (page==X) swap !enabledatahalf);
ees2=(address>=^hC000) (address=^hDFFF) (page==X) enabledatahalf;
ees3=(address>=^hE000) (address=^hFFFF) (page==X) enabledatahalf;
//定义SRAM片选 rs0=(address>=^h0100) (address=^08FF) (page==X); //定义PSD控制寄存器CSIOP地址
csiop=(address>=^h0900) (address=^09FF) (page==X);

参考资料

1 PSD8XXF系列数据手册及应用笔记.武汉力源,1998(8)
2 PSDsoft User Manual. 美国WSI公司,1998

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top