Mini2440裸机开发之模数转换开发
目录
一、硬件介绍
1.1 S3C2440 ADC概述
模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。S3C2440集成了8通道10位CMOS A/D转换器,最大转换率为2.5MHz A/D转换器时钟下的500KSPS。A/D转换器支持片上采样-保持功能和掉电模式的操作。
对于数字信号我们需要得到它的2个属性:
- 转换精度:用多少位来存储这个数据;
- 采样/转换速度;
S3C2440 ADC具有以下特性:
- 分辨率:10 位
- 差分线性误差:± 1.0 LSB
- 积分线性误差:± 2.0 LSB
- 最大转换率:500 KSPS,KSPS,全称kilo Samples per Second,即采样千次每秒,是转化速率的单位
- 功耗低
- 供电电压:3.3V
- 模拟输入范围:0 至3.3V
- 片上采样-保持功能
- 普通转换模式
- 分离的X/Y方向转换模式
- 自动(顺序)X/Y方向转换模式
- 等待中断触发
从上图可以看出AD converter前有一个多路选择器,用来选择模拟输入源,这里选择A[3:0]作为模拟输入源。这里的XP、XM、YP、YM引脚是适用于电阻屏的触摸屏触摸检测。
1.2 A/D转换时间
当PCLK 频率在50MHz 并且预分频器的值为49 时,共10 位的转换时间如下:
$$A/D转换器速率=\frac{50MHZ}{(49+1)}=1MHZ$$
$$转换时间=\frac{1}{1MHZ/5周期}=\frac{1}{200kHz}=5us$$
注释: 此A/D 转换器被设计为最高工作在2.5MHz 时钟下,因此转换率可以达到500KSPS。
1.3 Mini2440 ADC电路
Mini2440开发板引出4路A/D(模数转换)转换通道,它们位于板上的CON4-GPIO接口。为了方便测试, AIN0连接到了开发板上的可调电阻W1,原理图如下所示:
如图,是把可变电阻上的电压值变换的模拟信号通过ADC转换,输出数字信号。
二、寄存器
2.1 ADC控制寄存器(ADCCON)
寄存器信息:
寄存器 | 地址 | R/W | 描述 | 复位值 |
ADCCON | 0x5800000 | R/W | ADC 控制寄存器 | 0x3FC4 |
寄存器位信息:
ADCCON | 位 | 描述 | 初始状态 |
ECFLG | [15] |
转换结束标志位(只读) 0 = A/D 正在转换 1 = A/D 转换已结束 |
0 |
PRSCEN | [14] |
A/D 转换器预分频器使能 0 = 禁止 1 = 使能 |
0 |
PRSCVL | [13:6] |
A/D 转换器预分频值 数值范围: 0 至255 注意:ADC 频率应该设置为低于PCLK 的1/5。(例如PCLK=10MHz, |
0xFF |
SEL_MUX | [5:3] |
模拟输入通道选择 000 = AIN0 001 = AIN1 010 = AIN2 011 = AIN3 |
0 |
STDBM | [2] |
待机模式选择 0 = 正常工作模式 1 = 待机模式 |
1 |
READ_ START | [1] |
读启动A/D 转换 0 = 禁止读启动操作 1 = 使能读启动操作 |
0 |
ENABLE_START |
[0] |
使能A/D 转换启动。如果READ_START 为使能,则此值无效 0 = 无操作 1 = A/D 转换启动且此位在启动后被清零 |
0 |
注意:
- 当触摸屏引脚(YM、YP、XM 和XP)为禁止时,这些端口可以被用于ADC 的模拟输入端口(AIN4、AIN5、AIN6 和AIN7)。
- 当从待机模式中变换到正常工作模式时,ADC 的预分频器必须在最后的3 个ADC 时钟前使能。
- 注意位[1]这一位, 这说明转换完成读取的时候还可以触发转换,也就是相当于连续转换。
这里我们设置预分频器使能,PCLCK=50MHZ,设置预分频器值为49:
$$A/D转换器速率=\frac{50MHZ}{(49+1)}=1MHZ$$
模拟输入通道选择AIN0:
ADCCON = (1<<14) | (49<<6) | (0<<3); //设置输入源AIN0, ADC时钟为1Mhz
位0用来使能A/D转换功能,A/D转换成功后ECFLG会设置为1。
2.2 ADC 启动延时寄存器(ADCDLY)
寄存器信息:
寄存器 | 地址 | R/W | 描述 | 复位值 |
ADCDLY | 0x5800008 | R/W | ADC 启动或初始化延时寄存器 | 0x00ff |
寄存器位信息:
ADCDLY | 位 | 描述 | 初始状态 |
DELAY | [15:0] |
正常转换模式、XY 方向模式、自动方向模式 |
0x00ff |
2.3 ADC 转换数据寄存器(ADCDAT0)
寄存器信息:
寄存器 | 地址 | R/W | 描述 | 复位值 |
ADCDAT0 | 0x580000C | R/W | ADC 转换数据寄存器 | - |
寄存器位信息:
ADCDAT0 | 位 | 描述 | 初始状态 |
UPDOWN | [15] |
等待中断模式中笔尖的起落状态 0 = 笔尖落下态 1 = 笔尖抬起态 |
- |
AUTO_PST | [14] |
自动顺序X 方向和Y 方向转换 0 = 正常ADC转换 1 = 顺序X 方向、Y 方向测量 |
- |
XY_PST | [13:12] |
手动X 方向或Y 方向测量 00 = 无操作模式 01 = X方向测量 |
- |
保留 | [11:10] |
保留 |
- |
XPDATA |
[9:0] |
X 方向转换数值(包括正常ADC转换数值) |
- |
亲爱的读者和支持者们,自动博客加入了打赏功能,陆陆续续收到了各位老铁的打赏。在此,我想由衷地感谢每一位对我们博客的支持和打赏。你们的慷慨与支持,是我们前行的动力与源泉。
日期 | 姓名 | 金额 |
---|---|---|
2023-09-06 | *源 | 19 |
2023-09-11 | *朝科 | 88 |
2023-09-21 | *号 | 5 |
2023-09-16 | *真 | 60 |
2023-10-26 | *通 | 9.9 |
2023-11-04 | *慎 | 0.66 |
2023-11-24 | *恩 | 0.01 |
2023-12-30 | I*B | 1 |
2024-01-28 | *兴 | 20 |
2024-02-01 | QYing | 20 |
2024-02-11 | *督 | 6 |
2024-02-18 | 一*x | 1 |
2024-02-20 | c*l | 18.88 |
2024-01-01 | *I | 5 |
2024-04-08 | *程 | 150 |
2024-04-18 | *超 | 20 |
2024-04-26 | .*V | 30 |
2024-05-08 | D*W | 5 |
2024-05-29 | *辉 | 20 |
2024-05-30 | *雄 | 10 |
2024-06-08 | *: | 10 |
2024-06-23 | 小狮子 | 666 |
2024-06-28 | *s | 6.66 |
2024-06-29 | *炼 | 1 |
2024-06-30 | *! | 1 |
2024-07-08 | *方 | 20 |
2024-07-18 | A*1 | 6.66 |
2024-07-31 | *北 | 12 |
2024-08-13 | *基 | 1 |
2024-08-23 | n*s | 2 |
2024-09-02 | *源 | 50 |
2024-09-04 | *J | 2 |
2024-09-06 | *强 | 8.8 |
2024-09-09 | *波 | 1 |
2024-09-10 | *口 | 1 |
2024-09-10 | *波 | 1 |
2024-09-12 | *波 | 10 |
2024-09-18 | *明 | 1.68 |
2024-09-26 | B*h | 10 |
2024-09-30 | 岁 | 10 |
2024-10-02 | M*i | 1 |
2024-10-14 | *朋 | 10 |
2024-10-22 | *海 | 10 |
2024-10-23 | *南 | 10 |
2024-10-26 | *节 | 6.66 |
2024-10-27 | *o | 5 |
2024-10-28 | W*F | 6.66 |
2024-10-29 | R*n | 6.66 |
2024-11-02 | *球 | 6 |
2024-11-021 | *鑫 | 6.66 |
2024-11-25 | *沙 | 5 |
2024-11-29 | C*n | 2.88 |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-10-18 第二十节、基于传统图像处理的目标检测与识别(词袋模型BOW+SVM附代码)