无论是在串行通信接收还是发送的时候,传递的二进制数据会转化,变成数字信号,而且会有专门的时钟信号定位传输的数据。上述提到的TTL标准,使用时它所代表的二进制数中,二进制1用线路上的高电平来代替,二进制0则用低电平代替,且每一位的传输时间相同,根据接收时钟和发送时钟的频率来决定。
目前为止,人们最经常使用的串行技术标准就是EIA-485(以前的RS-485)、EIA-422(以前的RS-422)、EIA-232(以前的RS-232)[9]。因为“RS”被EIA提出来作为标准的前缀,所以在工程数据传输的时候,普遍的将上述标准以RS作前缀称呼。就当下来看,EIA-232是使用最广泛的,是在PC机和数据通信工程中高频率使用的串行接口。它能够在低速度的串行通信中,增加通信的距离,是一种单端标准。它采用单端通信技术,使用不平衡传输方式。根据协议标准,EIA-232的最高速率不超过20kbps,传送距离要求达到50英尺(约15米)。当然,作为最早的一代,技术还没有那么成熟,在传输距离上存在限制,于是更新了EIA-422,后来为了扩展应用的领域,EIA于1983年在EIA-422基础上制定了EIA-485标准,增加了多点、双向通信能力[10]。
2。3。2 串行通信协议SPI
SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI是Motorola首先在其MC68HCXX系列处理器上定义的一种同步的通信总线,只占用芯片管脚上的四根线,节省了芯片的引脚,是一种高速的、双全工的串行外围设备接口[11]。它在FLASH、数字信号处理器、EEPROM、AD转换器、数字信号解码器以及实时时钟之间应用广泛。在PCB布局的时候也能节省空间,方便操作,也正是因为它这简单易操作的特点,现在许许多多的芯片都包含这种通信协议[12]。
SPI采用一个主设备和一个或者多个从设备的工作模式,通信原理很简单,采用主从方式,至少用到4根数据线,但其实在单项传输的时候3根就够用了。所有设备,只要是基于SPI的都有数据输入(SDI)、时钟(SCLK)、数据输出(SDO)、片选(CS)。文献综述
(1)SDO – 主设备数据输出,从设备数据输入;
(2)SDI – 主设备数据输入,从设备数据输出;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS – 从设备使能信号,由主设备控制。
CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样[13]。
2。4 编译环境选择
本课题软件部分的编程和调试采用瑞典IAR公司最著名的产品,是一款支持多种微处理器的集成编译环境IAR Embedded Workbench,主要用于嵌入式系统的开发。
它具有很多优点,首先它的代码很高效,而且能完全实现标准的C兼容,而且使用很方便,入门比较简单。它最大的一个优点就是它包含一个模拟程序,在不需要硬件的情况下就可以模拟各种软件运行的环境。
IAR的Embedded Workbench系列致力于创造一个具有统一界面的集成开发环境,投入到8位、16位以及32位微处理器的嵌入式系统的使用中去,给用户带来一个简单方便操作的开大平台。IAR公司提出了所谓“不同架构,惟一解决方案”的概念,用户可以在相同的集成开发环境中,针对各种不一样的目标处理器,进行基于不同CPU的嵌入式系统应用程序开发,这样既减少了工作量不浪费时间,又能高效地完成工作[14]。IAR的Embedded Workbench系列支持用户使用自己偏好的编译器和源代码控制系统,还可以对模块化环境进行拓展,链接定位器(XLINK)可以根据用户需要生成多种格式的最终文件,这样用户还能够通过第三方软件进行芯片编程和仿真调试。