基于CPLD的SPI接口设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于CPLD 的SP I 接口设计
D esign i ng SP I I n terface ba sed on CPLD
何永泰
(楚雄师范学院 楚雄 675000)
【摘 要】 根据SP I 同步串行接口的通信协议,介绍了在X ilinx Coo lR unnct XPLA 3CPLD 中利用V HDL 语言实现SP I 接口的设计原理和编程思想,通过用此接口,使得那些没有SP I 接口功能的微处理器和微控制器,也能通过SP I 接口与外围设备进行数据交换。
【关键词】 SP I 接口,CPLD ,接口扩展,接口设计,串行接口
ABSTRACT A cco rding to comm un icati on p ro toco l of SP I synch ronou s serial in terface ,th is paper p resen ts the design theo ry and p rogramm ing idea of i m p lem en ting SP I in terface w ith V HDL language in X ilinx Coo lR unner XPLA 3CPLD .T h is in terface can be u sed to data exchange w ith peri pheral apparatu s fo r m icrop rocesso r and m icrocon tro ller w h ich have no t SP I in terface functi on .KEYWOR D S SP I in terface ,CPLD ,in terface expan si on ,in terface design ,serial in terface
1 SP I 总线接口协议
SP I (Seri on Perp heral In terface )总线接口是一个
全双工,同步串行数据接口。许多微处理器,微控制器和外部设备具有这个接口。它能够实现在微控制器之间或微控制器与外部设备之间通信。SP I 总线通常有4条线组成,即:串行时钟线(SCK )、主机输出从机输入
线(M O S I )、
主机输入从机输出线(M ISO )和从机选择线SS N 。SCK 靠主机和数据流来驱动。M O S I 数据线从主机输出数据作为从机的输入数据。M ISO 数据线传送从机输出的数据作为主机的输入数据。在大多数情况下,使用一个SP I 作为主机,它控制数据向1个或几个从机传送。主机驱动数据从它的SCK 和M O S I 端到各从机的SCK 和M O S I 端,被选择的从机驱动数据从它的M ISO 端到主机的M ISO 端。SS N 控制线用于从机选择控制。
SCK 的相位和极性能改变SP I 的数据格式,时钟极性CPOL =‘0’,串行数据的移位操作由时钟正脉冲触发,时钟极性CPOL =‘1’,串行数据的移位操作由负脉冲触发;时钟相位CPHA =‘0’,
串行数据的移位
图1 CPHA =‘0’时SP I 的数据转换时序图
操作由时钟脉冲前沿触发,时钟相位CPHA =‘1’,串行数据的移位操作由时钟脉冲后沿触发。时钟相位CPHA =‘0’时SP I 的数据转换时序图如图1所示。
在图1中SCK 信号在第一个SCK 周期中的前半周期无效,在这种模式中,SS 的下降沿示意数据传送的开始,因此,SS 在连续串行字节之间必须被取反和重新申明。时钟相位CPHA =‘1’时SP I 的数据转换时序图如图2所示。
在图2中SCK 信号从无效电平到有效电平的第一边沿意味着在这种模式下数据传送的开始,SS 信号能保持有效的低电平在连续串行字节之间,这种模式用于只有一个主机和一个从机的系统中。
在SP I 传送数据时,8位数据从一个SP I 接口移出时,另一个SP I 接口也开始移出8位数据,这样主机的8位移位寄存器和从机的8位移位寄存器可以被看作是16移位寄存器,16位移位寄存器移动8个位置就实现了在主机和从机之间交换数据。基于CPLD 的SP I 接口设计中,从SP I 总线上接收的数据被保存在一个接收寄存器中,发送的数据被写到一个发送寄存器中
。
图2 CPHA =‘1’时SP I 的数据转换时序图
3 20040414收到,20040724改回
33 何永泰,男,1970年生,讲师,在读硕士,研究方向:电子工程设计。
・
72・第17卷 第10期 电脑开发与应用 (总497)
2 基于Coo lR unner CPLD的SP I 设计结构
基于CPLD设计的SP I接口其目的在于为
那些没有SP I接口功能的微控制器(如8031等)
扩展SP I接口功能。8031单片机与Coo lR unner CPLD SP I接口的连接框图如图3所示。
为了满足扩展微控制器的SP I接口功能,基于CPLD的SP I接口必须具有以下功能:①与微控制器的接口功能;②8位外部从机选择功能;③时钟极性和相位选择的不同,有四种数据传输模式;④SP I数据传送完成标志。在SP I接口中Coo lR unner XPLA3 CPLD的35个I O口被定义为SP I接口的控制线、数据线和地址线等。SP I接口的结构框图如图4所示。
从图中可以看出基于CPLD的SP I设计主要由两大部分组成,即与微控制器接口的控制部分和SP I 接口控制部分。与微控制器接口的控制部分通过三总线方式使SP I与微控制器相连接,实现微控制器的SP I接口功能扩展。SP I接口控制部分主要实现SP I 接口与其他SP I接口的通信。
3 软件设计
微控制器8031单片机通过基于CPLD的SP I接口,实现了SP I接口的扩展。其系统的软件设计主要包括两部分。第一部分是8031单片机与SP I接口之间通信的软件设计,在这一部分中,主要是对SP I接口中数据传送完成位的检测和对CPLD中各寄存器的读写操作。第二部分是SP I接口功能的V HDL语言软件设计,在这一部分中采用层次化设计的方法。顶层中包括两大模块,即:微控制器接口模块和SP I接口模块。在微控制器接口模块中建立了接口中各寄存器的地址和构造了各寄存器。在SP I接口控制模块中又包括SP I 控制模块、SP I逻辑模块、SP I移位接收模块和SP I移位发送模块等。
4 结束语
V HDL语言编写的SP I接口程序,下载到Coo l2 R unner XPLA3CPLD中,占用了256个宏单元中的125个,还留有50%多的资源供用户作其他方面的逻辑设计。通过使用Coo lR unner XPLA3CPLD SP I接口,使得那些没有SP I接口功能的微处理器和微控制器,也能通过SP I接口与外围设备进行数据交换。Coo lR unner XPLA3CPLD SP I接口,虽然以8031为例介绍其SP I扩展,但只需要作适当的变换,就能用于其他微控制器的SP I扩展接口。
参考文献
1 赵俊超.集成电路设计V HDL教程[M].北京:希望电子出版社,2002
(上接第26页)
压块1为例,在输入各参数的值后,点击计算按钮,将计算结果显示在相应位置。
4 结 论
夹具远程设计系统采用模块化设计思想,基于W eb开发,达到了使用不受时间和地点的限制[4]。提供了方便的参数化三维图库和数据查询功能,实现了各种设计计算,实现快速夹具设计,提高夹具设计资源的共享程度,对于夹具设计的效率和精度有很重要的作用。对于协同设计和建立企业动态联盟具有重要的应用前景。
参考文献
1 W ang H u ifen,Zhang You liang.CAD CAM In tegrated Sys2 tem in Co llabo rative D evelopm en t Environm en t.Robo tics and Compu ter In tegrated M anufactu ring,2002,18(3):135~145
2 蔡 瑾,段国林,李翠玉等.夹具设计技术发展综述[J].河北工业大学学报,2002,31(5):35~40
3 王光斗,王春福,机床夹具设计手册(第三版)[M].上海:上海科技出版社.2000
4 李旭荣,崔 磊,周京平.基于W eb的钢板弹簧设计系统开发[J].机电工程技术,2004,33(1):24~25
・
8
2
・ (总498) 基于CPLD的SP I接口设计 2004年