查看: 1986|回复: 3

[原创] LPC804与LPC55XX中的可编程逻辑单元PLU介绍及实例分析

[复制链接]

该用户从未签到

7

主题

15

帖子

0

注册会员

Rank: 2

积分
189
最后登录
2022-3-9
发表于 2021-6-30 15:28:34 | 显示全部楼层 |阅读模式
本帖最后由 rongxiangjun 于 2021-6-30 16:23 编辑

       在进行MCU开发时,有时需要用到一些简单的数字逻辑电路,LPC804与LPC55XX系列集成了PLU(Programmable Logic Unit),即可编程逻辑单元,可创建小型组合与时序逻辑电路,降低成本。有些客户在使用PLU时,对PLU的概念以及使用方法有些许疑问,本文对此进行讲解。
1.    PLU简介
       LPC804与LPC55XX的PLU在使用上是完全相同的。包含了6个输入、8个输出、26个5输入查找表(LUT)、4个触发器(state Flip-Flops),其中26个PLU是相互连接的,输出与查找表、触发器之间采用多路复用,如下:

1

1

       数字逻辑电路分为组合逻辑电路与时序逻辑电路,只有时序逻辑电路需要使用触发器。当使用触发器时,需要外部向PLU_CLKIN提供时钟输入,即使用组合逻辑电路无需外部提供时钟,使用时序逻辑电路时需要外部时钟。如下:

2

2

2.    PLU配置
        测试最简单的组合逻辑电路与时序逻辑电路,如下:

3

3

        根据LPC55S69-EVK引出的引脚,如下:

4

4

       配置引脚,如下:

5

5

       配置时钟,PLU的CLKIN时钟设置为10K输入,如下:

6

6

7

7

       配置PLU外设,如下:

8

8

        配置PWM外设,设置PWM为50%占空比,10K频率,如下:

9

9

3.    PLU Configuration tool 配置
NXP开发了PLU Configuration tool,此工具可以根据数字逻辑电路生成对应代码,去配置PLU及其真值表,下载链接可以在PLU外设配置界面复制,链接如下:
3.1 原理图配置
打开PLU配置工具,选择原理图设计,做一个简单的或运算与D触发器实验,如下:

10

10
       点击菜单栏File->Export->PLU source file将其导出为C文件,将C文件的内容复制到main函数中,如下:
    /* LUT0 (or01) */
    PLU->LUT[0].INP_MUX[0] = 0x00000003; /* IN3 (IN3) */
    PLU->LUT[0].INP_MUX[1] = 0x00000004; /* IN4 (IN4) */
    PLU->LUT[0].INP_MUX[2] = 0x0000003F; /* default */
    PLU->LUT[0].INP_MUX[3] = 0x0000003F; /* default */
    PLU->LUT[0].INP_MUX[4] = 0x0000003F; /* default */
    PLU->LUT_TRUTH[0] = 0xeeeeeeee; /* or01 (or01) STD 2 INPUT OR */
    PLU->OUTPUT_MUX[5] = 0x0000001a; /* FF0 (FF01) -> OUT5 */
    逻辑分析仪检测结果如下:

11

11

3.2  Verilog配置
打开PLU配置工具,选择导入verilog文件,将写好的.v文件导入,做一个简单的与运算实验,如下:

12

12

       注意只有在verilog文件中声明posedge clock才会使用到触发器,而且不能使用negedge sys_rst_n用来复位。always语句中的posedge clock将由CLKIN引脚的时钟输入代替,所以clock引脚是不起作用的。将生成的代码复制到main函数中,用逻辑分析仪测试的结果如下:

13

13

参考官方AN,如下:
plu示例代码: LPC55S69_Project_plu.zip (660.27 KB, 下载次数: 28)
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2021-7-2 14:06:17 | 显示全部楼层
    这个东西这么高级呢啊~~
    我还计划花个半小时搞定它呢
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-5-20 10:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    18

    帖子

    0

    注册会员

    Rank: 2

    积分
    130
    最后登录
    2021-9-4
    发表于 2021-7-5 10:23:26 | 显示全部楼层
    jobszheng5 发表于 2021-7-2 14:06
    这个东西这么高级呢啊~~
    我还计划花个半小时搞定它呢

    其实比较简单,配三个引脚、时钟、外设,然后用工具生成代码复制过去就好
    干活啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-12-14 09:15
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    5

    主题

    92

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    216
    最后登录
    2022-12-14
    发表于 2022-11-17 14:34:48 | 显示全部楼层
    斯.....斯过1
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-25 16:19 , Processed in 0.120869 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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