查看: 3171|回复: 4

[分享] 测试NXP USB C Multiport Adapter评估板的单片机

[复制链接]
  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13124
    最后登录
    2019-1-27
    发表于 2016-4-15 16:33:55 | 显示全部楼层 |阅读模式
    来源:EEWORLD微信号


    NXP USB C Multiport Adapter集成了一颗LPC11U35的Cortex-M0单片机,MCU LPC11U35作为一个核心的微控制器,负责整个系统的控制,其主要功能包括以下几个部分:


     通过SPI接口实现对PD PDY的控制,主要实现了PD应用层的协议。
     通过PD PHY1实现与电脑的通讯,申请Display port视频数据和USB数据,获得电脑电源规格的信息,并做相应的处理;
     通过PD PHY2实现与电源适配器的通讯,作为与电脑和电源适配器进行电源规格交流的桥梁,并作相应的处理。
     检测VBUS和VBUS_CHARGE的电压,并作相应的处理。
     通过SPI通讯,控制PD PHY的IO输出来控制负载开关的开通和关闭。
     通过IO来控制模拟开关开通和切断SBU/AUX。
     实现USB Billboard功能及DFU(在线程序升级)功能。
    2016041510.jpg
    从原理图可以看到,板子上集成了一颗红色LED,使用LPC11U35的P0_13控制
    2016041511.jpg
    下面写一个简单的全程控制红色的LED闪烁
    打开Keil uVision5新建一个LPC11U35 test的工程
    2016041512..jpg
    单片机选择LPC11U35FHI33/501
    2016041513.jpg
    勾选CMSMS下边的CORE和Device下边的Startup
    2016041514.jpg
    生成的项目文件如下
    2016041515.png
    在Source Group1里添加3个文件
    LED.h
    1. <font size="3">#include "LPC11Uxx.h"                   // Device header

    2. /* LEDs: P1.13*/

    3. extern int32_t LED_Initialize (void) ;
    4. extern int32_t LED_On (void) ;
    5. extern int32_t LED_Off (void) ;
    6. extern int32_t LED_SetOut(uint32_t value) ;
    7. extern uint32_t LED_GetCount (void) ;</font>
    复制代码


    LED.c
    1. <font size="3">#include "LPC11Uxx.h"                   // Device header

    2. #define LED_BIT             (1UL << 13)

    3. /* LEDs: P1.13*/

    4. int32_t LED_Initialize (void) {

    5.   LPC_SYSCON->SYSAHBCLKCTRL |= ((1UL <<  6) |     /* enable clock for GPIO        */
    6.                                 (1UL << 16) );    /* enable clock for IOCON       */

    7.   LPC_IOCON->TDO_PIO0_13 =  ((1UL << 0) |         /* select GPIO function         */
    8.                             (1UL << 7)  );        /* keep reserved values         */

    9.   LPC_GPIO->DIR[0] |=  LED_BIT;                   /* configure PINs as Output     */
    10.   LPC_GPIO->SET[0] |=  LED_BIT;                   /* switch LEDs off              */

    11.   return 0;
    12. }
    13. int32_t LED_On (void) {

    14.     LPC_GPIO->CLR[0] = LED_BIT;        /* LED On                   */
    15.         return 0;
    16. }
    17. int32_t LED_Off (void) {

    18.     LPC_GPIO->SET[0] = LED_BIT;        /* LED Off                  */
    19.         return 0;
    20. }
    21. int32_t LED_SetOut(uint32_t value) {
    22.     if (value) {
    23.       LED_On ();
    24.     } else {
    25.       LED_Off();
    26.     }
    27.   return 0;
    28. }
    29. uint32_t LED_GetCount (void) {
    30.   return LED_BIT;
    31. }</font>
    复制代码




    main.c
    1. <font size="3">#include "LPC11Uxx.h"                   // Device header
    2. #include "LED.h"                        //

    3. uint8_t dir = 0;

    4. void delay(int32_t delay)
    5. {
    6.     uint32_t i;
    7.     while(delay--)
    8.         for(i=0;i<65500;i++);   
    9. }
    10. /*----------------------------------------------------------------------------
    11.   Main function
    12. *----------------------------------------------------------------------------*/
    13. int main (void) {

    14.   SystemCoreClockUpdate();

    15.   LED_Initialize();                         /* LED Initialization             */

    16.   while (1) {
    17.         LED_SetOut(dir);
    18.         dir = !dir;
    19.         delay(10);
    20.   }
    21. }</font>
    复制代码


    PIO0_13的配置和其它I/O口有所不同,LPC_IOCON->TDO_PIO0_13的0~2应该设置成0x01
    LPC_IOCON->TDO_PIO0_13 =  ((1UL << 0) |         /* select GPIO function         */
                                      (1UL << 7)  );        /* keep reserved values         */


    编译成功后下载程序到评估板就可以看到LED闪烁的速度比原来快了

    Jlink连接到评估板
    2016041516.jpg

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16699
    最后登录
    1970-1-1
    发表于 2016-4-15 18:22:28 | 显示全部楼层
    勤劳的七姐,赞!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    23

    帖子

    0

    注册会员

    Rank: 2

    积分
    64
    最后登录
    1970-1-1
    发表于 2016-4-16 19:10:44 | 显示全部楼层
    想搞个来玩玩
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-4-26 22:12
  • 签到天数: 586 天

    连续签到: 1 天

    [LV.9]以坛为家II

    1

    主题

    1620

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    3240
    最后登录
    2020-4-26
    发表于 2016-4-16 22:54:11 | 显示全部楼层
    想试试
    2020加油
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    103

    主题

    868

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4336
    最后登录
    2025-6-13
    发表于 2016-4-18 18:57:50 | 显示全部楼层
    哇,这不是USB Type C的板子么
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 04:39 , Processed in 0.093106 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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