当前位置:文档之家› 基于USB的串行通信软硬件设计

基于USB的串行通信软硬件设计

基于USB的串行通信软硬件设计
基于USB的串行通信软硬件设计

编号

本科生毕业设计

基于USB的串行通信软硬件设计

Based on USB serial communication software and hardware design

学生姓名张权

专业电子信息工程

学号040411533

指导教师杨光

学院电子信息工程学院

2008年 6 月

现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集,而USB 总线具有高速传输、热拔插、即插即用等特点,已经在高速数据采集系统之中得到了越来越广泛的应用。

文中以PIC单片机为核心,采用PIC单片机内部的A/D 转换器,设计了基于USB100 模块设计了一个数据采集系统。

文中详细阐述了基于USB100 模块设计了一个数据采集系统的方案选择和总体设计、硬件电路以及系统软件编程等。介绍了设计的具体的电路实现以及相应的实验结果,并在文中给出了系统的硬件原理图及软件程序流程图。

关键词:通用串行总线数据采集单片机

Abstract

Modern industrial production data collection and scientific research on the require- ments of increasing the transient signal measurement, image processing and other high -speed, high-precision measurement, the need for high-speed data acquisition, and the USB bus with high-speed transmission, hot plug, Plug-and-play features, has been in high-speed data acquisition systems have been more widely used.

In a PIC microcontroller as the core, a PIC microcontroller internal A / D convert- r, designed USB100 modular design based on a data collection system.

Described in detail based on the USB100 module designed a data collection syste- m and the overall design of the options, hardware and system software programming, and so on. On the specific design of the circuit and the corresponding results, and are given in the text of the principle of the hardware and software flow chart.

KeyWords:Universal Serial Bus Data Acquisition Signal Chip

第一章绪论 (1)

第二章方案选择和总体设计 (3)

2.1方案选择 (3)

2.2总体设计 (5)

第三章系统硬件电路设计 (7)

3.1单片机最小系统 (7)

3.1.1 PIC单片机的特点 (7)

3.1.2 PIC16F73单片机的引脚功能 (8)

3.1.3 PIC16F73单片机最小系统 (9)

3.2显示器接口电路设计 (10)

3.3USB接口电路设计 (12)

3.3.1 USB100模块的特点 (12)

3.3.2 USB100的引脚图及功能 (13)

3.3.3 USB100控制时序 (13)

3.3.4 USB100与单片机接口 (14)

3.4数据采集电路 (15)

第四章系统软件设计 (17)

4.1下位机软件设计 (17)

4.1.1 LED显示程序模块 (17)

4.1.2 数据发送模块 (17)

4.1.3 数据接收模块 (18)

4.1.4 压力数据采集模块 (19)

4.1.5 数据处理模块 (20)

4.2上位机软件设计 (21)

4.2.1 串行通信控件的应用 (21)

4.2.2 数据处理 (23)

4.2.3 数据库 (24)

结论 (27)

参考文献 (28)

致谢 (29)

第一章绪论

在工业控制和数据采集系统中,单片机以其低成本,编程灵活、方便,实时性强和具有一定的智能而得到了广泛的应用。然而,许多复杂任务的实现,如人机对话、任务的切换、算法的实现、大数据的运算等,单片机就显得有些力不从心,而PC机在这方面却有强大的优势。这就需要将它们组合成系统,让单片机只管控制执行机构和进行数据采集与传输;PC机将数据进行处理,实现功能。这就涉及到单片机与PC机之间的通讯问题,在需要实时传递和处理声音和图象等大批数据的时候,普通的通信方式难以满足要求。

这就为数据采集系统的设计提出了两个方面的要求:一方面,要求接口简单灵活且有较高的数据传输率;另一方面,由于数据量通常都较大,要求主机能够对实时数据做出快速响应,并及时进行分析和处理,并在单片机和PC机之间进行高速和可靠的通讯。传统的外设与主机的通信接口难以满足上述第一个方面的要求,这些接口一般采用PCI布部线或RS-232串行总线。PCI总线虽然有很高的传输率(可达132Mbps),还能“即插即用”,但是它们的扩充槽相当有限,且插拔并不方便;RS-232串行总线虽然连接方便,可是它的带宽非常有限,传输速度太慢,而且1条RS-232串口通信电缆只能连接1个物理设备。

USB技术正是顺应这一要求提出的,它集PCI和RS-232的优点于一身:具有较高的传输速率(USB协议1.1支持最高传输速度达12Mbps,USB协议2.0支持最高传输速度可达480Mbps),实现了真正意义上的“即插即用”(Plug & Play),同时USB上最多可以连接127个外设,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。因此,USB技术非常适合实时数据采集的场合,是目前较为流行的通讯方式。

从应用方面来看,国外通用串行总线USB因其具备高速传输,即插即用等诸多优点,在各个领域得到了广泛应用;国内USB总线已经得到了控制工程师的普遍关注,由于其通信协议比较复杂,相关的研究成果还比较少,特别是USB 与目前最具竞争力的工业微控制器(PIC单片机)通信的应用范例还很匮乏。

本设计基于USB设计出了一套既简单又实用的串行通信程序,并制作了一个压力数据采集及实时显示的硬件电路对其进行了实例验证。设计选用美国微芯公司(Microchip)的主要产品PIC16F73单片机为主控制器,PC机的程序设计采用可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言——Visual Basic。

本设计能实现如下几项功能:

1.压力信号经精密放大电路后输入单片机进行A/D转换;

2.单片机对采集到的信号进行抗干扰处理和显示;

3.单片机将采集到的数据实时送入PC机;

4.PC机对所得数据运算后列表显示并录入数据库;

5.单片机查询来自PC机的实时指令,并执行相应动作。

图1.1 基于USB的高速数据采集系统示意图

图1.1为基于USB的高速数据采集系统示意图,就本设计而言,传感器接收压力信号,PIC单片机的I/O控制口包括与USB100模块通信的标志位端口及LED 显示输出口。

第二章方案选择和总体设计

2.1 方案选择

1、通信接口选择

当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求,以Intel为首的七家公司于1994年推出了USB(Universal Serial Bus通用串行总线)总线协议,专用于低、中速的计算机外设。目前,USB端口已成为了微机主板的标准端口;而在不久的将来,所有的微机外设,包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏柄等等,都将通过USB与主机相连。

这种连接较以往普通并口和串口的连接而言,USB接口的优势主要表现在以下几个方面:

⑴使用方便,连接外设不必再打开机箱;允许外设热插拔,而不必关闭主机电源。

⑵速度快,USB支持三种设备传输速率:1.5 Mb/s(低速设备)、12 Mb/s(中速设备)480 Mb/s(高速设备)。

⑶独立供电,USB接口提供了内置电源。

⑷连接灵活,一个USB口理论上可以连接127个USB设备。连接的方式也十分灵活,既可以使用串行连接,也可以使用集线器Hub,把多个设备连接在一起,再同PC机的USB口相接。

⑸成本低,为了把外设连接到PC上,USB提供了一种低成本的解决方案。

综合上述系统中采用USB接口,具体选用了USB100模块。

2、微控制器选择

方案一:凌阳16位单片机

随着单片机功能集成化的发展,其应用领域也逐渐地由传统控制扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的μ’nSP?(Microcontroller and Signal Processor)16位微处理器芯片(以下简称μ’nSP?)。围绕μ’nSP?所形成的16位μ’nSP?系列单片机(以下简称μ’nSP?家族)采用的是模块式集成结构,μ’nSP?内核是一个通用的核结构,以μ’nSP?内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合,这样做使每一种派生产品具有更强的功能和更低的成本。

从目前的应用来看,凌阳16位单片机的优势在于它具有强大的语音处理功能。然而,它在工业控制现场的应用案例较少,在控制领域并不具备突出的竞争

力。最重要的是,凌阳公司在国内的技术推广才刚开始,本科四年对凌阳单片机的了解还十分有限,在毕业设计期间化大量时间学习单片机的基础知识显然很不合适。

方案二:MCS-51系列单片机

传统的51系列微控制器,在国内使用时间比较长,开发所需的资料也比较多,但其片内资源较少,在外围电路中需加入多种模块,如:A/D转换器、PWM、RAM和ROM存储器等。它的优点是外围电路易于扩展,尤其是存储器的容量可以按需求增大,缺点是在线调试程序不方便。如果应用到本设计中,外围扩展电路比较复杂,电路板空间和制造成本较大,而且在硬件电路的制做和调试方面也有一定的困难。

方案三:PIC系列单片机

PIC系列单片机是美国微芯公司(Microchip)的主要产品,有PIC16系列、PIC17系列、PIC18系列等。PIC系列单片机CPU采用RISC结构,它具有运行速度快、工作电压低、功耗低、较大的输入输出直接驱动能力强、价格低和体积小等优点。

PIC16F73 单片机是PIC系列的中档产品,其内部资源非常丰富,含有4K的FLASH程序存储器、192B的RAM数据存储器、5通道8位A/D转换器、3个定时器、2个捕捉/比较/脉宽调制、1个同步串行端口SPI和通用同步/异步收发器 USART等。另外,它具有外围接口电路简单、工作性能稳定等特点。

基于以上比较,本设计选择PIC单片机作为下位机控制的核心,利用上述丰富的资源来完成A/D转换、收发数据、输出显示信号等处理和指定的控制任务。

3、压力传感器选型

⑴传感器是将各种非电量(包括物理量、化学量和生物量等)按一定规律转换成易于处理和传输的另一种物理量(一般为电量)的装置。在本设计中使用了压力传感器,它是力的测试中最关键的装置。它的种类繁多,有电容式、压阻式、差动变压器式、压电式、电阻应变式等。本系统选用的应变片式差压测力传感器,它具有灵敏度高、线性度和稳定性好、结构简单、动态性能优良等优点,广泛应用于力的测试中,其常见外观如图2.1所示:

(a)柱形(b)悬臂梁形

图2.1 电阻应变式测力传感器

⑵压力传感器参数

压力传感器是把压力转换成电信号的传感器,用半导体材料制成的压力传感器称为半导体压力传感器,由于其体积小、重量轻、灵敏度高、功耗小、便于集成等优点,发展十分迅速,应用也很广泛。在本设计的过程中选用了S形双弯曲梁应变片式测力传感器,其的结构示意图如图2.2所示。

S形双弯曲梁应变片式测力传感器主要参数如下:

额定载荷:3kg

额定输出:1.3mV/V

输入电阻:350Ω

输出电阻:350Ω

非线性:0.01%F.S

滞后:0.015%F.S

重复性:0.01%F.S

安全过载能力:150%

图2.2 S形双弯曲梁压力传感器结构示意图

由于S形双弯曲梁应变片式测力传感器的结构是双连孔型的,粘贴应变片处比较薄,应变大,灵敏度高,而其他部位较厚,故强度、刚度好的特点,所以系统中选择它作为压力传感器。

S形双弯曲梁应变测力传感器和PIC16F73单片机相结合组成的测力系统,它具有实时数据采集和LED显示功能。传感器弹性体为双弯曲悬臂梁,四片应变片分别贴于梁的上下两表面组成全桥电路,当受到载荷W作用时,R1、R2受拉伸,阻值增加;R3,R4受压缩,阻值减小,电桥失去平衡,并产生电压△U 输出,且△U与W成正比。

2.2 总体设计

数据采集是现代控制系统必不可少的控制任务,通用串行总线(USB)因具有传输速率快、接口简单、支持即插即用(Plug & Play)和使用维护方便等特点在控制领域具有广泛的应用前景。本设计以压力数据采集任务为载体,深入的学习和探讨了基于USB的串行通信的实现问题。本系统包括硬件接口设计和软件编程

两个方面,软硬件结合能实现如图2.3所示的功能。

图2.3 系统总体框图

第三章系统硬件电路设计

3.1 单片机最小系统

美国Microchip技术公司的PIC系列单片机采用精简指令集计算机(RISC——Reduced Instruction Set Computer)、哈佛(Harvard)双总线和两级指令流水线结构的高性能价格比的8位嵌入式控制器(Embedded controller)。其高速度、低工作电压、低功耗、较大的输入输出直接驱动LED能力、一次性编程芯片的低价位、小体积、指令简单易学易用等特点,都体现了单片机工业发展的新趋势。在全球都可以看到PIC单片机在不同领域的广泛应用,它在世界单片机市场份额排名中逐年提前,以致已成为一种新的8位单片机的世界标准和最有影响力的主流嵌入式控制器,所以本设计选用PIC16F73作为主控制器。

3.1.1 PIC单片机的特点

PIC单片机的主要优点[7]表现在:

1. PIC16F73系列单片机都具有A/D转换功能,A/D转换器是采用逐次逼近法进行模数转换,转换的结果是8位数字量。另外PIC16F7X系列单片机的A/D 转换具有一个独特的功能,就是在CPU休眠期间能照常工作。不过,此时的A/D 转换时钟必须选择A/D内部的RC振荡器。

2. 指令的“单字节化”。因为指令总线和数据总线是分离的,并且采用了不同的宽度,所以程序存储器ROM和数据存储器RAM的寻址空间是相对独立的,而且两种存储器宽度也不同。这样设计不仅可以确保数据的安全性,还能提高运行速度和实现全部指令的“单字节化”。而MCS-51系列单片机的ROM和RAM 宽度都是8位指令长度从1个字节(8位)到3个字节长度不一。

3. 精简指令集(RISC)技术。PIC系列单片机的指令系统只有35条指令。这给指令的学习,记忆,理解带来很大的好处,也给程序的编写,阅读,调试,修改,交流带来极大的便利,真可谓易学好用。。它不仅全部指令均为单字节指令,而且绝大多数指令为单周期指令以利于提高执行速度。

4. 寻址方式简单。寻址方式就是寻找操作数的方法,PIC系列单片机只有4种寻址方式(即寄存器间接寻址,立即数寻址,直接寻址和位寻址),容易掌握。

5. 运行速度高。由于采用了哈佛结构,又由于指令的读取和执行采用了流水作业方式,PIC系列单片机的运行速度大大提高。可知PIC系列单片机的运行速度远高于其它相同档次的单片机。在所有8位机中,PIC17F是目前世界上速度最快的品种之一。

6. 功耗低。PIC系列单片机的功率消耗极底,有些型号的单片机在4MHz

时钟下工作时耗电不超过2mA,在睡眠模式下低到1uA以下。

7. 驱动能力强。I/O端口驱动负载的能力较强,每个I/O引脚输入和输出电流的最大值可分别达到25mA和20mA,能够直接驱动发光二极管、光电耦合器或者微型继电器等。

8. 具备I2C和SPI串行总线端口:PIC系列单片机的一些型号具备I2C和SPI 串行总线端口。I2C和SPI分别是由PHILIPS和MOTOROLA公司发明的芯片之间同步串行数据传输的两种串行总线技术,利用单片机串行总线端口可以方便灵活的扩展一些必要的外围器件。串行接口和串行总线的设置,不仅大大的简化了单片机应用系统的结构,而且还极易形成产品的模块化结构。

9. 寻址空间设计简洁。PIC系列单片机的程序、堆栈和数据三者各自采用互相独立的寻址空间,而且前两者的地址安排不需要用户操心,这会受到初学者的喜欢。

10. 外围电路简洁。PIC系列单片机内部集成了上电复位电路、I/O引脚上拉电路、看门狗定时器等,可以最大程度的减少或免用外围器件。

11. 开发方便。芯片公司及其国内多家代理商,为应用开发提供了丰富多彩的硬件和软件支持。

3.1.2 PIC16F73单片机的引脚功能

1.电源和地线引脚

PIC系列单片机一般采用5V电压,为了减少外界噪声的影响,将电源引脚和地线引脚放置芯片的中间。

2. 主复位信号引脚

复位信号引脚用于外部电路产生复位信号使PIC单片机产生复位,低电平有效。在对单片机编程时,此引脚作为编程电压的输入端。

3. 输入/输出端口功能引脚

在PIC16F73微控制器中,有三个端口,每个端口引脚大部分都具有两种或三种功能复用;作为输入输出端口时,端口A、端口B、端口C、都是双向I/O 口。

作为第二或第三功能端口,每个引脚功能都可能不同,主要包含有以下的几种功能:

a).用于A/D转换的模拟电压输入端和参考电压输入端;

b).用于定时器的时钟输入端和振荡器输出端;

c).用于串行通信的输入/输出端和时钟端;

4. 振荡器输入输出线。

其引脚布置如图 3.1所示,在PIC单片机中有一根振荡器输入引脚OSC1/CLKIN和一根振荡器输出引脚OSC2/CLKOUT,由于PIC单片机

图3.1 PIC16F73引脚图

可以采用不同的振荡器,这使得两根引脚可以有不同的功能。采用晶体振荡器或陶瓷谐振器,将晶体振荡器的两脚直接接人OSC1/CLKIN和OSC2/CLKOUT;采用外部RC振荡器时,OSC1/CLKIN作为输入,OSC2/CLKOUT开路。

3.1.3 PIC16F73单片机最小系统

图3.2 PIC16F73最小系统

PIC16F73最小系统如图3.2所示。

在本系统设计中,PIC16F73微控制器的引脚功能配置如下:

⑴端口B作为数据总线;

⑵PA0口为压力模拟信号输入端;

⑶PA2和PA3为数码管段码和位码的片选端;

⑷PC0和PC1为USB100模块的存入(WR)和读出(RD)标志位;

⑸PC2和PC3为USB100模块的标志位RXF和TXE

⑹PC4和PC5起到工作状态监视作用,其中PC4为单片机接收数据状态指示端,PC5为单片机发送数据状态指示端。

3.2 显示器接口电路设计

为了验证通信结果的正确性,必须增加有效的手段测试PIC单片机接收到的数据正确与否,而最简单且可行的方法就是增加LED显示部分。

LED器件是一种发光二极管显示器。

其特点如下:

(1)LED显示器具备稳定、高速、简单的系统;

(2)LED显示结构简单、性能稳定;

(3)LED显示应用在成熟的生产技术上。

发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。八段发光二极管结构如图3.3所示。

图3.3 八段发光二极管外型

发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。1位显示器有8个发光二极管组成,其中7个发光二极管a~g控制7个笔段的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的八段显示器能显示的字符少。字符的形象有些失真,但控制方便,使用简单。

图3.4共阴极数码管

图3.5共阳极数码管

考虑到压力显示精度和显示范围等因素,本设计选用4位共阴极LED数码管。

显示器的显示方法有静态和动态两种方法。显示器位数较少时,采用静态显示的方法是合适的。当位数较多时,用静态显示所需的I/O太多,一般采用动态显示方法,所以在系统中我们采用动态显示。

此类数码管的工作特点是:

⑴数码管片选端清0时,对应位的数码管才有可能亮;

⑵每次只能有一个片选端清0,即只能动态移位显示相应的数据;

⑶单片机控制数码管显示相应数字要用查表子程序来实现。

此电路的程序设计要求是:不能在保持原输出数据的情况下,常时间持续执行其它控制任务。在本设计中,用显示程序来替换其它任务中必要的延时子程序,从而实现了数据显示的连续性,而且不会影响其它控制任务的正确执行。

显示器接口电路如图3.6所示。LED显示器采用两片74LS273动态扫描方式驱动,其中U2作为段码接口,U3作为位码接口,单片机通过B口与74LS273的输入端相连,PA2和PA3分别作为U2和U3的片选信号,缺省时显示0。D1、D2作为单片机发送/接收数据状态指示,当单片机发送数据时D1点亮;当单片机接收数据时D2点亮。

图3.6 显示器接口电路

3.3 USB接口电路设计

3.3.1 USB100模块的特点

USB100 是目前开发最为方便的USB 接口产品,用户无需编写驱动程序,对USB的操作就变成了类似于对外部存储器的操作,由USB100模块完成全部协议的转换和封装,只要有单片机和PC 应用程序的基本知识,就可以很快地开发好USB 接口和数据采集等产品,开发过程十分简单。

USB100模块是完全集成化的USB接口模块,完全满足USB1.1标准,具有8位单片机总线接口,内部多达384字节的发送缓冲区和128字节的接收缓冲区,数据通讯速率最高可达8Mbit/S。性能可靠,特别适合工业控制场合。在单片机系统中,USB100通讯模块作为单片机的并行接口芯片,两者有机结合,构成了下位机的USB通讯接口。

USB100模块提供两种PC机应用程序编程[4]:虚拟串口方式和动态连结库方式。

⑴虚拟串口方式下,用户在PC机上安装USB100模块专用虚拟串口驱动程序之后,USB100即可作为PC机上的一个标准设备,可以按照与操作串口完全

一样的方法来编程。

⑵在动态连结库方式下,用户要在PC机上安装USB100模块专用动态连结库,安装之后,USB100即成为PC机的一个标准外设,编程时调用API函数发送和接收数据。

3.3.2 USB100的引脚图及功能

USB100的管脚排列图如图3.7所示。

图3.7 USB100的管脚排列图

数据口(D0…D7)是8位双向I/O口,它以并行方式与微控制器交换数据。

RD:允许内部接收缓冲区数据通过8位并行总线读出。

WR:将8位并行总线上的数据锁存入内部缓冲区。

TXE:高表示模块发送缓冲区已满;低表示发送缓冲区为空,可以发送数据。

RXF:高表示模块没有数据输出;低表示模块有数据输出,可以读数据。

USBVCC:USB接口的电源脚。

D+:USB数据脚。

D-:USB数据脚。

GND:电源脚。

VCC:+5V输出,可提供给外部MCU使用,最大400mA

NC:空管脚。

3.3.3 USB100控制时序

发送时序[5]如图3.8所示,当单片机检测到USB100模块TXE为低时,表示内部发送缓冲区允许发送数据,可以将数据通过八位数据总线D0…D7发给USB100模块,发送数据锁存由WR控制;USB100模块TXE为高时,禁止发送数据。

图3.8 单片机发送数据时序图

接收时序[5]如图3.9所示,当单片机检测到USB100模块RXE为低时,表示内部接收缓冲区有数据,可以通过八位数据总线D0…D7将数据从USB100模块读入,接收数据锁存由RD控制。

图3.9 单片机接收数据时序图

3.3.4 USB100与单片机接口

USB100与单片机的接口电路如图3.10所示,USB100通过总线隔离器与单片机接口,使得对USB100的操作有一个固定的地址。其中PB0~PB7与单片机的B口相连接,PA4、PA5分别与单片机的RA4和RA5相连接,PC0~PC3分别与RC0~RC3相连接。

图3.10 USB100与单片机的接口电路

3.4 数据采集电路

通信程序的正确与否只有检验之后才能定论,考虑到实用性,本设计选择压力传感器检测的压力数据作为通信的数据源。这样既增强了设计的实用性,又便于对通信成功与否的评估。由于压力传感器精度很高,但其输出的电压信号差值很微弱,需经过放大电路放大之后,才能送到微控制器里进行处理。:由于本设计选用的压力传感器输出的比较电压信号变化范围小,必须增大放大倍数,传统的一级放大和两级放大电路很难调试出满意的结果。本设计改用由三个运算放大器组成的精密放大电路[3],其原理如图3.11所示。

输出电压:

))(21()(2167

02010i i f f U U R R R R U U R R U -+-=--=

本设计中,R6为1KΩ的滑动变阻器,试验调整后正常工作是阻值为210Ω,R 、 R7、Rf 的阻值分别为820Ω、12KΩ和3.3KΩ。此电路可以放大差模信号,抑制共模信号。差模放大倍数值愈大,共模抑制比愈高。当输入信号中含有共模信号时,也将被抑制。由上式可知,放大倍数约为460。其中U 0与到单片机的PA0相连接。

图3.11 精密放大电路原理图

第四章系统软件设计

本系统选用PIC单片机作为下位机,它的程序设计是本设计的重点,也是难点。这不仅要求熟悉PIC单片机编程的有关知识,还要求根据USB100的数据手册试验出一套实用的通信协议程序模块。在设计的过程中,考虑到实际需求增加了压力采集模块和LED显示部分,使本设计的实用性得到了增强。

4.1 下位机软件设计

4.1.1 LED显示程序模块

分析LED引脚图不难发现,各数码管段码控制线采用共享的方式,所以数码管显示功能的实现必须采用动态扫描的方式,其显示子程序流程如图4.1所示。

图4.1 显示程序流程图

4.1.2 数据发送模块

发送数据程序流程如图4.2所示,该程序模块能将字符型数据正确的发送到PC机,由VB程序接收、处理后显示。

常见串口接口电路设计集锦

常见串口接口电路设计集锦 六种常用串口接口电路1、并口接口(分立元件) 适用于Windows 95/98/Me 操作系统。这个电路与FMS 随软件提供的电路比多了一个200K 的电阻,这个主要是为了与JR 的摇控器连接,因为JR 的摇控器教练口好象是集电极开路设计的,需要加一只上拉电阻才能正常工作。 不过电路还是满简单的,用的元件也很少,很适合无线电水平不太高的朋友们 制作,只是不能用于Win2000/XP 上有点让人遗憾。 2、串口接口(分立元件)字串5 适用于Windows 95/98/Me 操作系统,电路也不是很复杂,当然元件比并口电路多了一些,而且串口的外壳比并口小很多,如何把这些元件都放到小 小的外壳里免不了要大家好好考虑一下了。当做体积小也是它的最大的优点, 而且不用占用电脑并口,因为现在还有一些打印机还是要用并口的。缺点同样 是不支持Win2000/XP。 3、串行PIC 接口(使用PIC12C508 单片机)字串9 适用于Windows 95/98/Me/2000/XP 操作系统。电路简单,只是用到MicroChip 公司的PIC12C508 型单片机,免不了要用到编程器向芯片里写程序了,这个东西一般朋友可能没有,不过大多卖单片机的地方都有编程器,你只 要拿张软盘把需要用的HEX 文件拷去让老板帮你写就可以了。这个接口最大 的优点就是支Win2000/XP 操作系统,还可以用PPJOY 这个软件来用摇控器虚拟游戏控制器玩电脑游戏。 4、25 针串行PIC 接口(使用PIC12C508 单片机) 适用于Windows 95/98/Me/2000/XP 操作系统。电路同9 针的接口基本一样,只不过是接25 针串口的,现在用的不是很多了。

串行通信技术-模拟信号转换接口

微机原理与应用实验报告6 实验9 串行通信技术 实验10A 模拟信号转换接口 实验报告

实验九串行通信技术 一、实验目的 1. 了解异步串行通信原理; 2. 掌握MSP430异步串行通信模块及其编程方法; 二、实验任务 1. 了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用 (1)利用PC机的串口助手程序控制串口,实现串口的自发自收功能 为实现PC串口的自发自收功能,须现将实验板上的扩展板去下,并将单片机板上的BRXD和BTXD用杜邦线进行短接,连接图如下所示: 由此可以实现PC串口的自收自发功能。 (2)思考题:异步串行通信接口的收/发双方是怎么建立起通信的 首先在异步通信中,要求接收方和发送方具有相同的通信参数,即起始位、停止位、波特率等等。在满足上面条件的情况下,发送方对于每一帧数据按照起始位数据位停止位的顺序进行发送,而接收方则一直处于接受状态,当检测到起始位低电平时,看是采集接下来发送方发送过来的数据,这样一帧数据(即一个字符)传送完毕,然后进行下一帧数据的接受。这样两者之间就建立起了通信。 2. 查询方式控制单片机通过板载USB转串口与PC机实现串行通信 (1)硬件连接图

(2)C语言程序 采用SMCLK=1.0MHz时,程序如下:

其中SMCLK=1MHz,波特率采用的是9600,采用低频波特方式,则N=1000000/9600=104.1666…,故UCA0BR1=0,UCA0BR0=104,UCBRS=1; 当采用外部晶振时,时钟采用默认设置即可,程序如下:

也是采用了低频波特率方式,所以关于波特率设置的相关计算和上面是一样的。 (3)思考:如果在两个单片机之间进行串行通信,应该如何设计连线和编程? 由于在上面的连线中将单片机上的P1.2和BRXD相连,P1.1和BTXD相连,所以若要在两个单片机之间进行通信,首先应该将两个单片机的P1.2和P1.1交叉相连,并根据上面的程序进行相同的关于端口和波特率相关的设置即可实现两个单片机之间的通信。 3. (提高)利用PC机RS232通信接口与单片机之间完成串行通信 (1)硬件连接图 在实验时,采用了将PC机的串口com1直接连接至MSP430F149的孔型D9连接器上,G2553单片机的输出引脚P1.1和P1.2分别与F149单片机上的URXD1和UTXD1相连接,连接图如下所示:

串行同步通信

串行接口同步通信协议 [摘要]:接口在微型计算机系统的设计和应用中占有极为重要的地位。在微型计算机系统中,CPU要与存储器和输入/输出设备之间交换信息,这些信息的交换要借助接口来实现。接口是沟通微处理机和外部设备之间的桥梁,它减轻了CPU的负担,使CPU能够充分的发挥任务管理和逻辑判断作用,使CPU和外部设备能更加协调的完成输入/输出工作,从而提高整机的工作效率和系统功能。串行接口是使用串行方式进行数据传输的输入/输出接口,根据在串行通信中数据的定时的不同,串行通信可分为同步通信和异步通信。同步通信中为保证通信的正确,发送装置和接收装置事先必须有一个双方共同遵守的协议,这就是串行接口同步通信协议。 [关键词]:输入/输出接口,串行接口,同步通信,协议,SDLC/HDLC 规程 一、串行接口 在计算机领域内,有两种数据传送方式:串行传送和并行传送。并行数据传送中,数据在多条并行1比特宽的传输线上同时由源传送到目的,这种传送方式也称为比特并行或字节串行。串行数据传送中,数据在单条1比特宽的传输线上,1比特1比特

的按顺序分时传送。 串行通信一般使用在计算机与计算机之间、计算机和远程终端之间、终端与终端之间的通信中,传输距离通常从几米到数千公里。与典型设备相关的串行接口,数据传输的速率每秒在0~2百万比特的范围内。串行传输的速率和距离成反比,数据传输速率和距离的关系如图所示。 串行通信接口的信号电平常采用RS-232-C信号电平或20mA 电流环路操作方法。 串行数据的发送由发送时钟控制。数据发送过程:把并行的数据序列送入移位寄存器,然后通过移位寄存器由发送时钟触发进行移位输出,数据位的时间间隔可由发送时钟周期来划分。发送时钟、待发送的二进制数据和出现在传输线上的信号波形三者的关系如图所示。

揭秘DSP电机控制串行通信系统电路设计

揭秘DSP电机控制串行通信系统电路设计 在电机控制系统中,客户端要通过上位机来设置电机的运行参数,而 被控电机也要将各种运行状态信息实时地传给远程控制端客户,串行通信由于 连线少,成本低,简单可靠,被广泛应用。本文利用SCI 串行通讯接口实现DSP 控制器与PC 机的通信连接;电机控制系统中还必须有数码显示驱动电路,以便于现场控制人员及时了解电机当前的转速等信息,因此利用SPI 同步串行口来实现DSP 与外围设备之间的通信就很有必要。分析了数字信号处理芯片TMS320LF2407ADSP 的串行外设接口SPI,及串行通信接口SCI 模块。在电机控制实验系统中,给出了由这2 个模块构成的串行通信应用实例。重点讲述了 相关的串行通信接口电路硬件设计高。 串行通信接口模块的硬件电路设计 电机的运行参数,如转向、转速及位置信号等由主机制定,通过RS232 串行通信传输到DSP,DSP 再将运行结果返回给主机的电机控制系统中,以实现远程客户端和被控电机之间的通讯。由于上位机(PC)一般都带有RS232 接口,所以我们利用上位机的串行口与下位机DSP 的异步串行口SCI 来进行RS232C 通信和数据交换,实现计算机对工业现场被控对象的检测和控制。TMS32OLF24O7A 的串行通信接口电路如该实验系统利用DSP 的SCI 串行通信接口电路实现了DSP 控制器与上位机的通讯连接,整个接口电路简单,可靠性高。DSP 控制器通过SCI 串行通信接口电路,将控制系统的实时运行状态上传给上位机供存储和分析,而上位机则通过SCI 串行通信接口电路将控制指令(例如起、停、正转、反转、运行速度等)发送给DSP 控制器,以实现对电机控制系统的实时控制。本试验系统的串行通信速率可变,波特率默认值为l 9200,从l200,2400,4800,9 600,到l9 200 可调。

双机串行通信的设计与实现

双机串行通信的设计与实现 一、设计要求 1.单机自发自收串行通信。接收键入字符,从8251A 的发送端发送,与同 一个8251A 的接收端接收,然后在屏幕上显示出来。 2.双机串行通信,在一台PC 机键入字符,从8251A 的发送端发送给另一台PC 机,另一台PC 机的8251A 的接收端接收,然后在屏幕上显示出来。 二、所用设备 IBM-PC 机两台(串行通信接口8251A 两片,串行发送器MC1488 和串行接收器MC1489 各两片,定时器/计数器8253,终端控制器8259 等),串口线一根 串行直连电缆用于两台台电脑通过串行口直接相连,电缆两 端的插头都是9 针的母插头: 三、硬件方案 1.设计思想 计算机传输数据有并行和串行两种模式。在并行数据传输方式中,使用8 条或更多的导线来传送数据,虽然并行传送方式的速度很快,但由于信号的衰减或失真等原因,并行传输的距离不能太长,在串行通信方式中,通信接口每次由CPU 得到8 位的数据,然后串行的通过一条线路,每次发送一位将该数据放送出去。 串行通信采用两种方式:同步方式和异步方式。同步传输数据时,一次传 送一个字节,而异步传输数据是一次传送一个数据块。 串口是计算机上一种非常通用设备串行通信的协议。大多数计算机包含两

个基于RS232 的串口。串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。典型地,串口用于ASCII 码字符的传输。通信使用3 根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: RS-232(ANSI/EIA-232 标准)是IBM-PC 及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,RS-232 只限于PC 串口和设备间点对点的通信。 IBM PC 及其兼容机提供了一种有较强的硬件依赖性,但却比较灵活的串行口I/O 的方法,即通过INT 14 调用ROM BIOS 串行通信口的例行程序。该例行程序。该例行程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读写字符等功能。 14 号中断的功能总结如下: 串行口服务(Serial Port Service——INT 14H) 00H —初始化通信口03H —读取通信口状态 01H —向通信口输出字符04H —扩充初始化通信口 02H —从通信口读入字符 (1)、功能00H:初始化通信口 入口参数:AH=00H DX=初始化通信口号(0=COM1,1=COM2,……)

1C#中串口通信编程教程

C#中串口通信编程教程 本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。我们将使用标准的RS232C在PC间通信。它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。 命名空间 System.IO.Ports命名空间中最重用的是SerialPort类。 创建SerialPort对象 通过创建SerialPort对象,我们可以在程序中控制串口通信的全过程。 我们将要用到的SerialPort类的方法: ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULL WriteLine(string):写入输出缓冲 Open():打开一个新的串口连接 Close():关闭 Code: //create a Serial Port object SerialPort sp=new SerialPort(); 默认情况下,DataBits值是8,StopBits是1,通信端口是COM1。这些都可以在下面的属性中重新设置 : BaudRate:串口的波特率 StopBits:每个字节的停止位数量 ReadTimeout:当读操作没有完成时的停止时间。单位,毫秒 还有不少其它公共属性,自己查阅MSDN。 串口的硬件知识 在数据传输的时候,每个字节的数据通过单个的电缆线传输。包包括开始位,数据,结束为。一旦开始位传出,后面就会传数据,可能是5,6,7或8位,就看你的设定了。发送和接收必须设定同样的波特率和数据位数。

串行通信技术SERDES正成为高速接口的主流

串行通信技术SERDES正成为高速接口的主流 串行通信技术SERDES正成为高速接口的主流 2009-08-21 13:44随着对信息流量需求的不断增长,传统并行接口技术成为进一步提高数据传输速率的瓶颈。过去主要用于光纤通信的串行通信技术——SERDES正在取代传统并行总线而成为高速接口技术的主流。本文阐述了介绍SERDES 收发机的组成和设计,并展望了这种高速串行通信技术的广阔应用前景。 ? SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称。它是一种时分多路复用(TDM)、点对点的通信技术,即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,从而大大降低通信成本。 ? SERDES技术最早应用于广域网(WAN)通信。国际上存在两种广域网标准:一种是SONET,主要通行于北美;另一种是SDH,主要通行于欧洲。这两种广域网标准制订了不同层次的传输速率。目前万兆(OC-192)广域网已在欧美开始实行,

中国大陆已升级到2.5千兆(OC-48)水平。SERDES技术支持的广域网构成了国际互联网络的骨干网。 ? SERDES技术同样应用于局域网(LAN)通信。因为SERDES 技术主要用来实现ISO模型的物理层,SERDES通常被称之为物理层(PHY)器件。以太网是世界上最流行的局域网,其数据传输速率不断演变。IEEE在2002年通过的万兆以太网标准,把局域网传输速率提高到了广域网的水平,并特意制订了提供局域网和广域网无缝联接的串行WAN PHY。与此同时,SERDES技术也广泛应用于不断升级的存储区域网(SAN),例如光纤信道。 ? 随着半导体技术的迅速发展,计算机的性能和应用取得了长足进步。可是,传统并行总线技术——PCI却跟不上处理器和存储器的进步而成为提高数据传输速率的瓶颈。新一代PCI标准PCI Express正是为解决计算机IO瓶颈而提出的(见表1)。PCI Express是一种基于SERDES的串行双向通信技术,数据传输速率为2.5G/通道,可多达32通道,支持芯片与芯片和背板与背板之间的通信。国际互联网络和信息技术的兴起促成了计算机和通信技术的交汇,而SERDES串行通信技术逐步取代传统并行总线正是这一交汇的具体体现。

DSP课程设计 同步串口通信在TMS320C643上实现

摘要 进入21世纪之后,数字化浪潮正在席卷全球,数字信号处理器DSP(Digital Signal Processor)正是这场数字化革命的核心,无论在其应用的广度还是深度方面,都在以前所未有的速度向前发展。数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。 DSP可以代表数字信号处理技术(Digital Signal Processing),也可以代表数字信号处理器(Digital Signal Processor)。前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。 本文就是就是基于DSP原理及应用编写设计的同步串口通信在TMS320C643上实现。其集成开发环境为CCS,工作平台是SEED-DTK 。CCS 是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。SEED-DTK(DSP Teaching Kit)是一套可以满足大学本科、研究生和教师科研工作的综合实验设备。SEED-DTK 是我公司在总结以往产品的基础上,以独特的多DSP 结构、强大的DSP 主板功能、丰富的外围实验电路、精心设计的实验程序、精湛的产品工艺形成的高性能产品。 关键字:同步串口通信 DSP CCS SEED-DTK

目录 一.功能描述 ---------------------------------------------------------- 3二.概要设计 ---------------------------------------------------------- 3 2.1 McBSP 介绍------------------------------------------------- 3 2.2 设计目的------------------------------------------------------ 4 2.3 设计概要------------------------------------------------------ 4三.详细设计 ---------------------------------------------------------- 4 3.1 实验程序功能与结构说明 -------------------------------- 4 3.2 程序流程图 ---------------------------------------------------- 5四.调试过程及效果 ------------------------------------------------- 5 4.1 实验准备------------------------------------------------------ 5 4.2 调试过程及效果 -------------------------------------------- 6 4.2.1 创建源文件 -------------------------------------------- 6 4.2.2 创建工程文件 ----------------------------------------- 7 4.2.2 设置编译与连接选项 -------------------------------- 8 4.2.3 工程编译与调试 ------------------------------------ 10 五.存在问题 -------------------------------------------------------- 12 六. 心得-------------------------------------------------------------- 12 七.参考文献 -------------------------------------------------------- 12 附录(源程序) ----------------------------------------------------- 13

OLED同步串行通信

1. OLED只能写入,不能读出。4线串行模式:D0——串行时钟线CLK,D1——串行数据线DA TA,P/S——模式选择、高为并行、低为串行。 并行模式需要使用全部数据及控制脚,串行模式只需要CLK、DA TA、RES、DC、CS共5个控制脚(WR、RD不用了)。 2.最常用配置方式: 3.同步串行通讯:时钟线、数据线,通过时钟保持数据同步。异步串行通讯:只有一根数据线,通过波特率保证数据同步。无线通信一般均为异步串行通信(一根天线)。 4.串行总线分三类:单总线(1—Wire)、SPI总线、I2C总线。单总线:用一根线数据收发和时钟信号,可以提供电源。SPI总线3根或4根线组成,数据收发,器件选择,时钟信号。I2C总线,两根线,数据收发,时钟信号。单总线特点:一、单总线芯片通过一根信号线传递控制信号、地址信号、数据信号。二、每个单总线芯片都有全球唯一序列号,当多个单总线芯片挂在一根总线上,根据不同序列号选择访问。三、单总线芯片在总线上可以获得电源。SPI:同步串行外设接口。SPI总线一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效的从机选择线SS。系统主机与从设备串行方式,高位在前,低位在后。SPI从设备MISO与系统主机MOSI相连,SPI从设备MOSI与系统主机MISO相连。SPI从设备用独立的片选信号控制信号使能端。片选无效时输出高阻态以不影响其他SPI设备工作。 1.OLED串行通信SPI 4—wire:CS低电平,同步时钟上升沿有效,传送8位数据。SPI 3 —wire:CS低电平,同步时钟上升沿有效,传送D/C共9位数据。 2.OLED4线串行SPI方式。一、使用的信号线有:CS(OLED片选信号)、RET(硬件复 位OLED)、DC(命令/数据标志(0:读写命令,1:读写数据))、SCLK(串行时钟线,D0信号线作为串行时钟线)、SDIN(串行数据线,D1信号线作为串行数据线)。二、模块的D2需要悬空,其他引脚可以接到GND。三、在此模式下,只能往模块写数据而不能读数据。四、在此模式下,每个数据长度均为8位,在SCLK的上升沿,数据从SDIN 移入到SSD1306,并且高位在前。DC线还是用作命令或数据的标志线。写操作时序:

串行端口程序设计

串行端口程序设计 一、实验目的 了解在linux环境下串行程序设计的基本方法。 掌握终端的主要属性及设置方法,熟悉终端I /O函数的使用。 学习使用多线程来完成串口的收发处理。 二、实验内容 读懂程序源代码,学习终端I /O函数的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中。 三、预备知识 有C语言基础。 掌握在Linux下常用编辑器的使用。 掌握Makefile 的编写和使用。 掌握Linux下的程序编译与交叉编译过程 四、实验设备及工具 硬件:UP-CUP S2410 经典平台、PC机Pentium 500以上, 硬盘10G以上。 软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境 五、实验原理 异步串行I /O方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。

为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 图2.3.1串行通信字符格式 图2.3.1给出异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为50,95,110,150,300,600,1200,2400,4800,9600等。 接收方按约定的格式接收数据,并进行检查,可以查出以下三种错误: ●奇偶错:在约定奇偶检查的情况下,接收到的字符奇偶状态和约定不符。 ●帧格式错:一个字符从起始位到停止位的总位数不对。 ●溢出错:若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。 每一种错误都会给出相应的出错信息,提示用户处理。一般串口调试都使用空的MODEM 连接电缆,其连接方式如下:

串行异步通信程序设计

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2014年秋季学期 《通信系统综合训练》课程设计 题目:串行异步通信程序设计 专业班级:通信工程(1)班 姓名:李银环 学号:11250134 指导教师:王惠琴 成绩:

摘要 在Windows环境下实现通信的方法主要有利用MSComm控件和直接用Windows API编程,软件采用Microsoft Visual C++ 6.0,利用MSComm控件编程相对来说更简单一些,而直接使用Windows API编程更灵活一些。 本次课程设计分析了串行异步通信的基本原理,在VC++6.0的环境下利用MSComm控件实现了两个PC机的COM口间的数据发送和接收。本文通过对COM1口进行初始化编程,以及对建立的工程中的每个对话框和按钮分别进行编程和设置,成功的实现了利用PC机的两个COM口进行异步通信,并能根据设置调整异步传行通信参数。 关键词:VC++6.0;MSComm控件;串行异步通信

目录 前言 (1) 第1章串行异步通信基本原理 (2) 1.1 串行通信协议 (2) 1.2 串口通信的基本概念 (3) 1.3 RS-232简介 (4) 第2章 VC++软件简介 (5) 2.1 VC++6.0简介 (5) 2.2 Microsoft Communications Control 控件 (6) 第3章串行异步通信系统分析 (7) 第4章串行异步通信系统设计 (8) 4.1建立工程 (8) 4.2 在程序中添加MSComm控件 (9) 4.3 初始化串口:设置MSComm控件的属性 (11) 4.4 发送数据 (12) 第5章串行异步通信程序调试 (18) 5.1 计算机串口设置 (18) 5.2 程序运行结果 (18) 参考文献 (20) 附录 (21) 致谢 (29)

基于单片机的串行通信接口的设计开题报告

专科毕业设计/论文 开题报告课题名称基于单片机的串行通信接口的设计 系别机电与自动化学院 专业班机电一体化技术1002班 姓名柯辉 评分 导师(签名) 华中科技大学武昌分校 20年月日

毕业设计(论文)开题报告撰写要求: 1.开题报告的主要内容 1)所选课题国内、外研究及发展状况 2)课题研究的目的和意义; 3)课题研究的主要内容、难点及关键技术; 4)研究方法及技术途径; 5)实施计划。 2.主要参考文献:不少于3篇。 3.开题报告的字数不少于1500字,格式按《华中科技大学武昌分校专科毕业设计(论文)撰写规范》的要求撰写。 4.开题报告单独装订,本附件为封

华中科技大学武昌分校专科学生毕业设计开题报告学生姓名柯辉学号20102821076专业班级机电一体化1002系别机电与自动化指导教师吴蕾职称工程师课题名称基于单片机的串行通信接口的设计 1课题国内、外研究及发展状况 1.1课题在国内研究发展状况 随着城市的不段发展和工业科技的不断进步,电子工业产品也越来越自动化和小型化,人们对信息流量的需求也在不断增长,传统并行通信接口技术成为进一步提高数据传输速率的瓶颈。过去主要用于光纤通信的串行通信接口技术与并行接口技术相比其设计简单、控制方便不仅简化了系统的连线,缩小了电路板的面积,节省了系统资源而且还具有扩展性好、编程方便,易于实现用户系统软硬件的模块化以及标准化,串行接口少,便于远距离传输等优点所以串行通信接口技术正在取代传统并行通信接口技术而成为高速接口技术的主流。而在串行通信接口技术中又以RS232和RS485两种串口应用的最为广泛。在国内一些高端知名的电子产品公司如联想、华为、海信等连年不断的对电脑、手机进行升级处理这些都离不开接口技术的快速发展,而人们对这类高端产品的依赖也促进了电子科技的进一步发展而串行通信接口技术正是电子科技的重中之重。有需求就有市场科技永远是人们生活中的一大主流,这就为串行通信接口的发展铺上了一条光明大道。 1.2课题在国外的研究发展状况 串行通信接口技术的发展越来越迅速蓬勃不仅仅表现在国内在国外发展同样迅猛由于国外政府对于IT行业的重视和照顾纷纷采取了一系列相关政策来促进串行通信技术发展使的串口技术成为了进入宽带化、网格化而且还具有了移动性、泛在性的可信网。例如美国的EIA、微软等协会、公司对串口技术的重视不断对串口技术进行升级改良。iphone、三星等国外智能手机的不断升级改良也离不开串行通信接口技术的进一步发展,所以人们想要生活的更好电子技术的研究是必不可少的而其中的串行通信技术也是重中之重。

VHDL的串行同步通信SPI设计

课程设计 课程名称_电子技术综合设计与实训 题目名称基于VHDL的串行同步通信SPI设计学生学院_ 自动化____________ 专业班级_电子信息科学与技术____ 学号__3107001554__________ 学生姓名____陈振添_____________ 指导教师____蔡述庭__________ 2009年12 月21 日

广东工业大学课程设计任务书 题目名称基于VHDL的串行同步通信SPI设计 学生学院自动化 专业班级电子信息科学与技术 姓名陈振添 学号3107001554 一、课程设计的内容 设计一个同步串行通讯SPI 二、课程设计的要求与数据 设计要求包括: 1.深入了解串行通信的方案内容和协议,思考设计方法。 2.设计串行通信方案,并写好传输程序VHDL。 3.下载到DE2板调试,检测其可行性。 三、课程设计应完成的工作 1. 利用VHDL语言编程实现SPI; 2. 利用DE2板对所设计的思想进行验证; 3. 总结VHDL设计结果,撰写课程设计报告。

四、课程设计进程安排 五、应收集的资料及主要参考文献 [1] PIC单片机原理及应用(第3版)北京航天航空大学出版社 [2] 黄智伟,王彦·FPGA系统设计与实践[M]·北京:电子工业出版社,2005 发出任务书日期:年月日指导教师签名: 计划完成日期:年月日基层教学单位责任人签章:主管院长签章:

摘要 本设计是用Quartus作为开发环境,以DE2板为硬件平台实现的SPI同步串行通讯。设计过程方便。根据接收和发送两个主要部分实现了SPI的基本功能。此外,该设计还实现了波特率发生器,数码管显示的功能。用DE2板实现具有电路简洁,开发周期短的优点。充分利用了EDA设计的优点。开发过程用了VHDL硬件描述语言进行描述,从底层设计,分模块进行,充分提高了设计者的数字逻辑设计的概念。 关键词:SPI,同步串行通讯,Quartus,DE2板,VHDL硬件描述语言。

串行通信的同步传输与异步传输

------分隔线---------------------------- 这里所讲的同步传输和异步传输不同于VC 串口编程时的同步和异步,这里只讲串口硬件层传输的两种模式,有关VC 串口编程的同步模式和异步模式我将另外写一篇文章。 这里所讲的同步和异步是从硬件层级来讲的。首先要知道什么串行传输,串行传输是指数据的二进制代码在一条物理信道上以位为单位按时间顺序逐位传输的方式。串行传输时,发送端逐位发送,接收端逐位接受,同时,还要对所接受的字符进行确认,所以收发双方要采取同步措施(即判断什么时候有数据,数据是什么,什么时候结束传输)。 同步措施有两种,一种在传输的每个(帧)数据前(数据可能是5~8位)加一个起始位,后面加一位校验位及一位或两位的停止位组成一帧数据,这各方式称为异步传输;另一种是在一次传输(可能是多个字节)前加同步字节,可能不止一个字节,最后加校验字节或代表结束标志的字节,这种方式称为同步传输方式。 异步传输 异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它

们会在什么时候到达。一个常见的例子是计算机键盘与主机的通信。按下一个字母键、数字键或特殊字符键,就发送一个8比特位的ASCII 代码。键盘可以在任何时刻发送代码,这取决于用户的输入速度,内部的硬件必须能够在任何时刻接收一个键入的字符。 异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个比特已经过去了。这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。按照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号,异步传输的开始位使信号变成0,其他的比特位使信号随传输的数据信息而变化。最后,停止位使信号重新变回1,该信号一直保持到下一个开始位到达。例如在键盘上数字“1”,按照8比特位的扩展ASCII编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位。 异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8个比特要多传送两个比特,总的传输负载就增加25%。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。

基于51单片机的双机串行通信课程设计 1000110061

基于AT89C51单片机的双机串行通信设计 姓名:杨应伟 学号:100110061 专业:机械设计制造及其制动化 班级:机电二班

前言 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高, 在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。 在通信过程中,使用通信协议进行通信。在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。 串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。

SPI同步串行总线原理

三、SPI是英文Serial Peripheral Interface的缩写,中文意思是串行外围设备接口,SPI是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。 SPI概述 SPI:高速同步串行口。3~4线接口,收发独立、可同步进行. SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200. SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI 和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。 SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。 (1)SDO –主设备数据输出,从设备数据输入 (2)SDI –主设备数据输入,从设备数据输出 (3)SCLK –时钟信号,由主设备产生 (4)CS –从设备使能信号,由主设备控制 其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。 接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO 线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。 要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。 在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。 最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。 AT91RM9200的SPI接口主要由4个引脚构成:SPICLK、MOSI、MISO及/SS,其中SPICLK是整个SPI总线的公用时钟,MOSI、MISO作为主机,从机的输入输出的标志,MOSI是主机的输出,从机的输入,MISO 是主机的输入,从机的输出。/SS是从机的标志管脚,在互相通信的两个SPI总线的器件,/SS管脚的电平低的是从机,相反/SS管脚的电平高的是主机。在一个SPI通信系统中,必须有主机。SPI总线可以配置成单主单从,单主多从,互为主从。 SPI的片选可以扩充选择16个外设,这时PCS输出=NPCS,说NPCS0~3接4-16译码器,这个译码器是需要外接4-16译码器,译码器的输入为NPCS0~3,输出用于16个外设的选择。 [编辑本段] SPI协议举例

C#中串口通信编程

本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET 2.0提供了串口通信的功能,其命名 空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。 我们将使用标准的RS 232 C 在PC间通信。它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。 命名空间 System.IO.Ports命名空间中最重用的是SerialPort 类。 创建SerialPort 对象 通过创建SerialPort 对象,我们可以在程序中控制串口通信的全过程。 我们将要用到的SerialPort 类的方法: ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULL WriteLine(string):写入输出缓冲 Open():打开一个新的串口连接 Close():关闭 Code: //create a Serial Port object SerialPort sp = new SerialPort (); 默认情况下,DataBits 值是8,StopBits 是1,通信端口是COM1。这些都可以在下面的属性中重新设置: BaudRate:串口的波特率 StopBits:每个字节的停止位数量 ReadTimeout:当读操作没有完成时的停止时间。单位,毫秒 还有不少其它公共属性,自己查阅MSDN。

串口的硬件知识 在数据传输的时候,每个字节的数据通过单个的电缆线传输。包包括开始位,数据,结束为。一旦 开始位传出,后面就会传数据,可能是5,6,7或8位,就看你的设定了。发送和接收必须设定同样 的波特率和数据位数。 无猫模式 没有Modem模式的电缆只是简单地交叉传送和接收线。同样DTR & DSR, 和 RTS & CTS也需要交叉。RS232针图 这里,我们三条线。互连2和3(一段的2pin连接3pin),连接两端的5pin。 [示例程序] 主程序

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