历史上的今天
返回首页

历史上的今天

今天是:2024年09月24日(星期二)

正在发生

2019年09月24日 | FPGA配置芯片EPCS读写操作--STM32读写

2019-09-24 来源:eefocus

注意事项:


(1)首先STM32需要设置nCE和nConfig信号,即nCE置高,nConfig拉低,获得EPCS的控制权,而后对EPCS操作,操作完成后需要释放这两个管脚,即nCE拉低,nConfig置高。


(2)EPCS的极性为:sck为空闲状态为高电平,采样边沿为SCK的第二个跳变沿,(即上升沿,注意前提是SCK空闲为高)


SPI_InitStruct.SPI_Direction= SPI_Direction_2Lines_FullDuplex;

SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b; 

SPI_InitStruct.SPI_Mode = SPI_Mode_Master;

SPI_InitStruct.SPI_CPOL = SPI_CPOL_High;

SPI_InitStruct.SPI_CPHA = SPI_CPHA_2Edge;

SPI_InitStruct.SPI_NSS = SPI_NSS_Soft ;

SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;

SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB;


(3)EPCS操作时对于地址和指令是MSB的,而对于写数据却是LSB的,因为上电FPGA读取EPCS内部数据时是LSB读取的。所以有如下操作代码。


SPI_FLASH_Write_Enable();                  //SET WEL


spi_cs_low;

SPI_Send_byte(EPCS16_ByteProgram );     //write byte

add1 = (u8)((WritingAddr)>>16);

add2 = (u8)((WritingAddr)>>8);

add3 = (u8)((WritingAddr));

SPI_Send_byte(add1);  

SPI_Send_byte(add2);  

SPI_Send_byte(add3); 

for(num=0;num{

wdata = pBuffer[WritingNum];

if(MSB_SWAP_LSB)

wdata = ((wdata&0x01)<<7)|((wdata&0x02)<<5)|((wdata&0x04)<<3)|((wdata&0x08)<<1)|((wdata&0x10)>>1)|((wdata&0x20)>>3)|((wdata&0x40)>>5)|                   ((wdata&0x80)>>7);

else

wdata = pBuffer[WritingNum];

SPI_Send_byte(wdata);

WritingAddr++;

WritingNum++;

if(WritingAddr%SPI_FLASH_PAGE_SIZE==0 || WritingNum==NumByteToWrite)

{

break;

}

}


推荐阅读

史海拾趣

Anpec(茂达)公司的发展小趣事

Anpec(茂达电子)自1997年创立之初,就肩负着提升国内电源模拟设计环境、建立自主模拟及电源相关产业的使命。初期,公司规模虽小,但志向远大。面对国内外市场的激烈竞争,茂达电子凭借对技术的执着追求和对市场的敏锐洞察,逐步在模拟集成电路设计领域站稳脚跟。

Greenwich Instruments Ltd公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,Greenconn Corp积极推动智能制造转型。公司引进先进的生产设备和技术,优化生产流程和管理模式,提高生产效率和产品质量。同时,公司还加强与高校、科研机构的合作,共同研发智能制造关键技术,推动智能制造技术在连接器生产领域的应用。这些努力不仅提升了Greenconn Corp的竞争力,还为公司的可持续发展奠定了坚实基础。

EHC(ELECTRONICHARDWARE)公司的发展小趣事

随着环保意识的不断提高,绿色环保已经成为电子行业的发展趋势。EHC公司积极响应这一趋势,致力于研发和生产绿色环保的电子产品。公司采用环保材料和工艺,减少生产过程中的污染排放。同时,EHC公司还积极推动废旧电子产品的回收和再利用工作,为环保事业做出了积极贡献。这种对环保的关注和行动让EHC公司在行业中树立了良好的形象。

Eurohm Resistors公司的发展小趣事

面对数字化浪潮的冲击,Eurohm Resistors公司积极拥抱数字化转型。公司建立了完善的数字化管理系统,实现了生产、销售、服务等各个环节的数字化管理。通过数据分析和智能化决策,公司能够更准确地把握市场变化和客户需求,提高运营效率和市场竞争力。

Etco Inc公司的发展小趣事

自1947年成立以来,Etco Inc公司一直致力于电子连接技术的研发与创新。在20世纪70年代,公司成功研发出一款新型的高性能连接器,该产品凭借其卓越的性能和可靠性,迅速在汽车电子行业中占据了一席之地。这一技术突破不仅为Etco带来了可观的市场份额,还奠定了其在电子连接器领域的技术领先地位。

Everbuild公司的发展小趣事

Everbuild深知人才是企业发展的核心。因此,公司注重人才培养和团队建设。公司建立了完善的培训体系,为员工提供各种技能培训和职业发展机会。同时,Everbuild还鼓励员工参与创新项目和技术研发,激发员工的创造力和工作热情。这些努力使Everbuild拥有一支高素质、专业化的团队,为公司的持续发展提供了强有力的保障。

问答坊 | AI 解惑

灌水,发一个平面螺旋天线的资料

欢迎搞天线的同行一起探讨,唉,一个巴掌拍不响啊…

查看全部问答>

超声波流量计原理

超声波在流动的流体中传播时就载上流体流速的信息。因此通过接收到的超声波就可以检测出流体的流速,从而换算成流量。根据检测的方式,可分为传播速度差法、多普勒法、波束偏移法、噪声法及相关法等不同类型的超声波流量计。起声波流量计是近十几年 ...…

查看全部问答>

在线等高手解答!关于ds18b20与液晶12864的问题

把下面的程序下到单片机后,除了能显示自定义的字符\"现在的温度为:\",就是在温度显示的位置显示“22”,无论怎么样弄18b20也无法改变数值,还请论坛的各位高手解答,调试了很多天了也没找出原因,很急!拜托各位帮忙,先谢谢了 #include #incl ...…

查看全部问答>

模拟电路设计流程--仿真工具的使用

一、仿真工具的选择 模拟电路的仿真软件并不多,现在常用的就是三家大的EDA公司的Hspice(Synopsys), Spectre(Cadence), Eldo(Mentor)。Eldo我没用过,不好说。Hspice和Spectre各有特点,Spetre图形界面好,使用容易上手,可视化更好;Hspice还是文 ...…

查看全部问答>

对于50Hz的干扰信号不一定用陷波器

对于50Hz的干扰信号不一定用陷波器, 对于50Hz的干扰不一定用陷波器因为在要求高时陷波器通常很难调试.   如果只是对信号处理用而言,信号频率在高端的话,比如300Hz以上,那最佳方法是作一个300Hz的高通滤波器,这样对50Hz的衰减可达100分 ...…

查看全部问答>

eeworld论坛这里怎么获得积分啊,我初学者,很多问题又都回答不了,拿不了分,但我的分又快用完了……

eeworld论坛这里怎么获得积分啊,我初学者,很多问题又都回答不了,拿不了分,但我的分又快用完了………

查看全部问答>

MSP430 FLASH 请教

IAR编译器以下显示是不是说 FLASH 程序占用8 884 bytes对吗?那也可以说是9K不到是吗? 8 884 bytes of CODE memory 788 bytes of CONST memory (+ 14 bytes shared) 357 bytes of DATA memory (+ 64 bytes shared)…

查看全部问答>

LaunchPad直接烧写软件MSPFET

需要将Launchpad的驱动软件拷贝到该软件所在文件夹,压缩包里已经有我在64位win7里的驱动,不知道在其它系统下行不行,如果不行,找到自己操作系统下的驱动拷贝替换。点击工具栏“SETUP”进行配置Erase Info不知道是否也擦除infoA,我没有试验,请 ...…

查看全部问答>

求教FPGA准确采集同步信号

请教各位大神: 我最近做FPGA采集100MHz的信号,另一路同步触发。但触发信号上升沿在40ns左右,最后导致信号波形左右晃动。 请问在FPGA中如何处理可以准确采集到触发信号,排除左右晃动的情况? 目前程序如下: //触发信号提取 always @(posed ...…

查看全部问答>

请高手帮忙分析电路图

请问图中C1的作用是什么 \0\0\0eeworldpostqq…

查看全部问答>