FPGA 怎么实现UART串口和IIC口或SPI 通讯?
我原来只用过MCU,通过配置内部寄存器或模拟端口都很容易实现。FPGA好象弄,和MCU、DSP、ARM有什么区别吗?现在没一点头绪,各位大侠可以给点建议吗?谢谢
很感谢大家的回答
再次追加悬赏30分
您好,真心感谢
还想请问下,FPGA通讯比如UART,也可以设置帧头如(0xee,0xee,0xee)+数据包+帧尾(0xfe,0xfe,0xfe)这样格式,接收数据包后保存吗?
FPGA里也应有一定的RAM空间供你的上面所说“ FPGA是属于硬件编程,程序是并行执行的,可以有多个进程,同时执行不同的功能”去运行使用还是怎么的?内部都自带RAM吗?
我看到一般的FPGA都外接flash。。。供每次上电时flash内程序下载到FPGA。都是这样吗?
EEPROM有没有使用?
怎么回答N次了,都回答不上啊,
您好,用状态机来模拟master和slave?
请问“状态机”指的是什么?
是使用仿真软件上的 tool 还是什么?
状态机在FPGA应用中非常普遍,用于实现不同状态之间的切换的。如果你不清楚状态机的话,建议你先学习下VHDL或verilog的书,任何一本入门的书籍中都会有的。
谢谢你的回答
是不是FPGA的引脚,比如a,b,c,d四个脚,通过设置内部时序及逻辑。
可以把它设置成与外部UART相连,也可以改变下内部时序及逻辑把它作SPI、IIC甚至CAN BUS使用吗???
RAM内部也有使用吧
理解正确. 但有些细节需要注意:
1. CAN略有不同,就是一定要选择能配成差分对的IO.
2. SPI的SCK最好选能配成时钟的io, 但然由于SPI速度也不高, 用io未尝不可.
3. 接不同外设, 需考虑电平一致性. 譬如外设用3.3, 你FPGA相应io对应的Bank电压得是3.3, 否则配成UART后端口电平譬如是2.5V了就不合格.
4. FPGA内RAM块是用于实现高速算法用的, 容量都很小. 拿用作MCU实在太浪费了, 宁愿闲着. 用FPGA的io接到SRAM是很方便的. 但接DDR,DDR2有点难度, 因为差分,速度, 最好看芯片手册确信支持,有无MegaCore/IPcode可例化.