当前位置:文档之家› mcbsp双机通信

mcbsp双机通信

mcbsp双机通信
mcbsp双机通信

基于McBSP的双DSP间高速通信

引言

TMS320C6000系列(以下简称C6000系列)DSP是美国德州仪器(TI)公司近年来推出的高端产品,因其性能优良,编码效率高,性价比好等诸多优点,被广泛的用于数字图象处理,通信基站,雷达信号处理等领域。在实际的使用中,因为数据吞吐量太大,很多时候单片DSP无法满足系统设计的要求,需要将两片或多片DSP进行互连,于是研究DSP 间的高速通信就显得尤为重要。本文介绍了利用McBSP来实现C6000系列DSP间高速通信的软硬件设计和实现。

1. 多通道缓冲串口(McBSP)的功能和特点

多通道缓冲串口(McBSP)是TI公司标准串口的增强版本。功能强大的C6000系列的McBSP是基于TMS320C2000和C5000系列的标准串口之上的。其内部框图如图1所示。它具有如下功能和特点[1],[5]:

?全双工通信;

?双缓冲数据寄存器,支持连续的数据流;

?独立的接收、发送帧和时钟信号;

?可以直接与工业标准的编码器,模拟接口芯片和其他A/D,D/A器件通信连接;

?具有外部移位时钟发生器及内部频率可编程移位时钟;

?发送和接收通道数多达128路;

?支持宽范围的数据格式,包括8,12,16,20,24,32位字长;

?利用律或A律压缩扩展通信;

?帧同步和时钟信号的极性可编程;

?可编程内部时钟和帧同步信号发生器等。

?

1 McBSP的内部框图

数据通过数据发送引脚(DX)和数据接收引脚(DR)与连接到McBSP的器件进行通信。时钟形式并且帧同步的控制信息通过CLKX,CLKR,FSX和FER通信。外围器件通过32位控制寄存器与McBSP通信。CPU或者DMA控制器从数据接收寄存器(DRR)读取接收的数据,而把要发送的数据写入数据发送寄存器(DXR)。写入DXR的数据通过发送移位寄存器(XSR)输出到DX引脚[2]。相似地,在DR引脚接收到的数据先进入接收移位寄存器(RSR),然后拷贝到接收缓冲寄存器(RBR)。RBR然后再拷贝到DRR,DRR中的数据才能被CPU或者DMA控制器读出。这样就允许内部数据移动和外部数据通信同时进行。还有其他一些CPU可访问的寄存器用来配置McBSP的工作机制。

2. 硬件接口

C6000系列DSP的多通道缓冲串口(McBSP)可以和其他C6000系列DSP芯片的多通道缓冲串口(McBSP)进行高速互连。为了达到最高的数据传速速度,其中的一片DSP 必须同时作为时钟信号和帧同步信号的发生器,换句话说,作为发送端的McBSP在发送数据传输时钟信号的同时也发送帧同步信号,而作为接收端的McBSP只能等待主片发来的这些控制信号。图2是硬件系统的设计框图[3]。DSP0的McBSP0被配置成时钟信号和帧同步信号的发生器,即主片;而DSP1的McBSP1被配置成只能被动的等待这些控制信号。

图2 最大传输速度下的硬件互连框图

图3是C6000系列双DSP的McBSP间传输数据的信号时序图。在该时序图的例子中,DSP0的McBSP0的时钟信号频率采用其CPU主频的一半。当主片产生时钟信号和帧同步信号的同时,CLKX和FSX编程配置成输出。因为在数据最大传输情况下,不支持零数据的延迟,所以FSX引脚输出的第一个数据是非零值。在该时序图中,RCR和XCR寄存器的(R/X)DATDLY都被配置为1。图3中CLKX和FSX为主片引脚,CLKR和FSR 为从片引脚。

图3 McBSP间最大传输数据时的时序图

3. 软件实现

用McBSP实现C6000系列双DSP间的高速通信软件设计[4]需分别对主机DSP0和从机DSP1进行编程。软件设计的重点是对McBSP相关寄存器的设置,以使其工作在最高数据传输速度模式下。表1列出了高速通信模式下需要配置的寄存器的位段,未列出的寄存器位段采用系统默认值。

表1 高速通信模式下需配置的寄存器位段

主片DSP0的软件设计由DSP初始化,McBSP0初始化,DSP中断设置和发送数据中断设置程序构成。相似地,从片DSP1的软件设计由DSP初始化,McBSP1初始化,DSP中断设置和接收数据中断设置程序构成。图4(a)是主片DSP0软件系统流程图,图4(b)是从片DSP1软件系统流程图。

4. 数据传输速度影响因素分析

当双DSP的2个McBSP被用着高速通信接口的时候。影响数据传输速度的主要原因有以下2个:

ü数据传输方法。例如,中断传输的优先级要低于DMA/EDMA(直接存储器访问/增强直接存储器访问),因此,要无损的传输数据,中断传输方式下的数据传输速度要明显的慢一些。

ü数据传输的优先级。DMA/EDMA的优先级要低于CPU;或者用于传输数据的DMA/EDMA通道优先级要低于其它的DMA/EDMA通道的优先级。这些都会影响数据的传输速度。为了避免速度的降低,应该适当的配置各个通道的优先级。

当McBSP的各寄存器值都按表2的要求配置时,双DSP间的数据传输速度能达到最大。但因为C6000系列DSP的CPU主频各不相同,于是各个型号DSP间的最大传输速度也不尽相同。在理论情况下,C64X系列芯片间的传输速度最高,能达到125Mbps(兆比特每秒),C6201,C6202/B和C6203间的速度次之,能达到100Mbps。

5. 结语

本文给出了一种基于McBSP的C6000系列双DSP间的高速通信方案。本文的创新点在于:与其他的双DSP间通信方案相比较,其优点为无需增加其它通信器件,硬件线路简单,无需复杂的逻辑控制等就可实现双DSP间的高速通信。实验结果表明,该方案高速可靠,是实现C6000系列双DSP间高速通信的一种理想方案。

(完整版)51单片机实现双机通信(自己整理的)

1号机程序 #in clude #defi ne uint un sig ned int #defi ne uchar un sig ned char sbit p10=P1 A 0; uchar a,b,kk; //uchar code d_c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void delay_ms(uchar y) { uchar i; while(y__) for(i=0;i<120;i++) 5 } void put(uchar x) // 发送函数 { SBUF=x; //SBUF:串行口数据缓冲器 while (TI==0); 〃等待发送结束 TI=0; } P £j £fA>l3 旳 4阳 1370 丘阳 H 鮎口 PDLWAJil- PDSA>f POfiAME PQ TiJT FZ^KS 畑 阳pz- A A-m FZW11 PZ.AtZ FZj9jAl4 PZ.TW? P3£VR : iD paimcc P3.sii nrn pjjfflrn F3.WTI] M*Tl pgtjgQIH F3.7/IF 1E 11 左边1号机,右边2号机, ,功能实现 帕叶DO ■ 口 IJApi FDJ H [I Z — 观旧 IP 口 .hQKD* *QAADf H ^ 弓 H.Lta RQfMM FZJWS pz. iwe F2JKA-IDI P2JTA11I F2.HW1Z P2JSM13 F2W.14 F2JM1S F3Ji nHX& gj.im:& riaiWTO rjjfWTT F3.1/W f3AT1 P3JillW F3JMF ■T2 1E

双机间的串口双向通信(DOC)

单片机原理与应用课程设计任务书

单片机原理与应用学年设计说明书 学院名称:计算机与信息工程学院 班级名称: 学生姓名: 学号:2012211369 题目:双机间的串口双向通信 指导教师 姓名: 起止日期:2014.12.29至2015.1.4

一、绪论 随着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。 对于一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。 但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往往需要两个或多个单片机系统协同工作。这就对单片机通信提出了更高要求。 单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。 二、相关知识 2.1 双机通信介绍 两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为: 单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。通信双方采用单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。 半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如

51单片机实现双机通信(自己整理的)

左边1号机,右边2号机,,功能实现 1号机程序 #include #define uint unsigned int #define uchar unsigned char sbit p10=P1^0; uchar a,b,kk; //uchar code d_c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void delay_ms(uchar y) { uchar i; while(y--) for(i=0;i<120;i++) ; } void put(uchar x) //发送函数 { SBUF=x; //SBUF:串行口数据缓冲器 while(TI==0); //等待发送结束 TI=0; } void main() { uchar j; SCON=0x40; //串行口工作方式1,8位通用异步发送器

— TMOD=0x20; //定时器1工作方式2 PCON=0x00; //波特率不倍增 TH1=0xf4; TL1=0xf4; //波特率2400 TR1=1; //定时器1开始计时 P2=0xc0; while(1) { if(p10==0&&j==0) { delay_ms(15); while(p10==0); kk=1; P2=0xf9; j=1; } if(p10==0&&j==1) { delay_ms(15); while(p10==0); kk=2; P2=0xa4; j=2; } if(p10==0&&j==2) { delay_ms(15); while(p10==0); kk=3; P2=0xb0; j=0; } if(kk==1) put('A'); if(kk==2) put('B'); if(kk==3) put('C'); delay_ms(10); } }

双机串口通信的程序

下面的程序,既包括了发送功能,也包括了接收功能,也就是说:进行双机通信实验时,两个单片机使用同一个程序就可以。 //========================================= #include #define uchar unsigned char #define uint unsigned int ucharRbuf = 0; uchar code dis_7[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, //共阴段码 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00}; //段码表0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, off //------------------------------- void delay(uint k) { uinti, j; for(i = 0; i< k; i++) for(j = 0; j < 200; j++); } //------------------------------- void Display(uchar x) { P2 = 0xFF; P0 = dis_7[x / 16]; //输出高四位 P2 = 0xFE; delay(2); P2 = 0xFF; P0 = dis_7[x % 16]; //输出低四位 P2 = 0xFD; delay(2); } //------------------------------- void UART()interrupt 4 { if(RI) { RI = 0; //清除中断标志 Rbuf = SBUF; } if(TI) { TI = 0; //清除中断标志 } } //------------------------------- void main() { uchar t1, i; SCON = 0x50; //串口工作在方式1 PCON &= 0x7F; //SMOD=0

单片机双机通信系统的课程设计

一.课程设计的目的及基本要求: 实践课程是使学生融会贯通本课程所学专业理论知识,完成一个较完整的设计计算和安装调试过程,以加深学生对所学理论的理解与应用,认识和熟悉元器件和电子测量仪器的性能指标,了解解决实际问题的一般过程,培养学生综合运用基础理论知识和专业知识去解决实际工程设计问题的能力。通过电子技术的综合性工程训练,使学生达到以下的目的和要求: 1、结合模拟电路、数字电路、可编程逻辑 器件、单片机电子线路CAD等课程中所学的 理论知识,按要求独立设计方案,培养学生 独立分析与解决问题的能力; 2、学会查阅相关手册和资料,通过查阅手 册和资料,进一步熟悉常用电子器件的类型 和特性,并掌握合理选用的原则; 3、学会使用常用电子元器件(包括中规模 芯片、专用芯片和可编程器件);

4、掌握基本的现代电子技术设计工具和EDA (Electronic design automation)技术; 5、掌握电子电路的安装与调试技术,进一 步熟悉电子仪器的使用方法; 6、认真撰写总结报告,培养严谨的作风和 科学的态度; 二.课程设计的主要内容: 课题十九单片机双机通信系统 基本要求:设计两个单片机最小系统,能实现有线通信,一方为发送,另一方为接收。 提高要求:两个单片机最小系统能相互通信,并能实现校验。 三.具体要求和时间安排: 每一个学生在教师指导下,独立完成一个应用系统。工作量如下: 1、电路原理图(A3幅面)1张,要求Protel软件绘制; 2、pcb版图(A3及以上幅面)1张;

3、设计说明书(20-30页)1本,内含能编译通过的源程序(有必要的注释)。

双机通信、IIC_12864

实训台相关部分硬件电路图1. 8位发光二极管 2. 8位拨动开关 3.数码管静态串行显示电路

4.数码管动态显示电路 5.查询式键盘

6.

项目7 实训考核 1.任务 任选以下一个项目进行设计、剖析,所设计的功能以实训过的项目为基础,可以增加没有学过的模块功能(这部分自学),例如可以包含实时温度显示等。要求完成设计过程(包括电路图及程序),完成综合实训报告。 (1)项目至少包括:串口通信、IIC通信和中断源、定时/计数器等知识点,其他不受限制。 (2)直接将实训过的内容:双机通信、IIC通信和显示部分等代码和电路综合起来设计一个项目 显示部分必须选择以下模块中的一种: (1)LED数码管 (2)LED点阵 (3)LCD液晶(12864或者1602都可以) 硬件环境至少是以下任意一种: (1)单片机综合实训台 (2)Proteus仿真环境 2.要求及评分标准 (1)说明项目功能(10%) 说明项目设计思路(20%) 演示项目成果(10%) 回答有关此项目的任何提问(20%) (2)提交综合实训报告(电子版、纸质材料,报告格式需符合要求)(20%)提交电路图、工程及代码(电子版,其中代码需做较详细的说明)。(15%) 命名规范:以上电子版需存放在以班级、座号和姓名命名的文件夹里,如电子3101班2号XXX同学所提交的材料,文件夹命名为“电子310102XXX”。(5%) (3)不遵守考勤及实训室要求的,扣总成绩的3%~20%。

附1:实训报告封面 单片机课程综合实训报告项目名称: 系别: 班级: 组别: 组员: 指导教师: 报告日期:年月日

基于单片机的双机通信程序设计

前言 单片机的通信接口是各台仪表之间或仪表与计算机之间进行信息交换和传输的联络装置。主要有五种类型,串行通信接口、并行通信接口、USB接口、现场总线接口以及以太网接口。 串行通讯是单片机的一个重要应用。本设计就是利用两块单片机来完成一个系统,实现单片机之间的串行通讯。 随着计算机的不断普及,在我们的周围可能会同时出现多台微型计算机,而且这些计算机的牌号,后型号不同,而且有的格式不兼容。于是利用单片机串行口实现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。从智能家用电器到工业上的控制系统都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分利用了微机分析处理能力强、速度快的特点及下位机(单片机)面向控制、使用灵活方便的优势。利用多机通讯构成的分布式系统逐渐普及。本实验就点对点的双机通信进行训练。学习串口的工作方式,初始化编程,和单片机与单片机点对点通信的编程方法以及硬件电路的设计方法。

1.总体设计方案 1.1 串口通信的设计原理 复位电路复位电路 单片机单片机 电源电路电源电路 时钟电路时钟电路 按键输入1位LED数码管 显示电路 图1 串口通信的设计原理框图 本次设计用于两片89S51,PC机的串行口采用的是标准的RS232接口,单片机的串行口电平是FTL电平,而TTL电平特性与RS232的电气特性不匹配,因此为了使单片机的串行口能与RS232接口通信,必须将串行口的输入/输出电平进行转换。通常用MAX232芯片来完成电平转换。单片机的发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接收方接收后,在数码管上显示接收的信息,实现串口通讯数据的发送和接收,该系统可采用max232进行串口通讯数据传送。可用LED显示发送的相应据。 1.2 数据传输方案比较与选折 在串行通信中,数据是在两个站之间传送的。按照数据传送方向,串行通信可采用三种方案。 方案一:单工制式 单工制式是指甲乙双方通信只能单向传送数据。 发送器A 接收器B 图2 单工制式

双机通信系统

***学校 课程设计说明书 2012/2013学年第1 学期 学院:电子与计算机科学技术学院 专业:电子科学与技术 学生姓名:****学号:*****课程设计题目:双机通信系统 起迄日期:2013年*月*日~2013年*月*日课程设计地点:电子科学与技术专业实验室指导教师:**** 系主任:**** 完成日期: 2013年*月*日

目录 引言................................................................错误!未定义书签。 1 系统整体设计......................................................错误!未定义书签。 系统设计思路 (3) 系统设计原理 (3) 串行通信 (3) 基本设计原理述 (5) 系统设计结构图 (5) 2.硬件电路设计及实现................................................错误!未定义书签。 硬件电路设计方案.............................................错误!未定义书签。 硬件电路的实现...............................................错误!未定义书签。 以89C51为核心的单片机最小系统..........................错误!未定义书签。 数码管显示模块.........................................错误!未定义书签。 主机校验指示模块.......................................错误!未定义书签。 3. 软件系统实现 (7) 软件实现方案分析 (7) 串行通信分为查询方式和中断方式 (7) 主程序 (7) 4 总结 (11) 心得体会 (11) 5 附录 (12) PROTEL软件绘制电路原理图及印刷板图 (13) Proteus仿真图 (14)

实验六——双机通信及PCB设计

中国石油大学(北京) 实 验 报 告 实验课程:单片机原理及应用 实验名称:实验六——双机通信与PCB设计

一、实验目的 掌握串口通信工作原理及程序开发方法,熟悉ARES软件PCB设计过程。 二、实验内容 1、按照P241图绘制电路原理图1,将第6章实例2中2#机的查询法收发程序改为中断法(1#机发送过程不变)并实现原有功能; 2、按照图和表绘制电路原理图2,并定义电源端口; 3、采用ARES软件完成电路原理图2的PCB设计,形成光绘(Gerber)输出文件,其中BCD数码管需按照图所示尺寸进行PCB自定义封装; 4、完成实验报告。 三、实验要求 提交的实验报告中应包括:电路原理图1,2#机的C51源程序,双机通信仿真效果及讨论*,PCB设计图(电路原理图2、排版图、3D效果图、光绘文件分层图3-4幅)以及实验小结。 提交实验报告的电子邮件主题及存盘文件名格式如,20马晓明实验六。 *讨论:中断法与查询法的程序结构差异及优缺点。 1、电路原理图1 图1 电路原理图 2、2#机的C51源程序

图2 2#机源程序 3、双机通信仿真效果及讨论 图3 仿真运行一 说明:利用KEIL编写1#机和2#机的源程序并生成“.HEX”文件,分别加载

在两个单片机上。1#机循环发送0-F数据,2#机实时接收数据,两机数据通过各自的BCD数码管显示出来。 图4仿真运行二 说明:1#机循环发送“0—F”数据,如图1#机发送数据“F”,2#机接收数据后在数码管上输出,1#机接收2#机返回的数据对比无误后在数码管上同时输出“F”。 图5 仿真运行三

说明:输出“0—F”后,1#机循环发送“0—F”的数据,2#机实时接收数据,两机数据通过各自的BCD数码管显示出来。 讨论:从单片机仿真的结果上看,2#机采用中断法编程并生成HEX文件后加载到单片机上后进行仿真运行的效果与采用查询法编程的效果一致。从源程序上看,采用查询法时, CPU需要不断等待单片机发送和接收完数据后才能进行下一步的操作。采用中断法时,CPU可以依照主函数进行操作,当出现中断请求标志时,CPU保存程序断点后开始执行中断函数。由于本次2#机源程序中的主函数采用的是空运行并没能直观地反映出采用中断法与查询法的区别。但从理论上看,采用中断法能够更加高效地利用CPU的空间。 4、PCB设计图 (1)PCB原理图 图6 PCB封装原理图 (2)PCB_LED封装

双机通信课程设计

西安邮电大学 单片机课程设计报告书题目:双机通信系统

、系统整体设计 1. 系统设计思路 双机通信的实质就是解决两单片机串行通信问题。针对于89C52单片机全双工异步 串行通信口,我们采用单片机直接交叉互连的串行通信方式。 考虑到设计应用于短距离传输、两单片机具有相同的数据格式及电平且为使设计简 单,我们最终决定采用方式二单片机直接交叉连接的串行通信方式, 上位机发送的数据 由串行口 TXD 端输出,直接由下位机的串行口数据接收端 RXD 接攵。需要注意的是一定 要保证主从机相同的数据传输速率,即要求设置相同的波特率。电路分为数码管显示模 块,以及单片机工作的基本复位、晶振模块。 2. 系统设计原理 (1)串行通信 一个是数据传送,另一个是数据转换。所谓数 所谓数据转换就是指单片机在接收数据时,如 单片机在发送 数据时,如何把并行数据转换为 串行数据进行发送。单片机的串行通信使用的是异步串 行通信, 所谓异步就是指发送端 和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字 符帧传送。字符帧由发送端一帧一帧地传送, 接收端通过传输线一帧一帧地接收。 而对 于两个单片机之间的串行通信,由于具有相同的数据格式及电平且是短距离通信则不必 要使用一些电平转化芯片(如 max232等)便可直接实现串行通讯,需要注意的是两单 片机硬件要共地,软件中需要设置相同波特率 STC89C5单片机有一个全双工的异步串行通信口,串行结构如下: ①数据缓冲器(SBUF 接受或发送的数据都要先送到 SBUF 缓存。有两个,一个缓存,另一个接受,用同 一直接地址99H,发送时用指令将数据送到 SBUF 即可启动发送;接收时用指令将 SBUF 中接收到的数据取出。 ②串行控制寄存器(SCON SCO 用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0,SM1串行接口工作方式选择位,这两位组合成 00, 01,10,11对应于工作方 式0、1、2、3。串行接口工作方式特点见下表1. 表1串行口工作方式表 串行数据通信要解决两个关键问题, 据传送就是指数据以什么形式进行传送。 何把接收到的串行数据转化为并行数据,

基于51单片机的双机串行通信

机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx : xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 1.51单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

通过串并口进行双机通讯的接线方法

通过串并口进行双机通讯 在两台微机距离不太远(比如不超过20米)的情况下,可考虑通过计算机的并行口或RS-232串行口直接对接实现通讯。采用端口连接双机进行数据传输,不需要网卡,不需要调制解调器,是一种通讯和数据传输的简单易行的好方法。 1.硬件连接 两台微机进行点对点通讯,硬件上要用连接线将并口或串口连接起来,然后在通讯软件的支持下实现,因此首先要制作一条并口或串口线缆。 (1)串并口的引脚功能: ①25针并行口插口的针脚功能: 针脚功能针脚功能 1 选通(低电平) 14 自动换行(低电平) 2~9 数据线15 错误(低电平) 10 确认(低电平) 16 初始化(低电平) 11 忙(BUSY) 17 选择输入(低电平) 12 缺纸(PE) 18 地线(GND)13选择(SLCT) ②25针串行口插口的针脚功能: 针脚功能针脚功能 1、10 未用11 数据发送(-) 2 发出数据(TXD) 12~17 未用 3 接受数据(RXD) 18 数据接收(+) 4 请求发送(RTS) 19 未用 5 清除发送(CTS) 20 数据终端准备好(DTR) 6 数据准备好(DSR) 21 未用 7 信号地线(SG) 22 振铃指示(RI) 8 载波检测(DCD) 23~24 未用 9 发送返回25 接收返回(-) ③9针串行口的针脚功能。 针脚功能针脚功能 1 载波检测(DCD) 6 数据准备好(DSR) 2 接受数据(RXD) 7 请求发送(RTS) 3 发出数据(TXD) 8 清除发送(CTS) 4 数据终端准备好(DTR) 9 振铃指示(RI) 5 信号地线(SG) (2)通讯电缆制作原理: ①串行通讯电缆的制作方法:无论是9孔插头,还是25孔插头,其串行通讯电缆连接时都遵循下列对接关系: SG←→SG TXD←→RXD RXD←→TXD RTS←→CTS CTS←→RTS DTR←→DSR DSR←→DTR 根据上述对接关系,就可以非常方便地连接串行通讯电缆。图1、图2、图3给出了9孔插头和25孔插头的电缆接线示意图。 9针口<->9针口 9针口<->25针口 25针口<->25针口 5 5 5 7 7 7 3 2 3 3 2 3 7 8 7 5 4 5 6 4 6 20 6 20 2 3 2 2 3 2

双机通信汇编程序

双机通信汇编程序: ORG 0000H ;分析= A - 程序框架 LJMP START ORG 0023H LJMP UARTInterrupt START: MOV SP,#60H LCALL InitUART D1: MOV R3,#00H MOV A, 44H ;MOV A,43H ;数值分解1=== MOV B,#0AH DIV AB MOV 31H,A MOV 30H,B CALL DISPLAY ;显示程序42H中的数-分解个位+十位MOV P0,#0FH ;判断有无按键按下 MOV A,P0 CJNE A,#0FH,D5 ;有按键按下 JMP D1 D5: MOV 40H,A ;有按键按下将值放入40H中 MOV P0,#0F0H ;再次判断另一个值 MOV A,P0 MOV 41H,A ;将另一个值放入41H中 D6: MOV P0, 0F0H ;消抖- 按键放开没有? CALL DISPLAY ;休息一下 MOV A, P0 ;放开没有? CJNE A, 41H, D7 ;消抖- 按键已放开 CALL DISPLAY JMP D6 ;消抖- 按键还没放开,再等待! D7: MOV A,41H ADD A,40H MOV 42H,A ;将结果放入42H中 D8: MOV A,R3 MOV DPTR,#TAB MOVC A,@A+DPTR CJNE A,42H,D9 INC R3 MOV 43H,R3 MOV A,43H ;将43H中的数值发送出去! 2== ACALL SendOneByte ;发送=OK JMP D1 D9: CJNE R3,#16,D10

利用Socket实现双机通信(计算机网络课程设计)

目录 1、目录 (1) 2、题目 (2) 3、设计任务 (2) 4、WinSocket简介及特点原理 (2) 5、T C P简介及特点原理 (3) 6、Vis ual C++简介 (7) 7、设计方案 (8) 8、系统的原理框图和程序流程图 (10) 9、实验中的问题 (14) 10、实验结果及分析 (14) 11、课程设计的总结体会 (16) 12、参考文献 (16)

利用Socket实现双机通信 一、设计任务 1.利用WinSock来实现双机通信,理解TCP状态机图。 2.要求使用WinSock编程,采用其中的TCP面向连接方式,实现文本数据的交换。 二、WinSocket简介及特点原理 2.1、什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket 也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket 描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。 常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket

Proteus中实现单片机双机通信实验

Proteus中实现单片机双机通信实验 【摘要】本文针对单片机项目设计中出现的问题和基本方法,提出了将Proteus仿真软件和Keil软件引入到单片机项目式开发中。以“单片机双机通信实验”项目为例,详细阐述Proteus软件在单片机课程教学中的使用方法和仿真调试过程。实践证明,该方法能激发开发热情,锻炼创新能力和单片机软硬件综合开发能力,是提高单片机开发效率和设计产品质量的一种有效方法。 【关键词】单片机开发;Proteus软件;仿真调试 引言 单片机开发是一项综合性、实践性、应用性很强的技术。传统的单片机开发采用“先理论设计,再动手实验”的开发模式,该模式造成编程与之实验结果分离,不便于调试,效果并不理想。鉴于此,本文将Proteus和引入到单片机的项目式开发中,通过仿真的直观性和真实感,不仅节约了硬件资源的投入,而且提高了单片机开发效率和产品质量。 一、Proteus简介 Proteus软件是英国Labcenter electronics公司开发的电路分析与实物仿真软件,它除了具有其他EDA工具的原理布图、PCB自动或人工布线、电路仿真等功能外,Proteus最大的特点是基于微控制器的设计连同所有的外围电路一起仿真,可直接在单片机虚拟系统上对MCU编程,并可对软件源代码进行实时调试。同时,它具有电路互动仿真功能,通过动态外设模型,如键盘、LED/LCD等,可实时显示系统输入、输出结果,以实现交互仿真,或配合Proteus配置的虚拟仪器如示波器、逻辑分析仪等,使单片机虚拟系统实现预期的实验效果。 此处还需要用Keil软件来协助。Keil软件是美国Keil Software公司出品的兼容单片机C语言软件的开发系统,是目前世界上最好的51单片机开发工具之一。它提供了丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率高,多数语句生成的汇编代码很紧凑,容易理解。 Proteus和Keil各自都可以进行仿真调试,但效果不是很理想,如把两者结合起来相互配合,则可发挥Proteus和Keil的优势使其在仿真过程中的软件调试和硬件设计更加便捷、高效。 二、仿真项目教学案例 (一)项目要求 本项目要求用两片AT89C51单片机实现A机检测输入键盘信息,并通过串行通信方式,传送给B机,在B机用数码管显示A机所按下的对应按键代号,“0-9”

双机通信

一、双机通信: 发送方:接收方: #include #include void delay() { void main() int i,j; {SCON=0X40; for(i=0;i<200;i++) TMOD=0X20; for(j=0;j<255;j++); TH1=0XCE; } TL1=0XCE; void main() ES=1; {SCON=0X40; //串行口初始化TR1=1; TMOD=0X20; //计数器初始化EA=1; TH1=0Xfd; REN=1; TL1=0Xfd; while(1); ES=1; } TR1=1; com () interrupt 4 EA=1; { RI=0; while(1) P1=SBUF; {if(P0!=0xff) } { delay(); if(P0!=0xff) P1=P0; SBUF=P1; //开始传送数据 while(!TI) TI=0 ; } //P1置1,作为输入口 } } #include void main() {SCON=0X40; //串行口初始化 TMOD=0X20; //计数器初始化 TH1=0XCE; TL1=0XCE; ES=1; TR1=1; EA=1; REN=1; while(1); //产生中断前,一直本地运行此句 } com () interrupt 4 //中断处理子程序

二、自发自送 #include char *a,*b ; int i,j,k,x,m; char c[8]={0x55,0xaa,0x33,0xcc,0x0f,0xf0,0x66,0x99}; //数据存放void aaa (); void delay(x); void main() {SCON=0X50; //串行口初始化 PCON=0X80; TMOD=0X20; //计数器初始化 TH1=0X0CE; TL1=0X0CE; TR1=1; ES=1; EA=1; P1=0x00; //P1清0 b=0x30; aaa(); //RAM存入数据 for(a=0X30;a<0X38;a++) { SBUF=*a ; //发送数据 delay(5); //延时1.5秒 P1=SBUF; //接收数据 } while(1); } com () interrupt 4 //中断处理,清0RI,TI {TI=0; RI=0; } void delay(x) //延时0.3*X秒函数 {do{for(i=0;i<1;i++) for(j=0;j<100;j++) for(k=0;k<200;k++); } while(--x); } void aaa () //将数据存入规定的RAM区 {for(m=0;m<8;m++) {*b=c[m]; b++;} }

基于单片机的双机串行通信

河南机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx 姓名: xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规范; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

基于RS-232C的单片机双机通讯系统设计(二)

目录 0. 前言 (1) 1. 总体方案设计 (2) 2. 硬件电路的设计 (2) 2.1 单片机系统 (2) 2.2 MAX232芯片 (5) 2.3 整体电路设计 (6) 3 软件设计 (6) 4.联合调试 (8) 5. 课设小结及进一步设想 (9) 参考文献 (10) 附录I 元件清单 (11) 附录II 整体电路图 (12) 附录III 源程序清单 (13)

基于RS-232C的单片机双机通信系统设计(二) 秦月沈阳航空航天大学自动化学院 摘要:本文主要设计了一个基于RS-232C单片机双机通讯系统,利用TDN86/51二合一教学实验系统中的51单片机实现两个单片机之间的通讯。通信的结果用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用New-Roman进行双机通信。在通信过程中,使用通信协议进行通信。 关键字:RS-232C;数据发送;数据接收;LED显示;双机串行通信。 0.前言 计算机的发展对通信起了巨大的推动作用,计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。随着电子技术和计算机技术的发展,特别是单片机的发展,使传统的测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化,形成了一种完全突破传统概念的新一代测试仪器——智能仪器。智能仪器是以微处理器为核心的电子仪器,它不仅要求设计者熟悉电子仪器的工作原理,而且还要求其掌握微型计算机硬件和软件的原理。目前,有很多的传统电子仪器已有相应的替代产品,而且还出现不少全新的仪器类型和测试系统体系。在科学技术高速发展的今天,如何用简单便宜、性能良好的元器件制造出对人类生活有用的产品,已经成为人们研究的主要趋势。 在自动化技术中,无论是过程控制技术还是数据采集技术还是测控技术,都离不开单片机,在工业自动化的领域中,机电一体化技术发挥越来越重要的作用,在通信方面,单片机得到了广泛运用。在实现计算机与计算机、计算机与外设的串行通讯时,通常采用标准的通讯接口。所谓标准的通讯接口,就是明确定义若干信号线的机械、电器特性,使接口电路标准化、通用化,这样就能方便地把不同的计算机、外设等有机地连接起来,进行串行通讯。 RS-232C是由美国电子工业协会(EIA)制定的用于串行通信的标准通信接口,利用它可以很方便地把各种计算机、外围设备、测量仪器等有机地连接起来,进行串行通信。它包括按位传输的电气和机械方面的规定,适用于短距离或带调制解调器的通信场合。 RS-232C标准适用于DCE和DTE之间的串行二进制通信,最高的数据速率为19.2Kbit/s,在使用此波特率进行通信时,最大传输距离在20m之内。降低波特率可以增加传输距离。对于RS-232C标准接口的使用是非常灵活的,实际通信中经常采用9针接口进行数据通信。

基于单片机的双机通信

基于单片机的双机通信 [摘要]双机通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现两个单片机之间的有序通信。本文详细介绍了关于基于单片机AT89C51实现的双机之间的通信的设计。软件部分采用C语言编程实现接收部分和发射部分的功能,用Protues进行仿真。软件设计完成后,将程序烧入单片机。通信的结果实用数码管进行显示,数码管采用查表方式显示。在通信过程中,使用通信协议进行通信。 [关键词]51单片机;串行通信;接口

Two-machine communication based on single chip [Abstract]Dual machine communication is an important application of single chip. This course is designed to using single chip computer to complete a system, realize the orderly communication between two single-chip microcomputer. This paper introduces the realization based on single-chip microcomputer AT89C51 about the dual machine for communication between the design. Software part adopts the C programming language realization receiving part and emission, part of the Protues function, through simulation. The software design is completed, the procedure spread microcontroller. Communication results and practical to display, digital digital tube pipe, adopting look-up table display. In communication process, USES communication protocol to communicate. [Key words]51 SCM; serial communication; Interface

双机通信,单片机课程设计

单片机课程设计 双机通信 一、设计目的 1、掌握单片机89C52的程序设计,掌握单片机通信程序编制方法。 2、了解单片机实现通信的硬件环境。 3、掌握双机通信的原理和方法。 二、设计要求 1、用两片单片机,实现双机通信; 2、用与A机连接的按键控制A机对B机的信息传输,每按一次键,首先发送端显示要发送数据,两台机器的发光二极管的显示相同。 3、用与B机连接的按键控制B机对A机的信息传输,每次按键,数码管的显示自动加一。 三、设计器材 器件名称个数 STC8952RC 2 晶振 2 电容(30PF) 4 电容(10uF) 2 LED 4 电阻(10K) 4 电阻(330) 2

电阻(8.2K) 2 开关 4 数码管 2 三极管(NPN) 1 排阻 1 四、设计思路及方案 1、设计思路 计划采用主从共两片STC8952RC单片机来实现双机通信的,我们采用单片机直接交叉连接的方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。电路分为数码管显示模块,单片机工作的基本复位、晶振模块。 2、设计原理 (1)原理概述 双机通信系统通过主从单片机的串行口来实现数据的收发。主单片机通过开关电路来启动发送程序,当开关按下时向从机发送一个数据,从机通过接收中断来接收主机发送过来的数据,并通过编写好的数据代码在LED数码管上显示主机发送过来的数据。同时从机给主机发送一个应答信号来表示已经接收到了主机发送过来的数据,在主机接收应答并校验正确,以二极管显示,这样就完成了一个数据的通信过程,等待按键按下,然后继续下一次数据的发送直到结束。(2)串行通信 串行数据通信要解决两个关键问题,一个是数据传送,另一个是

双机通信

双机通信系统的设计 一、课程设计的目的与要求 1、课程设计目的: (1)进一步理解与消化书本知识,运用所学知识与技能进行简单的设计。 (2)通过课程设计提高应用能力,分析问题与解决问题的能力。 (3)培养查阅资料的习惯,训练与提高自学,独立思考的能力。 2、课程设计要求 双机通信系统的设计 1)掌握串行口工作方式的程序设计。 2)掌握单片机通讯程序的编制。 3)了解实现串行通讯的硬件环境,数据格式、数据交换的协议。 4)掌握在8031系统中扩展8279键盘显示接口的方法。 5)了解键盘电路工作原理及编程方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: (1)能够正确理解课程设计的题目与意义,全面思考问题。 (2)运用科学合理的方法,认真按时完成。 二、课程设计课题的分析 MCS—51单片机内穿行口的SBUF有两个:接收SBUF与发送SBUF,二者在物理结构上就是独立的,单片机用它们来接收与发送数据。专用寄存器SCON 与PCON控制串行口的工作方式与波特率。定时器1作为波特率发生器。 编程时注意两点:一时初始化,设置波特率与数据格式。二就是确定数据传送方式。数据传送方式有两种:查询方式与中断方式。 为确保通讯成功,甲机与乙机必须有一个一致的通讯协议,例程的通讯协议如下:通讯双方均采用2400波特的速率传送,甲机发送数据,乙机接收数据。双机开始通讯时,甲机发送一个呼叫信号“06”,询问乙机就是否可以接收数据;乙机受到呼叫信号后,若同意接收数据则发回“00”作为应答,否则发“F0”表示暂不能接收数据;甲机只有受到乙机的应答信号“00”后才可

把要发送的数据发送给乙机,否则继续向乙机呼叫,直到乙机同意接受。其发送数据格式为:字节数n:甲机将向乙机发送的数据个数 数据1~数据n:甲机将向乙机发送的n个数据 乙机接收到数据后,向甲机回发“0F”信号。甲机只有接到信号“0F”才算完成发送任务,否则继续呼叫,重发数据。 电路及程序的设计 8031串行口显示电路 原理图,硬件电路图,较详细的程序流程图。 流程图: A机流程图:

相关主题
文本预览
相关文档 最新文档