0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

XADC内嵌在PS端允许CPU或其他主机连接而不用使用PL端

FPGA之家 来源:瓜大三哥 作者:米果不回来 2021-05-27 11:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

XADC内嵌在PS端,允许CPU或其他主机连接XADC,而不用使用PL端。XADC最大采样率为1MSPS,精度为12bits,内置电压和温度传感器,可监测芯片的电压及温度信息。电压传感器可监测芯片的VCCINT,VCCAUX,VCCBRAM等,VP_0和VN_0为一对专用的ADC模拟输入口。VAUXP[*]和VAUXN[*]也是ADC输入口,但是不用作ADC输入口时,可用作普通IO使用。

intXAdcPolledPrintfExample(u16 XAdcDeviceId)

{

intStatus;

XAdcPs_Config *ConfigPtr;

u32 TempRawData;

u32 VccPintRawData;

u32 VccPauxRawData;

u32 VccPdroRawData;

floatTempData;

floatVccPintData;

floatVccPauxData;

floatMaxData;

floatMinData;

XAdcPs *XAdcInstPtr = &XAdcInst;

printf(" Entering the XAdc PolledExample. ");

/*

* Initialize the XAdc driver.

*/

ConfigPtr= XAdcPs_LookupConfig(XAdcDeviceId);

if(ConfigPtr == NULL) {

returnXST_FAILURE;

}

XAdcPs_CfgInitialize(XAdcInstPtr,ConfigPtr,

ConfigPtr->BaseAddress);

/*

* Self Test the XADC/ADC device

*/

Status= XAdcPs_SelfTest(XAdcInstPtr);

if(Status != XST_SUCCESS) {

returnXST_FAILURE;

}

/*

* Disable the Channel Sequencer beforeconfiguring the Sequence

* registers.

*/

XAdcPs_SetSequencerMode(XAdcInstPtr,XADCPS_SEQ_MODE_SAFE);

/*

* Read the on-chip Temperature Data(Current/Maximum/Minimum)

* from the ADC data registers.

*/

TempRawData= XAdcPs_GetAdcData(XAdcInstPtr, XADCPS_CH_TEMP);

TempData= XAdcPs_RawToTemperature(TempRawData);

printf(" The Current Temperature is%0d.%03d Centigrades. ",

(int)(TempData), XAdcFractionToInt(TempData));

TempRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr, XADCPS_MAX_TEMP);

MaxData= XAdcPs_RawToTemperature(TempRawData);

printf("The Maximum Temperature is%0d.%03d Centigrades. ",

(int)(MaxData), XAdcFractionToInt(MaxData));

TempRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr, XADCPS_MIN_TEMP);

MinData= XAdcPs_RawToTemperature(TempRawData & 0xFFF0);

printf("The Minimum Temperature is%0d.%03d Centigrades. ",

(int)(MinData), XAdcFractionToInt(MinData));

/*

* Read the VccPint Votage Data(Current/Maximum/Minimum) from the

* ADC data registers.

*/

VccPintRawData= XAdcPs_GetAdcData(XAdcInstPtr, XADCPS_CH_VCCPINT);

VccPintData= XAdcPs_RawToVoltage(VccPintRawData);

printf(" The Current VCCPINT is%0d.%03d Volts. ",

(int)(VccPintData),XAdcFractionToInt(VccPintData));

VccPintRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr,

XADCPS_MAX_VCCPINT);

MaxData= XAdcPs_RawToVoltage(VccPintRawData);

printf("The Maximum VCCPINT is %0d.%03dVolts. ",

(int)(MaxData), XAdcFractionToInt(MaxData));

VccPintRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr,

XADCPS_MIN_VCCPINT);

MinData= XAdcPs_RawToVoltage(VccPintRawData);

printf("The Minimum VCCPINT is %0d.%03dVolts. ",

(int)(MinData), XAdcFractionToInt(MinData));

/*

* Read the VccPaux Votage Data(Current/Maximum/Minimum) from the

* ADC data registers.

*/

VccPauxRawData= XAdcPs_GetAdcData(XAdcInstPtr, XADCPS_CH_VCCPAUX);

VccPauxData= XAdcPs_RawToVoltage(VccPauxRawData);

printf(" The Current VCCPAUX is%0d.%03d Volts. ",

(int)(VccPauxData),XAdcFractionToInt(VccPauxData));

VccPauxRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr,

XADCPS_MAX_VCCPAUX);

MaxData= XAdcPs_RawToVoltage(VccPauxRawData);

printf("The Maximum VCCPAUX is %0d.%03dVolts. ",

(int)(MaxData), XAdcFractionToInt(MaxData));

VccPauxRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr,

XADCPS_MIN_VCCPAUX);

MinData= XAdcPs_RawToVoltage(VccPauxRawData);

printf("The Minimum VCCPAUX is %0d.%03dVolts. ",

(int)(MinData), XAdcFractionToInt(MinData));

/*

* Read the VccPdro Votage Data(Current/Maximum/Minimum) from the

* ADC data registers.

*/

VccPdroRawData= XAdcPs_GetAdcData(XAdcInstPtr, XADCPS_CH_VCCPDRO);

VccPintData= XAdcPs_RawToVoltage(VccPdroRawData);

printf(" The Current VCCPDDRO is%0d.%03d Volts. ",

(int)(VccPintData), XAdcFractionToInt(VccPintData));

VccPdroRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr,

XADCPS_MAX_VCCPDRO);

MaxData= XAdcPs_RawToVoltage(VccPdroRawData);

printf("The Maximum VCCPDDRO is %0d.%03dVolts. ",

(int)(MaxData), XAdcFractionToInt(MaxData));

VccPdroRawData= XAdcPs_GetMinMaxMeasurement(XAdcInstPtr,

XADCPS_MIN_VCCPDRO);

MinData= XAdcPs_RawToVoltage(VccPdroRawData);

printf("The Minimum VCCPDDRO is %0d.%03dVolts. ",

(int)(MinData), XAdcFractionToInt(MinData));

printf("Exiting the XAdc Polled Example. ");

returnXST_SUCCESS;

}

/****************************************************************************/

/**

*

* This function converts the fractionpart of the given floating point number

* (after the decimal point)to aninteger.

*

* @param FloatNum is the floating point number.

*

* @return Integer number to a precision of 3 digits.

*

* @note

* This function is used in the printingof floating point data to a STDIO device

* using the xil_printf function. Thexil_printf is a very small foot-print

* printf function and does notsupport the printing of floating point numbers.

*

*****************************************************************************/

intXAdcFractionToInt(floatFloatNum)

{

floatTemp;

Temp= FloatNum;

if(FloatNum < 0) {

Temp= -(FloatNum);

}

return( ((int)((Temp -(float)((int)Temp)) * (1000.0f))));

}

原文标题:Zynq中PS端XADC

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11375

    浏览量

    226427
  • Zynq
    +关注

    关注

    10

    文章

    636

    浏览量

    49634

原文标题:Zynq中PS端XADC

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA ZYNQ中PSPL交互的HP接口详解

    该工程实现了PL通过HP接口(8个字节)下使用AXI协议往DDR中写数据。PS读取处理。
    的头像 发表于 04-21 09:13 1261次阅读
    FPGA ZYNQ中<b class='flag-5'>PS</b>与<b class='flag-5'>PL</b>交互的HP接口详解

    ZYNQ核心板原理图讲解

    ZYNQ系列的FPGA设计方法大同小异,都是PL+PS架构,只需要理清楚有多少个BANK,哪些BANK支持多少V供电和功耗,上电时序,那些BANK是PS那些是PL
    的头像 发表于 04-09 15:45 5224次阅读
    ZYNQ核心板原理图讲解

    zynqmp PSDDR配置说明

    详细讲解zynqmp psDDR相关时序参数配置过程。
    发表于 03-24 14:56 1次下载

    DR1 系列评估板 PS 裸机与 FreeRTOS 开发案例手册

    本文为创龙科技DR1 系列评估板 PS 裸机与 FreeRTOS 开发指南,涵盖三大核心案例与双开发模式实现。核心内容包括 LED 定时闪烁、按键控制 LED 亮灭、串口数据回显功能,详细说明工程
    的头像 发表于 01-19 17:12 371次阅读
    DR1 系列评估板 <b class='flag-5'>PS</b> <b class='flag-5'>端</b>裸机与 FreeRTOS 开发案例手册

    IGBT触发波测量:示波器接地连接规范

    一、核心接地原则 1. 共地基准一致性原则 示波器接地必须严格对接IGBT驱动电路的基准地,优先选择驱动板标注“GND”的信号地IGBT发射极(E极),严禁直接连接大地主电路功率
    的头像 发表于 01-14 09:16 1827次阅读
    IGBT触发波测量:示波器接地<b class='flag-5'>端</b><b class='flag-5'>连接</b>规范

    为什么会有小字节序

    答案是,计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小字节序。 但是,人类还是习惯读写大端字节序。所以,除了计算机的内部处理,其他的场合几乎都是大端
    发表于 12-15 06:24

    如何训练好自动驾驶模型?

    [首发于智驾最前沿微信公众号]最近有位小伙伴在后台留言提问:算法是怎样训练的?是模仿学习、强化学习和离线强化学习这三类吗?其实(end-to-end)算法
    的头像 发表于 12-08 16:31 1686次阅读
    如何训练好自动驾驶<b class='flag-5'>端</b>到<b class='flag-5'>端</b>模型?

    NVMe高速传输之摆脱XDMA设计44:工程设计考量?

    与上述设计基本一致, 不同的是ZCU106 中 CPU 模块中使用 ZYNQ 作为主机, 另外去除了 MIG 控制器, 使用 PS DD
    发表于 11-12 09:52

    电话光端机发射和接收怎么接

    现代通信工程和安防监控系统中,广州邮科(YK)的电话光端机因其稳定可靠的性能被广泛应用。对于许多初次接触该设备的工程师或用户而言,如何正确连接发射(TX)和接收
    的头像 发表于 11-08 11:21 1740次阅读
    电话光端机发射<b class='flag-5'>端</b>和接收<b class='flag-5'>端</b>怎么接

    ZYNQ PSPL数据交互方式

    ZYNQ SoC 的 PS (Processing System) 和 PL (Programmable Logic) 之间的数据交互是系统设计的核心。
    的头像 发表于 10-15 10:33 1459次阅读
    ZYNQ <b class='flag-5'>PS</b>与<b class='flag-5'>PL</b>数据交互方式

    光缆怎么分ab

    、基站等)。 B:光缆的终止,通常连接接收设备(如终端盒、用户等)。 作用: 确保光纤对(如TX-RX)正确配对,避免信号反射丢失。
    的头像 发表于 09-28 09:38 2777次阅读

    Aurix Development Studio 中是否有允许 SCR 添加调试编译器选项的功能?

    ELF 文件中的调试信息,其中没有调试符号,并且我无法调试 SCR 代码。Aurix Development Studio 中是否有允许 SCR 添加调试编译器选项的功能?
    发表于 07-21 06:00

    cyw43907关于STA掉电后连接不上AP怎么解决?

    开发环境为MTB3.1。 条件为使用两个cyw43907,一为AP,一为STA。STA连接上AP后,将STA断电,此时无法重新连接上A
    发表于 07-09 07:14

    Nullmax自动驾驶最新研究成果入选ICCV 2025

    近日,国际计算机视觉大会 ICCV 2025 正式公布论文录用结果,Nullmax 感知团队自动驾驶方向的最新研究成果《HiP-AD: Hierarchical
    的头像 发表于 07-05 15:40 2043次阅读
    Nullmax<b class='flag-5'>端</b>到<b class='flag-5'>端</b>自动驾驶最新研究成果入选ICCV 2025

    NEXT(Near-End Crosstalk,近串扰)

    、水晶头跳线接口等连接区域,主要由电磁感应电容耦合引起,属于线缆内部线对之间的干扰,不是来自外部设备。特别是千兆及以上高速网络中,N
    的头像 发表于 06-23 17:35 2297次阅读