IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 驱动使能DAC模块 -> 正文阅读

[嵌入式]驱动使能DAC模块

DAC的操作原理图如下:
在这里插入图片描述

输入数据从DIN进入16为的移位寄存器,其中低2位必须为0,高4位为无效数据,中间的10位为有效数据,将中间的10位有效数据上传到DAC寄存器。DAC寄存器把10位的数据转换成模拟信号输出。

DAC模块时序图:
在这里插入图片描述

操作步骤:
1.CS:电平从高到低下降沿期间选中芯片
2.SCLK(时钟引脚)的上升沿把数据移入16位移位寄存器(先移最高位MSB,最后移最低位LSB)
3.CS(片选引脚)从低变高的上升沿期间把其中的10位有效数据传入DAC寄存器。发出DOUT信号

DOUT数据来自16位移位寄存器第1个数据是上次数据遗留下的LSB位(最低位),其余15个数据来自16位移位寄存器的高15位,16位移位寄存器的LSB在下一个周期的第1个时钟传输,LSB必定是0,所以当前的周期里读出16位移位寄存器的15位数据也足够了。

1.编写应用程序

2.修改设备树
进入Linux内核源码目录
输入/ecspi1查找spi1
在这里插入图片描述

参考红色框内写dac的设备树。
①compatible设置为spidev
②reg = <0>表示dac为ecspi1中的第0个设备,使用<&gpio4 26 GPIO_ACTIVE_LOW>这个片选引脚。
通过查询拓展版原理图:
在这里插入图片描述

可以看出SPI CS0 所使用的20号引脚。
查询底板原理图:
在这里插入图片描述

可知20号引脚接到CSI_DATA5引脚。
查询核心板引脚表MYC-Y6ULX_Pin_list_V13:
在这里插入图片描述

CSI_DATA5
所以可知使用的是<&gpio4 26 GPIO_ACTIVE_LOW>这个片选引脚。

③spi-max-frequency为最大频率。通过查询模块芯片手册
在这里插入图片描述

将时钟引脚的低电平25ns+高电平25ns =50ns
1秒=1000000000 纳秒(ns);
F=1000000000/50=20,000,000Hz = 20MHz

写入的节点为:
在这里插入图片描述

:wq保存退出,执行make dtbs,编译设备树。
编译完成后拷贝到开发板

输入vi drivers/spi/Makefile查看spidev
在这里插入图片描述

输入vi .config,查询CONFIG_SPI_SPIDEV是否配置进内核
在这里插入图片描述

上图说明没有配置进。

输入make menuconfig
在这里插入图片描述

输入/CONFIG_SPI_SPIDEV
在这里插入图片描述

可知该设置的目录。
进入该目录。
在这里插入图片描述

找到User mode SPI device driver support,输入M。使其编译为模块,单独加载。
按右箭头,选择Exit,一直选择Exit退出保存。

回到终端输入make modules,编译内核模块。

编译完后拷贝到开发板 cp drivers/spi/spidev.ko ~/nfs_rootfs/

将dtb文件拷贝到开发板boot目录下,重启。

重启后
在这里插入图片描述

可看出dac已经编译进设备树。

输入insmod spidev.ko,安装驱动

输入./dac_test /dev/spidev0.0 运行程序即可

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:22:30  更:2022-08-19 19:26:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 12:27:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码