Loading...
首页专栏正文

M14接口电动变焦镜头控制

ezreal_cs 发布于 2020-06-16 15:41:55 浏览 939 点赞 0 收藏 0

MOTOR控制

1. 接线方式

使用Hi3516A的PWM0~PWM7这8个引脚,通过L8548MC转换输出。

接线图

1 22 33 4
A+ + + - -
A- - - + +
B+ - + + -
B- + - - +
ZOOM FOCUS 1 22 33 4
GPIO0_3 GPIO10_5 1 1 0 0
GPIO0_4 GPIO0_2 0 0 1 1
GPIO14_0 GPIO14_3 0 1 1 0
GPIO14_1 GPIO14_2 1 0 0 1

2. GPIO模式控制

查阅《Hi3516A/Hi3516D 专业型HD IP Camera Soc用户指南.pdf》

2.1. 管脚复用控制寄存器设置

2.3 管脚复用控制寄存器
2.3.1 复用寄存器概览
复用寄存器概览如表 2-37 所示。
表2-37 复用寄存器概览(复用寄存器基地址为 0x200F_0000)

找到PWM0~PWM7管脚复用控制寄存器的偏移地址以及具体复用情况

复用寄存器.JPG

使用himm设置寄存器。

#set GPIO14_0 ~ GPIO14_3 ; default PWM0 ~ 3 0x0
himm 0x200f014c 0x1
himm 0x200f0150 0x1
himm 0x200f0154 0x1
himm 0x200f0158 0x1
#set GPIO10_5 ; default GPIO10_5
himm 0x200f00a4 0x0 
#set GPIO0_2 ~ GPIO0_4 ; default GPIO0_2 ~GPIO0_4
himm 0x200f00dc 0x0
himm 0x200f00e0 0x0
himm 0x200f00e4 0x0

2.2. 配置GPIO输出

13.6.4 GPIO 寄存器概览
16 组 GPIO 寄存器的基地址如表 13-20 所示。
表13-20 16 组 GPIO 寄存器对应的基地址

寄存器 基地址
GPIO15 0x20660000
GPIO14 0x20220000
GPIO13 0x20210000
GPIO12 0x20200000
GPIO11 0x201f0000
GPIO10 0x201e0000
GPIO9 0x201d0000
GPIO8 0x201c0000
GPIO7 0x201b0000
GPIO6 0x201a0000
GPIO5 0x20190000
GPIO4 0x20180000
GPIO3 0x20170000
GPIO2 0x20160000
GPIO1 0x20150000
GPIO0 0x20140000

表 13-21 是单组 GPIO 内部寄存器的偏移地址以及定义,GPIO0~GPIO15 具有相同的
寄存器组 。

表13-21.JPG

设置GPIO方向控制寄存器

GPIO_DIR.JPG

#set GPIO14_0 ~ GPIO14_3 output
himm 0x20220400 0xf
#set GPIO10_5 output
himm 0x201e0400 0x10
#set GPIO0_2 ~ GPIO0_4 output
himm 0x20140400 0x1c

2.3. 输出电平

GPIO_DATA 为 GPIO 数据寄存器。用来对输入或输出数据进行缓存。
当配置 GPIO_DIR 中对应位为输出时,写入 GPIO_DATA 寄存器的值将会输出到相应
的管脚(注意需要配置正确的管脚复用);如果配置为输入时,将会读取相应输入管脚
的值。

GPIO_DATA.JPG

结合之前的电机接线,使用himm配置出各个状态,并使用万用表测量检验。

#set ZOOM1
himm 0x20140060 0x8
himm 0x2022000c 0x2 
#set ZOOM22
himm 0x2022000c 0x1
#set ZOOM33
himm 0x20140060 0x10
#set ZOOM4
himm 0x2022000c 0x2
#set ZOOM1
himm 0x20140060 0x8
#set FOCUS1
himm 0x200f00a4 0x0
himm 0x20140010 0x0
himm 0x20220030 0x4
#set FOCUS22
himm 0x20220030 0x8
#set FOCUS33
himm 0x200f00a4 0x2
himm 0x20140010 0x4
#set FOCUS4
himm 0x20220030 0x4
#set FOCUS1
himm 0x200f00a4 0x0
himm 0x20140010 0x0

3. 结语

实际使用中,可以在rcS中,使用himm配置GPIO的复用和输出,进行初始化;在程序中使用HI_MPI_SYS_SetReg来控制步进电机。

本文中配置实际可用;但存在一个错误的配置导致出现了问题,并使用了其他方法解决,欢迎各位大佬指出。

*本文仅代表作者观点,不代表易百纳技术社区立场。系作者授权易百纳技术社区发表,未经许可不得转载。

精彩评论

内容存在敏感词
打赏
打赏作者
ezreal_cs
您的支持将鼓励我继续创作!
金额:
¥1 ¥5 ¥10 ¥50 ¥100
支付方式:
微信支付
支付宝支付
微信支付
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区