技术 - 呼叫中心 - CTI平台技术频道
  首页 > 技术 > 呼叫中心 > 技术 > CTI平台 > 技术文摘 > 利用SPI库函数实现dsPlC与ISD语音芯片的通信设计

利用SPI库函数实现dsPlC与ISD语音芯片的通信设计

2010-03-17 00:00:00   作者:   来源:   评论:0  点击:







  dsPIC30F6014提供了2个SPI接口模块,每个接口模块包括三个特殊功能寄存器和四个引脚。SPIxBUF是数据缓冲寄存器。需要注意的是,接收缓冲SPIxRBF和发送缓冲SPIxTBF共享同一个地址,即它们都是地址映射到SPIxBUF的。也就是说,当对接收或发送缓冲寄存器操作时,都只能对SPIxBUF进行操作,而不能直接对SPIxRBF或SPIxTBF进行操作。SPIxCON是控制寄存器,用来对sPI模块的操作模式等进行配置;SPIxSTAT是状态寄存器,用来标示SPI模块所处的状态。其模块框图如图1所示。


  通过对控制寄存器的配置,可以将SPI模块设置为8位或16位模式、主模式或从模式、帧同步等多种操作模式,还可以对时钟边沿、时钟分频倍数等进行配置。这里使用了以dsPIC为主,ISD为从的主从模式。MICROCHIP提供的外围接口库可以方便地完成这些配置工作。

  dsPIC Language Tools Libraries是MictoChip公司提供给开发者的一套工具库,其中主要含3个子库.DSP库,提供常用的DSP函数;外围接口库,提供对dsPIC系列所有外围接口的驱动函数,包括SPI接口;标准C及数学函数库,可在MICROCHIP的*****下载(www.MICROCHIP. com)。我们使用其中的外围接口库中的SPI库函数即可。SPI库中主要包括以下几个函数:

  ①configIntSPIx SPI中断配置函数。该函数可以对sPI接口的中断使能位以及中断优先级进行配置,返回值为空。

  ②CloseSPlx关闭SPI接口。

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

  ④ReadSPIx读SPI接口缓冲区。

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

  ⑥OpenSPIx打开SPI接口。该函数包含2个参数:configl和config2。configl中包含对SPI接口操作模式的配置信息,将写入控制寄存器;config2中包含SPI的状态信息,将写入状态寄存器。该函数在打开SPI接口的同时完成对其的配置。

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

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

  除了这8个函数以外,该库还提供了相应的宏指令完成同样的功能,可以在程序中方便地使用。
共 3 页: 1  2  3 

维库开发网

相关阅读:

分享到: 收藏