您的位置 首页 软件

带自举功用的DSP外设扩展模块规划

摘要:TMS320VC54x系列DSP(Digital Signal processor)没有AD、DA等常用外设且缺少程序存储器,故其应用系统通常需进行外设扩展模块与自举模块设计,针对传统解决方案

摘要:TMS320VC54x系列DSP(Digital Signal processor)没有AD、DA等常用外设且短少程序存储器,故其运用体系一般需进行外设扩展模块与自举模块规划,针对传统处理方案将两个模块别离完结存在扩展器材多、体系集成度不高级问题,本文提出了一种带自举功用的DSP外设扩展模块。该模块经过将C8051F330单片机作为仅有的外扩芯片,运用其片FLASH存储DSP自单程序代码,并选用其片上AD、DA完结DSP的外设扩展。试验标明本文提出的DSP外设扩展模块合理可行。

TMS320VC54x系列DSP由于具有快速运算才干,其指令履行速度最高可达160 MIPS,因而在消费电子、通讯等范畴运用广泛。但此系列DSP片上没有AD、DA等工业常用外设,常需求对其进行外设扩展模块规划,别的,此系列DSP也没有FLASH、EEPROM等便于改写的片内程序存储器,掉电后不能保存用户程序代码,因而还需求对其扩展自举模块。文献给出了不同的DSP外设扩展模块规划方案,而文献则给出了不同的DSP自举模块规划方案,上述将外设扩展模块与自举模块别离完结的规划方案,存在外扩器材较多、集成度不高、本钱较高级问题。为此,文中提出了一种带自举功用的DSP外设扩展模块,该模块仅用外扩一个芯片,就能一体完结DSP的外设扩展与自举,具有扩展器材少、体系集成度高、稳定性好、本钱较低一级特色。

1 方案规划

文中提出的DSP外设扩展模块,凭借C8051F330丰厚的片上外设资源对DSP完结10位AD、DA扩展,一起运用C8051F330片内FLASH存储DSP用户程序代码,并用规范串行总线完结自举,模块原理框图如图1所示。图1中虚线框部分为本文规划的DSP外设扩展模块,其间C8051F330是本模块的仅有外扩芯片。一方面,方针板中的DSP经过将其片上McBSP0装备为SPI作业形式,完结操控C8051F330片上的AD采样数据或DA构成模仿波形,然后完结对DSP的AD、DA外设扩展。上述SPI通讯中,TMS320VC5416为主设备,C8051F330为从设备。别的,考虑到只要SPI主设备才干发动数据传输,为了将SPI从设备的AD采样数据榜首时刻传输给SPI主设备,SPI从设备经过I/O引脚触发SPI主设备的外部中止,然后使SPI主设备发动SPI通讯。另一方面,运用C8051F330片内FLASH的剩下空间(从0x0BB7到0x1FF)存储DSP程序代码,一起,运用5个I/O引脚模仿DSP的规范串行自举接口,然后完结DSP的规范串行自举模块规划。DSP有多种自举形式,规范串行自举形式占用的DSP硬件资源最少,故本文模块选用了规范串行自举形式。但在此形式下,自举模块有必要与DSP的McBSP0接口相连,为了进一步削减对DSP硬件资源的占用,本文将C8051F330的SPI接口与5个I/O引脚模仿的规范串行自举接口复用DSP的McBSP0接口。

带自举功用的DSP外设扩展模块规划

2 硬件规划

文中提出的DSP外设扩展模块硬件首要包含如下几部分:自举模块,SPI通讯模块,外设扩展模块以及C8051F330最小体系模块,考虑到介绍C8051F330最小体系的文献较多,此处不再赘述,这儿首要给出其他模块的硬件衔接联系,如图2所示。

带自举功用的DSP外设扩展模块规划

图2虚线框1为自举模块(规范串行自举方法)引脚衔接联系,其间与规范串行自举直接相关的DSP引脚为接纳时钟信号(BCLKR0),多通道缓冲接纳引脚(BDR0),帧同步接纳信号(BFSR0),由于DSP与单片机发动不同步,因而需求设置RS引脚在单片机上电后对DSP进行复位,设置XF引脚在DSP准备好后触发单片机的INT0发动自举操作。别的,DSP的自举方法有多种,且规范串行自举形式比较靠后,所以有必要在硬件上对DSP的INT2、INT3和BIO引脚进行上拉维护,然后确保DSP上电后,其片上Bootloader进入规范串行自举方法。图2虚线框2给出了SPI通讯模块中DSP与单片机对应引脚衔接联系,本文选用4线主从方法完结SPI通讯,DSP的BCKLX0为时钟操控引脚,BFSX0为片选引脚,为了最大极限节约DSP硬件资源,自举模块和SPI通讯模块中的BDR0引脚进行了复用。为使主从设备更好地进行通讯,SPI通讯进程中设置了主从握手函数,P16为握手中止操控引脚。图2虚线框3阐明晰外设扩展模块引脚衔接联系,外设扩展模块介绍了AD、DA及参阅电压硬件设置,P17引脚为AD波形输入端,试验时装备为模仿输入,开漏输出。P01引脚为DA的波形输出端,P00引脚为参阅电压接入引脚,装备为模仿输入,开漏输出,AD采样有必要设置电压基准,C8051F330的电压基准能够被装备为外部电压基准、内部电压基准或电源电压VDD,为了使硬件规划愈加简略,本文选用内部电压基准。

3 软件规划

DSP外设扩展模块软件规划分为两部分:代码转化程序规划和C8051F330单片机程序规划。代码转化程序是为了将用户在DSP开发软件CCS下编译生成的.out文件(一种公共方针文件格局,包含了许多冗余信息)去除冗余信息,变为悉数有用的DSP自举文件格局,详细进程拜见文献。下面详细介绍单片机程序的详细内容。

带自举功用的DSP外设扩展模块规划

C8051F330单片机程序包含四部分:DSP与单片机之间的通讯协议、两次初始化程序、自举程序及片上外设驱动程序。C8051F330单片机程序主流程图如图3所示,图3中,单片机体系上电后,程序便开端运转,首先要制止看门狗,防止程序跑飞,因DSP发动速度比C8051F330快,故自举前,先要初始化单片机端口并复位DSP,等候DSP的XF引脚触发P07中止后发动自举操作。自举完结后,就要运用C8051F330单片机的片上AD、DA对DSP进行外设扩展,DSP的外设扩展是建立在SPI通讯根底上的,通讯前,需求对单片机进行第2次初始化,防止引脚抵触。通讯进程中,单片机与DSP需求经过SPI_handshaking()函数进行握手,握手成功后,单片机便可经过SPI通道读取DSP发送的AD指令或DA指令进行AD DA扩展。

3.1 DSP与单片机之间通讯协议

为了使DSP和单片机进行杰出的通讯,本文设置了SPI通讯协议,详细如图4所示,下面对此协议的拟定作扼要介绍。协议中一帧数据包含4个字节:榜首字节为开端标志字节,值为0xC5,对应的二进制数为11000011,开端标志字节在数据传输中发挥着巨大作用,它标志着传输数据是否有意义;第二字节为指令字节,DSP在数据传输进程中处于两种指令状况,假如第二字节的6—7位值为01,则DSP处于AD指令状况,6—7位为10则DSP处于DA指令状况;第三、四字节别离装载的是10位AD、DA高、低8位数据。

带自举功用的DSP外设扩展模块规划

3.2 两次初始化程序规划

单片机需求进行两次初始化,榜首次初始化是在自举之前,包含端口初始化、时钟初始化和中止初始化,第2次初始化是在自举之后,在榜首次初始化的根底上还需进行SPI初始化、AD初始化、DA初始化,两次初始化期间,时钟只能初始化一次,不然单片机初始化不会成功。时钟初始化时被装备为24.5 MHz。之所以要对单片机进行两次初始化是由于自举和SPI通讯进程中,DSP的McBSP0接口进行了复用,并且这样规划能够节约更多的硬件资源,下降规划本钱。下面首要介绍下AD、DA和SPI初始化进程。AD初始化如下所示:

AMXOP =0x0F://P17引脚为AD输入端

AMXON =0x11://单端作业方法

ADCOCF =0x00;//右对齐

ADCOCN =0x80;//使能ADC

DA初始化如下所示:IDAOCN=0xF2;//使能DA

SPI初始化如下所示:SPIOCN=0x05;//使能SPI

SPIOCKR=0x5;//SPIO时钟速率为1.8432 MHz

3.3 自举程序规划

规范串行自举逻辑时序图如图5所示,图5指出模仿规范串行自举只需3个I/O引脚,但本文却用5个I/O口,其间另设了XF和RS引脚。由于DSP发动速度与单片机不同步,因而需设置RS引脚让单片机上电后对DSP进行复位,设置XF引脚让DSP触发单片机的外部中止INT0,发动自举模块。图5中的逻辑时序图阐明为确保DSP正常运转,以下条件有必要满意:传输每个字节数据需至少确保40个DSP时钟周期的延时时刻,单片机时钟(BCLKR0)不行超越DSP时钟频率的1/2。发送帧同步信号之前应先发送2个时钟信号,帧同步信号置高期间发送1.5个时钟,帧同步信号置底后开端按位发送数据,一字节数据发送完结后再发送两个时钟信号。

带自举功用的DSP外设扩展模块规划
带自举功用的DSP外设扩展模块规划

3.4 片上外设驱动程序规划

片上外设驱动程序包含SPI通讯驱动程序、AD与DA驱动程序。SPI通讯是DSP外设扩展模块的软件根底,通讯前,单片机先拉低DPS_INT0触发DSP的外部中止INT0,再读取一个无意义的SPI数据和DSP进行握手,握手成功后,主从设备便可经过SPI通道相互写数据或读取对方发送dat[]中的数据。SPI通讯读函数驱动程序如下所示,程序中SPIODAT为SPI0数据寄存器,C8051F330在SPI通讯中经过读SPIODAT来读取接纳缓冲器中的数据。

SPI通讯读函数驱动程序:

带自举功用的DSP外设扩展模块规划

C8051F330内部AD有6种转化发动方法,本文选用写‘1’ 到ADCOCN的ADOBUSY位,向ADOBUSY写‘1’方法供给了用软件操控ADCO转化的才干。ADOBUSY位在转化期间被置‘1’,转化完毕后赋‘0’。单片机初始化完结,给C8051F330的P17端口输入正弦波(由于试验设备仍需完

善,正弦波频率约束在0~20 Hz,幅值约束在0~3.3 V)进行AD采样,本文选用查询方法进行AD采样,运用AD中止标志(ADOINT)来不断查询AD转化是否完结。当ADOINT位为逻辑‘1’时,AD数据寄存器(ADCOH:ADCOL)中的转化成果有用。采样完后,单片机经过SPI通道将采样值传送给DSP,DSP经过SPI_READ0函数从SPI读取采样数据。C8051F330片内DA为电流形式数/模转化器(IDAC)。IDAC的最大输出电流能够有3种不同的设置:0.5 mA、1mA和2 mA,此程序中设置为2 mA。DA转化时,DSP经过SPI_WRITE()函数将需求进行DA的数据写给单片机,终究单片机再将DSP发来的数据进行DA处理,AD采样驱动程序如下所示:

带自举功用的DSP外设扩展模块规划

4 试验

为验证本文规划模块的可行性,下面以TMS320VC5416方针板为例,规划了如下两个试验:一、16位规范串行自举试验;二、片上AD与DA扩展试验。

试验一:16位规范串行自举试验

试验一是为了验证C8051F330单片机可否成功完结TMS320VC5416处理器的16位规范串行自举。为了使试验成果便于调查,本文用CCS编写了液晶显现程序,显现内容为“根据C8051F330的DSP自举模块液晶显现自举测验等”。由上文可知,须将编写程序代码在CCS软件下编译生成.out文件,再将.out文件去除冗余信息,变为悉数有用的DSP程序代码,移植到C8051F330单片机中才干运用,结合所编写的自举程序上电运转后可得到如图6所示成果,从图6中能够调查到DSP彻底能够脱离仿真器,从C8051F330单片机读取DSP用户程序,以上成果阐明自举模块规划合理可行。

带自举功用的DSP外设扩展模块规划

试验二:AD与DA扩展试验

试验二是为了验证在彻底脱离DSP仿真器的情况下,运用C8051F330片上AD、DA对TMS320VC5416进行片上外设扩展的可行性。试验中由TMS320VC5416操控C8051F330片上的AD、DA采样数据或构成模仿波形,为了使试验成果便于调查,用示波器对AD采样前的波行与DA重构波形进行双通道盯梢,试验时,经过DSP试验箱给单片机的P17口接入频率为20 Hz、最大幅值为1.31 V的正弦波,如图7中黄色波形所示。单片机的P01端口为DA输出端,C8051F330的DA输出为电流输出,由于要用示波器显现DA输出波形,所以需在P01端口接入电阻,将电流输出转化为电压输出,DA输出波形如图7中蓝色波形所示。调查示波器波形,可看到DA重构波形与AD采样前的波形符合。以上成果阐明,该模块规划的运用C8 051F330片上外设资源对TMS320VC5416处理器进行AD与DA扩展是合理可行的。

5 完毕语

文中提出了一种带自举功用的DSP外设扩展模块,该模块运用C8051F330的片内FLASH存储DSP用户程序,并运用5个I/O引脚模仿的规范串行总线完结DSP自举,然后以一种占用DSP硬件资源最少的方法处理了DSP掉电后不能保存用户程序的问题;运用C8051F330的片上外设资源对DSP进行10位AD、DA外设扩展,一起C8051F330的SPI接口同规范串行自举接口复用DSP的McBSP0接口,然后在完结DSP外设扩展的一起,最大极限地节约了DSP的硬件资源。该模块用一块单片机一体完结DSP外设扩展及自举,具有扩展器材少、集成度高、体系稳定性好、本钱低价等长处。别的,C8051F330的FLASH内存为8K字节,除掉单片机程序,可存储5K字节左右的DSP程序,因而该模块可广泛用于程序代码不超越5K字节的DSP体系中。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部