《McBSP设计》PPT课件.ppt

上传人:san****019 文档编号:7349121 上传时间:2020-03-20 格式:PPT 页数:58 大小:744.10KB
返回 下载 相关 举报
《McBSP设计》PPT课件.ppt_第1页
第1页 / 共58页
《McBSP设计》PPT课件.ppt_第2页
第2页 / 共58页
《McBSP设计》PPT课件.ppt_第3页
第3页 / 共58页
点击查看更多>>
资源描述
制作 DSP技术中心主讲 李玉柏WWW DSPSOLUTION COM DSPMcBSP设计 PARTONE McBSP基础 McBSP基本特性McBSP概述串口的基本配置串口的接收控制串口的发送控制采样率发生器及采样率发生控制器寄存器多通道工作模式 一 McBSP基本特性McBSP设计是基于TMS320C2X C20X C5X C54X的标准串口上扩展的 McBSP提供 全速双工通信 双缓存发送和三缓存接收数据寄存器 以支持连续传送 收和发使用独立的帧和时钟 直接与多媒体数字信号编解码器的工业标准接口 以及有模拟接口和与串行ADC DAC的接口 外部变速时钟发生器 内部可编程时钟发生器 McBSP还有下列功能 直接与下列格式接口 T1 E1framers MVIPswitchingcompatibleandST BUScompliantdevicesincluding MVIPframers H 100framers SCSAframers IOM 2compliantdevices AC97compliantdevices IIScompliantdevices SPI devices 多通道收发 通道数达128 字宽可选 8 12 16 20 24 and32bits U LawandA Law压缩与扩展 8位传输时可选先传 LSBorMSB 帧信号与时钟信号极性可编程 二 McBSP概述 McBSP与外设进行数据传输是通过 DX 脚来发送 RX 脚来接收 通信的时钟与帧信号是由CLKX CLKR FSX andFSR脚来控制 DSP的CPU或DMA从数据接收寄存器 DRR 1 2 读取接收数据 发送时向数据发送寄存器 DXR 1 2 写数据 数据写入 DXR 1 2 后通过传输移位寄存器 XSR 1 2 移位输出到DX上 同样 从DR上接收的数据移位存储到接收移位寄存器 RSR 1 2 并拷贝到接收缓存寄存器 RBR 1 2 然后 再由 RBR 1 2 拷贝到DRR 1 2 DRR 1 2 就可以由CPU或DMA来读出 多级寄存器允许在通信时内部和外部数据同时传输 C54XX对McBSP的控制由16位的控制寄存器实现 三 串口的基本配置1 McBSP的中断和事件 2 McBSP控制寄存器 3 串口控制寄存器1的详细说明 SPCR1 SPCR1设置McBSP串口的数字环回模式 接收符号扩展和校验模式 ClockStop模式 DX是否允许 A bis模式 接收中断模式等 并给出接收同步错误 接收移位寄存器 RSR 1 2 空 接收准备好等状态 此外可以进行接收复位 4 串口控制寄存器2的详细说明 SPCR2 SPCR2设置McBSP自由运行模式 SOFT模式 发送中断模式 并给出发送同步错误 发送移位寄存器 XSR 1 2 空 发送准备好等状态 此外可以进行发送复位 采样率发生器复位 帧同步发生电路复位 5 引脚控制寄存器的详细说明 PCR PCR设置McBSP传输帧同步模式 接收帧同步模式 发送时钟模式 接收时钟模式 发送帧同步信号的极性 接收帧同步信号的极性 发送时钟极性 接收时钟极性 并给出CLKS DX DR脚的状态 此外PCR还定义发送和接收部分在复位时相应引脚是否配置为通用I O 四 串口的接收控制1 接收控制寄存器1 RCR1 说明 RCR1设置McBSP接收时第一相 FIRSTPHASE 的接收帧长度 从1个字到128个字 接收字长度 8 12 16 20 24 32bits 2 接收控制寄存器2 RCR2 说明 RCR2设置McBSP接收时是否允许第二相 RPHASE 1 如果允许 设置McBSP接收时第二相的接收帧长度 从1个字到128个字 接收字长度 8 12 16 20 24 32bits 此外 RCR2设置McBSP接收时的接收压缩模式 接收同步帧忽略模式 接收数据延迟 五 串口的发送控制1 发送控制寄存器1 XCR1 说明 XCR1设置McBSP发送时第一相 FIRSTPHASE 的发送帧长度 从1个字到128个字 发送字长度 8 12 16 20 24 32bits 2 发送控制寄存器2 XCR2 说明 XCR2设置McBSP发送时是否允许第二相 XPHASE 1 如果允许 设置McBSP时第二相的发送帧长度 从1个字到128个字 发送字长度 8 12 16 20 24 32bits 此外 XCR2设置McBSP发送时的发送压缩模式 发送同步帧忽略模式 发送数据延迟 六 采样率发生器及采样率发生控制器寄存器 1 采样率发生器概述 采样率发生器由三级分频电路产生数据移位时钟 CLKG 和帧信号 FSG 这两个McBSP内部信号CLKG和FSG被用作收发时钟 CLKR X 和帧时钟 FSR X 如果选择内部采样率发生器 采样率发生器的输入时钟可以是CPU始终或外部时钟 CLKS 受 SRGR2 的CLKSM位控制 采样率发生器的三级分频分别是 数据位时钟分频 CLKGDV 帧周期分频 FPER 帧脉冲宽度分频 FWID 采样率发生器的工作模式由采样率发生器控制寄存器控制 2 采样率发生器控制寄存器 SRGR1 2 采样率发生器寄存器1 SRGR1 设置帧正脉冲宽度 必须小于WDLEN指出的字的长度 和数据位时钟分频 CLKG与输入CLK频率之比 约定值为1 采样率发生器寄存器2 SRGR2 设置采样率发生器时钟同步模式 CLKS的极性 采样率发生器输入时钟选择 帧周期分频 七 McBSP的多通道工作 1 多通道工作模式的控制寄存器 1 多通道控制寄存器1 MCR1 MCR1设置McBSP在多通道工作模式时的接收PART B的块结构 接收PART A的块结构 当前可接收块 接收多通道选择 2 多通道控制寄存器2 MCR2 说明 MCR2设置McBSP在多通道工作模式时的发送PART A块结构 发送PART B块结构 当前发送块 发送多通道选择 3 接收 发送通道使能寄存器说明 图中各位 置1 使能 置0 不允许 2 多通道工作模式设置设置 R X PHASE 0选择单相工作模式设置FRLEN1 选择帧长 字数 也是多通道工作模式下的通道数 最多可达128 设置字长WDLEN1 每通道传输多少bits 如果是单通道连续工作 置RMCM 0X和MCM 0如果是多通道工作 设置RP A B BLK XP A B BLK RCER A B XCER A B 并置RMCM 1 XMCM位非0 SPI模式 SPI模式 SPI模式 SPI模式 SPI模式 SPI模式 master SPI模式 slave PARTTWO McBSP编程 McBSP的复位操作与初始化McBSP的中断与DMA事件McBSP的帧与时钟编程McBSP的接收流程McBSP的发送流程a law u law数据压扩编程举例 一 McBSP串口的复位 1 McBSP串口的复位方式设备复位 RS 0 即整个串口复位 此时 RRST和 XRST为零 DR CLKR X FSR X为输入信号 DX为输出信号 输出高祖态 同时 GRST也为零 CLKG CPU时钟 2 不产生FSG信号 RS放开后 RRST XRST GRST FRST仍为零 此时 McBSP配置寄存器赋值和变成 复位进入McBSP复位 McBSP复位 McBSP串口发送器和接收器可以分别复位 RRST 0 XRST 0 FRST 0 不论是接收还是发送的复位 相应部分都将停止串口操作 而相应引脚当作I O脚使用 由PCR的XIOEN RIOEN决定 特殊说明采样率发生器复位 设备复位或置 GRST为零可以复位采样率发生器 采样率发生器复位时 CLKG等于CPU CLK 2 而FSG驱动为低 当 RS放开 延迟 GRST放开后 CLKG按SRGR1编程产生 如果 FRST也放开 则经过FPER个CLKG FSG驱动为高 2 下面给出串口初始化的处理过程1 SetXRST RRST FRST 0inSPCR 1 2 Ifcomingoutofdevicere set thisstepisnotrequired 2 ProgramonlytheMcBSPconfigurationregisters andnotthedataregis ters listedinTable 1McBSPRegisters asrequiredwhentheserialportisinresetstate XRST RRST FRST 0 3 Waitfortwobitclocks Thisistoensurepropersynchronizationinternally 4 SetupdataacquisitionasrequiredsuchaswritingtoDXR 5 SetXRST RRST 1toenabletheserialport NotethatthevaluewrittentoSPCR 1 2 atthistimeshouldhaveonlytheresetbitschangedto1 andtheremainingbit fieldsshouldhavethesamevalueasinstep2above 6 SetFRST 1 ifinternallygeneratedframesyncisrequired 7 Waittwobitclocksforthereceiverandtransmittertobecomeactive Alternatively oneitherwrite steps1and5 thetransmitterandreceivermaybeplacedinortakenoutofresetindividuallybymodifyingthedesiredbit Notethatthenecessarydurationoftheactive lowperiodofXRSTorRRSTisatleasttwobit clocks CLKR CLKX wide 二 McBSP串口产生的中断与事件 1 串口与CPU之中断 R X INTM 00 每传送一个字 R X RDY响应一次 就产生响应串口中断一次 此时 同时产生DMA事件 R X INTM 01 在多通道模式中 一个帧内出现16通道的块 PARTITION 边界就产生中断 此时CPU可以检测是哪个PARTITION R X INTM 10 检测到帧同步脉冲就产生 R X INT R X INTM 11 当出现帧同步错误时产生中断 2 McBSP的准备好之状态接收准备好 RRDY REVT RINT 串口复位时RRDY清为0 当RBR 1 2 内容拷贝到DRR 1 2 时 RRDY有效 该数据可以被CPUorDMA读 一旦CPUorDMA读走数据RRDY又清为0 RRDY直接驱动McBSP接收事件给DMA REVT 同时如果SPCR1中的RINTM 00 RRDY将驱动McBSP的接收中断 RINT 给CPU 发送准备好 XRDY XEVT XINT XRDY 1说明DXR 1 2 的数据已拷贝到XSR 1 2 中 DXR 1 2 可以装入新的数据 串口复位放开时 XRST从0到1 XRDY从0变到1已说明DXR 1 2 可以装入新数据 一旦有新数据装入 XRDYJIU就清为0 XRDY直接驱动发送同步事件到DMA XEVTorXEVTA 同时 如果SPCR2中XINTM 00 XRDY还直接驱动发送中断 XINT 给CPU 三 帧与时钟配置McBSP串口的帧和时钟配置包含下列关键项的设置 设置FSR FSX CLKX andCLKR的极性选择单相或双相帧结构对每一相 设置字数 每帧该相有多少字 对每一相 设置字宽 字的比特位数 设置连续帧同步工作模式 还是除第一个帧脉冲后忽略帧同步脉冲工作模式设置相对帧脉冲 第一位传输数据的延迟为0 1 2位 CLKG 对串口接收 设置左或右效验和符号扩展或0填充模式如果采用内部采样率发生器产生帧脉冲信号 设置帧信号脉宽 周期 CLKG时钟分频等 四 u LAW A LAW压缩操作 McBSP通过 R X COMPAND的控制支持是否进行压缩传输 如果支持压缩传输 R X WDLEN 1 2 必须设置位00 而传送给CPU或DMA的数据至少是16位 利用串口的压缩功能可以实现数据的内部压缩 而不占用很多DSP的资源 其方法有二 1 当串口接收和发送都复位时 串口的压缩和扩展逻辑电路是内部连接的 即DXR1与DRR1通过压缩 扩展电路相连 如下图4所示 此时设置XCOMPAND或RCOMPAND之一就可以实现数据的压缩和解压 向DXR1发送的数据经过4个CPU周期后 就可以从DRR1上读出 该方法的优点是速度快 缺点是没有帧同步以便CPU或DMA进行流程控制 2 采用数据环回模式 设置XCOMPAND或RCOMPAND之一也可以实现数据的压缩和解压 此时CPU的中断或DMA的事件可以进行传输的流程控制 并且 传输速度可调 五 编程举例 下面给出一个McBSP串口实验程序 这是一个串口自测试程序 除检验串口的功能外 该程序还利用串口完成数据的内部压缩 通过设置XCOMPAND或RCOMPAND之一可以实现内部数据A law或u law的压缩和解压 程序的流程是 修改中断向量表 初始化McBSP串口设置BLD 1 即支持数字回环方式设置RCOMPAND 10 即采用u law扩展ar3指向发送数据缓冲区ar4指向接收数据缓冲区 初始化将接收数据缓冲区全部清为0 编写接收与发送中断程序关于A law u law数据压缩与扩展说明1 u law数据压缩公式 其中对于美国和日本的标准 u取255 2 u law数据压缩曲线 3 u law数据压缩编码 4 u law数据扩展公式 5 u law数据扩展解码 6 A law数据压缩公式 A law是CCITT推荐的标准 欧洲采用A 87 6 7 A law数据压缩曲线 8 A law数据压缩编码 9 A law数据扩展公式 10 A law数据扩展解码 11 u law或A law数据编码特殊说明 符号位 1 代表正 0 代表负 与计算机对数据的正负号表示相反 PCM编码时 正负数的编码是以绝对值进行二进制编码TI的DSP在进行u law或A law数据压缩后先异或0 x55 在进行传输 详细程序及说明 ThisisMcBSPtestprogram Thework modeofMcBSPSeries BLD 1 Digitalloopbackmodeenabled RCOMPAND 10or11 u law A lawExpand 8bits 16bits R X INTM 00 generateaninterrupteverywordtraxsmitted ar3 Transmitdatabuffer buffer 1 ar4 receivedatabuffer buffer 2 TheprogramisapplicableforVC5409 Designedbyliyubai Modifing1 0Time2001 6 28 title TestMcBSPProgram mmregs globalmainstart globalinterrupt vectordrr11 set41h McBSP1receivedataregisterdxr11 set43h McBSP1transmitdataregisterspsa1 set48h McBSP1sub bankaddressregister spcd1 set49h McBSP1sub bankdataregister bssstack memory 500 bssbuffer 1 1000 bssbuffer 2 1000interrupt vector interruptvectortable textrsbmainstartnopnopnmib ret word0 0sint17b ret word0 0sint18b ret word0 0sint19b ret word0 0sint20b ret word0 0 sint21b ret word0 0sint22b ret word0 0sint23b ret word0 0sint24b ret word0 0sint25b ret word0 0sint26b ret word0 0sint27b ret word0 0sint28b ret word0 0sint29b ret word0 0sint30b ret word0 0 int0b ret word0 0int1b ret word0 0int2b ret word0 0tintb ret word0 0brint0b ret word0 0bxint0b ret word0 0dmac0b ret word0 0dmac1b ret word0 0int3b ret word0 0hpintb ret word0 0 brint1bMcBSP1 receive intnopnopbxint1bMcBSP1 transmit intnopnopq28 word0 0 0 0q29 word0 0 0 0q30 word0 0 0 0q31 word0 0 0 0mainstart ssbxintm closeallinterruptstm 0ffffh ifr cleareallinterrupt flagstm 0 clkmd switchtoDIVmodets ldmclkmd aand 01b abcts aneqstm 5207h clkmd clkout clkinX6rpt 100 waitsenoughclocks nopstm stack memory sp sp stack memorystm 0ff80h pmst vectortablestart 0 xff80stm 3610h swwsr I Owait 3clks data 0 x8000 0 xffffwait 3clks program 0 x8000 0 xffff wait 2clkscallClear McBSP1 receive bufcallMcBSP1 initializingrpt 0ffhnopstm buffer 1 ar3stm buffer 2 ar4ld 799 b pre putnumberSofMcBSPinterruptstm 1800h imr enableRINT1 XINT1rsbxintm enableallintwait McBSP int nop nopbc ret beqnopnopbwait McBSP intnop ret nopreteMcBSP1 initializing stm 0 spsa1 chooseSPCR11stm 08000h spcd1 1000000000000000 SPCR11 DLB 15 1 Digitalloopbackmodenenabled RJUST 14 13 00 CLKSTP 12 11 00 RES 10 8 000 DXENA 7 0 ABIS 6 0 RINTM 5 4 00 RSYNCERR 3 0 RFULL 2 0 RRDY 1 0 RRST 0 0stm 1 spsa1 choosespcr21 stm 0h spcd1 0000000000000000 SPCR21 RES 15 10 000000 FREE 9 0 SOFT 8 0 FRST 7 0 GRST 6 0 XINT 5 4 00 XSYNCERR 3 0 XFULL 2 0 XRDY 1 0 XRST 0 0stm 2 spsa1 chooseRCR11stm 0 spcd1 0000000000000000 RCR11 RES 15 0 RFRLEN1 14 8 0000000 RWDLEN1 7 5 000 RES 4 0 00000stm 3 spsa1 chooseRCR21stm 10H spcd1 0000000000010000 RCR21 RPHASE 15 0 RFRLEN2 14 8 0000000 RWDLEN2 7 5 000 RCOMPAND 4 3 10 u lawEXPAND RFIG 2 0 RDATDLY 1 0 00stm 4 spsa1 chooseXCR11stm 0 spcd1 0000000000000000 XCR11 RES 15 0 XFRLEN1 14 8 0000000 XWDLEN1 7 5 000 RES 4 0 00000stm 5 spsa1 chooseXCR21stm 0 spcd1 0000000000000000 XCR21 XPHASE 15 0 XFRLEN2 14 8 0000000 XWDLEN2 7 5 000 XCOMPAND 4 3 00 Nocompand XFIG 2 0 XDATDLY 1 0 00stm 6 spsa1 chooseSRGR11stm 10fh spcd1 0000000100001111 SRGR11 FWID 15 8 00000001 CLKGDV 7 0 00001111stm 7 spsa1 chooseSRGR21stm 0300FH spcd1 0011000000010011 SRGR21 GSYNC 15 0 CLKSP 14 0 CLKSM 13 1 useCPU clk FSGM 12 1 InternalSRGgenerateTransmitFS FPER 11 0 000000001111stm 0eh spsa1 choosePCR1stm 0c01h spcd1 0000101000000001 PCR1 RES 15 14 00 XIOEN 13 0 RIOEN 12 0 FSXM 11 1 FSRM 10 0 CLKXM 9 1 CLKRM 8 0 RES 7 0 CLKS STAT 6 0 DX STAT 5 0 RX STAT 4 0 FSXP 3 0 FSRP 2 0 CLKXP 1 0 CLKRP 0 1rpt 0ffhnopstm 055h dxr11 firstdatawritedtodxr11 stm 0 spsa1 chooseSPCR11stm 08001h spcd1 1000000000000001 SPCR11 McBSP1receiveenabled stm 1 spsa1 choosespcr21stm 0c1h spcd1 0000000011000001 SPCR21 McBSP1samplerategenerator transmitenabled nopnopreteClear McBSP1 receive buf stm buffer 2 ar4rpt 999st 0 ar4 nopnoprete McBSP1 receive int sub 1 bldmdrr11 astla ar4 nopreteMcBSP1 transmit int ld ar3 axor 055h astlma dxr11noprete end 谢谢大家 联系电话 028 3201455E mail ybli
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!