一种利用GPIO接口模拟McBSP接口的方法技术

技术编号:17778713 阅读:44 留言:0更新日期:2018-04-22 06:43
本发明专利技术公开了一种利用GPIO接口模拟McBSP接口的方法,该方法包括如下步骤:步骤a:在DSP中选择5个GPIO接口模拟McBSP接口,1个模拟时钟信号CLK,1个模拟发送帧同步信号FSX,1个模拟接收帧同步信号FSR,1个模拟接收串行数据信号DR,1个模拟发送串行数据信号DX;步骤b:根据自身设计需要,设置时钟信号,固定周期值,发送和接收的数据字长的位数,发送和接收帧同步信号标志,时钟标志位;步骤c:在DSP的定时器中断处理程序中,设置发送和接收数据两个分支。本发明专利技术减少了时间复杂度,增加了DSP芯片的McBSP接口数量。

【技术实现步骤摘要】
一种利用GPIO接口模拟McBSP接口的方法
本专利技术涉及嵌入式系统的接口,尤其涉及一种利用GPIO接口模拟McBSP接口的方法。
技术介绍
GPIO(GeneralPurposeInputOutput,通用输入/输出)口在嵌入式系统中应用比较多,用户可以通过编程控制GPIO口输出高低电平来传输一些信号,譬如用户自定义的同步时间戳,保证各个单板的时间同步。高速的多通道缓冲串口(Multi-channelBufferedSerialPorts,McBSP)是TI专为DSP芯片开发的多功能串行通信接口,具有强大的功能,可兼容多种常用串行通信方式,可以与工业标准的编/解码器、模拟接口芯片以及其他串行模数转换器、数模转换器接口,实现全双工串行通信,其双缓冲数据寄存器结构允许连续的数据流传输。DSP芯片通常只有两个McBSP接口左右,在处理复杂程序时,存在着两个接口不够使用的问题。并且由于McBSP接口的相关引脚与寄存器繁多,软件配置较为复杂,对利用McBSP进行研发的工程师带来了不小的麻烦。
技术实现思路
为了解决上述存在的技术问题,本专利技术提出了一种利用GPIO接口模拟McBSP接口的方法。本专利技术采用的技术方案是:一种利用GPIO接口模拟McBSP接口的方法,该方法包括如下步骤:步骤a,在DSP芯片中选择5个GPIO接口模拟McBSP接口,1个GPIO接口模拟时钟信号CLK,1个GPIO接口模拟发送帧同步信号FSX,1个GPIO接口模拟接收帧同步信号FSR,1个GPIO接口模拟接收串行数据信号DR,1个GPIO接口模拟发送串行数据信号DX;步骤b,根据需要的时钟信号CLK大小,设置一个固定周期值PRD,PRD等于CLK的倒数;根据需要发送的数据字长的位数,设置发送变量FSXCNT的值为发送的数据字长的位数;根据要接收的数据字长的位数,设置接收变量FSRCNT的值为接收的数据字长的位数;根据需要接收的有效帧周期,设置接收帧同步信号标志FSRFLAG;利用DSP软件定时器产生一个时长为PRD/2的定时器中断,并设置时钟标志位CLK_FLAG;步骤c,在DSP芯片的定时器中断处理程序中,设置发送和接收数据两个分支。上述步骤c包括如下步骤:步骤c1,发送数据分支如下,DSP芯片判断时钟标志位CLK_FLAG为0,则将时钟标志位CLK_FLAG改为1,置输出模拟时钟信号CLK的的GPIO接口为低电平;然后DSP芯片判断发送变量FSXFLAG为1后,将发送变量FSXFLAG置为0,置输出模拟帧同步信号FSX的GPIO接口为高电平,两个定时周期后,置输出模拟帧同步信号FSX的GPIO接口为低电平;然后DSP芯片循环判断发送变量FSXCNT是否大于0,如果大于0,每个定时周期通过模拟串行数据信号DX的GPIO接口发送一个数据位,同时发送变量FSXCNT计数递减;若果等于0,则表示所述数据位发送完毕;然后重复执行步骤c1;步骤c2,接收数据分支如下,DSP芯片判断时钟标志位CLK_FLAG为1,则将时钟标志位CLK_FLAG改为0,置输出模拟时钟信号CLK的GPIO接口为高电平;然后DSP芯片判断帧同步信号标志FSRFLAG为1后,将帧同步信号标志FSRFLAG置为0,置输出模拟帧同步信号FSR的GPIO接口为高电平,两个定时周期后,置输出模拟帧同步信号FSR的GPIO接口为低电平;然后DSP芯片循环判断接收变量FSRCNT是否大于0,如果大于0,每两个定时周期内通过模拟串行数据信号DR的GPIO接口采集一个数据位,同时接收变量FSRCNT计数递减;如果等于0,则表示所有数据位接收完毕;然后重复执行步骤c2。与现有技术相比,本专利技术具有的有益效果如下:(一)给DSP芯片增加了McBSP接口的数量;(二)无需配置McBSP的多个寄存器,减少了复杂度,节约了时间。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明图1为本专利技术一实施例提供的利用GPIO接口模拟McBSP接口的流程图;图2为本专利技术一实施例的FPGA与DSP的接口连接原理图;图3为本专利技术一实施例的DSP与FPGA的接口连接原理图;图4为本专利技术一实施例的发数时序图;图5为本专利技术一实施例的收数时序图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。一种利用GPIO接口模拟McBSP接口的方法,该方法包括如下步骤:步骤a,在DSP芯片中选择5个GPIO接口模拟McBSP接口,1个GPIO接口模拟时钟信号CLK,1个GPIO接口模拟发送帧同步信号FSX,1个GPIO接口模拟接收帧同步信号FSR,1个GPIO接口模拟接收串行数据信号DR,1个GPIO接口模拟发送串行数据信号DX;步骤b,根据需要的时钟信号CLK(值域不超过DSP芯片能提供的最大时钟)大小,设置一个固定周期值PRD,PRD等于CLK的倒数;根据需要发送的数据字长的位数,设置发送变量FSXCNT(值域为8、12、16、20、24或32位)的值为发送的数据字长的位数;根据要接收的数据字长的位数,设置接收变量FSRCNT(值域为8、12、16、20、24或32位)的值为接收的数据字长的位数;根据需要接收的有效帧周期,设置接收帧同步信号标志FSRFLAG(值域为0或1);利用DSP软件定时器产生一个时长为PRD/2的定时器中断,并设置时钟标志位CLK_FLAG(值域为0或1);步骤c,在DSP芯片的定时器中断处理程序中,设置发送和接收数据两个分支。上述步骤c包括如下步骤:步骤c1,发送数据分支如下,DSP芯片判断时钟标志位CLK_FLAG为0,则将时钟标志位CLK_FLAG改为1,置输出模拟时钟信号CLK的的GPIO接口为低电平;然后DSP芯片判断发送变量FSXFLAG为1后,将发送变量FSXFLAG置为0,置输出模拟帧同步信号FSX的GPIO接口为高电平,两个定时周期后,置输出模拟帧同步信号FSX的GPIO接口为低电平;然后DSP芯片循环判断发送变量FSXCNT是否大于0,如果大于0,每个定时周期通过模拟串行数据信号DX的GPIO接口发送一个数据位,同时发送变量FSXCNT计数递减;若果等于0,则表示所述数据位发送完毕;然后重复执行步骤c1;步骤c2,接收数据分支如下,DSP芯片判断时钟标志位CLK_FLAG为1,则将时钟标志位CLK_FLAG改为0,置输出模拟时钟信号CLK的GPIO接口为高电平;然后DSP芯片判断帧同步信号标志FSRFLAG为1后,将帧同步信号标志FSRFLAG置为0,置输出模拟帧同步信号FSR的GPIO接口为高电平,两个定时周期后,置输出模拟帧同步信号FSR的GPIO接口为低电平;然后DSP芯片循环判断接收变量FSRCNT是否大于0,如果大于0,每两个定时周期内通过模拟串行数据信号DR的GPIO接口采集一个数据位,同时接收变量FSRCNT计数递减;如果等于0,则表示所有数据位接收完毕;然后重复执行步骤c2。如图1所示,一种利用GPIO接口模拟McBSP接口的流程图,图中体现了本
技术实现思路
的三个步骤,分别是GPIO的选取,参数的设置,数据的传本文档来自技高网
...
一种利用GPIO接口模拟McBSP接口的方法

【技术保护点】
一种利用GPIO接口模拟McBSP接口的方法,其特征在于,该方法包括如下步骤:步骤a,在DSP芯片中选择5个GPIO接口模拟McBSP接口,1个GPIO接口模拟时钟信号CLK,1个GPIO接口模拟发送帧同步信号FSX,1个GPIO接口模拟接收帧同步信号FSR,1个GPIO接口模拟接收串行数据信号DR,1个GPIO接口模拟发送串行数据信号DX;步骤b,根据需要的时钟信号CLK大小,设置一个固定周期值PRD,PRD等于CLK的倒数;根据需要发送的数据字长的位数,设置发送变量FSXCNT的值为发送的数据字长的位数;根据要接收的数据字长的位数,设置接收变量FSRCNT的值为接收的数据字长的位数;根据需要接收的有效帧周期,设置接收帧同步信号标志FSRFLAG;利用DSP软件定时器产生一个时长为PRD/2的定时器中断,并设置时钟标志位CLK_FLAG;步骤c,在DSP芯片的定时器中断处理程序中,设置发送和接收数据两个分支。

【技术特征摘要】
1.一种利用GPIO接口模拟McBSP接口的方法,其特征在于,该方法包括如下步骤:步骤a,在DSP芯片中选择5个GPIO接口模拟McBSP接口,1个GPIO接口模拟时钟信号CLK,1个GPIO接口模拟发送帧同步信号FSX,1个GPIO接口模拟接收帧同步信号FSR,1个GPIO接口模拟接收串行数据信号DR,1个GPIO接口模拟发送串行数据信号DX;步骤b,根据需要的时钟信号CLK大小,设置一个固定周期值PRD,PRD等于CLK的倒数;根据需要发送的数据字长的位数,设置发送变量FSXCNT的值为发送的数据字长的位数;根据要接收的数据字长的位数,设置接收变量FSRCNT的值为接收的数据字长的位数;根据需要接收的有效帧周期,设置接收帧同步信号标志FSRFLAG;利用DSP软件定时器产生一个时长为PRD/2的定时器中断,并设置时钟标志位CLK_FLAG;步骤c,在DSP芯片的定时器中断处理程序中,设置发送和接收数据两个分支。2.根据权利要求1所述的一种利用GPIO接口模拟McBCP接口的方法,其特征在于,上述步骤c包括如下步骤:步骤c1,发送数据分支如下,DSP芯片判断时钟标志位CLK_FLAG为0,则将时钟标志位CLK_FLAG改为1,置输出模拟时...

【专利技术属性】
技术研发人员:戴志晃刘艳丽胡晓刚张蓓蕾李帆张蓝星
申请(专利权)人:上海航天测控通信研究所
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1