[发明专利]一种针对S3C2440的SPI控制器驱动实现方法在审
申请号: | 201711374040.2 | 申请日: | 2017-12-19 |
公开(公告)号: | CN107992297A | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 王鹏 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 济南诚智商标专利事务所有限公司37105 | 代理人: | 李修杰 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 s3c2440 spi 控制器 驱动 实现 方法 | ||
1.一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,包括以下步骤:
S101、SPI主机控制器初始化;
S102、封装setup函数;
S103、封装transfer函数。
2.根据权利要求1所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述SPI控制器驱动用spi_master结构体来描述,所述spi_master结构体成员包括主机控制器的序号、片选数量、SPI模式、时钟设置函数以及数据传输函数。
3.根据权利要求1所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述SPI主机控制器初始化具体包括:
S201、调用platform_device_alloc、platform_device_add申请添加到系统;
S202、申请、实例化spi控制器抽象spi_master;
S203、将数据信息存入s3c_spi_info;
S204、通过s3c2440_spi_controller_init完成spi控制器的硬件初始化;
S205、调用request_irq注册spi控制器的中断函数;
S206、调用spi_register_master将初始化好的spi_master注册进内核。
4.根据权利要求3所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述s3c_spi_info为本地私有封装,包括寄存器地址、完成量。
5.根据权利要求1所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述setup函数包括spi mode以及clock rate的设置。
6.根据权利要求5所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述封装setup函数具体包括:
获取分配的设备数据,并设置传输模式spi mode,根据传输模式spi mode,设置时钟极性CPOL以及时钟相位CPHA。
7.根据权利要求1所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述封装transfer函数具体为:
S301、选中芯片;
S302、传输数据;
S303、取消片选。
8.根据权利要求7所述的一种针对S3C2440的SPI控制器驱动实现方法,其特征在于,所述传输数据包括:
在发送第一个spi_transfer之前调用setup函数,从spi_message中逐个取出spi_transfer,并对spi_transfer进行处理,如果该spi_transfer的speed_hz或bits_per_word不是0,则调用setup来设置;发送spi_transfer,进入休眠,当spi_transfer发送完毕后由中断例程唤醒;接收spi_transfer,如果该spi_transfer的cs_change为1,则取消片选;唤醒等待spi_message传输结束的进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711374040.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种齿轮生产质量检测系统
- 下一篇:铁路钢轨探伤系统