您的位置 首页 分销

AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实

AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现,串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串

串行外围设备接口SPI(serial peripheral interface)总线技能是Motorola公司推出的一种同步串行接口,它答应CPU与TTL移位寄存器、A/D或D/A转化器、实时时钟(RTO)、存储器以及LCD和LED显现驱动器等外围接口器材以串行方法进行通讯。

SPI总线只需3~4根数据线和操控线即可扩展具有SPI接口的各种I/O器材,其硬件功用很强,完结软件适当简略。串行A/D转化器具有电路简略、作业牢靠的特色,而ARM芯片被规划用于手持设备以及一般的嵌人式运用的集成体系,将上述两种有用的芯片和SPI总线技能相结合以完结数据收集非常有用。

1 AD7888的功用与运用

AD7888是美国模仿器材公司推出的一款高速低功耗12位A/D转化器,选用2.7~5.25 V单电源供电,最大通过率可到达125 kSPS。AD7888的输入采样/坚持电路在500 ns内获取一个信号,选用单端采样形式,包含8个单端模仿输入,模仿输入电压从0到VREF。AD7888有2.5 V的片内基准电压,也能够运用外部基准电压,规模从1.2 V到VDD。CMOS制作工艺保证了低功耗,正常作业时为2 mW,掉电状况下为3uW。能够挑选多种电源管理形式(包含数据转化后主动处于掉电形式),与多种串行接口兼容(SPI/QSPI/MICOWIRE/DSP)。AD7888可广泛运用于电池供电体系(个人数字助理、医疗仪器、移动通讯)、外表操控体系和高速调制/解调器等范畴。该器材选用16脚SOIC和TSSOP外形封装,外形及引脚界说见图1和表1。

图1 AD7888的引脚图

AD7888的操控寄存器是8位只写寄存器。数据在SCLK的上升沿从DIN引脚载人,一起获取外部模仿量转化的成果。每次数据的传输需求预备16个接连时钟信号。只要在片选信号下降之后的前8个时钟脉冲的上升沿供给的信息装入操控寄存器。

图2显现了具体的串行接口时序图,串行时钟供给了转化时序,且操控AD7888转化信息的输入输出。CS初始化数据传送和转化处理。在其下降沿之后的1.5个时钟周期开端采样输入信号,这段时刻表明为tACQ(获取时刻)。整个转化进程还需求14.5个时钟周期来完结,这段时刻表明为 tCONVERT(转化时刻)。

从AD7888获取数据的整个转化进程需求16个时钟周期。CS上升沿之后,总线回来高阻状况。假如CS持续坚持低电平,则预备新一轮的转化。进行采样的输入通道的挑选是提早写入操控寄存器的,因此在转化时,用户有必要提早写入以备通道的转化。也就是说,在进行当时转化时,用户就有必要提早写入通道的地址以备下次转化运用。

图2串行接口时序图

2 S3C2410的主要功用

S3C2410是三星公司推出的选用RISC结构的16/32位微处理器。它依据ARM920T内核,选用五级流水线和哈佛结构,最高频率可达203 MHz,是高性能和低功耗的硬宏单元。ARM920T具有增强ARM体系的MMU(支撑WinCE,EPOC 32和Linux)、16kB的指令和数据高速缓存以及高速AMBA总线接口。

S3C2410被规划用于手持设备以及一般的嵌入式运用的集成体系,为了下降整个体系的本钱,S3C2410还包含下面的部分:LCD操控器 (STNTFT)、NAND Flash引导装入程序、体系管理(片选逻辑和SDRAM操控器)、3通道UART,4通道DMA、4通道PWM时钟、I/O口、RTC、8通道10位ADC及触摸屏接口、IIC总线接口、IIS总线接口、USB主口和USB设备口、SD主口和多媒体卡接口、2通道SPI和2通道PLL。

S3C2410有2个SPI口,能够完结串行数据的传输。每个SPI接口各有2个移位寄存器别离担任接纳和发送数据。在传送数据期间,发送数据和接纳数据是同步进行的,传送的频率可由相应的操控寄存器设定。假如只想发送数据,则接纳数据为哑元;假如只想接纳数据。则需发送哑元“0xff”。SPI接口共有4个引脚信号:串行时钟SCK(SPICLK0,1)、主入从出MISO(SP%&&&&&%LK0,1)和主出从入MOSI(SPIMOSI0,1)数据线、低电平有用引脚/SS(nSSO,1)。

S3C2410的SPI接口具有如下特色

(1)兼容SPI协议(ver.2.11);

(2)有别离用于发送和接纳的8位移位寄存器;

(3)有设定传送频率的8位寄存器;

(4)有轮询、中止和DMA三种传送形式。

3 接口与驱动

依据S3C2410的SPI特色及AD7888的作业原理确认其接口如图3所示。

图3 AD7888与S3C2410的衔接图

为了完结S3C2410和AD7888在嵌入式Linux下的高速A/D转化,还编写了两者接口的驱动程序,该驱动程序功用的完结主要由以下几个函数完结。

(1)Init_SPI()完结SPI的初始化

void Init_SPI(void)

{

int i;

rSPPRE0=0x32;

rSPCON0=0x1e;

for(i=0;i10;i++)

rSPTDAT0=0xff;

rGPECON

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/324574.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部