MEMS传感器ADIS16350接口转换的设计与实现

时间:2022-07-27 10:32:20

MEMS传感器ADIS16350接口转换的设计与实现

摘 要:提出一种基于FPGA实现SPI接口与RS 232接口转换的方法。首先介绍了ADIS16350的SPI接口及其工作时序,然后给出SPI与RS 232接口转换电路设计方案,及用Verilog HDL语言,采用模块化编程方式在FPGA内实现2种接口的通信时序和数据交换。最后通过软件仿真和硬件实物调试,验证了该方案通信简洁、可靠,具有较广泛的实用价值。关键词:SPI接口; FPGA; Verilog HDL语言; RS 232接口; mems

中图分类号:TN919-34文献标识码:A

文章编号:1004-373X(2010)18-0145-03

Design and Implementation of MEMS Sensor ADIS16350's Interface Conversion

TANG Xia-qing1, YAN Chang-ping1, LIU Pei2

(1.Armored Force Engineering Institute, Beijing 100072, China;2.Beijing Special Vehicle Institute, Beijing 100072, China)

Abstract: A method to implement the conversion between SPI interface and RS-232 interface based on FPGA is proposed. At first,the SPI interface and working time-sequence of ADIS16350 is introduced,then, the design scheme of the interface conversion circuit ispresented. Using Verilog HDL language and modularize programming method, the communication of two interface and data exchange have been accomplished within FPGA, the result of simulation and hardware test show that the proposed method is simple, reliable and worthy of using widely.

Keywords: SPI interface; FPGA; Verilog HDL language; RS-232 interface; MEMS

0 引 言

ADIS16350是集三轴陀螺和加速度计于一体的MEMS传感器,其SPI接口和简单的输入/输出寄存器结构提供了简易的姿态信息读取和工作方式配置的方法。SPI是由Motorola公司推出的一种四线制同步串行接口,其具有传送速率高及良好的扩展性等优点,但非PC标配接口,使其应用受限。

而RS 232接口是目前最为常用的一种串行通信接口,也是PC的标配接口,其简易模式为两线制,应用相当广泛。本文采用基于FPGA的转换电路,设计与实现了SPI接口与RS 232接口的转换,使PC通过上位机软件完成对adis16350的配置和姿态信息的读取。

1 ADIS16350的SPI接口及时序

ADIS16350中SPI接口包括4根信号线:片选使能(CS)、串行时钟(SCLK)、数据输入(DIN)及数据输出(DOUT)。SPI接口一个完整的数据结构为16个时钟周期,是一种全双工接口,读、写数据在时钟上升沿有效。它包括以下2种模式:

(1) 一种是配置模式,通过写命令配置控制寄存器,以初始化ADIS16350的自校准、测量范围、采样频率等。配置一个完整的16位命令时,需2个完整的数据结构。其时序如图1所示。

图1 配置模式时序图

(2) 另一种是读取模式,通过写入读取地址,获取对应ADIS16350测量的角速率、加速度或陀螺温度等姿态信息。其时序如图2所示。

图2 读取模式时序图

2 基于FPGA的接口转换设计

本设计的目的是,通过FPGA的整合时序实现SPI接口到RS 232接口的转换。采用的FGPA为Xilinx公司的Spartan 3系列芯片 XC3S400PQ208。

2.1 口转换电路的结构设计

由本设计的功能可知,接口转换电路由2部分组成:一是FPGA与ADIS16350的SPI接口通信;另一部分是FPGA与PC的RS 232接口通信。通过对FPGA的编程,实现2种接口的连接和转换,起到“桥梁”作用。接口转换电路的结构框如图3所示。

图3 接口转换电路的结构框图

图2中FPGA的IO口为3.3 V,与ADIS16350的SPI接口需加专门的电平匹配转换芯片。与PC的RS 232接口通信电平转换由MAX 232芯片完成[1]。

2.2 FPGA的软件实现

FPGA的软件是在ISE9.1环境下,用Verilog HDL语言以模块化编程实现,由一个顶层模块和6个子模块组成[2]。顶层模块作为设计的主干,用于例化各子模块,完成各子模块间工作状态信息的传递,协调各子模块的工作转换;RS 232接口的收、发模块完成PC上位软件配置及采集命令的接受和测姿态信息的转发;SPI通信模块根据配置命令完成对ADIS16350的配置及对所测姿态信息的读取工作;波特率生成模块负责产生其他各子模块工作的触发时钟;2个双口RAM单元模块用于存储配置命令和读取的姿态信息,其采用FPGA内自带BlockRAM存储数据,节约了寄存器资源[3]。整个模块结构如图4所示。

图4 顶层模块中各子模块连接图

顶层模块TOP_Module初始化各模块的状态信号后,先配置ADIS16350(需要时),然后是SPI模块姿态信息的读取和UART_Tr模块发送这个过程,循环获取所测姿态信息。其流程图如图5所示(IMU为ADIS16350)。

图5 接口转换流程图

FPGA的工作方式为并行,本设计中各模块在BAUD_Gen模块生成的16×115.2 kHz时钟触发下并行工作,通过各模块的状态信号线来协调控制整个程序按图5运行。

SPI模块根据图1,图2所给时序编写,RS 232收、发模块根据串口通信协议时序编写,为提高通信可靠性,对每个通信数据位进行16时钟周期的采样,使最终的通信波特率为115.2 kHz[4-8]。

2.3 接口转换的仿真与验证

ISE9.1软件环境支持设计者从最初的程序编写到功能仿真、设计综合,再到布局布线、时序仿真,直到最后的程序下载等全部设计流程[9-10]。

本设计采用ISE9.1自带的仿真工具ISE Simulator进行功能仿真,该仿真在ADIS16350的默认配置及模拟DOUT的输入条件下进行。其功能仿真图如图6所示。

图6 接口转换功能仿真图

图6中前半部分是SPI模块对9个姿态信息的读取;下半部分将收到的姿态信息,加帧头及验和帧尾,通过UART_Tr模块的TXD发送出去,两个部分循环进行,功能仿真满足设计的时序逻辑要求。由于本设计Baud_gen生成的工作时钟远低于50 MHz,因此不需要进行专门时序约束,在对管脚约束之后,其他通过ISE9.1集成工具自动完成即可满足要求。最后将程序下载到FPGA中,与接口转换电路及PC上位机软件联调,验证通信稳定可靠,对ADIS16350的采样频率超过300 Hz,满足设计要求。

3 结 语

通过本文中的设计可以看出:在FPGA中进行2种接口转换,可以根据实际需要,略去接口协议中的无关内容或者增加一些控制信号线,从而简化设计,完成PC通过RS 232接口对ADIS16350的配置和读取;另外,在多种接口芯片共存的电路板上,通过FPGA的转换“桥梁”作用,既能实现它们之间的高速数据互通,又便于集中处理,节省了布线空间资源,提高了可靠性,这也是现在电路设计中的一种普遍趋势。

参考文献

[1]王彦.基于FPGA的工程设计与应用[M].西安:西安电子科技大学出版社,2007.

[2]云创工作室. Verilog HDL 程序设计与实践[M].北京:人民邮电出版社,1999.

[3]祁晓磊,蔡学良,孙德玮.用VerilogHDL进行FPGA设计的原则与方法[J].电子测试,2008(3):67-71.

[4]于帅.基于FPGA的SATA2接口视频采集系统设计[D].济南:山东大学, 2009.

[5]孙世国,陈帅,陈倩,等.基于FPGA的SPI4.2接口设计[J].微计算机信息,2009,25(2):189-190.

[6]王飞飞,张雅绮,王书娟.基于FPGA的DVB-ASI设计[J].电子测量技术,2006,29(6):121-123,159.

[7]麦胤,柳沁.基于FPGA和MSP430的SPI接口的设计与实现[J].仪器仪表用户,2007,14(5):100-101.

[8]廖晓维,朱红.应用CPLD实现ASI-SPI接口转换的方法[J].仪器仪表用户,2007(18):74-76.

[9]王诚,薛小刚,钟信潮.XinlinxISE使用详解 [M].北京:人民邮电出版社,2005.

[10]薛小刚,葛毅敏.Xilinx ISE 9.X FPGA/CPLID设计指南[M].北京:人民邮电出版社,2007.

[11]曲利新.MEMS开关技术的研究与进展[J].现代电子技术,2008,31(1):147-149.

[12]秦奎,张卫平,陈文元.基于ARM和FPGA的微加速度计数据采集系统设计[J].现代电子技术,2010,33(2):25-27,30.

上一篇:基于SURF的敦煌壁画数字图像智能拼接系统研究 下一篇:新型数字化变电站长录波系统设计