现代电子系统课程设计
- 格式:doc
- 大小:174.50 KB
- 文档页数:10
1 辽宁工程技术大学
现代电子系统设计课程设计报告
题 目 SPI总线研究
指 导 教 师 白立春
院(系、部) 电信学院
专 业 班 级
学 号
姓 名
日 期 2013年6月7日
2 一、 摘要
单片机本身的数据传输接口过去主要为8位并行数据接口或异步串行通信接口,但电子技术的迅速发展使得许多新的数据传输接口标准不断涌现,大多数的51单片机并没有在硬件中集成这些新的数据传输接口。随着单片机应用技术的发展,单片机的应用模式也在不断变化,一方面,单片机系统的规模越来越大,其外未连接了种类繁多的外设;一方面,单片机进入了计算机网络系统,工业控制系统多采用多机分布式系统。同时单片机的嵌入式系统应用模式使其体积越来越小且器件数目越来越少。近年来,串行接口设备凭借其控制灵活,接口简单、占用资源少等优点在工业控制、仪器仪表等领域被广泛应用。这些发展趋势更加使得串行通信功能加强了,同时带有串行接口器件也被广泛使用。本课题就是对不同总线方式进行研究,并选取带有一种总线接口的器件进行系统设计。对于现在的嵌入式系统而言并行接口占用CPU资源太多,然而串行接口设备凭借其控制灵活,接口简单、占用资源少等优点在工业控制、仪器仪表等领域被广泛应用。目前并行接口芯片已经不常使用,各厂家研究各种串行总线方式,并生产出带有各种总线方式接口的芯片,方便了系统集成设计,节省了资源。进而串行总线已成为了发展趋势。
二、 综述
SPI(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,它是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO 输出,SDI 输入,数据在时钟的上升或下降沿由SDO 输出,在紧接着的下降或上升沿由SDI 读入,这样经过8/16 次时钟的改变,完成8/16
位数据的传输。要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续 3 传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。
SPI总线是由Motorola公司提出的一种同步串行外围接口,采用三或四根信号线 。它包括1根串行同步时钟信号线以及2根数据线。SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。
三、 方案设计与分析
1、RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。RS-232是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:
○1接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
○2传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200,也是这个原因。
○3接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 4 ○4传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。
2、II2C总线是Philips公司开发的总线方式,是一个半双工、多主总线,该总线网络有一个或几个主控器件和很多个从器件。信息由两条串行线传输:串行数据线(SDA)和串行时钟线(SCL)。图1显示了使用两个主控和三个从器件相连接的例子。 网络中的每一个器件都预指定一个7位或10位的地址。飞利浦会给器件制造商分配地址,也有一个特定的地址用于高速通信,以及一个通用呼叫地址用于与网络中所有器件的通信。10位寻址的优点是允许更多的器件(高达1024个)布置在网络中。然而,总线中器件的数目取决于总线的电容量,必须限制在400pF以内。 主控器件发起数据传送,并提供用于通信的时钟信号。通信开始于SCL为高电平时SDA由高到低的转换,紧接着是一个7位或10位的从地址,一个数据方向位(R/W),一个应答位和停止状态。停止状态定义为在时钟信号为高时数据线电平由低到高的转换。每一个数据字节长度为8位,单次传送的字节数并没有限制。 由于I2C是一个多主总线,因此可能有两个或更多的主控器件同时试图访问总线,在时钟信号为高电平时在总线上置“1”的主控器件赢得总线仲裁。 I2C有三种不同的运行模式:标准、快速和高速模式。在使用快速和高速模式时,可能某个从属器件不能像主控器件那么快地处理数据。此时,从属器件会将SCL线拉至低电平来保持总线,这迫使主控器件进入等待状态,直至从属器件准备就绪。数据方向和通信速度,数据传输首先从最高位开始。I2C总线设计用于三种数据传输速度,每个都向下兼容性: 低速,数据传输率为0到100kbps;快速,数据传输率可以高达400kbps;高速,数据传输率可以高达3.4Mbps。
3、wire单总线是Maxim全资子公司Dallas的一项专有技术与目前多数标准串行数据的通信方式,如SPI/I C/MICROWIRE不同 它采用单根信号线 既传输时钟 又传输数据而且数据传输是双向的 它具有节省 I/O 口线资源结构简单
成本低廉便于总线扩展和维护等诸多优点, I-wire单总线适用于单个主机系统
能够控制一个或多个从机设备,当只有一个从机位于总线上时,系统可按照单节点系统操作,而当多个从机位于总线上时,则系统按照多节点系统操作,为了较为全面地介绍单总线系统,将系统分为三个部分讨论:硬件结构、命令序列和信 5 号方式 信号类型和时序。
4、MicroWire总线是国家半导体开发的一种三线串行接口总线。一为数据输出线,二为数据输入线,三为时钟线。线上只有一台机为主机,其余为从机。MicroWire/plus是增强型。各型号功能各异。
5、CAN控制器区域网络是一个多主异步串行总线。由于它具有优良的错误处理机制以及可靠的数据传送性能,该总线在汽车得到普及。 CAN最初由德国的Robert Bosch公司开发,提供给汽车电子系统所用的低成本通信总线,现在已经成为国际标准,被采用为高速应用的ISO11898标准和用于低当总线空闲时,任何CAN节点都可以开始数据发送。如果两个或更多的节点同时开始发送,就使用标识符来进行按位仲裁以解决访问冲突。CAN是一个广播类型的总线,所有节点都接收总线上的数据,硬件上的过滤机制决定消息是否提供给该接点用。五种消息帧的类型:○1数据帧:该帧从一个发送器承载数据到一个接收器。根据CAN规范有两种数据帧格式,它们的唯一本质区别在于标识符的长度。○2CAN标准帧,也称为CAN2.0A,支持11位长度的标识符;另一个是CAN扩展帧,也称为CAN2.0B,支持29位长度的标识符。显示了两种规范的CAN数据帧。○3远程帧:此帧由一个接收CAN节点发送,用来请求带有远程帧中规定的标识符的数据帧。○4错误帧:此帧将任何总线错误通知其它单元,在接收到这个帧时发送器会自动进行消息重发。○5超载帧:超载帧由一个忙的CAN节点送出,以请求在前后数据帧之间增加一个额外的延迟。CAN硬件术语是基本CAN(Basic CAN)控制器:这是一种廉价的CAN控制器,具有有限的发送/接收消息缓冲器,以及有限的CAN消息过滤机制。
完全CAN(Full CAN)控制器:完全CAN是一个高成本、高性能的CAN控制器,具有能缓冲8个或更多消息的缓冲器用于接收和发送。例如,富士通的集成CAN微控速应用的ISO11519标准。CAN通信制器能提供16个消息缓冲器用于接收和发送。此外,富士通的MB90443微控制器能灵活地将两个CAN控制器的消息缓冲器组合在一个中,以形成能缓冲32个消息的缓冲器。 标准CAN控制器:该CAN控制器能够处理仅有11位标识符的消息。
四、 方案综合评价与结论
SPI总线接口一般用于主从分布式的通信网络【1】,在SPI传输时,数据由MOSI输出,MISO输入,数据在时钟的上升或下降沿由MOSI输出,在紧接着的 6 下降或上升沿由MOSI读入,这样经过 8/16 次时钟的改变,完成 8/16 位数据的传输,即完成了一次SPI时序。SPI总线使用的最为广泛的是SPI0和SPI3方式【2】,同时SPI 是一个环形总线结构【3】,主要是在主机的时钟控制下,两个双向移位寄存器进行数据交换。本文正是采用了这种环形结构,设计了16位寄存器,在16次时钟变换后,主机与从机数据得以交换。
1、m序列
m序列是最长线性反馈移位寄存器序列的简称【4】,m序列码的主要特点为:每个周期中,“1”码出现 2n-1 次,“0”码出现 2n-1 次,即 0、1 出现概率几乎相等;序列中连1的数目是n,连0的数目是n-1;分布无规律,具有与白噪声相似的伪随机特性。m序列的均衡性以及它的游程分布特性【5】使得m序列码在通信、雷达、系统可靠性测试等方面获得了广泛地应用。 本文正是基于m序列的这些特点采用Verilog HDL【6】生成m序列,用于验证SPI总线设计的正确性。