CPLD器件的在系统动态配置
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等。另外在实际应用中,如果能加上网络模块,还可以实现远程的动态配置。
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论