查看: 4909|回复: 5

[MQX] 基于K64+MQX的AD采样1——AD7878的运用

[复制链接]
  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
    发表于 2016-6-8 11:27:47 | 显示全部楼层 |阅读模式
    本帖最后由 very333 于 2016-6-8 11:27 编辑

    基于K64+MQX的AD采样1——AD7878的运用
    1.    前面的话      一直蛰伏在论坛里面,做着自己关于K64+MQX的开发,断断续续也做了关于
    基于K64+MQX的AD采样一年多了。一直想发帖,对自己收获进行一个总结,也感谢论坛上帖子对自己的启发,总是项目刚完成就又来一个新的,文档写了几次都被打断。偶尔有时间又奉献在疯狂DOTA中。端午节前,终于写完了自己关于7878的总结。调试过AD7878,AD7606,目前正在调试AD7616。这是第一篇
    基于K64+MQX的AD采样1——AD7878的运用。水平有限,欢迎交流。

    2.   版本信息
    版本问题:MQX 4.0.2  IAR 7.5
    3.   整体思路 原理图.png
    AD7878通过SPI与K64相连接。
    最开始从论坛关于YL-KL26Z开发笔记+视频讲解】KL26多种SPI工作模式分享 链接如下https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=599942&highlight=SPI了解基本SPI通信架构。这篇笔记对于SPI的整体思路还是很清楚地。通过这篇笔记确定了我的主要工作:1.MQX对于SPI初始化的设置。2.MQX对于AD7878读写函数的封装。3.AD7878的启动。接下来一点一点阐述。
    3.    MQX对于SPI的初始化设置3.1 init-gpio.c管脚设置
    _mqx_int _bsp_dspi_io_init中将用到的SPI口SPI1、SPI2相关引脚SCK 、MOSI、 MISO设为SPI功能。在这里由于AD7878对于片选CS的操作比较复杂,将CS设置为GPIO功能。
                /*Configure GPIOB for DSPI1 peripheral function     */
                pctl= (PORT_MemMapPtr)PORTB_BASE_PTR;
               pctl->PCR[16] = PORT_PCR_MUX(2);    /* DSPI1.SOUT   */
               pctl->PCR[11] = PORT_PCR_MUX(2);    /* DSPI1.SCK    */
               pctl->PCR[17] = PORT_PCR_MUX(2);    /* DSPI1.SIN    */
               //pctl->PCR[10] = PORT_PCR_MUX(2);    /* DSPI1.PCS0   */
    3.2.        接下来根据SPI的官方例程,进行SPI初始化设置
    进行读写SPI操作进行测试,可以查看SPI2的寄存器查看相关寄存器是否被正确设置。图2在MAPS板上调试SCK,CS信号,进行验证,调试OK。
    MAPS板调试SCK.png

    4.    MQX对于读写函数的封装
    在这里感谢论坛FRDM-K64+ENC28J60实现双以太网方案相关代码https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=602377&highlight=双以太网
    AD7878 SPI写函数.png
    根据AD7878的SPI读写,进行我的SPI读写功能封装。最高位为0,然后是地址位,接着是数据。
    void SPIWrite2Bytes(unsignedint address , int sendtemp)
    {
    _mqx_int result;
           //char i;
           unsigned char szTxData[7];
    lwgpio_set_pin_output(SPI_SS2,LWGPIO_VALUE_LOW);
           szTxData[0] = 0x00;     
           szTxData[1] = (char)(address>>8);
           szTxData[2] = (char)(address);
           szTxData[3] = (char)(sendtemp>>8);
           szTxData[4] = (char)(sendtemp);
            result =fwrite (szTxData, 1, 5,spi_fd2);
           fflush (spi_fd2);
           lwgpio_set_pin_output(SPI_SS2,LWGPIO_VALUE_HIGH);
    }
    写函数测试.png
    测试OK.
    5.    AD7878的启动
    这部分代码就不再贴了,参考ADE7878启动参考代码,见附件。完成上面的调试,这边也就水到渠成了,调试成功波形。
    AD7878 MOSI与MISO波形.png
    5.    主任务流程
    用于AD7878的spi驱动;主程序分为:
    *1.SPI口初始化
    *2.AD复位
    *3.AD初始化
    *4.AD SPI设置
    *5.AD 寄存器初始值设置
    *6.启动AD7878中的DSP
    *7.读取电压电流有效值






    我知道答案 目前已有5人回答

    ExampleCode_MTR_ADE7878.zip

    132.57 KB, 下载次数: 23, 下载积分: 威望 1

    AD实例代码

    基于ADE7878的三相电能表使用手册.pdf

    116.79 KB, 下载次数: 12, 下载积分: 威望 1

    ADE7878方案资料.pdf

    464.21 KB, 下载次数: 11, 下载积分: 威望 1

    ADE77878A手册.pdf

    1.61 MB, 下载次数: 10, 下载积分: 威望 1

    评分

    参与人数 1NXP金币 +50 收起 理由
    肖久 + 50 淡定

    查看全部评分

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
    发表于 2016-6-8 11:58:32 | 显示全部楼层
    谢谢分享~学习一下~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    54

    帖子

    0

    注册会员

    Rank: 2

    积分
    123
    最后登录
    2018-5-8
    发表于 2016-6-8 13:00:59 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-6-8 13:01:20 | 显示全部楼层
    感谢分享 写的很赞
    签到 签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-6-13 09:13:43 | 显示全部楼层
    共享心得,学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-9-6 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    57

    帖子

    0

    注册会员

    Rank: 2

    积分
    128
    最后登录
    2021-10-9
    发表于 2016-8-26 09:33:25 | 显示全部楼层
    mak一下,写得不错!
    郁闷的一个上午
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-10 21:02 , Processed in 0.103443 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表