omapl138 PWM输出问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 20417|回复: 5
打印 上一主题 下一主题

[未解决] omapl138 PWM输出问题

[复制链接]

2

主题

8

帖子

113

积分

注册会员

Rank: 2

积分
113
跳转到指定楼层
楼主
发表于 2017-9-14 18:02:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手求助~~
9 o9 `* x+ y, ~3 ~; B) B# _. a! a( l( O8 `$ f1 Z
项目中需要用到4路pwm输出,! C# P( R+ v$ X8 C  [0 y
内核自带只有一个apwm2输出(lcd背光),( I9 w5 o7 V" ^8 Q' j" r& j1 j
内核menuconfig 配置中 去掉 SPI模块 ,在sys/class/PWM下面多了一个ehrpwm输出  |, \( [0 a! r/ B

5 Z6 i$ I1 S: U- D  _1 k2 F去掉占用apwm0的网口PHY驱动& G1 I4 Z2 A' x' _2 m

, x+ e  M  z+ u$ O5 Y4 p4 ]4 e结果还是一样,不知配置项对不对?  ?9 P1 X) ^4 N6 ^
然后再看下apwm1只接了一个led灯 d7,
; Z, g. l& P- B; \按说也该还有个 ecap.1 才对。3 R' P$ f+ L- k: L

. J; G6 c6 V' o8 d0 N( Z; s搞一天了,请大家帮忙看下,是内核配置里有哪些模块和PWM输出有冲突? 谢谢, w3 B4 s9 q" T; }3 \% }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

31

帖子

1402

积分

创龙

Rank: 8Rank: 8

积分
1402
沙发
发表于 2017-9-15 14:07:02 | 只看该作者
1. 在menuconfig中 Device Drivers->PWM Support中选中Davincie HRPWM Support.2. 参照arch/arm/mach-davinci/board-da850-evm.c里面的PWM配置,新增您需要的PWM配置。
: \& M/ \  N% f参考:$ f- v$ p* F+ {; \
http://note.youdao.com/noteshare ... F458DA6058A8D9873B0
! P3 f+ |2 {! d4 E& t; d- X
- }' E2 V& D2 b/ s; {) L5 g1 R$ P# V
% e3 {" a  f0 E
* C* k# w5 `+ Z, B  z9 V
回复 支持 反对

使用道具 举报

2

主题

8

帖子

113

积分

注册会员

Rank: 2

积分
113
板凳
 楼主| 发表于 2017-9-15 17:02:33 | 只看该作者
感谢感谢,刚摸索出来才看到回复
% d# g+ P: \0 M3 B在board-da850-evm.c 注册了ecap1,频率 占空比 个参数也都能设置,就是IO输出没反应,还要修改哪里?
7 O% s" B+ e9 E2 T+ Y

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

确认一下ecap.1的管脚pinmux是否配置正确  详情 回复 发表于 2017-9-19 14:53
回复 支持 反对

使用道具 举报

0

主题

31

帖子

1402

积分

创龙

Rank: 8Rank: 8

积分
1402
地板
发表于 2017-9-19 14:53:29 | 只看该作者
baicaibang7456 发表于 2017-9-15 17:02
# L& d  \3 o2 [) Q/ I0 D6 |$ q  K感谢感谢,刚摸索出来才看到回复! l, [/ k. A* s+ i. F
在board-da850-evm.c 注册了ecap1,频率 占空比 个参数也都能设置,就 ...
0 S' N& `8 X# g8 ]! ^3 \0 J* }
确认一下ecap.1的管脚pinmux是否配置正确
回复 支持 反对

使用道具 举报

2

主题

8

帖子

113

积分

注册会员

Rank: 2

积分
113
5#
 楼主| 发表于 2017-9-20 00:15:23 | 只看该作者
本帖最后由 baicaibang7456 于 2017-9-20 00:20 编辑
8 Y- _3 l9 y4 U0 Z7 P! @
+ ^9 S' t/ U; T1 r/ m' m看了下源码,我的理解是pinmux应该本身已经在Da850.c的da850_pins[]里声明了(linux-3.3内核),只要使用davinci_cfg_reg(DA850_ECAP1_APWM1)注册一下应该就行了,下图是Mux.h 和 Da850.c里关于DA850_ECAP1_APWM1的对应关系。是不是我理解有问题?% V1 I  c: [! M# o
C:\Users\Administrator\Desktop\Da850.c
& [  `6 t( e8 l8 p: E* ^" RC:\Users\Administrator\Desktop\Mux.h

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

2

主题

8

帖子

113

积分

注册会员

Rank: 2

积分
113
6#
 楼主| 发表于 2017-10-10 15:17:43 | 只看该作者
问题解决了,现在7路PWM都可输出。
$ d: O$ ~% `% w6 Y1 _2 P/ V
0 ^6 I) @" n+ p) M! |/ Becap.1没输出是因为:9 k' L/ n7 H8 ]  g9 ^
注册过DA850_ECAP1_APWM1后,后面又注册了LED,       da850_evm_tl_leds_init(); 然而LED的D7是和APWM1共用管脚的。+ s0 `6 s* T) A, V) ]" j6 ?1 K7 Z8 i
) M4 o% V! ^# x( z
ehrpwm0没输出是因为:/ Z# D7 h' Q- k5 l! G: R+ G! b. V
0 v6 Z7 K6 ~. D5 r# O
此处的rmii_en在结构体里没有声明,导致一直是初始值0。
! }8 T6 g$ S$ H% c4 z" P  l: r这样改后就有输出了
- R: m' T2 Y* p
  r7 i8 `: F( W$ l

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-9-16 15:09 , Processed in 0.041366 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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