国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【產品應用】AWorksLP 樣例詳解(MR6450)——PWM(單通道)

ZLG致遠電子 ? 2023-01-13 09:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

e1a3306e-918d-11ed-ad0d-dac502259ad0.jpg ?簡介

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

e1addf0a-918d-11ed-ad0d-dac502259ad0.png

圖1

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


e1a3306e-918d-11ed-ad0d-dac502259ad0.jpg ?接口介紹

函數列表:

函數原型

簡要描述

aw_err_t aw_pwm_enable (int fd);

使能PWM設備輸出

aw_err_t aw_pwm_disable (int fd);

PWM設備輸出停止

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);

設置PWM設備參數配置

aw_err_t aw_pwm_config_get (int fd, aw_pwm_config_t *p_config);

獲取PWM設備的配置參數

aw_err_t aw_pwm_config_frac_set (int fd, aw_const aw_pwm_config_frac_t *p_config);

以更加精確的形式設置PWM設備的參數

aw_err_t aw_pwm_config_frac_get (int fd, aw_pwm_config_frac_t *p_config);

獲取PWM設備的分數形式配置參數

下表為PWM接口相關結構體類型。

結構體類型表:

類型

簡要描述

aw_pwm_config_t

PWM配置參數結構體

aw_pwm_config_frac_t

PWM配置參數結構體(分數形式),用分數表示,更精確

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配置參數結構體。

成員詳解:

  • 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配置參數結構體(分數形式),用分數表示,更精確。

成員詳解:

duty_numerator:PWM周期中高電平的有效時間分子部分。

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

period_numerator:PWM周期分子部分。

period_denominator:PWM周期分母部分。

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


e1a3306e-918d-11ed-ad0d-dac502259ad0.jpg ?使用樣例

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

1. PWM單通道輸出功能{SDK}\demos\peripheral\pwm路徑下為PWM例程,例程關鍵代碼如下:

/** * \brief PWM演示例程入口 * \return 無 */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("\nPWM demo testing...\n"); fd = aw_open(CONFIG_DEMO_PWM_DEVICE_NAME, AW_O_RDWR, 0); if(fd < 0){ aw_kprintf("pwm open failed \r\n"); aw_close(fd); return 0; } ret = aw_pwm_config_get(fd, &pwm_config);
/* period 配置不可以為0 * duty配置為0,這時可以配置成功:輸出一直為低 * duty配置為peroid,占空比為100%,也可配置成功:輸出一直為高 * PWM正在進行輸出,不可配置 */ 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;}

例程默認使用pwm3_chan4對應開發板的位置如圖2所示:

e1d4052c-918d-11ed-ad0d-dac502259ad0.png

圖2pwm排針

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

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

e1e4774a-918d-11ed-ad0d-dac502259ad0.png

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

e201504a-918d-11ed-ad0d-dac502259ad0.png

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

e2203c6c-918d-11ed-ad0d-dac502259ad0.png

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

e237f122-918d-11ed-ad0d-dac502259ad0.png

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

2.蜂鳴器輸出{SDK}\demos\peripheral\buzzer路徑下為蜂鳴器例程,例程關鍵代碼如下:

/** * \brief 建立蜂鳴器例程入口 * \return 無 */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 \r\n"); aw_close(fd); return 0; }
while(1) { /* 強度調節設備驅動無源蜂鳴器 */ aw_buzzer_loud_set(fd, 80); /* 設置蜂鳴器鳴叫強度 */ aw_buzzer_beep(fd, 500); /* 啟動蜂鳴器延時500ms */
/* GPIO驅動直流蜂鳴器 */ aw_buzzer_loud_set(fd, 50); /* 設置蜂鳴器鳴叫強度 */ aw_buzzer_on(fd); /* 啟動蜂鳴器 */ aw_mdelay(500); /* 延時500ms */ aw_buzzer_off(fd); /* 關閉蜂鳴器 */ aw_mdelay(500); /* 延時500ms */ } aw_close(fd); return 0;}

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

e246bd9c-918d-11ed-ad0d-dac502259ad0.png

圖7蜂鳴器位置

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

e26f7f70-918d-11ed-ad0d-dac502259ad0.png

圖8蜂鳴器對應引腳

e27ac060-918d-11ed-ad0d-dac502259ad0.png

圖9PWM對應引腳

e289286c-918d-11ed-ad0d-dac502259ad0.png

圖10蜂鳴器對應的PWM通道

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    9521

    瀏覽量

    157048
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5872

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    探索TLK3131單通道多速率收發器:特性、應用與設計要點

    產品,下面我們就來詳細了解一下它的特性、應用以及設計要點。 文件下載: TLK3131ZWQ.pdf 一、TLK3131概述 TLK3131是一款靈活的單通道可配置串行收發器,能夠提供高達7.5Gbps的原始數據傳輸能力,適用于背板和前面板連接等多種應用場景。它可以配置
    的頭像 發表于 02-27 15:55 ?131次閱讀

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

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

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

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

    汽車級單通道隔離柵極驅動器UCC23513-Q1技術詳解

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

    汽車級單通道光耦模擬器 ISOM811x-Q1:設計與應用詳解

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

    探索TS5A4597單通道8 - SPST模擬開關:特性、應用與電氣參數詳解

    探索TS5A4597單通道8-SPST模擬開關:特性、應用與電氣參數詳解 在電子設計領域,模擬開關是一種至關重要的元件,它能夠實現信號的切換和路由,廣泛應用于各種電子設備中。德州儀器(Texas
    的頭像 發表于 01-15 11:00 ?266次閱讀

    UCC2753x系列單通道高速柵極驅動器:特性、應用與設計要點詳解

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

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

    的調光深度 。芯片 具有過溫保護功能,當芯片結溫達到 135℃時,隨著芯片溫度繼續上升,芯片會線性降低輸出電流。 FZH13質量可靠,性能優秀,在各種 LED照明產品中非常簡單易用。功能特點? 單通道恒流
    發表于 11-14 09:20

    SSP2617單通道H橋驅動芯片

    在物聯網與智能硬件飛速發展的今天,高效、可靠的電機驅動技術成為機器人、智能玩具及消費電子產品的核心需求。上海矽朋微電子推出的?SSP2617單通道H橋驅動芯片?,以其卓越的功率處理能力、靈活的PWM
    的頭像 發表于 08-04 17:32 ?980次閱讀
    SSP2617<b class='flag-5'>單通道</b>H橋驅動芯片

    AD74115單通道軟件可配置的輸入和輸出技術手冊

    AD74115是一款單通道、軟件可配置輸入和輸出器件,適用于工業控制應用。AD74115提供各種單芯片集成用。這些用包括模擬輸出、模擬輸入、數字輸出、數字輸入、電阻溫度檢測器(RTD)和熱電偶
    的頭像 發表于 06-01 16:12 ?1044次閱讀
    AD74115<b class='flag-5'>單通道</b>軟件可配置的輸入和輸出技術手冊

    無雜散、50 MHz 至 2.1 GHz 單通道小數 N 分頻頻率合成器 skyworksinc

    電子發燒友網為你提供()無雜散、50 MHz 至 2.1 GHz 單通道小數 N 分頻頻率合成器相關產品參數、數據手冊,更有無雜散、50 MHz 至 2.1 GHz 單通道小數 N 分頻頻率合成器
    發表于 05-23 18:30
    無雜散、50 MHz 至 2.1 GHz <b class='flag-5'>單通道</b>小數 N 分頻頻率合成器 skyworksinc

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

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

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

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

    湖南銀河電氣有限公司產品應用案例

    湖南銀河電氣有限公司產品應用案例
    發表于 04-23 11:21 ?0次下載

    PC1702單通道H橋柵極驅動器中文手冊

    產品簡述:?PC1702 是一款小型單通道 H?橋柵極驅動器。它使用四個外部?N?通道?MOSFET,驅動一個雙向刷式直流電機。PH/EN、獨立半橋或?PWM 允許輕松連接到控制器電路
    發表于 03-14 17:57 ?0次下載