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

    文章

    11216

    浏览量

    222933
  • Zynq
    +关注

    关注

    10

    文章

    625

    浏览量

    49239

原文标题:Zynq中PS端XADC

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    ZYNQ PSPL数据交互方式

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

    光缆怎么分ab

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

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

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

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

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

    NEXT(Near-End Crosstalk,近串扰)

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

    一文带你厘清自动驾驶架构差异

    [首发于智驾最前沿微信公众号]随着自动驾驶技术飞速发展,智能驾驶系统的设计思路也经历了从传统模块化架构到大模型转变。传统模块化架构将感知、预测、规划和控制等子任务拆分开,分别由不同模块完成;
    的头像 发表于 05-08 09:07 785次阅读
    一文带你厘清自动驾驶<b class='flag-5'>端</b>到<b class='flag-5'>端</b>架构差异

    特征空间侧的作用

    作为一家国际知名半导体公司的人工智能技术专家,我向客户介绍瑞萨的AI硬件和AI工具时,总会收到我关于机器学习算法的询问,例如:卷积神经网络、K均值算法其他什么算法。但事实是,构建
    的头像 发表于 04-08 09:44 673次阅读
    特征空间<b class='flag-5'>在</b><b class='flag-5'>端</b>侧的作用

    小米汽车智驾技术介绍

    后起之秀,小米宣布造车前被非常多的人质疑,但在“真香”定律下,小米创下了很多友商所不能及的成就。作为科技企业,小米也智能驾驶领域也不断研发及突破,并推送了自动驾驶系统。 小米
    的头像 发表于 03-31 18:17 4778次阅读
    小米汽车<b class='flag-5'>端</b>到<b class='flag-5'>端</b>智驾技术介绍

    【一文看懂】什么是侧算力?

    向您介绍全方面侧算力:1.侧算力的定义2.侧算力的技术框架3.侧算力的应用价值与场景4.侧算力与
    的头像 发表于 02-24 12:02 2955次阅读
    【一文看懂】什么是<b class='flag-5'>端</b>侧算力?

    ADS1253与时钟连接的时候电源和参考电压会产生40mV——160mV的杂波,怎么解决?

    ADS1253与时钟连接的时候电源和参考电压会产生40mV——160mV的杂波,时钟断开时杂波只有15mV以下。
    发表于 02-14 07:54

    XADC IP核介绍

    1. XADC介绍 xadc 所有的7系列器件上都有支持,通过将高质量模拟模块与可编程逻辑的灵活性相结合,可以为各种应用打造定制的模拟接口,XADC 包括双 12 位、每秒 1 兆样
    的头像 发表于 01-15 16:53 2109次阅读
    <b class='flag-5'>XADC</b> IP核介绍

    自动泊车的应用

    与城市环境的复杂性和高速公路驾驶的风险相比,停车场景的特点是低速、空间有限和高可控性。这些特点为在车辆中逐步部署自动驾驶能力提供了可行的途径。最重要的是自动泊车对时间不敏感,自动驾驶帧率至少
    的头像 发表于 12-18 11:38 1489次阅读
    <b class='flag-5'>端</b>到<b class='flag-5'>端</b><b class='flag-5'>在</b>自动泊车的应用

    广和通开启侧AI新时代

    AI发展正酣,随着终端芯片算力越来越高、侧模型能力越来越强、实时响应及隐私保护的侧应用需求增加,侧AI已然具备落地的条件。侧AI离客户和应用场景更近,也是具象化AI的重要方式。
    的头像 发表于 12-12 10:35 1284次阅读