首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
CPLD器件的在系统动态配置 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:44:18 点击数:[] ![]() |
|||||
对24C512的操作应该遵循I2C总线协议,而在MSP430中没有I2C总线硬件,所以本方案中用软件方法模拟。由于I2C串行总线数据交换速度较慢,因而当从E2PROM中读出数据再往CPLD中移入时,形成了配置过程的速度瓶颈。在解决这个问题时,我们充分利用了MSP430149单片机内部2KB RAM,采用E2PROM最快的读取方式——顺序读,将配置数据预先读入到RAM中,GetByte()函数直接从RAM中读取数据。这种方法在一定程度上提高了配置速度。我们改写的GetByte()函数是这样的: unsigned char GetByte() { unsigned char data; static unsigned short int index=0; …… if(index==0){ //有新的数据来自E2PROM fp=wmeArray;//放在unsigned char vmeArray[1024] } data=*fp++; if(index<1024) index++; else { index=0; if((num+1024)>totalnum是已经读取字节数) ReadBlock(address,totalnum-num);//totalnum是整个配置文件字节数 } else{ ReadBlock(address,1024);//从I2PROM的 address=adress+1024;//adress地址开始读1024字节 } } return(data); } PC机上应用程序用Delphi7.0开发设计,利用专门的串口控件很容易开发出串口通信程序,从而将VME配置文件发送到MSP430。当配置完成以后由MSP430返回“配置成功”。 4 结论 我们设计的基于MSP430的CPLD动态配置方案,充分利用了CPLD可重复配置的特性,为嵌入式系统升级重构提供了一种新的思路,将来一定有很好的应用前景。当然在这个方案中,由于采用外加E2PROM的原因,在配置速度上较慢。虽然本方案针对的是Lattice MACH4000系列CPLD器件,但是稍加改动也可用于Lattice其它ispJTAG器件,如ispXPLD、 ispGDX2等。另外在实际应用中,如果能加上网络模块,还可以实现远程的动态配置。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |