芯片资讯
- 发布日期:2024-11-18 07:21 点击次数:190 介绍DSPDigital Signal Pricessing和Digital Signal Pricessor的缩写前者指Digital Signal处理的理论和方法,while后者指使用For Digital Signal处理的可编程微处理器。TMS320F240系列是基于TMS320F2000TM平台的A定点DSP芯片。它是A 16位定点DSP专门设计的For Digital电机控制和其他控制应用系统。它结合了DSP的高速运行功能和电机强大的控制能力,为For控制系统的应用提供了理想的解决方案。TMS320F240芯片内外有A 16位同步串行外设接口(SPI)、A SCI模块For串行通信接口、A双10位模数转换器、A看门狗定时器模块interrupt (WDT)、A锁相环(锁相环)时钟发生器。此外,还集成了两个事件管理模块EVA和EVB。因此,TMS320F240不仅具有高速数据处理能力,还具有控制和事件管理能力,能够完成人机界面、与上位机的串行通信等功能。. 2串行通信接口模块SCI接收器和发送器是双缓冲的,每个都有自己独立的enable和interrupt标志。两者都可以单独工作或以全双工模式工作。为了确保数据的完整性,SCI对接收的数据执行不连续检测、奇偶校验、超时和帧错误检查。通过A 16位波特率选择寄存器,可以通过多种不同方式将数据传输速度编程为65535。SCI的串行通信接口包括SCIRXD(串行通信数据接收)和SCITXD(串行通信数据传输)。不使用SCI时,这两个引脚也可以用作通用输入/输出端口。发送和接收操作可以通过使用状态标志位的interrupt驱动或查询算法来完成。与之相关的Main寄存器有:发送缓冲寄存器SCITXBUF接收缓冲寄存器SCIRCBUF和接收仿真缓冲寄存器SCIRXEMU。通信控制寄存器SCICCR interrupt enable和内部时钟enable SCICTL1和SCICTL2、波特率选择高字节寄存器SCIHBAUD波特率选择低字节寄存器SCILBAUD优先级控制寄存器SCIPRI引脚控制功能SCIPC2和反映通信状态的SCIXST等。串行通信接口模块有两种多处理器通信协议:空闲线多处理器模式和地址多处理器模式。空闲线路模式在地址前留出A固定空间。该模式没有额外的地址/数据位,在处理包含10个字节以上的数据块时比地址位模式更有效。地址位模式为每个字节添加一个额外的位(地址位),以区分地址和数据。这种模式在处理多个小数据块时更有效。. 3 RS-485串行通信尽管。RS-232已被广泛接受,但在现代网络通信中,它有明显的缺点,如数据传输速度慢,接口信号之间容易干扰。RS-232只能传输15米,不能满足长距离传输的要求,while RS-485的A最大传输距离为1200米,A最大传输速率为10 Mb/s,因此在电信和多机总线系统中具有很大的吸引力。MAX48X/49X系列收发器芯片适用于For RS-422/rs 485通信标准。其Main特性如下: +5V单电源;低功耗:工作电流120 ~ 500μA;驱动过载保护;32个收发器可以挂在通信传输线路上,方便地形成A半双工通信电路;共模输入电压范围:-7V ~+L2VMAX485是一款8引脚封装,引脚配置如图l所示。每个引脚的功能描述见表l 表1 在本设计中,PC用作主机,TMS320F240用作从机。主机和从机之间进行串行通信。使用RS-485标准的TMS320F240和PC之间的接口电路For半双工通信如图2所示。其中,接收器和驱动器的选择由TMS320F240的xf/iopc2引脚控制。由于标准RS 232 C串行接口在一般PC机器上提供,RS 232C/RS485转换器需要For接口转换。 . 4上位机PC的软件设计上位机PC使用高级语言C当用C语言开发DSP应用程序时,需要嵌入一种或几种汇编语言,例如程序初始化阶段INTM和SXM等位基因的配置。asm可用于嵌入单句汇编语言。CodeComposer Studio缩写为CCS,是TI For开发TMS320系列DSP软件开发的集成开发环境(IDE)。CCS在Windows操作系统下工作,贴片陶瓷电容(MLCC)贴片电容采购平台 类似于VC++的集成开发环境。它采用图形界面,并提供编辑工具和工程管理工具。CC环境中有两种串行通信方式:同步模式和异步模式。这里只讨论异步模式下的串行通信。PC串口发送器输出和接收器输入的数据格式为帧信息格式,与TMS320F240的SCI端口格式相同。通信时,双方必须就通信数据传输格式、传输速率及其各自的工作方法等达成一致。设计了上位机请求通信时,下位机先发送请求通信命令,然后下位机进行有效的接收和判断,确认后将响应Code发送给上位机。在接收到响应Code后,上位机将发出操作命令。双方同意波特率为208小时;;8位字符,1个停止位,无校验;传输模式:PC通过查询模式接收数据,TMS320F240通过中断模式接收数据。DSP软件设计. 5.1串行端口初始化首先,Set寄存器地址、波特率、数据位、停止位和奇偶校验位。
void Set()
{
*SCICCR=0x7; //8 位字符,1 停止位,无校验
*SCICTL1=0X13; //使能发送和接受
*SCICTL2=0x03; //使能接受和发送中断
*SCIHBAUD=0x02; //波特率=208h,40MHZ
*SCILBAUD=0x08; //208h=40*106/(9600*8)-1
*SCICTL1=0x33; //使能发送和接受,复位
*SCIPRI=0X60; //SCI 中断(接受和发送中断)为低优先级中断
}
5.2 中断初始化
a)禁止总中断子程序
void inline disable()
{
asm("setc INTM");
asm("setc SXM");
}
b)使能总中断子程序
void inline enable()
{
asm("clrc INTM") ;
}
c)中断服务程序
void interrupt uarttr(){
switch (*PVIR){
//根据中断向量寄存器PVIR 的值区别是接收还是发送中断
case 6:UartRec();
//如果PVIR=6,则发生了接受中断,执行接受中断服务程序
}
}
d)当由于干扰而引起其它中断时,中断进入此程序直接返回主程序
void interrupt nothing(){
return; }
5.3中断处理
void UartRec(){
unsigned int uwork;
int I, k;
k=0;
while(1) {
do{
uwork=(*SCIRXST);
}while((uwork&0x40= =0));
cReceive=(*SCIRXBUF);
cBuffer[k]= cReceive;
if(cReceive= =’。’) {
cBuffer[k+1]=’’;
nlen=k+1;
Set();
Break;
}
k++; k%=16;
}
}
5.4程序初始化
# include "2407c.h"
//初始化子程序
IniTIal(){
*IFR=0xFFFF; //清除中断标志
*WDCR=0Xe8; //不使能看门狗
*SCSR1=0x81FE; //CLKIN=6M, CLKOUT=24M
*MCRA=0x3; //use SCITXD, SCIRXD
*PADATDIR=0x100; //设置ADIR 为输出口
}
5.5主程序
Main(){
Set();
Disable(); //屏蔽所有中断
IniTIal(); //系统初始化
Enable(); //使能总中断
While(1) {
unsigned int uwork;
For (inTI=0;I《10;I++){
Do{
Uwork=(*SCICTL2);
}while (uwork&0x0c0!=0x0c0);
(*SCITXBUF)=cAnswer[i];
*IFR=0x0010;
Enable();
}
Do{
Uwork=(*SCICTL2);
}while (uwork&0x0c0!=0x0c0);
(*SCITXBUF)=‘“’;
}
For(;;){
:
}
}
. 6结束语作者的创新之处:利用DSP的串行通信接口(SCI)和强大的开发环境CCS,DSP和PC之间可以轻松实现单机或多机串行通信。实际运行表明,TMS320的SCI模块实现了DSP和PC之间的通信,与传统的C51单片机相比,电路简单,设置灵活,运行速度快,性能可靠稳定。- 采用FM20L08铁电存储器实现温度测试仪系统的设计2024-11-06
- 【亿配芯城】教你如何简单看懂电路图2024-11-03
- 压力变送器与温度变送器如何进行选择2024-10-27
- 如何判断晶振的好坏晶振对于单片机有怎么样的影响2024-10-15
- 高端DSP-C665x介绍2024-09-02
- “半残5G”、“胶水5G”?看华为麒麟990如何挑战友商8系列2024-08-12