首页 > 其他分享 >XADC采集外部信号实时显示在RGB屏幕中

XADC采集外部信号实时显示在RGB屏幕中

时间:2024-03-14 10:11:17浏览次数:33  
标签:输出 ALM DRP RGB ADC XADC 屏幕 输入

概述

  XADC在Xilinx7系列器件上可用。The XADC is available in all Artix-7, Kintex-7, Virte-7, and Zynq-7000 SoC devices.
  
XADC框架
  XADC需要例化使用,但是如果使用JTAG访问的话,就不需要例化,直接在Vivado软件中就可以直接访问XADC的各项数据,包括芯片温度、电压等数据。The XADC also includes several on-chip sensors that support measurement of the on-chip power supply voltages and die temperature. The ADC conversion data is stored in dedicated registers called status registers. These registers are accessible through the FPGA interconnect using a 16-bit synchronous read and write port called the dynamic reconfiguration port (DRP).也可以通过DRP进行访问XADC的数据寄存器。
  XADC有一个专用的模拟输入对(Vp_Vn),在外部使用两个引脚。此外还有16个辅助模拟输入可用,这些辅助模拟输入在平时是作为数字I/O口使用的。(相当于单片机的管脚复用)
  image.png
此外,在Vivado中,调用XADC是需要自行进行管脚位置约束的,使用ISE则不需要。(但是在Vivado管脚约束的GUI界面处,Vp_Vn引脚是会有提示对应哪个I/O口的)。
  image.png
  这里同样指出,使用JTAG访问XADC时,是不需要例化的。
XADC Ports(XADC引脚图)

DI[15:0] DRP输入数据总线
DO[15:0] DRP输出数据总线
DADDR[6:0] DRP地址总线
DEN DRP使能信号
DWE DRP写使能
DCLK DRP时钟输入
DRDY DRP数据就绪信号
RESET XADC控制逻辑的异步复位信号。
CONVST 转换起始输入。
CONVSTCLK 转换开始时钟输入。
VP , VN 专用模拟输入引脚,提供差分模拟输入。
VAUXP[15:0], VAUXN[15:0] 十六个辅助模拟输入对
ALM[0] 温度传感器报警输出
ALM[1] VCCINT传感器报警输出
ALM[2] VCCAUX传感器报警输出。
ALM[3] VCCBRAM传感器报警输出
ALM[4] VCCPINT传感器报警输出
ALM[5] 传感器报警输出
ALM[6] VCCO_DDR传感器报警输出
ALM[7] 总线ALM的逻辑OR[6:0]。可用于标记任何警报的发生。
OT 超温报警输出
MUXADDR[4:0] 这些输出用于外部多路复用器模式。它们指示要转换的序列中的下一个信道的地址。
CHANNEL[4:0] 通道选择输出。ADC转换结束输出数据时,输出的为哪个通道(管脚)的数据
EOC 转换结束信号。当测量值写入状态寄存器时,该信号在ADC转换结束时转变为高电平有效
EOS 序列结束信号。当通道序列中最后一个通道的测量数据被写入状态寄存器时,该信号转变为有效高电平
BUSY ADC忙音。该信号在ADC转换期间转换为高电平。在ADC或传感器校准期间,该信号还会在较长时间内转换为高电平
JTAGLOCKED 表示JTAG接口发出了DRP端口锁定请求。该信号还用于指示DRP已准备好接入(当低电平时)。
JTAGMODIFIED 用于指示发生了对DRP的JTAG写入
JTAGBUSY 用于指示JTAG DRP事务正在进行中

XADC配置寄存器地址
XADC的两种模式
Unipolar Mode(单极模式)
image.png
此时VP应该接正,VN接地,测量范围为0~1V,分辨率为244uV,输入0V时,输出000h,输入1V时,输出FFFh。
Bipolar Mode(双极模式)
image.png
此时VP00.5V,VN测量范围为-0.50V。
image.png
image.png
image.png
上述为只读的状态寄存器及其地址,ADC读取到的各个通道的数据都存储在相应地址中,值得注意的是,前边的 CHANNEL[4:0]通道选择输出。ADC转换结束输出数据时,输出的为哪个通道(管脚)的数据 与这里的地址是一样的,也就是说可以直接将CHANNEL[4:0]与DRP的DADDR[6:0]相连接,这样读取的数据与ADC测量的数据时对应的。
image.png
image.png简单来说就是,当EOC/EOS高电平之后,表示ADC数据转换完成,并且已经存储的相应的寄存器上,同时的CHANNEL也会输出ADC转换的相应的通道地址。这时就可以通过DRP来访问相关寄存器。使能DRP(DEN),将ADC寄存器地址发送DADDR地址总线上,DRP开始读取相应寄存器中的数据,当DRDY高电平时,表示寄存器地址读取完成,DO输出的为有效数据。

相关的代码就不放了,因为主要参考的是FPGA使用XADC测量外部模拟输入电压这篇文章的代码。大家有兴趣的可以去看看,他写的比我详细的多。

JTAG访问XADC

image.png
可以在此处,点开XADC就可以在不用例化的情况下访问相关数据。

工程源码

我把XADC读取外部数据,并且显示在RGB屏幕的源码已经上传在百度网盘中,大家有需要的自取即可。
链接: https://pan.baidu.com/s/1IH_9_BDwL3NJpeCsp5KrSg?pwd=2w5p 提取码: 2w5p 复制这段内容后打开百度网盘手机App,操作更方便哦
基于正点原子达芬奇开发板,其他的开发板需要更改相关的引脚约束。

正点原子代码问题

正点原子中的部分代码直接使用了除法,而在FPGA中,使用除法则会造成大量逻辑资源的浪费,所以建议大家尽量不要在FPGA中直接使用除法。
使用除法,无RGB显示模块时,消耗的资源
不使用除法,且有RGB模块时的资源
可以看到,使用除法会消耗大量的逻辑资源,并且可能造成时序问题。

参考文献

  [1] 正点原子. 达芬奇之FPGA开发指南
  [2] 野火. FPGA+Verilog开发实战指南——基于Xilinx+Spartan6
  [3] 子疯叶.FPGA使用XADC测量外部模拟输入电压CSDN(https://blog.csdn.net/qq_56016739/article/details/131905117)

标签:输出,ALM,DRP,RGB,ADC,XADC,屏幕,输入
From: https://www.cnblogs.com/fangrunze/p/18072220

相关文章

  • RGBA中的阿尔法通道
    RGB颜色模型是一种基于红色(R)、绿色(G)、蓝色(B)三个颜色通道的加色模型,用于通过不同的颜色混合产生广泛的颜色。而在RGB模型基础上添加的阿尔法通道(Alphachannel)则用于表示透明度信息,可以控制颜色的不透明度或透明度,使得可以实现颜色的混合以及创建具有透明或半透明效果的图像。......
  • 老虎/TiggerRamDisk注册/下载/官网 绕过激活锁,屏幕锁隐藏工具,支持最新iOS17系统
    支持的版本:iOS12.0~17.3支持的型号:iPhone66s、6sp、SE、7、7P、8、8P、XiPadAir2WiFi(A1566)iPadAir24G(A1567)iPadMini4WiFi(A1538)iPadMini44G(A1550)iPad52017WiFi(A1822)iPad520174G(A1823)iPad62018WiFi(A1893)iPad620184G......
  • 前端大屏尺寸实现自适应屏幕大小
    说在前面目前很多业主在使用系统的时候都会有大屏的需求,很多屏幕并不会像我们开发的屏幕一样标准,比如1920*1080,这样我们就需要根据业主的屏幕尺寸进行适配,避免一些图表或文字在大屏中出现偏移,影响视觉观感。方案比选方案一:如果希望在大屏中实现最佳的展示效果,应该由设计人......
  • Android 《屏幕切换》
    默认处理机制除了系统广播之外,App所处的环境也会影响运行,比如手机有竖屏与横屏两种模式,竖屏时水平方向较短而垂直方向较长,横屏时水平方向较长而垂直方向较短。两种屏幕方向不但造成App界面的展示差异,而且竖屏和横屏切换之际,甚至会打乱App的生命周期。无需重启Activity横竖屏......
  • 华企盾DSC的屏幕浮水印可以设置哪些相关法律话术?
    华企盾DSC防泄密系统的屏幕浮水印和进程浮水印能够设置相关法律话术作为水印内容,以增加警示作用。具体的法律话术设置并未给出直接的示例,但理论上可以设定涉及数据保密、著作权声明、适当的法律责任警告等任何合法、合规的法律性内容。例如: "本计算机受到公司数据保密政策......
  • RGB和YCbCR 的420/444格式
    目录RGBYUVYCbCrRGBRGB图像具有三个通道R、G、B,分别对应红、绿、蓝三个分量,由三个分量的值决定颜色;通常,会给RGB图像加一个通道alpha,即透明度,于是共有四个分量共同控制颜色。那么对于一张1920*1080的图片,如果采用RGBA编码格式,这一张图片加载到内存并在设备中显示时,所占用的内......
  • 直播系统app源码,Android端与屏幕相关的几个注意事项
    直播系统app源码,Android端与屏幕相关的几个注意事项Android端的宽屏适配、禁止截屏和保持屏幕常亮,是直播系统app源码开发时需要注意的三个重要事项。宽屏适配越来越多的手机厂商趋向于全面屏设计,屏幕比例均超过过去常见的16:9比例。超大屏幕比例的设计对于AndroidAp......
  • 9-1. 实现移动设备屏幕操控
    添加虚拟手柄如上图所示,绘制虚拟手柄,包括左侧操作杆和右侧NESW键给左侧操作杆添加On-ScreenStick给右侧按钮添加On-ScreenButton因为我们使用的是新输入系统,所以这些虚拟按键就能直接使用了PC版不显示虚拟手柄使用UNITY_STANDALONE宏,这个宏只会在PC平台上生效,......
  • uni-app 组件 uview u-action-sheet 项太多,占满屏幕,设置滚动
    找到文件/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue找到u-action-sheet__item-wrap的类名<viewclass="u-action-sheet__item-wrap">修改成<scroll-viewclass="u-action-sheet__item-wrap"scroll-ystyle=&......
  • [ARC121B] RGB Matching 题解
    题意有\(2N\)个物品,每个物品有可爱度\(a_i\)和颜色\(c_i\),将其两两配对。假设物体\(i\)和\(j\)配对,则\(c_i\neqc_j\),则会增加\(|a_i-a_j|\)的不满意度,求最小的不满意度。分析这道题可以贪心解决。我们尽量让每一对物品颜色相同,令每种颜色的总个数为\(cnt_c\),......