首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用FPGA的差分输入实现AD转换

用FPGA的差分输入实现AD转换

用FPGA的差分输入实现AD转换
                 特权同学也是第一次听到这么新奇的想法,今天的lattice研讨会总算不是白去的,多少是有一点收获。尤其是听说能用FPGA的差分对实现AD转换,这不仅只是停留在想法上,lattice已经把这个方案做出来了,而且你还可以在他们的官网搜到这个方案的细节。
                 看看文档,发现这个虽然新颖的想法其实原理还是很简单的,不仅利用了LVDS差分输入的比较器,而且还使用了地球人都知道的PWM输出用于比较器另一端的模拟比较电压。其中一种最简单的方案如图1所示,差分对的正端输入待转换模拟信号,负端则输入一个经过RC低通滤波的PWM信号,这个滤波后的PWM信号其实相当于一个参考模拟电压值。在内部逻辑设计中,可以可控的产生不同的PWM输出负比较端的参考电压,同时采样整个差分对的当前值。具体的思路恐怕不用特权同学多说,每次取中间值对比结果再反复判断得到结果。这个电路精度虽然可以做得很高,但速度会比较慢,而且最大的问题是无法检测到VCCIO电压的最低值和最高值,这要取决于FPGA的差分对电路允许的有效判断闸值。总的来说,这个电路虽然简单,但是采样电压范围比较受限。

       

        图1

                 另一种复杂一些的改进方案如图2所示。这种方案说白了不但是对输入电压进行分压,而且可以利用PWM输出的电压动态调整比较器负端输入的采样电压值,加之比较器正端是一个非0参考电压,从而有效的避免了前述方案中采不到两个临界点电压的尴尬,这一招也很妙。不过这个方案实现起来还是需要一些算法,并且多费一些逻辑的。

       

        图2

                 此外,今天头一次比较近距离的接触lattice的CPLD器件MachOS2,感觉上这个器件不仅适合做CPU的IO扩展,也很适合做一些常用外设的扩展,毕竟其内部已经集成了IIC、SPI之类的硬核,还有一些片内的RAM和FLASH也有不小的用处。
返回列表