国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

用LS1028A開發板輸出PWM方波

發布時間:2022-4-28 23:09    發布者:阿里嘎多
關鍵詞: 嵌入式 , 單片機 , 編程

最近,我收到了一個使用OK1028A-[color=inherit !important]C輸出pwm方波的需求.但是發現OK1028平臺沒有相關的說明,于是我著手寫下了這篇文章。

在查閱OK1028A-C原理圖和《QorIQ [color=inherit !important]LS1028A Reference Manual》后得知,[color=inherit !important]LS1028默認有8個FlexTimer (FTM) ,每個FTM有8路pwm。https://www.forlinx.com/product/126.html


默認背光采用的是FTM1產生的pwm,我們使用FTM7做pwm測試。

如下圖所示:



LS1028 RCWSR12寄存器的12-14為I2C4的管腳復用。

如下圖所示:



I2C4管腳可以復用為六種管腳功能。OK1028A-C將管腳設置為can2 的rx 和tx ,在原理圖《OK1028A-C_V1.1》中可以看到T6_CAN2_RX、U7_CAN2_TX。

我們可以通過修改rcw文件,將I2C4設置為pwm管腳。

OK1028A-C默認是支持pwm功能的,所以我們無需移植驅動,所做的工作只是修改pinmux和在設備樹中增加pwm的相應設備節點即可。修改packages/firmware

/rcw/ls1028ardb/RSQPP0x85bb/rcw1500gpu600.rcw中IIC4_PMUX的設置,將pin設置為pwm輸出。

將IIC4_PMUX=2修改為 IIC4_PMUX=4

如下圖所示:


完成上述設置后我們需要修改設備樹代碼,增加PWM配置。我們的修改的文件路徑如下:

packages/linux/linux/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi。

然后添加pwm7設備

Pwm7: pwm@2860000 {

                        compatible = "fsl,ls1028a-ftm-pwm";

                        reg = <0x0 0x2860000 0x0 0x10000>;

                        #pwm-cells = <3>;

                        clock-names = "ftm_sys";

                        clocks = <&ftm_sysclk>;

                };


如下圖所示:


▐  啟動OK1028A-C系統

root@forlinx:~#cat /sys/kernel/debug/pwm 查看我們當前的pwm設備

如下圖所示:

我們現在打開了一個pwm控制器,可以看到FTM1支持8個通道,而背光使用的是pwm-1通道。將我們修改后的設備樹文件和firmware編譯,燒寫到[color=inherit !important]飛凌LS1028A-C[color=inherit !important]開發板,啟動系統。

root@forlinx:~#cat /sys/kernel/debug/pwm 查看我們當前的pwm設備。

如下圖所示:


此時,雖然我們添加的pwm設備打開了,但和pwm0設備還是有差別的,新添加的pwm設備的每一路通道都沒有設置周期和占空比。

所以下一步我們不需要再增加驅動代碼,而是利用sys即可直接設置pwm參數。Pwmchip8是我們添加的pwm設備。


▐  使能使用的pwm通道

root@forlinx:~#echo 1 > /sys/class/pwm/pwmchip8/export 初始化 pwm通道1  

root@forlinx:~#echo 2 > /sys/class/pwm/pwmchip8/export 初始化 pwm通道2

root@forlinx:~#cat /sys/kernel/debug/pwm [color=inherit !important]命令查看我們當前的pwm設備:


如果想取消相應pwm通道的話,可以使用“echo 1 > /sys/class/pwm/pwmchip8/unexport”

“echo 2 > /sys/class/pwm/pwmchip8/unexport”命令。

因為我們每次只能使能一路pwm,所以先配置和打開pwm1。
root@forlinx:~#echo 1000000 > /sys/class/pwm/pwmchip8/pwm1/period 配置pwm1 period為1000000,單位為ns,即1kHZ。

root@forlinx:~#echo 500000 > /sys/class/pwm/pwmchip8/pwm1/duty_cycle 配置 duty_cycle 為500000,一個周期中on的時間即占空比,單位為ns,占空比50%

root@forlinx:~#echo 1 > /sys/class/pwm/pwmchip8/pwm1/enable 使能

root@forlinx:~#cat/sys/class/pwm/pwmchip8/pwm1/{enable,period,duty_cycle} 命令可以查看我們的pwm使能狀態,周期,和占空比。

如下圖所示:

▐  用示波器測試T6_CAN2_RX產生1khz的方波

由于每次只能使能一路pwm,所以我們要使能pwm2,就需要先關閉pwm1。

root@forlinx:~#echo 0 > /sys/class/pwm/pwmchip8/pwm1/enable

root@forlinx:~#echo 1000000 > /sys/class/pwm/pwmchip8/pwm2/period 配置period為1000000

root@forlinx:~#echo 500000 > /sys/class/pwm/pwmchip8/pwm2/duty_cycle 配置duty_cycle為500000。root@forlinx:~#echo 1 > /sys/class/pwm/pwmchip8/pwm2/enable 使能

root@forlinx:~#cat/sys/class/pwm/pwmchip8/pwm2/{enable,period,duty_cycle}



▐  用示波器測試U7_CAN2_TX產生1khz的方波

在我們使用OK1028A-C時,由于管腳復用,很多功能模塊的管腳沒有引出,但是模塊的驅動是支持的。這種情況下,我們只需要修改rcw相應的pinmux配置和設備樹文件就可以使用相應的功能了。

本文地址:http://m.qingdxww.cn/thread-788979-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷精品免费视频 | 91桃色国产线观看免费 | 男人天堂网站 | 欧美中文字幕一区二区三区 | 成年人在线观看网站 | 网站午夜 | 免费的黄网站 | 久久99青青久久99久久 | 国产欧美成人免费观看视频 | 日韩精品一区二区三区在线观看l | 国产精品国产三级国产a | 成年人黄色一级片 | 日韩在线一区二区三区免费视频 | 99久久精品免费看国产四区 | 四虎地址8848jia | 在线免费一级片 | 精品视频 九九九 | 操嫩| 日本韩国在线 | 免费爱豆传媒在线观看视频 | 国产精品久久九九 | 男女羞羞羞视频午夜视频 | 国产三级日产三级 | 亚洲天堂在线观看完整版 | 成人欧美一区二区三区黑人免费 | 日韩精品视频在线 | 91社区视频在线观看 | 全彩acg★无翼乌火影忍者 | 永久精品免费影院在线观看网站 | 欧美一级日韩在线观看 | 国内亚州视频在线观看 | 日韩欧美视频一区二区三区 | 欧美成人精品大片免费流量 | 亚洲社区在线观看 | 欧美日韩一区二区三在线 | 一二三四在线社区 | 大蕉久久伊人中文字幕 | 在线视频国产99 | 免费观看亚洲视频 | 国产欧美自拍视频 | 高颜值露脸极品在线播放 |