你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
ISD4002与AVR单片机通信及其编程(一)
 

  介绍ISD4002AVR单片机的通信过程。ISD4002AVR单片机的相互通信是通过SPI接口。SPI可以用全双工通信方式实现语音录放。其操作简单,使用方便,成本低廉等特点。ISD4002能连续录音120分钟,具有音质高,可反复录音,内部集成了大容量的EEPROM,不需要扩展存储器等优点。

关键词 ISD4002 SPI 通信

 

1 SPI协议

SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作。因此,对ISD4002而言,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送至MISO引脚。协议具体内容如下:①所有串行数据传输开始于SS下降沿;②SS在传输期间必须保持为低电平,在两条指令之间保持为高电平;③数据在时钟上升沿移入,在下降沿移出;④SS变低,输入指令和地址之后,ISD才开始录放动作;⑤指令格式是11位地址码加5位控制码;⑥ISD的任何操作(含快进)如果遇到EOMOVF则产生一个中断,该中断状态在下一个SPI周期开始时被清除;⑦使用读指令会使中断状态在移出ISDMISO引脚时,控制及地址数据也同步从MOSI移入;⑧ 所有操作在运行位(RUN)置“1”时开始,置“0”时结束;⑨所有指令都在SS上升沿开始执行。

ISD4002作为从机,其SPI接口的MOSI接控制器的SDOMISO接控制器的SDISCUSCKSS接控制器的SS,LCD用于人机交互的界面显示。SPI 库中主要包括以下几个函数:

 Config2IntSPIx SPI 中断配置函数该函数可以对SPI 接口的中断以及中断优先级进行配置,返回值为空

 CloseSPIx 函数关闭SPI接口

DataRdySPIx 函数使SPI接口数据就绪该函数用来判断SPI接收缓冲区中是否有数据等待读出若返回值为1,表示缓冲区中数据已经就绪,等待读出若返回值为0,则表示缓冲区为空

 ReadSPIx 函数读SPI接口缓冲区

WriteSPIx 函数向SPI接口发送缓冲区写数据

 OpenSPIx 函数打开SPI接口该函数包含两个参数,config1config2config1 中包

含了对SPI接口操作模式的配置信息,写入控制寄存器con2fig2 中则包含了SPI的状态信息,将写入状态寄存器该函数在打开SPI接口的同时完成对其的配置

pusSPIx 函数将一个字符串数据写入到发送缓冲区中

getsSPIx 函数从接收缓冲区读入指定长度的字符串数据并转存到指定的空间

SPI串口的命令的输入和数据、地址的输人输出为8位方式,其数据的传送格式是高位(MSB)在前,低位(LSB)在后。其命令主要有6条,包括写锁存使能、写锁存复位、写状态寄存器、读状态寄存器、写数据和读数据。写数据操作顺序是:写锁存使能,写命令,地址,数据输人(81和写使能复位。写状态寄存器操作顺序是:写锁存使能,写状态寄存器命令,命令字。读数据操作顺序为:读数据命令,地址,数据(8)输出。读状态寄存器顺序是:读状态寄存器命令,数据输出。操作过程中,无论是命令、地址还是数据均以8位形式进行。SI脚上的指令、地址及数据在SCK时钟的上升沿被锁存,SO脚上的数据在时钟的下降沿输出。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089