fpga是一种“半定制”的芯片,其中一个特性就是io口可编程,这个特性对编程器能与各类封装芯片互连有很大帮助作用。
mcu的管脚功能都是固定的,与外部接口通常使用io口或者总线连接。普通io口其实本质就是寄存器,这些寄存器都有一个相应的地址,操作io口就是操作寄存器;片内外设相对来说,是一个具有特定功能模块,其内部包含多个寄存器控制不同的功能执行,但是这些寄存器也有固定的地址。通过存储器映射的方式,把片内外设和cpu连接起来,组成一个系统。
值得注意的是,这些片内外设对外接口都是连接固定的管脚,如果要对这些外设控制完成特定的功能设计,实质上已经隐含了对这些管脚控制了。比如说,muc的iic接口的sck和sda分配在99和100脚,那么所有iic接口的存储芯片都必须与这两个脚连接,如图1所示。
图1 请排好队列
各类需要编程的芯片如果要与mcu连接,就必须与之对应的接口连接,对于复杂脚多的芯片,这对pcb的布局布线有很大的局限性和挑战性。
fpga就以灵活性见长,可编程io就是其中的一个重要功能。可编程io给pcb的设计带来灵活性,可以简化pcb的布局布线,并且在设计的过程中,还可以根据走线的走向更改管脚的连接。另外,在fpga内部逻辑设计过程中,可以先把功能模块设计与管脚分配两步独立开来,先完成内部逻辑功能之后,再根据实际情况分配管脚。因此,可编程io给fpga逻辑设计和pcb设计带来一定的灵活性和独立性,其在这个环节中充当一个“千手观音”的角色,为逻辑设计和pcb设计铺路架桥,如图2所示。
图2 可编程io示意图
实际fpga内部并不像图2那么简单,这里只是为了形象说明可编程io可以使内部逻辑和pcb可以相对独立设计。对于同类接口,不必因为pcb改变而更改时序逻辑,只需要更改引脚分配,大大简化了pcb的布线难度。
fpga被称为“千手观音”仅仅是数量多、动作灵活吗?他还有更强大的功能,就是内部逻辑可编程。
在最初的电路设计当中,fpga并没有实际的电路,只有完成了设计之后才有某种特定的功能电路。这种结构含有以下特性:
1、在理想情况下,可以实现多种接口;
2、可以实现精确的时序,兼容更多芯片;
3、资源可重复利用,在某时间段,只需要一个接口逻辑,节省fpga资源和配置器件的存储空间。
相对地,如果用mcu来实现,则有以下缺点:
1、 如果mcu没有相应的接口,将难以实现与含有该接口的存储芯片通信(可能会用io模拟);
2、 即使接口相同,由于功能基本固定,面对一些特殊的芯片,将力不从心;
3、 由于输出口线的固定,导致与外部接口的pcb布线无法实现;
被编程的芯片接口种类较多,比如iic和spi,如果要mcu同时具备这些接口,口线必定复杂而且速度有限。fpga无需考虑这个问题,由于其内部逻辑可由设计者来设计,那么编程器可根据接口需要来定制对应的逻辑,省时省力,效率非常高。
在设计过程中灵活使用fpga这个“千手观音”,让编程器功能更灵活、更高效。
感应器传感器工作原理 感应器传感器怎么安装接线的
Ringnes采用RFID追踪货运集装箱
欧美全面停供中国汽车芯片?谣言
一图看懂半导体产业并购趋势如何?
三星Odyssey+ Windows VR头显或将于11月发布,售价500美元
FPGA芯片在编程器烧录器里的应用
贾跃亭败诉?顾颖琼再受禁令,乐视称“该案并未了结”
金手指的引线在pcb上的作用是什么
华为再推超大容量CloudEngine系列数据中心交换机
华中科技大学:开发具有Serosa模拟结构的自供电2D纳流体石墨烯压力传感器
小米推出了新的Mi Box 4S Pro
2020年分布式电源理想占比, 中国分布式电源和微电网发展预测
简述第三代AMD霄龙处理器加速数据中心工作负载
无线通信设备用晶体振荡子XRCGD系列
2017年最值得期待的几部手机 你中意小米6还是iPhone8?
没有对比就没伤害!iOS上最好用的输入法你知道吗?
学习Java编程 这10个技巧不容错过
5G时代的到来将会对消费互联网的下一步发展具有促进作用
VR搭配新闻的组合将带来媒体融合的新机遇
水下光通信系统的案例分享