专题 DSP McBSP设计 制作:DSP技术中心 主讲:李玉柏 WWW.DSPSOLUTION.COM.

Slides:



Advertisements
Similar presentations
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
Advertisements

存储基础知识 V1.1.
CHAPTER 9 虛擬記憶體管理 9.2 分頁需求 9.3 寫入時複製 9.4 分頁替換 9.5 欄的配置法則 9.6 輾轉現象
TMS320F2812串行外设接口 Serial Peripheral Interface (SPI)
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
卷积 有限冲激响应(FIR)数字滤波器 无限冲激响应(IIR)数字滤波器 快速傅立叶变换(FFT) 第8章 数字信号处理典型算法程序设计
CHAP 2 Computer-System Structures 计算机系统结构
Chapter 2: Computer-System Structures计算机系统结构
最新計算機概論 第3章 計算機組織.
第4章 VHDL设计初步.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
序列埠通訊.
100學年度 教師教學媒體製作觀摩 氣壓丙級檢定術科教材之一 機械系 副教授 王俊斌 日期:
Chapter 13 輸入/輸出系統 (I/O Systems)
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
加速度計 指導老師 : 洪正瑞 製作人 : 蔡昌佑.
CH.2 Introduction to Microprocessor-Based Control
FC OB1 FB SFC 操作系统 SFB OBs 结构化编程 其它
4-10 STM Timer/Counter 與比較吻合輸出
第7章 常用数字接口电路.
第7章 中斷系統.
第7章 单片机系统的串行扩展 西安思源学院 电子信息工程学院 1.
Timer & KEYPAD 11/24.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
不断变迁的闪存行业形势 Memory has changed, especially serial - from a low cost, low pin count, slow memory to an advanced, high performance memory solution to save.
结构化编程 FC OB1 FB SFC 操作系统 SFB OBs 其它
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
5 Computer Organization (計算機組織).
第7章 汇编语言程序设计 7.1 程序流程控制 7.2 数据块传送 7.3 定点数的基本算术运算 7.4 长字运算和并行运算
8051's UART mode0 output 通訊二甲 B 洪紹凱.
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
定点数字信号处理器(DSP) 技术与应用 16位定点DSP—ADSP218X/219X.
Ch 9: Input/Output System 输入/输出系统
Kinco 智能伺服编程软件基础
… 第一节 外设的定时方式与信息交换 一、外围设备的定时方式 CPU 1、速度极慢或简单的外围设备 2、慢速或中速的外围设备
Danny Mok Altera HK FAE AHDL培训教材 Danny Mok Altera HK FAE 2018/12/9 P.1.
第15章 串行通信及接口电路.
實驗1 Streaking isolation of bacteria 細菌劃線分離
第14章 其它DSP设计库 14.1 总线控制库 14.2 复数信号库 14.3 Gates库 14.4 状态机函数库
TMS320C6000系列DSPs简介 使用DSPs的必要性 实时DSP系统的构成 DSPs针对DSP算法的结构特点
智慧電子應用設計導論(1/3) Display
‘C54x寻址方式 ‘C54x特殊寻址方式说明 ‘C54x指令集 ‘C54x特殊指令使用说明
JTAG INTERFACE SRAM TESTER WITH C-LCM
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议
1.3 微型计算机的结构和工作原理.
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
操作系统原理与设计 Operating Systems: Design and Implementation
第一次上机安排 第六周 第七周 周一晚(提高1、2,通信001~012) 周二上(通信014~085) 周四上(通信086~154)
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
5-6 串列埠模式0輸出埠擴充實習.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
嵌入式系统实验 ● 交叉开发实验 ● 仿真开发实验.
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
第六章 記憶體.
实验2 中断模拟实验.
可编程序控制器(PLC)应用技术 第 5 部分 PLC程序的设计.
UART通信实验(二) McBSP软件模拟异步通信
符号 目录 页 绝对寻址和符号寻址… 符号寻址- 概述… 打开符号表 编辑:查找和替换…… 查看:过滤器 … 查看:排序…… 符号表:导出
F1-20P PLC简易编程器的使用.
第六章 S3C2410的串口UART及编程 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)
FPPA 程式設計 這一章開始正式進入FPPA程式設計的世界,我會從一個簡單的程式開始解說,一邊介紹專案開發時最常應用的技巧還有程式控制的手段,一邊把系統規畫的概念導入給大家,讓大家對專案的規畫能有一個初步的概念。
Link Layer &一點點的Physical Layer
步進階梯應用 步進階梯指令(STL) 、(RET) STL [S1] :步進階梯開始 ( ) 指令長度: 1 Step
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
第10章 串行外设接口SPI SPI:高速同步串行输入/输出端口,传送速率可编程,
Presentation transcript:

专题 DSP McBSP设计 制作:DSP技术中心 主讲:李玉柏 WWW.DSPSOLUTION.COM

PART ONE: McBSP基础 McBSP基本特性 McBSP概述 串口的基本配置 串口的接收控制 串口的发送控制 采样率发生器及采样率发生控制器寄存器 多通道工作模式

一、McBSP基本特性 McBSP设计是基于TMS320C2X、C20X、C5X、C54X的标准串口上扩展的,McBSP提供:  全速双工通信  双缓存发送和三缓存接收数据寄存器,以支持连续传送  收和发使用独立的帧和时钟  直接与多媒体数字信号编解码器的工业标准接口,以及有模拟接口和与串行ADC/DAC的接口  外部变速时钟发生器,内部可编程时钟发生器

McBSP还有下列功能  直接与下列格式接口  多通道收发,通道数达128 _ T1/E1 framers _ MVIP switching compatible and ST-BUS compliant devices including: _ MVIP framers _ H.100 framers _ SCSA framers _ IOM-2 compliant devices _ AC97 compliant devices _ IIS compliant devices _ SPI_ devices  多通道收发,通道数达128  字宽可选: 8, 12, 16, 20, 24, and 32 bits  U-Law and A-Law 压缩与扩展  8位传输时可选先传: LSB or MSB  帧信号与时钟信号极性可编程

二、McBSP概述

 McBSP与外设进行数据传输是通过(DX)脚来发送,(RX)脚来接收,通信的时钟与帧信号是由CLKX, CLKR, FSX, and FSR脚来控制。  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串口的数字环回模式、 接收符号扩展和校验模式、Clock Stop模式、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接收时第一相(FIRST PHASE)的接收帧长度(从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发送时第一相(FIRST PHASE)的发送帧长度(从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的块结构、当前可接收块、接收多通道选择。

3)、接收、发送通道使能寄存器说明(图中各位:置1-使能,置0-不允许) 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

PART TWO: McBSP编程 McBSP的复位操作与初始化 McBSP的中断与DMA事件 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) Set XRST = RRST = FRST = 0 in SPCR[1,2]. If coming out of device re-set, this step is not required. 2) Program only the McBSP configuration registers (and not the data regis-ters) listed in Table-1 McBSP Registers, as required when the serial port is in reset state (XRST = RRST = FRST = 0).

3) Wait for two bit clocks. This is to ensure proper synchronization internally. 4) Set up data acquisition as required such as writing to DXR. 5) Set XRST = RRST= 1 to enable the serial port. Note that the value written to SPCR[1,2] at this time should have only the reset bits changed to 1, and the remaining bit-fields should have the same value as in step 2 above. 6) Set FRST = 1, if internally generated frame sync is required. 7) Wait two bit clocks for the receiver and transmitter to become active. Alternatively, on either write (steps 1 and 5), the transmitter and receiver may be placed in or taken out of reset individually by modifying the desired bit. Note that the necessary duration of the active-low period of XRST or RRST is at least two bit-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有效,该数据可以被CPU or DMA读,一旦CPU or DMA读走数据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 (XEVT or XEVTA),同时,如果SPCR2中XINTM = 00,XRDY 还直接驱动发送中断(XINT) 给CPU。

三、帧与时钟配置 McBSP串口的帧和时钟配置包含下列关键项的设置: 设置FSR, FSX, CLKX, and CLKR的极性 选择单相或双相帧结构 对每一相,设置字数(每帧该相有多少字) 对每一相,设置字宽(字的比特位数) 设置连续帧同步工作模式,还是除第一个帧脉冲后忽略帧同步脉冲工作模式 设置相对帧脉冲,第一位传输数据的延迟为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数据压缩与扩展说明  编写接收与发送中断程序 关于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)

8、 A-law数据压缩编码 9、 A-law数据扩展公式

10、 A-law数据扩展解码

11、 u-law或A-law数据编码特殊说明: 符号位:1--代表正,0--代表负(与计算机对数据的 正负号表示相反) PCM编码时,正负数的编码是以绝对值进行二进制编码 TI的DSP在进行u-law或A-law数据压缩后先异或0x55, 在进行传输

详细程序及说明 ;; This is McBSP test program. The work-mode of McBSP Series: ;; BLD=1 (Digital loop back mode enabled) ;; RCOMPAND=10 or 11 (u-law/A-law Expand: 8bits -> 16bits) ;; (R/X)INTM=00 (generate an interrupt every word traxsmitted) ;; ar3 -> Transmit data buffer(buffer_1) ;; ar4 -> receive data buffer(buffer_2) ;; The program is applicable for VC5409 ;; Designed by liyubai ;; Modifing 1.0 Time 2001,6,28 .title "Test McBSP Program" .mmregs .global mainstart .global interrupt_vector drr11 .set 41h ;McBSP1 receive data register dxr11 .set 43h ;McBSP1 transmit data register spsa1 .set 48h ;McBSP1 sub_bank address register

spcd1 .set 49h ;McBSP1 sub_bank data register .bss stack_memory,500 .bss buffer_1,1000 .bss buffer_2,1000 interrupt_vector: ;interrupt vector table .text rs b mainstart nop nmi b __ret .word 0,0 sint17 b __ret sint18 b __ret sint19 b __ret sint20 b __ret

sint21 b __ret .word 0,0 sint22 b __ret sint23 b __ret sint24 b __ret sint25 b __ret sint26 b __ret sint27 b __ret sint28 b __ret sint29 b __ret sint30 b __ret int0 b __ret .word 0,0 int1 b __ret int2 b __ret tint b __ret brint0 b __ret bxint0 b __ret dmac0 b __ret dmac1 b __ret int3 b __ret hpint b __ret

bc ts,aneq brint1 b McBSP1_receive_int nop bxint1 b McBSP1_transmit_int q28 .word 0,0,0,0 q29 .word 0,0,0,0 q30 .word 0,0,0,0 q31 .word 0,0,0,0 mainstart: ssbx intm ;close all interrupt stm #0ffffh,ifr ;cleare all interrupt_flag stm #0,clkmd ;switch to DIV mode ts: ldm clkmd,a and #01b,a bc ts,aneq stm #5207h,clkmd ;clkout=clkin X 6 rpt #100 ;waits enough clocks

nop stm #stack_memory,sp ;sp => stack_memory stm #0ff80h,pmst ;vector table start: 0xff80 stm #3610h,swwsr ;I/O wait: 3clks, data_0x8000- ;0xffff wait:3clks ;program_0x8000-0xffff ;wait:2clks call Clear_McBSP1_receive_buf call McBSP1_initializing rpt #0ffh stm #buffer_1,ar3 stm #buffer_2,ar4 ld #799,b ;pre_put numberS of McBSP interrupt stm #1800h,imr ;enable RINT1,XINT1 rsbx intm ;enable all int wait_McBSP_int:

nop bc __ret,beq b wait_McBSP_int __ret: nop rete McBSP1_initializing: stm #0,spsa1 ;choose SPCR11 stm #08000h,spcd1 ;1000000000000000 => SPCR11. ;DLB(15)=1(Digital loop back moden enabled) ;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)=0 stm #1,spsa1 ;choose spcr21

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)=0 stm #2,spsa1 ;choose RCR11 stm #0,spcd1 ;0000000000000000 => RCR11. ;RES(15)=0,RFRLEN1(14-8)=000 0000 ;RWDLEN1(7-5)=000,RES(4-0)=0 0000 stm #3,spsa1 ;choose RCR21 stm #10H,spcd1 ;0000000000010000 => RCR21. ;RPHASE(15)=0,RFRLEN2(14-8)=000 0000 ;RWDLEN2(7-5)=000,RCOMPAND(4-3)=10(u-law EXPAND) ;RFIG(2)=0,RDATDLY(1-0)=00 stm #4,spsa1 ;choose XCR11 stm #0,spcd1 ;0000000000000000 => XCR11. ;RES(15)=0,XFRLEN1(14-8)=000 0000 ;XWDLEN1(7-5)=000,RES(4-0)=0 0000 stm #5,spsa1 ;choose XCR21 stm #0,spcd1 ;0000000000000000 => XCR21. ;XPHASE(15)=0,XFRLEN2(14-8)=000 0000

;XWDLEN2(7-5)=000,XCOMPAND(4-3)=00(No compand) ;XFIG(2)=0,XDATDLY(1-0)=00 stm #6,spsa1 ;choose SRGR11 stm #10fh,spcd1 ;0000000100001111 => SRGR11 ;FWID(15-8)=0000 0001,CLKGDV(7-0)=0000 1111 stm #7,spsa1 ;choose SRGR21 stm #0300FH,spcd1 ;0011000000010011 => SRGR21 ;GSYNC(15)=0,CLKSP(14)=0,CLKSM(13)=1(use CPU_clk) ;FSGM(12)=1(Internal SRG generate Transmit FS) ;FPER(11-0)=0000 0000 1111 stm #0eh,spsa1 ;choose PCR1 stm #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)=1 rpt #0ffh nop stm #055h,dxr11 ;first data writed to dxr11

stm #0,spsa1 ;choose SPCR11 stm #08001h,spcd1 ;1000000000000001 => SPCR11. ;McBSP1 receive enabled. stm #1,spsa1 ;choose spcr21 stm #0c1h,spcd1 ;0000000011000001 => SPCR21. ;McBSP1 sample rate generator,transmit enabled. nop rete Clear_McBSP1_receive_buf: stm #buffer_2,ar4 rpt #999 st #0,*ar4+

McBSP1_receive_int: sub #1,b ldm drr11,a stl a,*ar4+ nop rete McBSP1_transmit_int: ld *ar3+,a xor #055h,a stlm a,dxr11 .end

谢谢大家! 联系电话:(028)3201455 E-mail:ybli@postoff1.uestc.cn