特权同学

配置管脚的复用

0
阅读(3528)

配置管脚的复用

         关于FPGA的配置管脚的复用,在Quartus II的setting里有如下相关的描述:

Specifies how the Data[0] pin should be used when the device is operating in user mode after configuration is complete. Depending on the current device and configuration scheme, the Data[0] pin can be reserved as a regular I/O pin, as an input that is tri-stated, as an output that drives ground, as an output that drives an unspecified signal, or compiler configured. If the Data[0] pin is reserved as a regular I/O pin, the Data[0] pin can be used as an ordinary I/O pin after configuration. If the Data[0] pin is only used to interface with external memory for configuration, the Data[0] pin should be reserved as compiler configured.

Specifies how the nCEO pin should be used when the device is operating in user mode after configuration is complete. The nCEO pin can be reserved as dedicated nCEO programming pin or a regular I/O pin.

Data[1]/ASDO、DCLK、FLASH_nCE/nCSO与Data[0]的复用选项一样,都可以是programming pin、regular I/O、input tri-stated、output driving ground、output driving an unspecified signal和compiler configured。nCEO则只能配置为programming pin和regular I/O。

         由于Cyclone III器件的EPCS控制器IO不是内部分配,需要手动在顶层逻辑引出到这些专用管脚上。而用户逻辑中需要在EPCS控制器上电配置工作完成后复用这些管脚,那么它们肯定也是要在逻辑中引到这些管脚上。因此,势必需要在两组复用的管脚间做一些“手脚”才能够保证系统正常工作。

         初步考虑时,特权同学设想就如inout控制的方式,使用EPCS控制器组件输出的片选信号nCS来把握最终是EPCS控制器信号还是用户逻辑信号连接到终端管脚上。但是比较担心这种方式无法正常的操作EPCS芯片,nCS有效时间对芯片操作的时序来说可能不太够。事实证明确实如此,EPCS控制器无法正常的将FPGA配置数据和软件程序下载到EPCS芯片中。

         考虑了很多办法,但是无论是用EPCS控制器给出的信号还是FPGA内部其他信号都不合适作为产生这个类似inout方向控制的信号。无奈之下,特权同学只能用最笨的方法来控制了,板子上预留了一个跳线帽,可作为拉高或拉低的输入信号。这个跳线帽就控制FPGA内部的几个复用配置信号是作为EPCS芯片控制还是用户逻辑控制。测试结果没有什么问题。这种办法个人感觉真的是没有办法的办法,不知道还能够有什么高招可以解决这个管脚问题。因为那个跳线管脚对于本来就需要去复用配置管脚的应用而言其实也是很宝贵的。

         说完技术上的问题,展示点东西,让大伙尝个鲜。去年在freescale论坛上以及其他的不记得是哪个展会上就见到了这种超宽屏,很想有机会也做一些这方面的产品应用。这次有机会了,感觉14.9寸的超宽屏确实很炫,如果能替代目前的叫号机确实是用户视觉档次的一个很大提升。当然了,有这方面应用和想法的朋友不妨和特权同学多聊聊。