91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【產(chǎn)品應(yīng)用】AWorksLP 樣例詳解(MR6450)——PWM(單通道)

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-01-04 23:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AWorksLP 對外設(shè)進(jìn)行了高度抽象化,為同一類外設(shè)提供了相同的接口,應(yīng)用程序可以輕松跨平臺。本文以MR6450(點擊了解詳情)平臺為例,介紹AWorksLP PWM 外設(shè)基本用法。

6086d666-8c42-11ed-bfe3-dac502259ad0.jpg??簡介

脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。以下簡述幾個關(guān)鍵的概念:

60961ae0-8c42-11ed-bfe3-dac502259ad0.png

圖1

  • PWM周期:指信號從高電平到低電平再回到高電平的時間,如上圖T所示。
  • PWM頻率一秒內(nèi)PWM周期的次數(shù)。
  • 占空比:一個周期內(nèi)高電平持續(xù)時間所占的比例即(T1 / T)。
  • 脈寬時間:高電平時間。

6086d666-8c42-11ed-bfe3-dac502259ad0.jpg??接口介紹

函數(shù)列表:

函數(shù)原型 簡要描述
aw_err_t aw_pwm_enable (int fd); 使能PWM設(shè)備輸出
aw_err_t aw_pwm_disable (int fd); PWM設(shè)備輸出停止
aw_err_t aw_pwm_accurate_output (int fd, uint32_t period_num); 精確輸出 period_num 個周期PWM
aw_err_t aw_pwm_config_set (int fd, aw_const aw_pwm_config_t *p_config); 設(shè)置PWM設(shè)備參數(shù)配置
aw_err_t aw_pwm_config_get (int fd, aw_pwm_config_t *p_config); 獲取PWM設(shè)備的配置參數(shù)
aw_err_t aw_pwm_config_frac_set (int fd, aw_const aw_pwm_config_frac_t *p_config); 以更加精確的形式設(shè)置PWM設(shè)備的參數(shù)
aw_err_t aw_pwm_config_frac_get (int fd, aw_pwm_config_frac_t *p_config); 獲取PWM設(shè)備的分?jǐn)?shù)形式配置參數(shù)

下表為PWM接口相關(guān)結(jié)構(gòu)體類型。

結(jié)構(gòu)體類型表:

類型

簡要描述

aw_pwm_config_t

PWM配置參數(shù)結(jié)構(gòu)體

aw_pwm_config_frac_t

PWM配置參數(shù)結(jié)構(gòu)體(分?jǐn)?shù)形式),用分?jǐn)?shù)表示,更精確

PWM 配置信息說明:

1. aw_pwm_config_t

typedef struct { 
    uint32_t duty_ns;
    uint32_t period_ns;
    uint32_t is_inverse;
} aw_pwm_config_t;
PWM配置參數(shù)結(jié)構(gòu)體。

成員詳解:

  • duty_ns:pwm周期中高電平的有效時間 ns為單位。
  • period_ns:pwm周期ns為單位。
  • is_inverse:輸出波形是否反相,0表示不反相。

2. aw_pwm_config_frac

typedef struct aw_pwm_config_frac { 


    uint32_t duty_numerator;
    uint32_t duty_denominator; 
    uint32_t period_numerator;
    uint32_t period_denominator;
    uint32_t is_inverse;
} aw_pwm_config_frac_t;

PWM配置參數(shù)結(jié)構(gòu)體(分?jǐn)?shù)形式),用分?jǐn)?shù)表示,更精確。

成員詳解:
  • duty_numerator:PWM周期中高電平的有效時間分子部分。

  • duty_denominator:PWM周期中高電平的有效時間分母部分。

  • period_numerator:PWM周期分子部分。

  • period_denominator:PWM周期分母部分。

  • is_inverse:PWM輸出波形輸出是否反向,0:不反向,1:反向。

6086d666-8c42-11ed-bfe3-dac502259ad0.jpg??使用樣例

AWorksLP SDK相關(guān)使用請參考《AWorksLP SDK快速入門(MR6450)——開箱體驗》一文,本文不在贅述。

1. PWM單通道輸出功能{SDK}demosperipheralpwm路徑下為PWM例程,例程關(guān)鍵代碼如下:
/**
 * rief PWM演示例程入口
 * 
eturn 無
 */
aw_local void* __task_handle (void *arg)
{
    uint32_t    period1 = 2000000;      /* (ns) */
    uint32_t    period2 = 1000000;      /* (ns) */
    int         fd;
    int         ret;
    aw_pwm_config_t         pwm_config;


    aw_kprintf("
PWM demo testing...
");
    fd = aw_open(CONFIG_DEMO_PWM_DEVICE_NAME, AW_O_RDWR, 0);
    if(fd < 0){
        aw_kprintf("pwm open failed 
");
        aw_close(fd);
        return 0;
    }
    ret = aw_pwm_config_get(fd, &pwm_config);


    /* period 配置不可以為0
     * duty配置為0,這時可以配置成功:輸出一直為低
     * duty配置為peroid,占空比為100%,也可配置成功:輸出一直為高
     * PWM正在進(jìn)行輸出,不可配置 */
    pwm_config.duty_ns = period1 / 2;
    pwm_config.is_inverse = 0;
    pwm_config.period_ns = period1;
    aw_pwm_config_set(fd, &pwm_config);
    while(1) {


        /* 配置 PWM 的有效時間(高電平時間)50% ,周期 period1*/
        aw_pwm_config_set(fd, &pwm_config);
        aw_pwm_enable(fd);      /* 使能通道 */
        aw_mdelay(250);
        aw_pwm_disable(fd);     /* 禁能通道 */
        aw_mdelay(250);
        
        /* 輸出五個周期pwm波*/
        aw_pwm_accurate_output(fd, 5);


        /* 配置 PWM 的有效時間(高電平時間)2% ,周期 period1*/
        pwm_config.duty_ns =  period1 / 50;
        aw_pwm_config_set(fd, &pwm_config);
        aw_pwm_enable(fd);      /* 使能通道 */
        aw_mdelay(250);
        aw_pwm_disable(fd);     /* 禁能通道 */
        aw_mdelay(250);


        pwm_config.duty_ns = period2 / 2;
        pwm_config.period_ns = period2;
        /* 配置 PWM 的有效時間(高電平時間)50% ,周期 period2*/
        aw_pwm_config_set(fd, &pwm_config);
        aw_pwm_enable(fd);      /* 使能通道 */
        aw_mdelay(250);
        aw_pwm_disable(fd);     /* 禁能通道 */
        aw_mdelay(250);




        /* 配置 PWM 的有效時間(高電平時間)2% ,周期 period2*/
        pwm_config.duty_ns = period2 / 50;
        aw_pwm_config_set(fd, &pwm_config);
        aw_pwm_enable(fd);      /* 使能通道 */
        aw_mdelay(250);
        aw_pwm_disable(fd);     /* 禁能通道 */
        aw_mdelay(250);


        pwm_config.duty_ns = period1 / 2;
        pwm_config.period_ns = period1;
    }


    return 0;
}
例程默認(rèn)使用pwm3_chan4對應(yīng)開發(fā)板的位置如圖2所示:

60d23bec-8c42-11ed-bfe3-dac502259ad0.png

圖2pwm排針

上述代碼中使用aw_pwm_config_get接口獲取PWM當(dāng)前的配置信息,PWM周期中高電平的有效時間為1000000ns,PWM周期為2000000ns,也就是設(shè)置PWM的占空比為50%。使用aw_pwm_config_set接口設(shè)置PWM。使用aw_pwm_enable接口使能PWM,使用aw_pwm_disable接口關(guān)閉PWM,使用aw_pwm_accurate_output接口輸出任意個PWM波。

在while循環(huán)中每間隔一段時間通過設(shè)置PWM的參數(shù),從而輸出各種PWM的波形,下圖為例程中輸出的各種PWM波形。

60eead72-8c42-11ed-bfe3-dac502259ad0.png

圖3占空比50%,周期2ms

60fe2356-8c42-11ed-bfe3-dac502259ad0.png

圖4占空比2%,周期2ms

610c8892-8c42-11ed-bfe3-dac502259ad0.png

圖5占空比50%,周期1ms

6121e552-8c42-11ed-bfe3-dac502259ad0.png

圖6占空比2%,周期1ms

2.蜂鳴器輸出{SDK}demosperipheraluzzer路徑下為蜂鳴器例程,例程關(guān)鍵代碼如下:
/**
 * rief 建立蜂鳴器例程入口
 * 
eturn 無
 */
aw_local void* __task_handle (void *arg)
{
    int             fd;
    fd = aw_open("/dev/Buzzer", AW_O_RDWR, 0);
    if(fd < 0){
        aw_kprintf("Buzzer open failed 
");
        aw_close(fd);
        return 0;
    }


    while(1) {
        /* 強度調(diào)節(jié)設(shè)備驅(qū)動無源蜂鳴器 */
        aw_buzzer_loud_set(fd, 80); /* 設(shè)置蜂鳴器鳴叫強度 */
        aw_buzzer_beep(fd, 500);    /* 啟動蜂鳴器延時500ms */


        /* GPIO驅(qū)動直流蜂鳴器 */
        aw_buzzer_loud_set(fd, 50); /* 設(shè)置蜂鳴器鳴叫強度 */
        aw_buzzer_on(fd);         /* 啟動蜂鳴器 */
        aw_mdelay(500);         /* 延時500ms */
        aw_buzzer_off(fd);        /* 關(guān)閉蜂鳴器 */
        aw_mdelay(500);         /* 延時500ms */
    }
    aw_close(fd);
    return 0;
}

蜂鳴器在開發(fā)板上的位置如圖7所示。

6136b6e4-8c42-11ed-bfe3-dac502259ad0.png

圖7蜂鳴器位置

蜂鳴器引腳所對應(yīng)的PWM通道為pwm3_chan1,如下圖所示。

615e5b2c-8c42-11ed-bfe3-dac502259ad0.png

圖8蜂鳴器對應(yīng)引腳

61721518-8c42-11ed-bfe3-dac502259ad0.png

圖9PWM對應(yīng)引腳

6183dd8e-8c42-11ed-bfe3-dac502259ad0.png

圖10蜂鳴器對應(yīng)的PWM通道

上述代碼中在while循中環(huán)使用aw_buzzer_loud_set接口設(shè)置蜂鳴器的鳴叫程度為80,相當(dāng)于調(diào)節(jié)PWM的占空比。然后使用aw_buzzer_beep接口使蜂鳴器鳴叫一段時間后關(guān)閉。再設(shè)置蜂鳴器的鳴叫程度為50,使用aw_buzzer_on接口啟動蜂鳴器,相當(dāng)于使能PWM,延時一段時間后用aw_buzzer_off接口關(guān)閉蜂鳴器,相當(dāng)于關(guān)閉PWM,然后再延時一段時間。實驗現(xiàn)象為蜂鳴器先以較大的聲音鳴叫一段時間后以較小的聲音鳴叫一段時間后停止鳴叫,持續(xù)一段時間后再次循環(huán)。在PWM例程中,PWM作為設(shè)備資源被Buzzer引用,可在配置界面中查看所有可引用資源,也可以在界面中查看當(dāng)前平臺所有PWM資源,以便在軟件設(shè)計過程中查看修改。本文以PWM外設(shè)通用接口為例,演示了單通道的輸出以及接口特性,同時與蜂鳴器進(jìn)行設(shè)備綁定,后續(xù)將會更詳細(xì)的介紹多通道的輸出以及相關(guān)特性,請持續(xù)關(guān)注后續(xù)推文~


原文標(biāo)題:【產(chǎn)品應(yīng)用】AWorksLP 樣例詳解(MR6450)——PWM(單通道)

文章出處:【微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 致遠(yuǎn)電子
    +關(guān)注

    關(guān)注

    13

    文章

    423

    瀏覽量

    32626

原文標(biāo)題:【產(chǎn)品應(yīng)用】AWorksLP 樣例詳解(MR6450)——PWM(單通道)

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    onsemi NVTYS007N04CL單通道N溝道功率MOSFET詳解

    onsemi NVTYS007N04CL單通道N溝道功率MOSFET詳解 在電子設(shè)計領(lǐng)域,功率MOSFET是不可或缺的關(guān)鍵元件,它廣泛應(yīng)用于各種電源管理、電機驅(qū)動等電路中。今天我們要深入探討
    的頭像 發(fā)表于 04-07 10:55 ?37次閱讀

    ADE1201:單通道可配置隔離數(shù)字輸入監(jiān)測解決方案

    ADE1201:單通道可配置隔離數(shù)字輸入監(jiān)測解決方案 在能源傳輸和分配應(yīng)用中,對于可靠、高效的數(shù)字輸入監(jiān)測解決方案的需求日益增長。ADI公司的ADE1201便是這樣一款出色的產(chǎn)品,它為能源傳輸和分配
    的頭像 發(fā)表于 03-27 14:15 ?117次閱讀

    SGM2592 單通道電源分配開關(guān)設(shè)計詳解

    SGM2592 單通道電源分配開關(guān)設(shè)計詳解 在電子設(shè)計領(lǐng)域,電源分配開關(guān)是保障系統(tǒng)穩(wěn)定供電的關(guān)鍵元素。今天我們就來深入剖析 SGMICRO 公司的 SGM2592 單通道電源分配開關(guān),探究其特性
    的頭像 發(fā)表于 03-24 17:25 ?519次閱讀

    SGM2580 單通道功率分配開關(guān):特性、應(yīng)用及設(shè)計要點

    哪些獨特的特性以及在實際應(yīng)用中的表現(xiàn)。 文件下載: SGM2580.pdf 一、產(chǎn)品概述 SGM2580 是一款專為 USB 功率分配應(yīng)用設(shè)計的單通道功率分配開關(guān)。它的工作電壓范圍為 2.5V 至
    的頭像 發(fā)表于 03-24 15:25 ?132次閱讀

    SGM2590/SGM2590D 單通道電源分配開關(guān):設(shè)計與應(yīng)用解析

    的影響。今天我們要介紹的是圣邦微(SG Micro Corp)推出的 SGM2590 和 SGM2590D 單通道電源分配開關(guān),這兩款產(chǎn)品在多個領(lǐng)域有著廣泛的應(yīng)用前景。 文件下載
    的頭像 發(fā)表于 03-24 15:25 ?125次閱讀

    SGM15UB1E2:超低壓電容單通道ESD保護(hù)器件詳解

    SGM15UB1E2:超低壓電容單通道ESD保護(hù)器件詳解 在電子設(shè)備的設(shè)計中,靜電放電(ESD)是一個不容忽視的問題,它可能會對電路造成永久性損壞,影響設(shè)備的可靠性和穩(wěn)定性。SGMICRO推出
    的頭像 發(fā)表于 03-16 17:10 ?374次閱讀

    固件燒錄速度實測:JTAG比UART快6.8倍

    在批量生產(chǎn)場景中,固件燒錄效率直接影響產(chǎn)線節(jié)拍與交付能力。如何選擇最優(yōu)燒錄方式?本文以ZLG致遠(yuǎn)電子MR6450系列核心板為,通過實測數(shù)據(jù)為您解析。MR6450核心板MR6450是Z
    的頭像 發(fā)表于 01-27 11:34 ?393次閱讀
    固件燒錄速度實測:JTAG比UART快6.8倍

    詳解ADC3548與ADC3549:高性能單通道14位ADC的卓越之選

    詳解ADC3548與ADC3549:高性能單通道14位ADC的卓越之選 引言 在電子工程領(lǐng)域,模擬到數(shù)字轉(zhuǎn)換器(ADC)一直是至關(guān)重要的組件,它直接影響著系統(tǒng)對模擬信號的處理能力和精度。今天,我們要
    的頭像 發(fā)表于 01-26 10:15 ?514次閱讀

    汽車級單通道隔離柵極驅(qū)動器UCC23513-Q1技術(shù)詳解

    汽車級單通道隔離柵極驅(qū)動器UCC23513-Q1技術(shù)詳解 引言 在電子工程師的日常工作中,柵極驅(qū)動器的選擇對于電路性能和可靠性至關(guān)重要。德州儀器(TI)推出的UCC23513-Q1單通道隔離柵極
    的頭像 發(fā)表于 01-21 15:30 ?260次閱讀

    汽車級單通道光耦模擬器 ISOM811x-Q1:設(shè)計與應(yīng)用詳解

    汽車級單通道光耦模擬器 ISOM811x-Q1:設(shè)計與應(yīng)用詳解 在電子設(shè)計領(lǐng)域,隔離器件一直是保障系統(tǒng)安全與性能的關(guān)鍵組件。汽車電子、工業(yè)自動化等應(yīng)用場景對隔離器件的要求日益嚴(yán)苛,不僅需要具備
    的頭像 發(fā)表于 01-20 14:00 ?286次閱讀

    探索TS5A4597單通道8 - SPST模擬開關(guān):特性、應(yīng)用與電氣參數(shù)詳解

    探索TS5A4597單通道8-SPST模擬開關(guān):特性、應(yīng)用與電氣參數(shù)詳解 在電子設(shè)計領(lǐng)域,模擬開關(guān)是一種至關(guān)重要的元件,它能夠?qū)崿F(xiàn)信號的切換和路由,廣泛應(yīng)用于各種電子設(shè)備中。德州儀器(Texas
    的頭像 發(fā)表于 01-15 11:00 ?346次閱讀

    UCC2753x系列單通道高速柵極驅(qū)動器:特性、應(yīng)用與設(shè)計要點詳解

    UCC2753x系列單通道高速柵極驅(qū)動器:特性、應(yīng)用與設(shè)計要點詳解 引言 在電子電路設(shè)計中,柵極驅(qū)動器扮演著至關(guān)重要的角色,它能夠有效驅(qū)動MOSFET和IGBT等功率開關(guān),對于提高開關(guān)速度、降低
    的頭像 發(fā)表于 01-09 16:05 ?769次閱讀

    原廠 FZH13 高精度的單通道LED恒流驅(qū)動芯片

    的調(diào)光深度 。芯片 具有過溫保護(hù)功能,當(dāng)芯片結(jié)溫達(dá)到 135℃時,隨著芯片溫度繼續(xù)上升,芯片會線性降低輸出電流。 FZH13質(zhì)量可靠,性能優(yōu)秀,在各種 LED照明產(chǎn)品中非常簡單易用。功能特點? 單通道恒流
    發(fā)表于 11-14 09:20

    700–1000 MHz 高線性度、單通道上/下變頻混頻器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()700–1000 MHz 高線性度、單通道上/下變頻混頻器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有700–1000 MHz 高線性度、單通道上/下變頻混頻器的引腳圖、接線圖、封裝手冊
    發(fā)表于 05-21 18:30
    700–1000 MHz 高線性度、<b class='flag-5'>單通道</b>上/下變頻混頻器 skyworksinc

    1700–2100 MHz 高線性度、單通道上/下變頻混頻器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()1700–2100 MHz 高線性度、單通道上/下變頻混頻器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有1700–2100 MHz 高線性度、單通道上/下變頻混頻器的引腳圖、接線圖、封裝手冊
    發(fā)表于 05-20 18:32
    1700–2100 MHz 高線性度、<b class='flag-5'>單通道</b>上/下變頻混頻器 skyworksinc