资料介绍
数字信号处理器(DSP)在各领域中的应用已日趋广泛,其中TI(TEXAS INSTRUMENT)公司的TMS320系列芯片占据了主导地位。TMS320F206(简称F206)由于具有片内32K字的Flash,支持JTAG扫描端口的仿真调试,并支持程序的串行下载,便于开发设计及产品的软件升级,因而在中高档仪器开发中受到青睐。
DSP的处理速度虽然较高,但直接支持的I/O口线较少,控制能力相对较弱,因而与外部器件接口采用串行方式较为适合。常用的串行接口和串行总线有UART、I2C总线,由于I2C总线提供了较完善的总线协议,且接口电路简单,因而得到广泛的应用。目前,已有很多外围器件支持I2C接口,但多数MCU并不直接支持I2C总线,因而采用I/O口线模拟I2C的方式成为一种通用解决方案。但由于I2C总线协议的复杂性及操作管理的特殊性,仍给此类方式的开发造成了较大不便。好在文献中提出了一种按平台模式设计的、适用于80C51的虚拟I2C总线软件包,大大简化了80C51的I2C接口程序设计,使用户无需了解I2C总线协议的细节,即可实现相应的接口。文献中也给出了一种用于MSP430单片机的软件包。由于DSP尚无此类软件包,为简化DSP的此类I2C接口程序设计,本文参照文献中的设计原则,设计了一种适用于TMS320C2XX系列DSP开发的软件包。
1 虚拟I2C软件包的设计
根据文献中所提到的最佳包容性设计、后归一化设计、前归一化设计原则,软件包进行了如下定义。
(1)适用范围
① 适用主发送和主接收方式。I2C总线有4种工作方式:主发送、主接收、从发送、从接收。因实际DSP多工作于I2C总线的主方式,因而软件包设计为主方式。
② 适用TMS320C2XX系列与I2C总线外围器件的接口,支持对外围器件N字节的读写,通信方式为对虚拟节点寻址后点对点的读写。
③ 模拟I/O口线可选择4根通用I/O口线(I/O0~ I/O4)中的任意两根。
(2)软件包结构设计
TMS320C2XX系列产品,基本包括4根通用I/O口线I/O0~I/O4(由于XF仅能作为输入口线,BIO仅能作为输出口线,因而暂不考虑)。它们的输入输出方向由ASPCR的低4位来设定,相应口线状态的设定或读取由IOSR寄存器控制。但此处DSP与80C51有所不同,口线的输入输出状态不是自动切换的,且ASPCR、IOSR寄存器都不支持位寻址方式,因而在进行I2C总线工作方式模拟时较为繁琐。为避免所用寄存器其它状态位的改变,需通过较多的与、或操作来改变指定I/O口线的状态,因而本软件包与80C51的虚拟I2C软件包结构稍有不同。当然,这些均在软件包内部完成,使用者不必了解具体细节,用户接口同样简单易用。
① 软件包组成。为模拟I2C总线的操作时序,软件包中包括了2个宏定义和12个子函数。
(a)时序模拟子程序
Sendb--发送起始标志,启动I2C总线;senda--发送确认标志;
Sendna--发送非确认标志;Sende--发送结束标志。
(b)操作模拟子程序
geta--接收确认标志;sendd--发送8位数据;
getd--接收1个字节数据。
(c)数据读写子程序
wrnbyte--写入N字节;rdnbyte--读取N字节。
(d)其它宏及子函数
subsendd--根据标志位C设置模拟数据口线的状态;toggleclk--切换模拟时钟口线状态;
Xdelay--延时子程序;Sdainm--将模拟数据口线A配置为输入口线;
sdaoutm--将模拟数据口线配置为输出。
因DSP的工作频率一般远高于I2C总线的操作频率,因而这里需专用的延时子程序降低模拟时钟口线频率。本文所给出的源程序为F206采用40 MHz晶振时的情况,用户使用时可随实际情况调整延时时间。
② 软件包符号定义。软件包中包括如下符号定义:
VSDA、VSCL--分别定义了模拟数据口线和模拟时钟口线对应的屏蔽位,因DSP中对通用I/O口线的操作不能通过位操作来实现,因而仅能屏蔽位来定义,如采用IO3模拟数据线、IO2模拟时钟线,则可定义IO3为08h、IO2为04h;
RAM0--为数据暂存用的临时存储单元;
RIO--为用于保存I/O口线当前状态的存储单元;
SLA--用于保存总线上节点地址并确定传输方向的存储单元;
NUMBYTE--待发送或接收的字节数存储单元;
MTD--发送数据缓冲区;
MRD--接收数据缓冲区。
DSP的处理速度虽然较高,但直接支持的I/O口线较少,控制能力相对较弱,因而与外部器件接口采用串行方式较为适合。常用的串行接口和串行总线有UART、I2C总线,由于I2C总线提供了较完善的总线协议,且接口电路简单,因而得到广泛的应用。目前,已有很多外围器件支持I2C接口,但多数MCU并不直接支持I2C总线,因而采用I/O口线模拟I2C的方式成为一种通用解决方案。但由于I2C总线协议的复杂性及操作管理的特殊性,仍给此类方式的开发造成了较大不便。好在文献中提出了一种按平台模式设计的、适用于80C51的虚拟I2C总线软件包,大大简化了80C51的I2C接口程序设计,使用户无需了解I2C总线协议的细节,即可实现相应的接口。文献中也给出了一种用于MSP430单片机的软件包。由于DSP尚无此类软件包,为简化DSP的此类I2C接口程序设计,本文参照文献中的设计原则,设计了一种适用于TMS320C2XX系列DSP开发的软件包。
1 虚拟I2C软件包的设计
根据文献中所提到的最佳包容性设计、后归一化设计、前归一化设计原则,软件包进行了如下定义。
(1)适用范围
① 适用主发送和主接收方式。I2C总线有4种工作方式:主发送、主接收、从发送、从接收。因实际DSP多工作于I2C总线的主方式,因而软件包设计为主方式。
② 适用TMS320C2XX系列与I2C总线外围器件的接口,支持对外围器件N字节的读写,通信方式为对虚拟节点寻址后点对点的读写。
③ 模拟I/O口线可选择4根通用I/O口线(I/O0~ I/O4)中的任意两根。
(2)软件包结构设计
TMS320C2XX系列产品,基本包括4根通用I/O口线I/O0~I/O4(由于XF仅能作为输入口线,BIO仅能作为输出口线,因而暂不考虑)。它们的输入输出方向由ASPCR的低4位来设定,相应口线状态的设定或读取由IOSR寄存器控制。但此处DSP与80C51有所不同,口线的输入输出状态不是自动切换的,且ASPCR、IOSR寄存器都不支持位寻址方式,因而在进行I2C总线工作方式模拟时较为繁琐。为避免所用寄存器其它状态位的改变,需通过较多的与、或操作来改变指定I/O口线的状态,因而本软件包与80C51的虚拟I2C软件包结构稍有不同。当然,这些均在软件包内部完成,使用者不必了解具体细节,用户接口同样简单易用。
① 软件包组成。为模拟I2C总线的操作时序,软件包中包括了2个宏定义和12个子函数。
(a)时序模拟子程序
Sendb--发送起始标志,启动I2C总线;senda--发送确认标志;
Sendna--发送非确认标志;Sende--发送结束标志。
(b)操作模拟子程序
geta--接收确认标志;sendd--发送8位数据;
getd--接收1个字节数据。
(c)数据读写子程序
wrnbyte--写入N字节;rdnbyte--读取N字节。
(d)其它宏及子函数
subsendd--根据标志位C设置模拟数据口线的状态;toggleclk--切换模拟时钟口线状态;
Xdelay--延时子程序;Sdainm--将模拟数据口线A配置为输入口线;
sdaoutm--将模拟数据口线配置为输出。
因DSP的工作频率一般远高于I2C总线的操作频率,因而这里需专用的延时子程序降低模拟时钟口线频率。本文所给出的源程序为F206采用40 MHz晶振时的情况,用户使用时可随实际情况调整延时时间。
② 软件包符号定义。软件包中包括如下符号定义:
VSDA、VSCL--分别定义了模拟数据口线和模拟时钟口线对应的屏蔽位,因DSP中对通用I/O口线的操作不能通过位操作来实现,因而仅能屏蔽位来定义,如采用IO3模拟数据线、IO2模拟时钟线,则可定义IO3为08h、IO2为04h;
RAM0--为数据暂存用的临时存储单元;
RIO--为用于保存I/O口线当前状态的存储单元;
SLA--用于保存总线上节点地址并确定传输方向的存储单元;
NUMBYTE--待发送或接收的字节数存储单元;
MTD--发送数据缓冲区;
MRD--接收数据缓冲区。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- I2C模块arduinoio Simulink软件包 0次下载
- 基于DSP虚拟I2C总线软件包的设计分析 0次下载
- DSP虚拟I2C总线软件包的设计 0次下载
- 基于I2C总线的处理器的联网设计方案 11次下载
- 虚拟I2C总线汇编程序软件包 19次下载
- 24系列I2C软件包使用说明 9次下载
- 基于CPLD的I2C总线接口设计
- I2C总线在Linux系统中的驱动设计
- I2C总线应用中的几个问题
- i2c总线的特点
- I2C 串行总线技术在DSP 系统中的虚拟实现The Sim
- 模拟I2C总线多主通信的通用软件包
- 模拟I2C总线多主通信的通用软件包
- 模拟I2C总线C51程序软件包
- i2c总线ppt(I2C总线器件应用) 0次下载
- Linux I2C驱动入门知识科普 1515次阅读
- i2c总线用来做什么_i2c总线数据传输过程 7086次阅读
- I2C总线驱动的C语言源程序详细说明 5050次阅读
- 基于I2C总线应用呼唤平台模式实现VIIC1.0软件包的设计 845次阅读
- I2C总线的工作原理以及优缺点解析 1.4w次阅读
- 基于DSP虚拟I2C总线软件包的结构设计 998次阅读
- 基于MCS-51单片机I2C总线接口电路的设计 3245次阅读
- I2C总线技术在HDTV数字地面接收机中的应用解析 974次阅读
- I2C总线的工作原理解析 6413次阅读
- I2C总线的特点与构成详解 1w次阅读
- I2C总线的特点、控制技术与传输分析 9911次阅读
- i2c总线相关知识 3409次阅读
- 《振南电子STM32视频教程》第八讲:I2C总线 1077次阅读
- 基于FPGA的I2C SLAVE模式总线的设计方案 1.3w次阅读
- 虚拟I2C总线串行显示电路介绍 3364次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多